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 [AC_CHECK_LIB(hal, libhal_ctx_new,
518 [AC_DEFINE(HAVE_LIBHAL, 1, [Define if you have the hal library])
519 HALINCL="$ac_hal_cflags"],,$ac_hal_libs)])
520 CPPFLAGS="$ac_save_CPPFLAGS"
523 dnl **** Check which curses lib to use ***
525 if test "x$with_curses" != "xno"
527 if test "$ac_cv_header_ncurses_h" = "yes"
529 AC_CHECK_LIB(ncurses,waddch,
530 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
531 CURSESLIBS="-lncurses"])
532 elif test "$ac_cv_header_curses_h" = "yes"
534 AC_CHECK_LIB(curses,waddch,
535 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
536 CURSESLIBS="-lcurses"])
541 dnl **** Check for SANE ****
542 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
543 AC_SUBST(SANELIBS,"")
544 AC_SUBST(SANEINCL,"")
545 if test "$sane_devel" != "no"
547 SANELIBS="`$sane_devel --libs`"
548 SANEINCL="`$sane_devel --cflags`"
549 ac_save_CPPFLAGS="$CPPFLAGS"
551 CPPFLAGS="$CPPFLAGS $SANEINCL"
552 LIBS="$LIBS $SANELIBS"
553 AC_CHECK_HEADER(sane/sane.h,
554 [AC_CHECK_LIB(sane,sane_open,
555 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
561 CPPFLAGS="$ac_save_CPPFLAGS"
564 dnl **** Check for the ICU library ****
565 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
568 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
569 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libsicuuc.a}"
570 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libsicudata.a}"
571 AC_MSG_CHECKING(whether can link with ICU libraries $ICUUC_LIB and $ICUDATA_LIB)
572 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
573 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
574 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
575 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")
581 dnl **** Check for resolver library ***
582 AC_SUBST(RESOLVLIBS,"")
583 if test "$ac_cv_header_resolv_h" = "yes"
585 AC_CHECK_LIB(resolv, res_query,
586 [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
587 RESOLVLIBS="-lresolv"])
590 dnl **** Check for LittleCMS ***
591 AC_SUBST(LCMSLIBS,"")
592 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
594 AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
595 [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
599 dnl **** Check for OpenLDAP ***
600 AC_SUBST(LDAPLIBS,"")
601 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
603 AC_CHECK_LIB(ldap_r, ldap_initialize,
604 [AC_CHECK_LIB(lber, ber_init,
605 [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
606 LDAPLIBS="-lldap_r -llber"],,
609 WINE_CHECK_LIB_FUNCS(\
610 ldap_count_references \
611 ldap_first_reference \
612 ldap_next_reference \
613 ldap_parse_reference,
614 [$LDAPLIBS $LIBPTHREAD])
617 dnl **** Check for FreeType 2 ****
618 AC_SUBST(FREETYPELIBS,"")
619 AC_SUBST(FREETYPEINCL,"")
620 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
621 if test "$ft_lib" = "no"
623 wine_cv_msg_freetype=no
625 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
626 if test "$ft_devel" = "no"
628 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
629 if test "$ft_devel2" = "freetype2-config"
634 if test "$ft_devel" = "no"
636 wine_cv_msg_freetype=yes
638 FREETYPELIBS=`$ft_devel --libs`
639 FREETYPEINCL=`$ft_devel --cflags`
640 ac_save_CPPFLAGS="$CPPFLAGS"
641 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
642 AC_CHECK_HEADERS(ft2build.h \
643 freetype/freetype.h \
645 freetype/tttables.h \
647 freetype/ftsnames.h \
648 freetype/ttnameid.h \
650 freetype/ftwinfnt.h \
651 freetype/ftmodapi.h \
652 freetype/internal/sfnt.h,,,
654 #include <ft2build.h>
656 AC_TRY_CPP([#include <ft2build.h>
657 #include <freetype/fttrigon.h>],
658 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
659 [Define if you have the <freetype/fttrigon.h> header file.])
660 wine_cv_fttrigon=yes],
662 AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
663 ac_save_CFLAGS="$CFLAGS"
664 CFLAGS="$CFLAGS $FREETYPELIBS"
665 AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
666 CFLAGS="$ac_save_CFLAGS"
667 CPPFLAGS="$ac_save_CPPFLAGS"
668 dnl Check that we have at least freetype/freetype.h
669 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
671 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
672 wine_cv_msg_freetype=no
676 wine_cv_msg_freetype=yes
681 dnl Only build the fonts dir if we have both freetype and fontforge
682 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
684 AC_SUBST(FONTSSUBDIRS,"fonts")
687 wine_cv_msg_fonts=yes
690 dnl **** Check for parport (currently Linux only) ****
691 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
693 [#include <linux/ppdev.h>],
694 [ioctl (1,PPCLAIM,0)],
695 [ac_cv_c_ppdev="yes"],
696 [ac_cv_c_ppdev="no"])
698 if test "$ac_cv_c_ppdev" = "yes"
700 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
703 dnl **** Check for va_copy ****
704 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
706 [#include <stdarg.h>],
710 [ac_cv_c_va_copy="yes"],
711 [ac_cv_c_va_copy="no"])
713 if test "$ac_cv_c_va_copy" = "yes"
715 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
717 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
719 [#include <stdarg.h>],
723 [ac_cv_c___va_copy="yes"],
724 [ac_cv_c___va_copy="no"])
726 if test "$ac_cv_c___va_copy" = "yes"
728 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
731 dnl **** Check for sigsetjmp ****
732 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
734 [#include <setjmp.h>],
737 siglongjmp( buf, 1 );],
738 [ac_cv_c_sigsetjmp="yes"],
739 [ac_cv_c_sigsetjmp="no"])
741 if test "$ac_cv_c_sigsetjmp" = "yes"
743 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
746 dnl **** Check for pthread_rwlock_t ****
747 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
748 #include <pthread.h>])
750 dnl **** Check for pthread functions ****
751 WINE_CHECK_LIB_FUNCS(\
753 pthread_get_stackaddr_np \
754 pthread_get_stacksize_np,
757 dnl **** Check for aRts Sound Server ****
758 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
759 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
762 for i in `$ARTSCCONFIG --cflags`
765 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
769 for i in `$ARTSCCONFIG --libs`
772 -L/usr/lib|-L/usr/lib64) ;;
773 -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
776 save_CFLAGS="$CFLAGS"
777 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
778 AC_CHECK_LIB(artsc,arts_init,
779 [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
780 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
781 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
782 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
784 CFLAGS="$save_CFLAGS"
787 dnl **** Check for EsounD ****
788 AC_PATH_PROG(ESDCONFIG, esd-config)
789 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
792 for i in `$ESDCONFIG --cflags`
795 -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
798 ESD_LIBS=`$ESDCONFIG --libs`
799 save_CFLAGS="$CFLAGS"
800 CFLAGS="$CFLAGS $ESD_CFLAGS"
801 AC_CHECK_LIB(esd,esd_open_sound,
802 [AC_SUBST(ESDLIBS, $ESD_LIBS)
803 AC_SUBST(ESDINCL, $ESD_CFLAGS)
804 AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
805 CFLAGS="$save_CFLAGS"
808 dnl **** Check for ALSA 1.x ****
809 AC_SUBST(ALSALIBS,"")
810 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
812 AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
813 [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
814 #include <alsa/asoundlib.h>
815 #elif defined(HAVE_SYS_ASOUNDLIB_H)
816 #include <sys/asoundlib.h>
818 [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
819 [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
820 ALSALIBS="-lasound"])])
823 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
825 AC_SUBST(AUDIOIOLIBS,"")
826 if test "$ac_cv_header_libaudioio_h" = "yes"
828 AC_CHECK_LIB(audioio,AudioIOGetVersion,
829 [AUDIOIOLIBS="-laudioio"
830 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
833 dnl **** Check for capi4linux ****
835 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
837 AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
840 dnl **** Check for gcc specific options ****
842 AC_SUBST(EXTRACFLAGS,"")
843 if test "x${GCC}" = "xyes"
845 EXTRACFLAGS="-Wall -pipe"
847 dnl Check for strength-reduce bug
848 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
850 int L[[4]] = {0,1,2,3};
852 static int Array[[3]];
855 for(i=0; i<B; i++) Array[[i]] = i - 3;
856 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
859 exit( Array[[1]] != -2 || L[[2]] != 3);
861 ac_cv_c_gcc_strength_bug="no",
862 ac_cv_c_gcc_strength_bug="yes",
863 ac_cv_c_gcc_strength_bug="yes") )
864 if test "$ac_cv_c_gcc_strength_bug" = "yes"
866 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
869 dnl Check for -fshort-wchar
870 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
871 [WINE_TRY_CFLAGS([-fshort-wchar],
872 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
873 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
875 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
878 dnl Check for -fno-strict-aliasing
879 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
880 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
881 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
882 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
884 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
887 dnl Check for -gstabs+ option
888 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
889 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
890 if test "$ac_cv_c_gcc_gstabs" = "yes"
892 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
895 dnl Check for -Wdeclaration-after-statement option
896 AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
897 [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
898 if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
900 EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
903 dnl Check for noisy string.h
904 saved_CFLAGS="$CFLAGS"
905 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
906 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
907 AC_TRY_COMPILE([#include <string.h>],[],
908 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
909 CFLAGS="$saved_CFLAGS"
910 if test "$ac_cv_c_string_h_warnings" = "no"
912 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
915 AC_SUBST(BUILTINFLAG,"")
916 saved_CFLAGS="$CFLAGS"
917 CFLAGS="$CFLAGS -Werror"
918 AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
920 [int iswlower(unsigned short);],
921 [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
922 CFLAGS="$saved_CFLAGS"
923 if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
927 iswalnum iswalpha iswcntrl iswdigit iswgraph iswlower \
928 iswprint iswpunct iswspace iswupper iswxdigit towlower towupper
930 BUILTINFLAG="$BUILTINFLAG -fno-builtin-$builtin"
935 dnl **** Check how to define a function in assembly code ****
937 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
939 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
940 ac_cv_asm_func_def=".def",
941 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
942 ac_cv_asm_func_def=".type @function",
943 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
944 ac_cv_asm_func_def=".type 2",
945 ac_cv_asm_func_def="unknown")])]))
947 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
948 case "$ac_cv_asm_func_def" in
950 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
952 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
954 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
956 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
959 dnl **** Check for underscore on external symbols ****
961 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
962 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
963 [extern int ac_test;],
964 [if (ac_test) return 1],
965 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
967 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
968 if test "$ac_cv_c_extern_prefix" = "yes"
970 AC_DEFINE([__ASM_NAME(name)], ["_" name])
972 AC_DEFINE([__ASM_NAME(name)], [name])
975 dnl **** Check for working dll ****
978 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
980 AC_SUBST(LDSHARED,"")
981 AC_SUBST(LDDLLFLAGS,"")
982 AC_SUBST(LIBEXT,"so")
983 AC_SUBST(IMPLIBEXT,"def")
987 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
988 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
989 if test "$DLLWRAP" = "false"; then
992 dnl FIXME - check whether dllwrap works correctly...
996 dnl We can't build 16-bit NE dlls
1001 if test "$ac_cv_header_dlfcn_h" = "yes"
1003 AC_CHECK_FUNCS(dlopen,,
1004 [AC_CHECK_LIB(dl,dlopen,
1005 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
1008 WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
1013 if test "$LIBEXT" = "so"
1015 DLLFLAGS="$DLLFLAGS -fPIC"
1017 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1018 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
1019 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1020 if test "$ac_cv_c_dll_gnuelf" = "yes"
1022 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1023 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1024 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1025 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1026 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1027 if test "$ac_cv_c_dll_zdefs" = "yes"
1029 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1032 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1033 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1034 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1035 if test "$ac_cv_c_dll_init_fini" = "yes"
1037 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1040 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1041 [echo '{ global: *; };' >conftest.map
1042 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1043 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1044 rm -f conftest.map])
1045 if test "$ac_cv_c_ld_version_scripts" = "yes"
1047 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1050 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1051 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1052 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1053 if test "$ac_cv_c_export_dynamic" = "yes"
1055 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1058 AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1059 [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1060 ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1061 if test "$ac_cv_ld_rpath" = "yes"
1063 AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1064 AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
1069 AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1070 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1071 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1072 if test "$ac_cv_ld_reloc_exec" = "yes"
1074 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1080 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1081 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1082 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1083 if test "$ac_cv_c_dll_unixware" = "yes"
1085 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1086 LDDLLFLAGS="-Wl,-G,-B,symbolic"
1089 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1090 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1091 if test "$ac_cv_c_dll_macho" = "yes"
1094 LDDLLFLAGS="-bundle"
1095 LDSHARED="\$(CC) -dynamiclib"
1096 STRIP="$STRIP -u -r"
1097 dnl declare needed frameworks
1098 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1099 AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1100 AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7ffe0000"])
1103 CFLAGS="$CFLAGS -ffixed-r13"
1104 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
1109 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1110 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1111 if test "$ac_cv_c_dll_hpux" = "yes"
1115 LDDLLFLAGS="-shared -fPIC"
1116 LDSHARED="\$(CC) -shared"
1123 dnl Check for cross compiler to build test programs
1124 AC_SUBST(CROSSTEST,"")
1125 if test "$cross_compiling" = "no"
1127 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1128 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1129 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1130 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1135 if test "$LIBEXT" = "a"; then
1137 [could not find a way to build shared libraries.
1138 It is currently not possible to build Wine without shared library
1139 (.so) support to allow transparent switch between .so and .dll files.
1140 If you are using Linux, you will need a newer binutils.]
1146 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
1148 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
1150 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
1153 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1156 AC_SUBST(CRTLIBS,"-lmsvcrt")
1157 AC_SUBST(SOCKETLIBS,"-lws2_32")
1164 linux* | k*bsd*-gnu)
1165 AC_SUBST(MAIN_BINARY,"wine-glibc")
1166 AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1168 AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1170 AC_SUBST(MAIN_BINARY,"wine-kthread") ;;
1173 *) AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1176 dnl **** Get the soname for libraries that we load dynamically ****
1178 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1180 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1181 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1182 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1183 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1184 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1185 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1186 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1187 WINE_GET_SONAME(dbus-1,dbus_error_init)
1188 WINE_GET_SONAME(hal,libhal_ctx_new)
1189 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1190 WINE_GET_SONAME(cups,cupsGetDefault)
1191 WINE_GET_SONAME(jack,jack_client_new)
1192 WINE_GET_SONAME(fontconfig,FcInit)
1193 WINE_GET_SONAME(ssl,SSL_library_init)
1194 WINE_GET_SONAME(crypto,BIO_new_socket)
1195 WINE_GET_SONAME(ncurses,waddch)
1196 WINE_GET_SONAME(curses,waddch)
1197 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1198 WINE_GET_SONAME(ungif,DGifOpen)
1199 WINE_GET_SONAME(gif,DGifOpen)
1200 WINE_GET_SONAME(capi20,capi20_isinstalled)
1204 dnl **** Check for functions ****
1274 dnl **** Check for types ****
1278 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1279 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1280 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1282 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1283 [#ifdef HAVE_LINUX_INPUT_H
1284 #include <linux/input.h>
1287 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1288 AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1289 wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1290 if test "$wine_cv_have_sigaddset" = "yes"
1292 AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1296 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1297 wine_cv_linux_gethostbyname_r_6,
1303 struct hostent *result;
1310 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1311 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1313 wine_cv_linux_gethostbyname_r_6=yes,
1314 wine_cv_linux_gethostbyname_r_6=no
1317 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1319 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1320 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1323 if test "$ac_cv_header_linux_joystick_h" = "yes"
1325 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1326 wine_cv_linux_joystick_22_api,
1328 #include <sys/ioctl.h>
1329 #include <linux/joystick.h>
1331 struct js_event blub;
1332 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1333 #error "no 2.2 header"
1336 wine_cv_linux_joystick_22_api=yes,
1337 wine_cv_linux_joystick_22_api=no,
1338 wine_cv_linux_joystick_22_api=no
1341 if test "$wine_cv_linux_joystick_22_api" = "yes"
1343 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1344 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1348 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1350 dnl Check for statfs members
1351 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],,,
1352 [#include <sys/types.h>
1353 #ifdef HAVE_SYS_PARAM_H
1354 # include <sys/param.h>
1356 #ifdef HAVE_SYS_MOUNT_H
1357 # include <sys/mount.h>
1359 #ifdef HAVE_SYS_VFS_H
1360 # include <sys/vfs.h>
1362 #ifdef HAVE_SYS_STATFS_H
1363 # include <sys/statfs.h>
1366 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1367 [#ifdef HAVE_SYS_STATVFS_H
1368 #include <sys/statvfs.h>
1371 dnl Check for socket structure members
1372 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1373 [#include <sys/types.h>
1374 #ifdef HAVE_SYS_SOCKET_H
1375 # include <sys/socket.h>
1377 #ifdef HAVE_SYS_UN_H
1378 # include <sys/un.h>
1381 dnl Check for scsireq_t and sg_io_hdr_t members
1382 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1383 [#include <sys/types.h>
1384 #ifdef HAVE_SCSI_SG_H
1385 #include <scsi/sg.h>
1388 dnl Check for siginfo_t members
1389 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1391 dnl Check for struct mtget members
1392 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1393 [#include <sys/types.h>
1394 #ifdef HAVE_SYS_MTIO_H
1395 #include <sys/mtio.h>
1398 dnl Check for struct option
1399 AC_CHECK_MEMBERS([struct option.name],,,
1400 [#ifdef HAVE_GETOPT_H
1404 dnl Check for stat.st_blocks
1405 AC_CHECK_MEMBERS([struct stat.st_blocks])
1407 dnl Check for sin6_scope_id
1408 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1409 [#ifdef HAVE_SYS_TYPES_H
1410 #include <sys/types.h>
1412 #ifdef HAVE_NETINET_IN_H
1413 #include <netinet/in.h>
1416 dnl Check for the external timezone variables timezone and daylight
1417 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1418 AC_TRY_LINK([#include <time.h>],[timezone;],
1419 ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1420 if test "$ac_cv_have_timezone" = "yes"
1422 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1424 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1425 AC_TRY_LINK([#include <time.h>],[daylight;],
1426 ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1427 if test "$ac_cv_have_daylight" = "yes"
1429 AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1432 dnl *** check for the need to define platform-specific symbols
1435 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1436 *x86_64*) WINE_CHECK_DEFINE([__x86_64__]) ;;
1437 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1438 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1439 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1442 case $host_vendor in
1443 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1446 dnl **** Generate output files ****
1448 AH_TOP([#define __WINE_CONFIG_H])
1450 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1451 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1452 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1453 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1454 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1455 WINE_CONFIG_EXTRA_DIR(include/wine)
1457 MAKE_RULES=Make.rules
1458 AC_SUBST_FILE(MAKE_RULES)
1460 MAKE_DLL_RULES=dlls/Makedll.rules
1461 AC_SUBST_FILE(MAKE_DLL_RULES)
1463 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1464 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1466 MAKE_TEST_RULES=dlls/Maketest.rules
1467 AC_SUBST_FILE(MAKE_TEST_RULES)
1469 MAKE_LIB_RULES=libs/Makelib.rules
1470 AC_SUBST_FILE(MAKE_LIB_RULES)
1472 MAKE_PROG_RULES=programs/Makeprog.rules
1473 AC_SUBST_FILE(MAKE_PROG_RULES)
1478 dlls/Makeimplib.rules
1481 programs/Makeprog.rules
1484 dlls/activeds/Makefile
1485 dlls/advapi32/Makefile
1486 dlls/advapi32/tests/Makefile
1487 dlls/advpack/Makefile
1488 dlls/advpack/tests/Makefile
1489 dlls/amstream/Makefile
1491 dlls/avicap32/Makefile
1492 dlls/avifil32/Makefile
1493 dlls/cabinet/Makefile
1494 dlls/cabinet/tests/Makefile
1495 dlls/capi2032/Makefile
1497 dlls/cfgmgr32/Makefile
1498 dlls/comcat/Makefile
1499 dlls/comctl32/Makefile
1500 dlls/comctl32/tests/Makefile
1501 dlls/comdlg32/Makefile
1502 dlls/crtdll/Makefile
1503 dlls/crypt32/Makefile
1504 dlls/crypt32/tests/Makefile
1505 dlls/cryptdll/Makefile
1506 dlls/ctl3d32/Makefile
1509 dlls/d3d9/tests/Makefile
1513 dlls/d3dxof/Makefile
1514 dlls/dbghelp/Makefile
1515 dlls/dciman32/Makefile
1517 dlls/ddraw/tests/Makefile
1518 dlls/devenum/Makefile
1519 dlls/dinput/Makefile
1520 dlls/dinput/tests/Makefile
1521 dlls/dinput8/Makefile
1522 dlls/dmband/Makefile
1523 dlls/dmcompos/Makefile
1525 dlls/dmloader/Makefile
1526 dlls/dmscript/Makefile
1527 dlls/dmstyle/Makefile
1528 dlls/dmsynth/Makefile
1529 dlls/dmusic/Makefile
1530 dlls/dmusic32/Makefile
1531 dlls/dnsapi/Makefile
1532 dlls/dnsapi/tests/Makefile
1534 dlls/dplayx/Makefile
1536 dlls/dpnhpast/Makefile
1537 dlls/dsound/Makefile
1538 dlls/dsound/tests/Makefile
1539 dlls/dswave/Makefile
1540 dlls/dxdiagn/Makefile
1541 dlls/dxerr8/Makefile
1542 dlls/dxerr9/Makefile
1543 dlls/dxguid/Makefile
1545 dlls/gdi/tests/Makefile
1547 dlls/glut32/Makefile
1548 dlls/hhctrl.ocx/Makefile
1549 dlls/iccvid/Makefile
1551 dlls/ifsmgr.vxd/Makefile
1552 dlls/imaadp32.acm/Makefile
1553 dlls/imagehlp/Makefile
1555 dlls/iphlpapi/Makefile
1556 dlls/iphlpapi/tests/Makefile
1558 dlls/kernel/Makefile
1559 dlls/kernel/tests/Makefile
1561 dlls/lz32/tests/Makefile
1562 dlls/mapi32/Makefile
1563 dlls/mapi32/tests/Makefile
1564 dlls/mciavi32/Makefile
1565 dlls/mcicda/Makefile
1566 dlls/mciseq/Makefile
1567 dlls/midimap/Makefile
1569 dlls/mlang/tests/Makefile
1570 dlls/mmdevldr.vxd/Makefile
1571 dlls/monodebg.vxd/Makefile
1573 dlls/msacm32/Makefile
1574 dlls/msacm32/tests/Makefile
1575 dlls/msadp32.acm/Makefile
1577 dlls/mscms/tests/Makefile
1579 dlls/msftedit/Makefile
1580 dlls/msg711.acm/Makefile
1581 dlls/mshtml/Makefile
1582 dlls/mshtml/tests/Makefile
1584 dlls/msi/tests/Makefile
1585 dlls/msimg32/Makefile
1586 dlls/msisys/Makefile
1587 dlls/msnet32/Makefile
1588 dlls/msrle32/Makefile
1589 dlls/msvcrt/Makefile
1590 dlls/msvcrt/tests/Makefile
1591 dlls/msvcrt20/Makefile
1592 dlls/msvcrt40/Makefile
1593 dlls/msvcrtd/Makefile
1594 dlls/msvcrtd/tests/Makefile
1595 dlls/msvfw32/Makefile
1596 dlls/msvidc32/Makefile
1597 dlls/mswsock/Makefile
1598 dlls/msxml3/Makefile
1599 dlls/msxml3/tests/Makefile
1600 dlls/netapi32/Makefile
1601 dlls/netapi32/tests/Makefile
1602 dlls/newdev/Makefile
1604 dlls/ntdll/tests/Makefile
1605 dlls/objsel/Makefile
1606 dlls/odbc32/Makefile
1607 dlls/odbccp32/Makefile
1609 dlls/ole32/tests/Makefile
1610 dlls/oleacc/Makefile
1611 dlls/oleaut32/Makefile
1612 dlls/oleaut32/tests/Makefile
1613 dlls/olecli32/Makefile
1614 dlls/oledlg/Makefile
1615 dlls/olepro32/Makefile
1616 dlls/olesvr32/Makefile
1617 dlls/opengl32/Makefile
1618 dlls/powrprof/Makefile
1620 dlls/psapi/tests/Makefile
1622 dlls/quartz/Makefile
1623 dlls/quartz/tests/Makefile
1624 dlls/rasapi32/Makefile
1625 dlls/riched20/Makefile
1626 dlls/riched20/tests/Makefile
1627 dlls/riched32/Makefile
1628 dlls/rpcrt4/Makefile
1629 dlls/rpcrt4/tests/Makefile
1630 dlls/rsabase/Makefile
1631 dlls/rsabase/tests/Makefile
1632 dlls/rsaenh/Makefile
1633 dlls/rsaenh/tests/Makefile
1634 dlls/secur32/Makefile
1635 dlls/secur32/tests/Makefile
1636 dlls/security/Makefile
1637 dlls/sensapi/Makefile
1638 dlls/serialui/Makefile
1639 dlls/setupapi/Makefile
1640 dlls/setupapi/tests/Makefile
1642 dlls/shdocvw/Makefile
1643 dlls/shdocvw/tests/Makefile
1644 dlls/shell32/Makefile
1645 dlls/shell32/tests/Makefile
1646 dlls/shfolder/Makefile
1647 dlls/shlwapi/Makefile
1648 dlls/shlwapi/tests/Makefile
1649 dlls/snmpapi/Makefile
1650 dlls/spoolss/Makefile
1651 dlls/stdole2.tlb/Makefile
1652 dlls/stdole32.tlb/Makefile
1654 dlls/strmiids/Makefile
1655 dlls/tapi32/Makefile
1656 dlls/twain_32/Makefile
1657 dlls/unicows/Makefile
1659 dlls/urlmon/Makefile
1660 dlls/urlmon/tests/Makefile
1662 dlls/user/tests/Makefile
1664 dlls/usp10/tests/Makefile
1666 dlls/uxtheme/Makefile
1667 dlls/vdhcp.vxd/Makefile
1668 dlls/vdmdbg/Makefile
1669 dlls/version/Makefile
1670 dlls/version/tests/Makefile
1671 dlls/vmm.vxd/Makefile
1672 dlls/vnbt.vxd/Makefile
1673 dlls/vnetbios.vxd/Makefile
1674 dlls/vtdapi.vxd/Makefile
1675 dlls/vwin32.vxd/Makefile
1676 dlls/w32skrnl/Makefile
1677 dlls/winecrt0/Makefile
1678 dlls/wined3d/Makefile
1679 dlls/winedos/Makefile
1680 dlls/winemp3.acm/Makefile
1681 dlls/wineps/Makefile
1682 dlls/wininet/Makefile
1683 dlls/wininet/tests/Makefile
1685 dlls/winmm/joystick/Makefile
1686 dlls/winmm/mciwave/Makefile
1687 dlls/winmm/tests/Makefile
1688 dlls/winmm/wavemap/Makefile
1689 dlls/winmm/winealsa/Makefile
1690 dlls/winmm/winearts/Makefile
1691 dlls/winmm/wineaudioio/Makefile
1692 dlls/winmm/wineesd/Makefile
1693 dlls/winmm/winejack/Makefile
1694 dlls/winmm/winenas/Makefile
1695 dlls/winmm/wineoss/Makefile
1696 dlls/winnls32/Makefile
1697 dlls/winspool/Makefile
1698 dlls/winspool/tests/Makefile
1699 dlls/wintab32/Makefile
1700 dlls/wintrust/Makefile
1701 dlls/wldap32/Makefile
1702 dlls/wnaspi32/Makefile
1704 dlls/ws2_32/Makefile
1705 dlls/ws2_32/tests/Makefile
1706 dlls/wsock32/Makefile
1707 dlls/wtsapi32/Makefile
1708 dlls/x11drv/Makefile
1709 documentation/Makefile
1714 libs/unicode/Makefile
1719 programs/clock/Makefile
1720 programs/cmdlgtst/Makefile
1721 programs/control/Makefile
1722 programs/eject/Makefile
1723 programs/expand/Makefile
1724 programs/explorer/Makefile
1725 programs/hh/Makefile
1726 programs/icinfo/Makefile
1727 programs/iexplore/Makefile
1728 programs/msiexec/Makefile
1729 programs/notepad/Makefile
1730 programs/progman/Makefile
1731 programs/regedit/Makefile
1732 programs/regsvr32/Makefile
1733 programs/rpcss/Makefile
1734 programs/rundll32/Makefile
1735 programs/start/Makefile
1736 programs/taskmgr/Makefile
1737 programs/uninstaller/Makefile
1738 programs/view/Makefile
1739 programs/wcmd/Makefile
1740 programs/wineboot/Makefile
1741 programs/winebrowser/Makefile
1742 programs/winecfg/Makefile
1743 programs/wineconsole/Makefile
1744 programs/winedbg/Makefile
1745 programs/winefile/Makefile
1746 programs/winemenubuilder/Makefile
1747 programs/winemine/Makefile
1748 programs/winepath/Makefile
1749 programs/winetest/Makefile
1750 programs/winevdm/Makefile
1751 programs/winhelp/Makefile
1752 programs/winver/Makefile
1753 programs/wordpad/Makefile
1757 tools/winapi/Makefile
1758 tools/winebuild/Makefile
1759 tools/winedump/Makefile
1760 tools/winegcc/Makefile
1762 tools/wrc/Makefile])
1767 if test "$have_x" = "no"
1770 echo "*** Warning: X development files not found. Wine will be built without"
1771 echo "*** X support, which currently does not work, and would probably not be"
1772 echo "*** what you want anyway. You will need to install devel packages of"
1773 echo "*** Xlib/Xfree86 at the very least."
1777 if test "$wine_cv_opengl_version_OK" = "no"
1780 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1781 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1785 if test "$wine_cv_msg_freetype" = "yes"
1788 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1789 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1790 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1791 echo "*** enable Wine to use TrueType fonts."
1795 if test "$wine_cv_msg_fonts" = "yes"
1798 echo "*** Warning: Freetype or Fontforge is missing."
1799 echo "*** Fonts will not be built. Dialog text may be invisible or unaligned."
1803 if test -z "$ALSALIBS" -a \
1804 -z "$ARTSC_LIBS" -a \
1805 -z "$AUDIOIOLIBS" -a \
1808 -z "$ac_cv_lib_soname_jack" -a \
1809 "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1810 "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1811 "$ac_cv_header_soundcard_h" != "yes"
1813 echo "*** No sound system was found. Windows applications will be silent."
1814 echo "*** The currently supported sound systems are:"
1815 echo "*** ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS"
1820 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1825 dnl Local Variables:
1826 dnl comment-start: "dnl "
1828 dnl comment-start-skip: "\\bdnl\\b\\s *"
1829 dnl compile-command: "autoconf && autoheader"