1 dnl Process this file with autoconf to produce a configure script.
2 dnl Original author: Michael Patra
3 dnl See ChangeLog file for detailed change history.
5 m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1]))
8 AC_INIT([Wine],WINE_VERSION,[wine-devel@winehq.org])
9 AC_CONFIG_SRCDIR(server/atom.c)
10 AC_CONFIG_HEADERS(include/config.h)
11 AC_CONFIG_AUX_DIR(tools)
13 dnl **** Command-line arguments ****
15 AC_ARG_ENABLE(win16, AC_HELP_STRING([--disable-win16],[do not include Win16 support]))
16 AC_ARG_ENABLE(win64, AC_HELP_STRING([--enable-win64], [build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
18 AC_ARG_WITH(opengl, AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
19 AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses]))
20 AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
25 if test "x$enable_win64" != "xyes"
27 test -n "$CC" || CC="gcc -m32"
28 test -n "$LD" || LD="ld -m elf_i386"
29 test -n "$AS" || AS="as --32"
35 dnl enable_win16 defaults to yes on x86, to no on other CPUs
38 if test "x$enable_win16" != "xno"
45 AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
46 AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
47 if test "x$enable_win16" != "xyes"
53 dnl **** Check for some programs ****
58 dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
59 AC_CHECK_TOOL(CPPBIN,cpp,cpp)
61 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
62 [if test -z "$with_wine_tools"; then
63 if test "$cross_compiling" = "yes"; then
64 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
66 wine_cv_toolsdir="\$(TOPOBJDIR)"
68 elif test -d "$with_wine_tools/tools/winebuild"; then
69 case $with_wine_tools in
70 /*) wine_cv_toolsdir="$with_wine_tools" ;;
71 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
74 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
76 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
81 dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
82 dnl **** without one present.
83 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
84 if test "$XLEX" = "none"
86 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
90 AC_CHECK_PROGS(BISON,bison,none)
91 if test "$BISON" = "none"
93 AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
96 AC_CHECK_TOOLS(AS,[gas as],as)
97 AC_CHECK_TOOL(LD,ld,ld)
98 AC_CHECK_TOOL(AR,ar,ar)
100 AC_CHECK_TOOL(STRIP,strip,strip)
101 AC_CHECK_TOOL(WINDRES,windres,false)
105 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
107 dnl Prepend src dir to install path dir if it's a relative path
109 [[\\/$]]* | ?:[[\\/]]* ) ;;
110 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
114 AC_CHECK_PROGS(LINT, lclint lint)
115 if test "$LINT" = "lint"
117 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
118 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
123 dnl Check for various programs
124 AC_CHECK_PROGS(FONTFORGE, fontforge, false)
125 AC_CHECK_PROGS(PKG_CONFIG, pkg-config, false)
129 AC_CHECK_PROGS(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
133 dnl **** Check for some libraries ****
135 dnl Check for -li386 for NetBSD and OpenBSD
136 AC_CHECK_LIB(i386,i386_set_ldt)
137 dnl Check for -lossaudio for NetBSD
138 AC_CHECK_LIB(ossaudio,_oss_ioctl)
139 dnl Check for -lnsl for Solaris
140 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
141 dnl Check for -lsocket for Solaris
142 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
143 dnl Check for -lresolv for Solaris
144 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
145 dnl Check for -lxpg4 for FreeBSD
146 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
147 dnl Check for -lpoll for Mac OS X/Darwin
148 AC_CHECK_LIB(poll,poll)
149 dnl Check for -lresolv for Mac OS X/Darwin
150 AC_CHECK_LIB(resolv,res_9_init)
151 dnl Check for -lpthread
152 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
156 AC_SUBST(OPENGLFILES,"")
157 AC_SUBST(GLU32FILES,"")
158 AC_SUBST(OPENGL_LIBS,"")
160 dnl **** Check for header files ****
175 fontconfig/fontconfig.h \
201 machine/soundcard.h \
270 dnl **** Checks for headers that depend on other ones ****
272 AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
273 [#include <sys/types.h>
275 # include <sys/param.h>
278 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
279 [#include <sys/types.h>
280 #if HAVE_SYS_SOCKET_H
281 # include <sys/socket.h>
284 AC_CHECK_HEADERS([resolv.h],,,
285 [#include <sys/types.h>
286 #if HAVE_SYS_SOCKET_H
287 # include <sys/socket.h>
289 #if HAVE_NETINET_IN_H
290 # include <netinet/in.h>
292 #if HAVE_ARPA_NAMESER_H
293 # include <arpa/nameser.h>
296 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
298 AC_CHECK_HEADERS([linux/ipx.h linux/videodev.h],,,
299 [#ifdef HAVE_SYS_TIME_H
300 #include <sys/time.h>
302 #include <sys/types.h>
303 #ifdef HAVE_ASM_TYPES_H
304 #include <asm/types.h>
307 dnl Check for broken kernel header that doesn't define __user
308 AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])
310 dnl **** Check for X11 ****
312 if test "$have_x" = "yes"
315 ac_save_CPPFLAGS="$CPPFLAGS"
316 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
318 dnl *** All of the following tests require X11/Xlib.h
319 AC_CHECK_HEADERS([X11/Xlib.h \
322 X11/extensions/shape.h \
323 X11/extensions/XInput.h \
324 X11/extensions/XShm.h \
325 X11/extensions/Xrandr.h \
326 X11/extensions/Xrender.h \
327 X11/extensions/xf86dga.h \
328 X11/extensions/xf86vmode.h],,,
329 [#ifdef HAVE_X11_XLIB_H
330 # include <X11/Xlib.h>
332 #ifdef HAVE_X11_XUTIL_H
333 # include <X11/Xutil.h>
336 dnl *** Check for X keyboard extension
337 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
339 AC_CHECK_LIB(X11, XkbQueryExtension,
340 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
341 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
344 dnl *** Check for X Shm extension
345 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
347 AC_CHECK_LIB(Xext, XShmQueryExtension,
348 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
349 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
352 dnl *** Check for X shape extension
353 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
355 AC_CHECK_LIB(Xext,XShapeQueryExtension,
356 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
357 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
360 dnl *** Check for XFree86 DGA / DGA 2.0 extension
361 if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
363 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
364 [ AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
365 [Define if you have the Xxf86dga library version 2])
366 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
368 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
371 dnl *** Check for XFree86 VMODE extension
372 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
374 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
375 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
376 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
378 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
381 dnl *** Check for X RandR extension
382 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
384 AC_TRY_COMPILE([#include <X11/Xlib.h>
385 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
386 [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
389 dnl *** Check for Transform functions in Xrender
390 if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
392 AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
393 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
394 [Define if Xrender has the XRenderSetPictureTransform function])],,
395 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
397 dnl *** End of X11/Xlib.h check
399 dnl Check for the presence of OpenGL
400 if test "x$with_opengl" != "xno"
402 AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h GL/glu.h,,,
403 [#ifdef HAVE_GL_GLX_H
406 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
408 dnl Check for some problems due to old Mesa versions
409 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
411 [#include <GL/gl.h>],
412 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
413 [wine_cv_opengl_version_OK="yes"],
414 [wine_cv_opengl_version_OK="no"]
418 if test "$wine_cv_opengl_version_OK" = "yes"
420 dnl Check for the presence of the library
421 AC_CHECK_LIB(GL,glXCreateContext,
424 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
426 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
428 OPENGLFILES='$(OPENGLFILES)'
429 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
431 if test -f /usr/X11R6/lib/libGL.a
433 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
434 This prevents linking to OpenGL. Delete the file and restart configure.])
438 dnl Check for GLU32 library.
439 AC_CHECK_LIB(GLU,gluLookAt,
440 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
441 GLU32FILES='$(GLU32FILES)']
443 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
447 dnl Check for glut32 library.
448 AC_CHECK_LIB(glut,glutMainLoop,
449 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
450 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
451 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
455 dnl **** Check for NAS ****
457 AC_CHECK_HEADERS(audio/audiolib.h,
458 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
459 AC_CHECK_LIB(audio,AuCreateFlow,
460 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
461 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
462 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
464 CPPFLAGS="$ac_save_CPPFLAGS"
472 dnl **** Check for libxml2 ****
474 AC_SUBST(XML2LIBS,"")
475 AC_SUBST(XML2INCL,"")
476 AC_SUBST(XSLTLIBS,"")
477 AC_SUBST(XSLTINCL,"")
478 if test "$PKG_CONFIG" != "false"
480 ac_save_CPPFLAGS="$CPPFLAGS"
481 ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0`"
482 ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0`"
483 CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
484 AC_CHECK_HEADERS(libxml/parser.h,
485 [AC_CHECK_LIB(xml2, xmlParseMemory,
486 [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
487 XML2LIBS="$ac_xml_libs"
488 XML2INCL="$ac_xml_cflags"],,$ac_xml_libs)
489 AC_CHECK_LIB(xml2, xmlReadMemory,
490 [AC_DEFINE(HAVE_XMLREADMEMORY,1,[Define if libxml2 has the xmlReadMemory function])],,$ac_xml_libs)
492 CPPFLAGS="$ac_save_CPPFLAGS"
493 ac_xslt_libs="`$PKG_CONFIG --libs libxslt`"
494 ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt`"
495 CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
496 AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],
497 [AC_CHECK_LIB(xslt, xsltCompilePattern,
498 [AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have the libxslt library])
499 XSLTLIBS="$ac_xslt_libs"
500 XSLTINCL="$ac_xslt_cflags"],,$ac_xslt_libs)
502 [#ifdef HAVE_LIBXSLT_PATTERN_H
503 # include <libxslt/pattern.h>
505 CPPFLAGS="$ac_save_CPPFLAGS"
508 dnl **** Check for libhal ****
510 if test "$PKG_CONFIG" != "false"
512 ac_save_CPPFLAGS="$CPPFLAGS"
513 ac_hal_libs="`$PKG_CONFIG --libs hal`"
514 ac_hal_cflags="`$PKG_CONFIG --cflags hal`"
515 CPPFLAGS="$CPPFLAGS $ac_hal_cflags"
516 AC_CHECK_HEADERS([dbus/dbus.h hal/libhal.h])
517 if test "$ac_cv_header_dbus_dbus_h" = "yes" -a "$ac_cv_header_hal_libhal_h" = "yes"
519 AC_CHECK_LIB(hal, libhal_ctx_new,
520 [AC_CHECK_LIB(dbus-1, dbus_connection_close,
521 [AC_DEFINE(HAVE_LIBHAL, 1, [Define if you have the hal library])
522 HALINCL="$ac_hal_cflags"],,$ac_hal_libs)])
524 CPPFLAGS="$ac_save_CPPFLAGS"
527 dnl **** Check which curses lib to use ***
529 if test "x$with_curses" != "xno"
531 if test "$ac_cv_header_ncurses_h" = "yes"
533 AC_CHECK_LIB(ncurses,waddch,
534 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
535 CURSESLIBS="-lncurses"])
536 elif test "$ac_cv_header_curses_h" = "yes"
538 AC_CHECK_LIB(curses,waddch,
539 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
540 CURSESLIBS="-lcurses"])
545 dnl **** Check for SANE ****
546 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
547 AC_SUBST(SANELIBS,"")
548 AC_SUBST(SANEINCL,"")
549 if test "$sane_devel" != "no"
551 SANELIBS="`$sane_devel --libs`"
552 SANEINCL="`$sane_devel --cflags`"
553 ac_save_CPPFLAGS="$CPPFLAGS"
555 CPPFLAGS="$CPPFLAGS $SANEINCL"
556 LIBS="$LIBS $SANELIBS"
557 AC_CHECK_HEADER(sane/sane.h,
558 [AC_CHECK_LIB(sane,sane_open,
559 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
565 CPPFLAGS="$ac_save_CPPFLAGS"
568 dnl **** Check for the ICU library ****
569 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
572 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
573 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libsicuuc.a}"
574 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libsicudata.a}"
575 AC_MSG_CHECKING(whether can link with ICU libraries $ICUUC_LIB and $ICUDATA_LIB)
576 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
577 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
578 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
579 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")
585 dnl **** Check for resolver library ***
586 AC_SUBST(RESOLVLIBS,"")
587 if test "$ac_cv_header_resolv_h" = "yes"
589 AC_CHECK_LIB(resolv, res_query,
590 [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
591 RESOLVLIBS="-lresolv"])
594 dnl **** Check for LittleCMS ***
595 AC_SUBST(LCMSLIBS,"")
596 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
598 AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
599 [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
603 dnl **** Check for OpenLDAP ***
604 AC_SUBST(LDAPLIBS,"")
605 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
607 AC_CHECK_LIB(ldap_r, ldap_initialize,
608 [AC_CHECK_LIB(lber, ber_init,
609 [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
610 LDAPLIBS="-lldap_r -llber"],,
613 WINE_CHECK_LIB_FUNCS(\
614 ldap_count_references \
615 ldap_first_reference \
616 ldap_next_reference \
617 ldap_parse_reference,
618 [$LDAPLIBS $LIBPTHREAD])
621 dnl **** Check for FreeType 2 ****
622 AC_SUBST(FREETYPELIBS,"")
623 AC_SUBST(FREETYPEINCL,"")
624 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
625 if test "$ft_lib" = "no"
627 wine_cv_msg_freetype=no
629 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
630 if test "$ft_devel" = "no"
632 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
633 if test "$ft_devel2" = "freetype2-config"
638 if test "$ft_devel" = "no"
640 wine_cv_msg_freetype=yes
642 FREETYPELIBS=`$ft_devel --libs`
643 FREETYPEINCL=`$ft_devel --cflags`
644 ac_save_CPPFLAGS="$CPPFLAGS"
645 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
646 AC_CHECK_HEADERS(ft2build.h \
647 freetype/freetype.h \
649 freetype/tttables.h \
651 freetype/ftsnames.h \
652 freetype/ttnameid.h \
654 freetype/ftwinfnt.h \
655 freetype/ftmodapi.h \
656 freetype/internal/sfnt.h,,,
658 #include <ft2build.h>
660 AC_TRY_CPP([#include <ft2build.h>
661 #include <freetype/fttrigon.h>],
662 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
663 [Define if you have the <freetype/fttrigon.h> header file.])
664 wine_cv_fttrigon=yes],
666 AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
667 ac_save_CFLAGS="$CFLAGS"
668 CFLAGS="$CFLAGS $FREETYPELIBS"
669 AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
670 CFLAGS="$ac_save_CFLAGS"
671 CPPFLAGS="$ac_save_CPPFLAGS"
672 dnl Check that we have at least freetype/freetype.h
673 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
675 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
676 wine_cv_msg_freetype=no
680 wine_cv_msg_freetype=yes
685 dnl Only build the fonts dir if we have both freetype and fontforge
686 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
688 AC_SUBST(FONTSSUBDIRS,"fonts")
691 wine_cv_msg_fonts=yes
694 dnl **** Check for parport (currently Linux only) ****
695 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
697 [#include <linux/ppdev.h>],
698 [ioctl (1,PPCLAIM,0)],
699 [ac_cv_c_ppdev="yes"],
700 [ac_cv_c_ppdev="no"])
702 if test "$ac_cv_c_ppdev" = "yes"
704 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
707 dnl **** Check for va_copy ****
708 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
710 [#include <stdarg.h>],
714 [ac_cv_c_va_copy="yes"],
715 [ac_cv_c_va_copy="no"])
717 if test "$ac_cv_c_va_copy" = "yes"
719 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
721 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
723 [#include <stdarg.h>],
727 [ac_cv_c___va_copy="yes"],
728 [ac_cv_c___va_copy="no"])
730 if test "$ac_cv_c___va_copy" = "yes"
732 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
735 dnl **** Check for sigsetjmp ****
736 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
738 [#include <setjmp.h>],
741 siglongjmp( buf, 1 );],
742 [ac_cv_c_sigsetjmp="yes"],
743 [ac_cv_c_sigsetjmp="no"])
745 if test "$ac_cv_c_sigsetjmp" = "yes"
747 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
750 dnl **** Check for pthread_rwlock_t ****
751 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
752 #include <pthread.h>])
754 dnl **** Check for pthread functions ****
755 WINE_CHECK_LIB_FUNCS(\
757 pthread_get_stackaddr_np \
758 pthread_get_stacksize_np,
761 dnl **** Check for aRts Sound Server ****
762 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
763 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
766 for i in `$ARTSCCONFIG --cflags`
769 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
773 for i in `$ARTSCCONFIG --libs`
776 -L/usr/lib|-L/usr/lib64) ;;
777 -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
780 save_CFLAGS="$CFLAGS"
781 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
782 AC_CHECK_LIB(artsc,arts_init,
783 [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
784 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
785 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
786 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
788 CFLAGS="$save_CFLAGS"
791 dnl **** Check for EsounD ****
792 AC_PATH_PROG(ESDCONFIG, esd-config)
793 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
796 for i in `$ESDCONFIG --cflags`
799 -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
802 ESD_LIBS=`$ESDCONFIG --libs`
803 save_CFLAGS="$CFLAGS"
804 CFLAGS="$CFLAGS $ESD_CFLAGS"
805 AC_CHECK_LIB(esd,esd_open_sound,
806 [AC_SUBST(ESDLIBS, $ESD_LIBS)
807 AC_SUBST(ESDINCL, $ESD_CFLAGS)
808 AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
809 CFLAGS="$save_CFLAGS"
812 dnl **** Check for ALSA 1.x ****
813 AC_SUBST(ALSALIBS,"")
814 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
816 AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
817 [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
818 #include <alsa/asoundlib.h>
819 #elif defined(HAVE_SYS_ASOUNDLIB_H)
820 #include <sys/asoundlib.h>
822 [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
823 [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
824 ALSALIBS="-lasound"])])
827 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
829 AC_SUBST(AUDIOIOLIBS,"")
830 if test "$ac_cv_header_libaudioio_h" = "yes"
832 AC_CHECK_LIB(audioio,AudioIOGetVersion,
833 [AUDIOIOLIBS="-laudioio"
834 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
837 dnl **** Check for capi4linux ****
839 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
841 AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
844 dnl **** Check for gcc specific options ****
846 AC_SUBST(EXTRACFLAGS,"")
847 if test "x${GCC}" = "xyes"
849 EXTRACFLAGS="-Wall -pipe"
851 dnl Check for strength-reduce bug
852 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
854 int L[[4]] = {0,1,2,3};
856 static int Array[[3]];
859 for(i=0; i<B; i++) Array[[i]] = i - 3;
860 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
863 exit( Array[[1]] != -2 || L[[2]] != 3);
865 ac_cv_c_gcc_strength_bug="no",
866 ac_cv_c_gcc_strength_bug="yes",
867 ac_cv_c_gcc_strength_bug="yes") )
868 if test "$ac_cv_c_gcc_strength_bug" = "yes"
870 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
873 dnl Check for -fshort-wchar
874 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
875 [WINE_TRY_CFLAGS([-fshort-wchar],
876 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
877 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
879 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
882 dnl Check for -fno-strict-aliasing
883 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
884 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
885 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
886 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
888 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
891 dnl Check for -gstabs+ option
892 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
893 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
894 if test "$ac_cv_c_gcc_gstabs" = "yes"
896 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
899 dnl Check for -Wdeclaration-after-statement option
900 AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
901 [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
902 if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
904 EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
907 dnl Check for noisy string.h
908 saved_CFLAGS="$CFLAGS"
909 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
910 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
911 AC_TRY_COMPILE([#include <string.h>],[],
912 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
913 CFLAGS="$saved_CFLAGS"
914 if test "$ac_cv_c_string_h_warnings" = "no"
916 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
919 AC_SUBST(BUILTINFLAG,"")
920 saved_CFLAGS="$CFLAGS"
921 CFLAGS="$CFLAGS -Werror"
922 AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
924 [int iswlower(unsigned short);],
925 [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
926 CFLAGS="$saved_CFLAGS"
927 if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
931 iswalnum iswalpha iswcntrl iswdigit iswgraph iswlower \
932 iswprint iswpunct iswspace iswupper iswxdigit towlower towupper
934 BUILTINFLAG="$BUILTINFLAG -fno-builtin-$builtin"
939 dnl **** Check how to define a function in assembly code ****
941 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
943 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
944 ac_cv_asm_func_def=".def",
945 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
946 ac_cv_asm_func_def=".type @function",
947 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
948 ac_cv_asm_func_def=".type 2",
949 ac_cv_asm_func_def="unknown")])]))
951 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
952 case "$ac_cv_asm_func_def" in
954 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
956 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
958 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
960 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
963 dnl **** Check for underscore on external symbols ****
965 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
966 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
967 [extern int ac_test;],
968 [if (ac_test) return 1],
969 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
971 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
972 if test "$ac_cv_c_extern_prefix" = "yes"
974 AC_DEFINE([__ASM_NAME(name)], ["_" name])
976 AC_DEFINE([__ASM_NAME(name)], [name])
979 dnl **** Check for working dll ****
982 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
984 AC_SUBST(LDSHARED,"")
985 AC_SUBST(LDDLLFLAGS,"")
986 AC_SUBST(LIBEXT,"so")
987 AC_SUBST(IMPLIBEXT,"def")
991 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
992 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
993 if test "$DLLWRAP" = "false"; then
996 dnl FIXME - check whether dllwrap works correctly...
1000 dnl We can't build 16-bit NE dlls
1005 if test "$ac_cv_header_dlfcn_h" = "yes"
1007 AC_CHECK_FUNCS(dlopen,,
1008 [AC_CHECK_LIB(dl,dlopen,
1009 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
1012 WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
1017 if test "$LIBEXT" = "so"
1019 DLLFLAGS="$DLLFLAGS -fPIC"
1021 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1022 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
1023 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1024 if test "$ac_cv_c_dll_gnuelf" = "yes"
1026 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1027 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1028 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1029 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1030 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1031 if test "$ac_cv_c_dll_zdefs" = "yes"
1033 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1036 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1037 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1038 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1039 if test "$ac_cv_c_dll_init_fini" = "yes"
1041 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1044 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1045 [echo '{ global: *; };' >conftest.map
1046 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1047 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1048 rm -f conftest.map])
1049 if test "$ac_cv_c_ld_version_scripts" = "yes"
1051 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1054 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1055 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1056 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1057 if test "$ac_cv_c_export_dynamic" = "yes"
1059 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1062 AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1063 [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1064 ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1065 if test "$ac_cv_ld_rpath" = "yes"
1067 AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1068 AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
1073 AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1074 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1075 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1076 if test "$ac_cv_ld_reloc_exec" = "yes"
1078 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1084 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1085 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1086 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1087 if test "$ac_cv_c_dll_unixware" = "yes"
1089 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1090 LDDLLFLAGS="-Wl,-G,-B,symbolic"
1093 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1094 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1095 if test "$ac_cv_c_dll_macho" = "yes"
1098 LDDLLFLAGS="-bundle"
1099 LDSHARED="\$(CC) -dynamiclib"
1100 STRIP="$STRIP -u -r"
1101 dnl declare needed frameworks
1102 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1103 AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1104 AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7ffe0000"])
1107 CFLAGS="$CFLAGS -ffixed-r13"
1108 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
1113 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1114 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1115 if test "$ac_cv_c_dll_hpux" = "yes"
1119 LDDLLFLAGS="-shared -fPIC"
1120 LDSHARED="\$(CC) -shared"
1127 dnl Check for cross compiler to build test programs
1128 AC_SUBST(CROSSTEST,"")
1129 if test "$cross_compiling" = "no"
1131 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1132 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1133 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1134 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1139 if test "$LIBEXT" = "a"; then
1141 [could not find a way to build shared libraries.
1142 It is currently not possible to build Wine without shared library
1143 (.so) support to allow transparent switch between .so and .dll files.
1144 If you are using Linux, you will need a newer binutils.]
1150 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
1152 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
1154 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
1157 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1160 AC_SUBST(CRTLIBS,"-lmsvcrt")
1161 AC_SUBST(SOCKETLIBS,"-lws2_32")
1168 linux* | k*bsd*-gnu)
1169 AC_SUBST(MAIN_BINARY,"wine-glibc")
1170 AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1172 AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1174 AC_SUBST(MAIN_BINARY,"wine-kthread") ;;
1177 *) AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1180 dnl **** Get the soname for libraries that we load dynamically ****
1182 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1184 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1185 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1186 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1187 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1188 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1189 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1190 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1191 WINE_GET_SONAME(dbus-1,dbus_error_init)
1192 WINE_GET_SONAME(hal,libhal_ctx_new)
1193 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1194 WINE_GET_SONAME(cups,cupsGetDefault)
1195 WINE_GET_SONAME(jack,jack_client_new)
1196 WINE_GET_SONAME(fontconfig,FcInit)
1197 WINE_GET_SONAME(ssl,SSL_library_init)
1198 WINE_GET_SONAME(crypto,BIO_new_socket)
1199 WINE_GET_SONAME(ncurses,waddch)
1200 WINE_GET_SONAME(curses,waddch)
1201 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1202 WINE_GET_SONAME(ungif,DGifOpen)
1203 WINE_GET_SONAME(gif,DGifOpen)
1204 WINE_GET_SONAME(capi20,capi20_isinstalled)
1208 dnl **** Check for functions ****
1278 dnl **** Check for types ****
1282 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1283 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1284 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1286 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1287 [#ifdef HAVE_LINUX_INPUT_H
1288 #include <linux/input.h>
1291 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1292 AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1293 wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1294 if test "$wine_cv_have_sigaddset" = "yes"
1296 AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1300 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1301 wine_cv_linux_gethostbyname_r_6,
1307 struct hostent *result;
1314 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1315 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1317 wine_cv_linux_gethostbyname_r_6=yes,
1318 wine_cv_linux_gethostbyname_r_6=no
1321 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1323 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1324 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1327 if test "$ac_cv_header_linux_joystick_h" = "yes"
1329 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1330 wine_cv_linux_joystick_22_api,
1332 #include <sys/ioctl.h>
1333 #include <linux/joystick.h>
1335 struct js_event blub;
1336 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1337 #error "no 2.2 header"
1340 wine_cv_linux_joystick_22_api=yes,
1341 wine_cv_linux_joystick_22_api=no,
1342 wine_cv_linux_joystick_22_api=no
1345 if test "$wine_cv_linux_joystick_22_api" = "yes"
1347 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1348 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1352 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1354 dnl Check for statfs members
1355 AC_CHECK_MEMBERS([struct statfs.f_bfree, struct statfs.f_bavail, struct statfs.f_frsize, struct statfs.f_ffree, struct statfs.f_favail, struct statfs.f_namelen],,,
1356 [#include <sys/types.h>
1357 #ifdef HAVE_SYS_PARAM_H
1358 # include <sys/param.h>
1360 #ifdef HAVE_SYS_MOUNT_H
1361 # include <sys/mount.h>
1363 #ifdef HAVE_SYS_VFS_H
1364 # include <sys/vfs.h>
1366 #ifdef HAVE_SYS_STATFS_H
1367 # include <sys/statfs.h>
1370 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1371 [#ifdef HAVE_SYS_STATVFS_H
1372 #include <sys/statvfs.h>
1375 dnl Check for socket structure members
1376 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1377 [#include <sys/types.h>
1378 #ifdef HAVE_SYS_SOCKET_H
1379 # include <sys/socket.h>
1381 #ifdef HAVE_SYS_UN_H
1382 # include <sys/un.h>
1385 dnl Check for scsireq_t and sg_io_hdr_t members
1386 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1387 [#include <sys/types.h>
1388 #ifdef HAVE_SCSI_SG_H
1389 #include <scsi/sg.h>
1392 dnl Check for siginfo_t members
1393 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1395 dnl Check for struct mtget members
1396 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1397 [#include <sys/types.h>
1398 #ifdef HAVE_SYS_MTIO_H
1399 #include <sys/mtio.h>
1402 dnl Check for struct option
1403 AC_CHECK_MEMBERS([struct option.name],,,
1404 [#ifdef HAVE_GETOPT_H
1408 dnl Check for stat.st_blocks
1409 AC_CHECK_MEMBERS([struct stat.st_blocks])
1411 dnl Check for sin6_scope_id
1412 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1413 [#ifdef HAVE_SYS_TYPES_H
1414 #include <sys/types.h>
1416 #ifdef HAVE_NETINET_IN_H
1417 #include <netinet/in.h>
1420 dnl Check for the external timezone variables timezone and daylight
1421 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1422 AC_TRY_LINK([#include <time.h>],[timezone;],
1423 ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1424 if test "$ac_cv_have_timezone" = "yes"
1426 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1428 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1429 AC_TRY_LINK([#include <time.h>],[daylight;],
1430 ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1431 if test "$ac_cv_have_daylight" = "yes"
1433 AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1436 dnl *** check for the need to define platform-specific symbols
1439 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1440 *x86_64*) WINE_CHECK_DEFINE([__x86_64__]) ;;
1441 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1442 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1443 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1446 case $host_vendor in
1447 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1450 dnl **** Generate output files ****
1452 AH_TOP([#define __WINE_CONFIG_H])
1454 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1455 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1456 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1457 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1458 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1459 WINE_CONFIG_EXTRA_DIR(include/wine)
1461 MAKE_RULES=Make.rules
1462 AC_SUBST_FILE(MAKE_RULES)
1464 MAKE_DLL_RULES=dlls/Makedll.rules
1465 AC_SUBST_FILE(MAKE_DLL_RULES)
1467 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1468 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1470 MAKE_TEST_RULES=dlls/Maketest.rules
1471 AC_SUBST_FILE(MAKE_TEST_RULES)
1473 MAKE_LIB_RULES=libs/Makelib.rules
1474 AC_SUBST_FILE(MAKE_LIB_RULES)
1476 MAKE_PROG_RULES=programs/Makeprog.rules
1477 AC_SUBST_FILE(MAKE_PROG_RULES)
1482 dlls/Makeimplib.rules
1485 programs/Makeprog.rules
1488 dlls/activeds/Makefile
1489 dlls/advapi32/Makefile
1490 dlls/advapi32/tests/Makefile
1491 dlls/advpack/Makefile
1492 dlls/advpack/tests/Makefile
1493 dlls/amstream/Makefile
1495 dlls/avicap32/Makefile
1496 dlls/avifil32/Makefile
1497 dlls/cabinet/Makefile
1498 dlls/cabinet/tests/Makefile
1499 dlls/capi2032/Makefile
1501 dlls/cfgmgr32/Makefile
1502 dlls/comcat/Makefile
1503 dlls/comctl32/Makefile
1504 dlls/comctl32/tests/Makefile
1505 dlls/comdlg32/Makefile
1506 dlls/crtdll/Makefile
1507 dlls/crypt32/Makefile
1508 dlls/crypt32/tests/Makefile
1509 dlls/cryptdll/Makefile
1510 dlls/ctl3d32/Makefile
1513 dlls/d3d9/tests/Makefile
1517 dlls/d3dxof/Makefile
1518 dlls/dbghelp/Makefile
1519 dlls/dciman32/Makefile
1521 dlls/ddraw/tests/Makefile
1522 dlls/devenum/Makefile
1523 dlls/dinput/Makefile
1524 dlls/dinput/tests/Makefile
1525 dlls/dinput8/Makefile
1526 dlls/dmband/Makefile
1527 dlls/dmcompos/Makefile
1529 dlls/dmloader/Makefile
1530 dlls/dmscript/Makefile
1531 dlls/dmstyle/Makefile
1532 dlls/dmsynth/Makefile
1533 dlls/dmusic/Makefile
1534 dlls/dmusic32/Makefile
1535 dlls/dnsapi/Makefile
1536 dlls/dnsapi/tests/Makefile
1538 dlls/dplayx/Makefile
1540 dlls/dpnhpast/Makefile
1541 dlls/dsound/Makefile
1542 dlls/dsound/tests/Makefile
1543 dlls/dswave/Makefile
1544 dlls/dxdiagn/Makefile
1545 dlls/dxerr8/Makefile
1546 dlls/dxerr9/Makefile
1547 dlls/dxguid/Makefile
1549 dlls/gdi/tests/Makefile
1551 dlls/glut32/Makefile
1552 dlls/hhctrl.ocx/Makefile
1553 dlls/iccvid/Makefile
1555 dlls/ifsmgr.vxd/Makefile
1556 dlls/imaadp32.acm/Makefile
1557 dlls/imagehlp/Makefile
1559 dlls/iphlpapi/Makefile
1560 dlls/iphlpapi/tests/Makefile
1562 dlls/kernel/Makefile
1563 dlls/kernel/tests/Makefile
1565 dlls/lz32/tests/Makefile
1566 dlls/mapi32/Makefile
1567 dlls/mapi32/tests/Makefile
1568 dlls/mciavi32/Makefile
1569 dlls/mcicda/Makefile
1570 dlls/mciseq/Makefile
1571 dlls/midimap/Makefile
1573 dlls/mlang/tests/Makefile
1574 dlls/mmdevldr.vxd/Makefile
1575 dlls/monodebg.vxd/Makefile
1577 dlls/msacm32/Makefile
1578 dlls/msacm32/tests/Makefile
1579 dlls/msadp32.acm/Makefile
1581 dlls/mscms/tests/Makefile
1583 dlls/msftedit/Makefile
1584 dlls/msg711.acm/Makefile
1585 dlls/mshtml/Makefile
1586 dlls/mshtml/tests/Makefile
1588 dlls/msi/tests/Makefile
1589 dlls/msimg32/Makefile
1590 dlls/msisys/Makefile
1591 dlls/msnet32/Makefile
1592 dlls/msrle32/Makefile
1593 dlls/msvcrt/Makefile
1594 dlls/msvcrt/tests/Makefile
1595 dlls/msvcrt20/Makefile
1596 dlls/msvcrt40/Makefile
1597 dlls/msvcrtd/Makefile
1598 dlls/msvcrtd/tests/Makefile
1599 dlls/msvfw32/Makefile
1600 dlls/msvidc32/Makefile
1601 dlls/mswsock/Makefile
1602 dlls/msxml3/Makefile
1603 dlls/msxml3/tests/Makefile
1604 dlls/netapi32/Makefile
1605 dlls/netapi32/tests/Makefile
1606 dlls/newdev/Makefile
1608 dlls/ntdll/tests/Makefile
1609 dlls/objsel/Makefile
1610 dlls/odbc32/Makefile
1611 dlls/odbccp32/Makefile
1613 dlls/ole32/tests/Makefile
1614 dlls/oleacc/Makefile
1615 dlls/oleaut32/Makefile
1616 dlls/oleaut32/tests/Makefile
1617 dlls/olecli32/Makefile
1618 dlls/oledlg/Makefile
1619 dlls/olepro32/Makefile
1620 dlls/olesvr32/Makefile
1621 dlls/opengl32/Makefile
1622 dlls/powrprof/Makefile
1624 dlls/psapi/tests/Makefile
1626 dlls/quartz/Makefile
1627 dlls/quartz/tests/Makefile
1628 dlls/rasapi32/Makefile
1629 dlls/riched20/Makefile
1630 dlls/riched20/tests/Makefile
1631 dlls/riched32/Makefile
1632 dlls/rpcrt4/Makefile
1633 dlls/rpcrt4/tests/Makefile
1634 dlls/rsabase/Makefile
1635 dlls/rsabase/tests/Makefile
1636 dlls/rsaenh/Makefile
1637 dlls/rsaenh/tests/Makefile
1638 dlls/secur32/Makefile
1639 dlls/secur32/tests/Makefile
1640 dlls/security/Makefile
1641 dlls/sensapi/Makefile
1642 dlls/serialui/Makefile
1643 dlls/setupapi/Makefile
1644 dlls/setupapi/tests/Makefile
1646 dlls/shdocvw/Makefile
1647 dlls/shdocvw/tests/Makefile
1648 dlls/shell32/Makefile
1649 dlls/shell32/tests/Makefile
1650 dlls/shfolder/Makefile
1651 dlls/shlwapi/Makefile
1652 dlls/shlwapi/tests/Makefile
1653 dlls/snmpapi/Makefile
1654 dlls/spoolss/Makefile
1655 dlls/stdole2.tlb/Makefile
1656 dlls/stdole32.tlb/Makefile
1658 dlls/strmiids/Makefile
1659 dlls/tapi32/Makefile
1660 dlls/twain_32/Makefile
1661 dlls/unicows/Makefile
1663 dlls/urlmon/Makefile
1664 dlls/urlmon/tests/Makefile
1666 dlls/user/tests/Makefile
1668 dlls/usp10/tests/Makefile
1670 dlls/uxtheme/Makefile
1671 dlls/vdhcp.vxd/Makefile
1672 dlls/vdmdbg/Makefile
1673 dlls/version/Makefile
1674 dlls/version/tests/Makefile
1675 dlls/vmm.vxd/Makefile
1676 dlls/vnbt.vxd/Makefile
1677 dlls/vnetbios.vxd/Makefile
1678 dlls/vtdapi.vxd/Makefile
1679 dlls/vwin32.vxd/Makefile
1680 dlls/w32skrnl/Makefile
1681 dlls/winecrt0/Makefile
1682 dlls/wined3d/Makefile
1683 dlls/winedos/Makefile
1684 dlls/winemp3.acm/Makefile
1685 dlls/wineps/Makefile
1686 dlls/wininet/Makefile
1687 dlls/wininet/tests/Makefile
1689 dlls/winmm/joystick/Makefile
1690 dlls/winmm/mciwave/Makefile
1691 dlls/winmm/tests/Makefile
1692 dlls/winmm/wavemap/Makefile
1693 dlls/winmm/winealsa/Makefile
1694 dlls/winmm/winearts/Makefile
1695 dlls/winmm/wineaudioio/Makefile
1696 dlls/winmm/wineesd/Makefile
1697 dlls/winmm/winejack/Makefile
1698 dlls/winmm/winenas/Makefile
1699 dlls/winmm/wineoss/Makefile
1700 dlls/winnls32/Makefile
1701 dlls/winspool/Makefile
1702 dlls/winspool/tests/Makefile
1703 dlls/wintab32/Makefile
1704 dlls/wintrust/Makefile
1705 dlls/wldap32/Makefile
1706 dlls/wnaspi32/Makefile
1708 dlls/ws2_32/Makefile
1709 dlls/ws2_32/tests/Makefile
1710 dlls/wsock32/Makefile
1711 dlls/wtsapi32/Makefile
1712 dlls/x11drv/Makefile
1713 documentation/Makefile
1718 libs/unicode/Makefile
1723 programs/clock/Makefile
1724 programs/cmdlgtst/Makefile
1725 programs/control/Makefile
1726 programs/eject/Makefile
1727 programs/expand/Makefile
1728 programs/explorer/Makefile
1729 programs/hh/Makefile
1730 programs/icinfo/Makefile
1731 programs/iexplore/Makefile
1732 programs/msiexec/Makefile
1733 programs/notepad/Makefile
1734 programs/progman/Makefile
1735 programs/regedit/Makefile
1736 programs/regsvr32/Makefile
1737 programs/rpcss/Makefile
1738 programs/rundll32/Makefile
1739 programs/start/Makefile
1740 programs/taskmgr/Makefile
1741 programs/uninstaller/Makefile
1742 programs/view/Makefile
1743 programs/wcmd/Makefile
1744 programs/wineboot/Makefile
1745 programs/winebrowser/Makefile
1746 programs/winecfg/Makefile
1747 programs/wineconsole/Makefile
1748 programs/winedbg/Makefile
1749 programs/winefile/Makefile
1750 programs/winemenubuilder/Makefile
1751 programs/winemine/Makefile
1752 programs/winepath/Makefile
1753 programs/winetest/Makefile
1754 programs/winevdm/Makefile
1755 programs/winhelp/Makefile
1756 programs/winver/Makefile
1757 programs/wordpad/Makefile
1761 tools/winapi/Makefile
1762 tools/winebuild/Makefile
1763 tools/winedump/Makefile
1764 tools/winegcc/Makefile
1766 tools/wrc/Makefile])
1771 if test "$have_x" = "no"
1774 echo "*** Warning: X development files not found. Wine will be built without"
1775 echo "*** X support, which currently does not work, and would probably not be"
1776 echo "*** what you want anyway. You will need to install devel packages of"
1777 echo "*** Xlib/Xfree86 at the very least."
1781 if test "$wine_cv_opengl_version_OK" = "no"
1784 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1785 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1789 if test "$wine_cv_msg_freetype" = "yes"
1792 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1793 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1794 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1795 echo "*** enable Wine to use TrueType fonts."
1799 if test "$wine_cv_msg_fonts" = "yes"
1802 echo "*** Warning: Freetype or Fontforge is missing."
1803 echo "*** Fonts will not be built. Dialog text may be invisible or unaligned."
1807 if test -z "$ALSALIBS" -a \
1808 -z "$ARTSC_LIBS" -a \
1809 -z "$AUDIOIOLIBS" -a \
1812 -z "$ac_cv_lib_soname_jack" -a \
1813 "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1814 "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1815 "$ac_cv_header_soundcard_h" != "yes"
1817 echo "*** No sound system was found. Windows applications will be silent."
1818 echo "*** The currently supported sound systems are:"
1819 echo "*** ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS"
1824 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1829 dnl Local Variables:
1830 dnl comment-start: "dnl "
1832 dnl comment-start-skip: "\\bdnl\\b\\s *"
1833 dnl compile-command: "autoconf && autoheader"