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_PATH_PROG(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 -lpthread
150 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
154 AC_SUBST(OPENGLFILES,"")
155 AC_SUBST(GLU32FILES,"")
156 AC_SUBST(OPENGL_LIBS,"")
158 dnl **** Check for header files ****
161 AudioUnit/AudioUnit.h \
162 CoreAudio/CoreAudio.h \
175 fontconfig/fontconfig.h \
201 machine/soundcard.h \
272 dnl **** Checks for headers that depend on other ones ****
274 AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
275 [#include <sys/types.h>
277 # include <sys/param.h>
280 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
281 [#include <sys/types.h>
282 #if HAVE_SYS_SOCKET_H
283 # include <sys/socket.h>
286 AC_CHECK_HEADERS([resolv.h],,,
287 [#include <sys/types.h>
288 #if HAVE_SYS_SOCKET_H
289 # include <sys/socket.h>
291 #if HAVE_NETINET_IN_H
292 # include <netinet/in.h>
294 #if HAVE_ARPA_NAMESER_H
295 # include <arpa/nameser.h>
298 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
300 AC_CHECK_HEADERS([linux/ipx.h linux/videodev.h],,,
301 [#ifdef HAVE_SYS_TIME_H
302 #include <sys/time.h>
304 #include <sys/types.h>
305 #ifdef HAVE_ASM_TYPES_H
306 #include <asm/types.h>
309 dnl Check for broken kernel header that doesn't define __user
310 AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])
312 dnl **** Check for X11 ****
314 if test "$have_x" = "yes"
317 ac_save_CPPFLAGS="$CPPFLAGS"
318 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
320 dnl *** All of the following tests require X11/Xlib.h
321 AC_CHECK_HEADERS([X11/Xlib.h \
324 X11/extensions/shape.h \
325 X11/extensions/XInput.h \
326 X11/extensions/XShm.h \
327 X11/extensions/Xrandr.h \
328 X11/extensions/Xrender.h \
329 X11/extensions/xf86vmode.h],,,
330 [#ifdef HAVE_X11_XLIB_H
331 # include <X11/Xlib.h>
333 #ifdef HAVE_X11_XUTIL_H
334 # include <X11/Xutil.h>
337 dnl *** Check for X keyboard extension
338 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
340 AC_CHECK_LIB(X11, XkbQueryExtension,
341 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
342 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
345 dnl *** Check for X Shm extension
346 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
348 AC_CHECK_LIB(Xext, XShmQueryExtension,
349 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
350 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
353 dnl *** Check for X shape extension
354 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
356 AC_CHECK_LIB(Xext,XShapeQueryExtension,
357 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
358 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
361 dnl *** Check for XFree86 VMODE extension
362 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
364 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
365 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
366 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
368 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
371 dnl *** Check for X RandR extension
372 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
374 AC_TRY_COMPILE([#include <X11/Xlib.h>
375 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
376 [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
379 dnl *** Check for Transform functions in Xrender
380 if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
382 AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
383 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
384 [Define if Xrender has the XRenderSetPictureTransform function])],,
385 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
387 dnl *** End of X11/Xlib.h check
389 dnl Check for the presence of OpenGL
390 if test "x$with_opengl" != "xno"
392 AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h GL/glu.h,,,
393 [#ifdef HAVE_GL_GLX_H
396 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
398 dnl Check for some problems due to old Mesa versions
399 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
401 [#include <GL/gl.h>],
402 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
403 [wine_cv_opengl_version_OK="yes"],
404 [wine_cv_opengl_version_OK="no"]
408 if test "$wine_cv_opengl_version_OK" = "yes"
410 dnl Check for the presence of the library
411 AC_CHECK_LIB(GL,glXCreateContext,
414 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
416 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
418 OPENGLFILES='$(OPENGLFILES)'
419 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
421 if test -f /usr/X11R6/lib/libGL.a
423 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
424 This prevents linking to OpenGL. Delete the file and restart configure.])
428 dnl Check for GLU32 library.
429 AC_CHECK_LIB(GLU,gluLookAt,
430 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
431 GLU32FILES='$(GLU32FILES)']
433 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
437 dnl Check for glut32 library.
438 AC_CHECK_LIB(glut,glutMainLoop,
439 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
440 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
441 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
445 dnl **** Check for NAS ****
447 AC_CHECK_HEADERS(audio/audiolib.h,
448 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
449 AC_CHECK_LIB(audio,AuCreateFlow,
450 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
451 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
452 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
454 CPPFLAGS="$ac_save_CPPFLAGS"
462 dnl **** Check for libxml2 ****
464 AC_SUBST(XML2LIBS,"")
465 AC_SUBST(XML2INCL,"")
466 AC_SUBST(XSLTLIBS,"")
467 AC_SUBST(XSLTINCL,"")
468 if test "$PKG_CONFIG" != "false"
470 ac_save_CPPFLAGS="$CPPFLAGS"
471 ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0 2>/dev/null`"
472 ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0 2>/dev/null`"
473 CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
474 AC_CHECK_HEADERS(libxml/parser.h,
475 [AC_CHECK_LIB(xml2, xmlParseMemory,
476 [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
477 XML2LIBS="$ac_xml_libs"
478 XML2INCL="$ac_xml_cflags"],,$ac_xml_libs)
479 AC_CHECK_LIB(xml2, xmlReadMemory,
480 [AC_DEFINE(HAVE_XMLREADMEMORY,1,[Define if libxml2 has the xmlReadMemory function])],,$ac_xml_libs)
482 CPPFLAGS="$ac_save_CPPFLAGS"
483 ac_xslt_libs="`$PKG_CONFIG --libs libxslt 2>/dev/null`"
484 ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt 2>/dev/null`"
485 CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
486 AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],
487 [AC_CHECK_LIB(xslt, xsltCompilePattern,
488 [AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have the libxslt library])
489 XSLTLIBS="$ac_xslt_libs"
490 XSLTINCL="$ac_xslt_cflags"],,$ac_xslt_libs)
492 [#ifdef HAVE_LIBXSLT_PATTERN_H
493 # include <libxslt/pattern.h>
495 CPPFLAGS="$ac_save_CPPFLAGS"
498 dnl **** Check for libhal ****
500 if test "$PKG_CONFIG" != "false"
502 ac_save_CPPFLAGS="$CPPFLAGS"
503 ac_hal_libs="`$PKG_CONFIG --libs hal 2>/dev/null`"
504 ac_hal_cflags="`$PKG_CONFIG --cflags hal 2>/dev/null`"
505 CPPFLAGS="$CPPFLAGS $ac_hal_cflags"
506 AC_CHECK_HEADERS([dbus/dbus.h hal/libhal.h])
507 if test "$ac_cv_header_dbus_dbus_h" = "yes" -a "$ac_cv_header_hal_libhal_h" = "yes"
509 AC_CHECK_LIB(hal, libhal_ctx_new,
510 [AC_CHECK_LIB(dbus-1, dbus_connection_close,
511 [AC_DEFINE(HAVE_LIBHAL, 1, [Define if you have the hal library])
512 HALINCL="$ac_hal_cflags"],,$ac_hal_libs)])
514 CPPFLAGS="$ac_save_CPPFLAGS"
517 dnl **** Check which curses lib to use ***
519 if test "x$with_curses" != "xno"
521 if test "$ac_cv_header_ncurses_h" = "yes"
523 AC_CHECK_LIB(ncurses,waddch,
524 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
525 CURSESLIBS="-lncurses"])
526 elif test "$ac_cv_header_curses_h" = "yes"
528 AC_CHECK_LIB(curses,waddch,
529 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
530 CURSESLIBS="-lcurses"])
533 LIBS="$LIBS $CURSESLIBS"
534 AC_CHECK_FUNCS(mousemask)
539 dnl **** Check for SANE ****
540 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
541 AC_SUBST(SANELIBS,"")
542 AC_SUBST(SANEINCL,"")
543 if test "$sane_devel" != "no"
545 SANELIBS="`$sane_devel --libs`"
546 SANEINCL="`$sane_devel --cflags`"
547 ac_save_CPPFLAGS="$CPPFLAGS"
549 CPPFLAGS="$CPPFLAGS $SANEINCL"
550 LIBS="$LIBS $SANELIBS"
551 AC_CHECK_HEADER(sane/sane.h,
552 [AC_CHECK_LIB(sane,sane_open,
553 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
559 CPPFLAGS="$ac_save_CPPFLAGS"
562 dnl **** Check for libgphoto2 ****
563 AC_CHECK_PROG(gphoto2_devel,gphoto2-config,gphoto2-config,no)
564 AC_CHECK_PROG(gphoto2port_devel,gphoto2-port-config,gphoto2-port-config,no)
565 AC_SUBST(GPHOTO2LIBS,"")
566 AC_SUBST(GPHOTO2INCL,"")
567 if test "$gphoto2_devel" != "no" -a "$gphoto2port_devel" != "no"
569 GPHOTO2INCL="`$gphoto2_devel --cflags` `$gphoto2port_devel --cflags`"
571 for i in `$gphoto2_devel --libs` `$gphoto2port_devel --libs`
574 -L/usr/lib|-L/usr/lib64) ;;
575 -L*|-l*) GPHOTO2LIBS="$GPHOTO2LIBS $i";;
578 ac_save_CPPFLAGS="$CPPFLAGS"
580 CPPFLAGS="$CPPFLAGS $GPHOTO2INCL"
581 LIBS="$LIBS $GPHOTO2LIBS"
582 AC_CHECK_HEADER(gphoto2-camera.h,
583 [AC_CHECK_LIB(gphoto2,gp_camera_new,
584 [AC_DEFINE(HAVE_GPHOTO2, 1, [Define if we have libgphoto2 development environment])],
590 CPPFLAGS="$ac_save_CPPFLAGS"
593 dnl **** Check for the ICU library ****
594 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
597 for i in ${ICU_LIB_DIR-/usr/lib}/libsicu ${ICU_LIB_DIR-/usr/lib}/libicu
599 TEST_ICUUC_LIB="${ICUUC_LIB-${i}uc.a}"
600 TEST_ICUDATA_LIB="${ICUDATA_LIB-${i}data.a}"
601 AC_MSG_CHECKING(whether can link with ICU libraries $TEST_ICUUC_LIB and $TEST_ICUDATA_LIB)
602 LIBS="$saved_libs $TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s"
603 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
604 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
605 AC_SUBST(ICULIBS,"$TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s")
612 dnl **** Check for resolver library ***
613 AC_SUBST(RESOLVLIBS,"")
614 if test "$ac_cv_header_resolv_h" = "yes"
616 AC_CHECK_LIB(resolv, res_query,
617 [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
618 RESOLVLIBS="-lresolv"])
621 dnl **** Check for LittleCMS ***
622 AC_SUBST(LCMSLIBS,"")
623 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
625 AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
626 [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
630 dnl **** Check for OpenLDAP ***
631 AC_SUBST(LDAPLIBS,"")
632 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
634 AC_CHECK_LIB(ldap_r, ldap_initialize,
635 [AC_CHECK_LIB(lber, ber_init,
636 [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
637 LDAPLIBS="-lldap_r -llber"],,
640 WINE_CHECK_LIB_FUNCS(\
641 ldap_count_references \
642 ldap_first_reference \
643 ldap_next_reference \
644 ldap_parse_reference,
645 [$LDAPLIBS $LIBPTHREAD])
648 dnl **** Check for FreeType 2 ****
649 AC_SUBST(FREETYPELIBS,"")
650 AC_SUBST(FREETYPEINCL,"")
651 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
652 if test "$ft_devel" = "no"
654 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
655 if test "$ft_devel2" = "freetype2-config"
661 if test "$ft_devel" = "no"
663 wine_cv_msg_freetype=yes
665 FREETYPELIBS=`$ft_devel --libs`
666 FREETYPEINCL=`$ft_devel --cflags`
667 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$FREETYPELIBS)
668 if test "$ft_lib" = "no"
670 wine_cv_msg_freetype=yes
674 ac_save_CPPFLAGS="$CPPFLAGS"
675 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
676 AC_CHECK_HEADERS(ft2build.h \
677 freetype/freetype.h \
679 freetype/tttables.h \
681 freetype/ftsnames.h \
682 freetype/ttnameid.h \
684 freetype/ftwinfnt.h \
685 freetype/ftmodapi.h \
686 freetype/internal/sfnt.h,,,
688 #include <ft2build.h>
690 AC_TRY_CPP([#include <ft2build.h>
691 #include <freetype/fttrigon.h>],
692 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
693 [Define if you have the <freetype/fttrigon.h> header file.])
694 wine_cv_fttrigon=yes],
696 AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
697 ac_save_CFLAGS="$CFLAGS"
698 CFLAGS="$CFLAGS $FREETYPELIBS"
699 AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
700 CFLAGS="$ac_save_CFLAGS"
701 CPPFLAGS="$ac_save_CPPFLAGS"
702 dnl Check that we have at least freetype/freetype.h
703 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
705 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
706 wine_cv_msg_freetype=no
710 wine_cv_msg_freetype=yes
715 dnl Only build the fonts dir if we have both freetype and fontforge
716 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
718 AC_SUBST(FONTSSUBDIRS,"fonts")
721 dnl **** Check for parport (currently Linux only) ****
722 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
724 [#include <linux/ppdev.h>],
725 [ioctl (1,PPCLAIM,0)],
726 [ac_cv_c_ppdev="yes"],
727 [ac_cv_c_ppdev="no"])
729 if test "$ac_cv_c_ppdev" = "yes"
731 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
734 dnl **** Check for va_copy ****
735 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
737 [#include <stdarg.h>],
741 [ac_cv_c_va_copy="yes"],
742 [ac_cv_c_va_copy="no"])
744 if test "$ac_cv_c_va_copy" = "yes"
746 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
748 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
750 [#include <stdarg.h>],
754 [ac_cv_c___va_copy="yes"],
755 [ac_cv_c___va_copy="no"])
757 if test "$ac_cv_c___va_copy" = "yes"
759 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
762 dnl **** Check for sigsetjmp ****
763 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
765 [#include <setjmp.h>],
768 siglongjmp( buf, 1 );],
769 [ac_cv_c_sigsetjmp="yes"],
770 [ac_cv_c_sigsetjmp="no"])
772 if test "$ac_cv_c_sigsetjmp" = "yes"
774 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
777 dnl **** Check for pthread_rwlock_t ****
778 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
779 #include <pthread.h>])
781 dnl **** Check for pthread functions ****
782 WINE_CHECK_LIB_FUNCS(\
783 pthread_attr_get_np \
785 pthread_get_stackaddr_np \
786 pthread_get_stacksize_np,
789 dnl **** Check for aRts Sound Server ****
790 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
791 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
794 for i in `$ARTSCCONFIG --cflags`
797 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
801 for i in `$ARTSCCONFIG --libs`
804 -L/usr/lib|-L/usr/lib64) ;;
805 -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
808 save_CFLAGS="$CFLAGS"
809 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
810 AC_CHECK_LIB(artsc,arts_init,
811 [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
812 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
813 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
814 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
816 CFLAGS="$save_CFLAGS"
819 dnl **** Check for EsounD ****
820 AC_PATH_PROG(ESDCONFIG, esd-config)
821 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
824 for i in `$ESDCONFIG --cflags`
827 -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
830 ESD_LIBS=`$ESDCONFIG --libs`
831 save_CFLAGS="$CFLAGS"
832 CFLAGS="$CFLAGS $ESD_CFLAGS"
833 AC_CHECK_LIB(esd,esd_open_sound,
834 [AC_SUBST(ESDLIBS, $ESD_LIBS)
835 AC_SUBST(ESDINCL, $ESD_CFLAGS)
836 AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
837 CFLAGS="$save_CFLAGS"
840 dnl **** Check for ALSA 1.x ****
841 AC_SUBST(ALSALIBS,"")
842 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
844 AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
845 [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
846 #include <alsa/asoundlib.h>
847 #elif defined(HAVE_SYS_ASOUNDLIB_H)
848 #include <sys/asoundlib.h>
850 [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
851 [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
852 ALSALIBS="-lasound"])])
855 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
857 AC_SUBST(AUDIOIOLIBS,"")
858 if test "$ac_cv_header_libaudioio_h" = "yes"
860 AC_CHECK_LIB(audioio,AudioIOGetVersion,
861 [AUDIOIOLIBS="-laudioio"
862 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
865 dnl **** Check for capi4linux ****
867 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
869 AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
872 dnl **** Check for gif header usability ****
874 if test "$ac_cv_header_gif_lib_h" = "yes"
876 AC_TRY_COMPILE([#include <gif_lib.h>],[static typeof(DGifOpen) * func;],
877 AC_DEFINE(HAVE_GIF, 1, [Define if you have usable GIF headers]))
880 dnl **** Check for gcc specific options ****
882 AC_SUBST(EXTRACFLAGS,"")
883 if test "x${GCC}" = "xyes"
885 EXTRACFLAGS="-Wall -pipe"
887 dnl Check for strength-reduce bug
888 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
890 int L[[4]] = {0,1,2,3};
892 static int Array[[3]];
895 for(i=0; i<B; i++) Array[[i]] = i - 3;
896 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
899 exit( Array[[1]] != -2 || L[[2]] != 3);
901 ac_cv_c_gcc_strength_bug="no",
902 ac_cv_c_gcc_strength_bug="yes",
903 ac_cv_c_gcc_strength_bug="yes") )
904 if test "$ac_cv_c_gcc_strength_bug" = "yes"
906 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
909 dnl Check for -fshort-wchar
910 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
911 [WINE_TRY_CFLAGS([-fshort-wchar],
912 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
913 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
915 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
918 dnl Check for -fno-strict-aliasing
919 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
920 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
921 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
922 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
924 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
927 dnl Check for -gstabs+ option
928 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
929 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
930 if test "$ac_cv_c_gcc_gstabs" = "yes"
932 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
935 dnl Check for -Wdeclaration-after-statement option
936 AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
937 [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
938 if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
940 EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
943 dnl Check for noisy string.h
944 saved_CFLAGS="$CFLAGS"
945 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
946 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
947 AC_TRY_COMPILE([#include <string.h>],[],
948 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
949 CFLAGS="$saved_CFLAGS"
950 if test "$ac_cv_c_string_h_warnings" = "no"
952 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
955 AC_SUBST(BUILTINFLAG,"")
956 saved_CFLAGS="$CFLAGS"
957 CFLAGS="$CFLAGS -Werror"
958 AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
960 [int iswlower(unsigned short);],
961 [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
962 CFLAGS="$saved_CFLAGS"
963 if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
965 BUILTINFLAG="-fno-builtin"
969 dnl **** Check how to define a function in assembly code ****
971 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
973 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
974 ac_cv_asm_func_def=".def",
975 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
976 ac_cv_asm_func_def=".type @function",
977 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
978 ac_cv_asm_func_def=".type 2",
979 ac_cv_asm_func_def="unknown")])]))
981 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
982 case "$ac_cv_asm_func_def" in
984 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
986 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
988 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
990 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
993 dnl **** Check for underscore on external symbols ****
995 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
996 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
997 [extern int ac_test;],
998 [if (ac_test) return 1],
999 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
1001 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
1002 if test "$ac_cv_c_extern_prefix" = "yes"
1004 AC_DEFINE([__ASM_NAME(name)], ["_" name])
1006 AC_DEFINE([__ASM_NAME(name)], [name])
1009 dnl **** Check for working dll ****
1012 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
1014 AC_SUBST(LDSHARED,"")
1015 AC_SUBST(LDDLLFLAGS,"")
1016 AC_SUBST(LIBEXT,"so")
1017 AC_SUBST(IMPLIBEXT,"def")
1021 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
1022 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
1023 if test "$DLLWRAP" = "false"; then
1026 dnl FIXME - check whether dllwrap works correctly...
1030 dnl We can't build 16-bit NE dlls
1035 if test "$ac_cv_header_dlfcn_h" = "yes"
1037 AC_CHECK_FUNCS(dlopen,,
1038 [AC_CHECK_LIB(dl,dlopen,
1039 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
1042 WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
1047 if test "$LIBEXT" = "so"
1049 DLLFLAGS="$DLLFLAGS -fPIC"
1051 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1052 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-Bsymbolic],
1053 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1054 if test "$ac_cv_c_dll_gnuelf" = "yes"
1056 LDSHARED="\$(CC) -shared"
1057 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1058 AC_CACHE_CHECK([whether the linker accepts soname], ac_cv_c_sonames,
1059 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
1060 ac_cv_c_sonames="yes",ac_cv_c_sonames="no")])
1061 if test "$ac_cv_c_sonames" = "yes"
1063 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1065 AC_CACHE_CHECK([check to see if -h soname is an alternate], ac_cv_c_h_sonames,
1066 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
1067 ac_cv_c_h_sonames="yes",ac_cv_c_h_sonames="no")])
1068 if test "$ac_cv_c_h_sonames" = "yes"
1070 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"
1074 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1075 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1076 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1077 if test "$ac_cv_c_dll_zdefs" = "yes"
1079 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1082 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1083 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1084 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1085 if test "$ac_cv_c_dll_init_fini" = "yes"
1087 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1090 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1091 [echo '{ global: *; };' >conftest.map
1092 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1093 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1094 rm -f conftest.map])
1095 if test "$ac_cv_c_ld_version_scripts" = "yes"
1097 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1100 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1101 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1102 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1103 if test "$ac_cv_c_export_dynamic" = "yes"
1105 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1108 AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1109 [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1110 ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1111 if test "$ac_cv_ld_rpath" = "yes"
1113 AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1114 AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
1118 *i[[3456789]]86* | x86_64)
1119 AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1120 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1121 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1122 if test "$ac_cv_ld_reloc_exec" = "yes"
1124 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1130 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1131 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1132 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1133 if test "$ac_cv_c_dll_unixware" = "yes"
1135 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1136 LDDLLFLAGS="-Wl,-G,-B,symbolic"
1139 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1140 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1141 if test "$ac_cv_c_dll_macho" = "yes"
1144 LDDLLFLAGS="-bundle"
1145 LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME) \$(SOVERSION:%=-compatibility_version %)"
1146 STRIP="$STRIP -u -r"
1147 dnl declare needed frameworks
1148 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1149 AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1150 AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7f000000"])
1151 if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
1153 dnl CoreServices needed by AudioUnit
1154 AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
1158 CFLAGS="$CFLAGS -ffixed-r13"
1159 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
1164 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1165 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1166 if test "$ac_cv_c_dll_hpux" = "yes"
1170 LDDLLFLAGS="-shared -fPIC"
1171 LDSHARED="\$(CC) -shared"
1178 dnl Check for cross compiler to build test programs
1179 AC_SUBST(CROSSTEST,"")
1180 if test "$cross_compiling" = "no"
1182 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1183 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1184 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1185 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1190 if test "$LIBEXT" = "a"; then
1192 [could not find a way to build shared libraries.
1193 It is currently not possible to build Wine without shared library
1194 (.so) support to allow transparent switch between .so and .dll files.
1195 If you are using Linux, you will need a newer binutils.]
1201 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\"") ;;
1203 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\"") ;;
1205 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\"") ;;
1208 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1211 AC_SUBST(CRTLIBS,"-lmsvcrt")
1212 AC_SUBST(SOCKETLIBS,"-lws2_32")
1216 AC_SUBST(MAIN_BINARY,"wine-pthread") dnl Default value
1220 linux* | k*bsd*-gnu)
1221 AC_SUBST(MAIN_BINARY,"wine-glibc")
1222 AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1227 dnl **** Get the soname for libraries that we load dynamically ****
1229 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1231 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1232 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1233 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1234 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1235 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1236 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1237 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1238 WINE_GET_SONAME(dbus-1,dbus_error_init)
1239 WINE_GET_SONAME(hal,libhal_ctx_new)
1240 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1241 WINE_GET_SONAME(cups,cupsGetDefault)
1242 WINE_GET_SONAME(jack,jack_client_new)
1243 WINE_GET_SONAME(fontconfig,FcInit)
1244 WINE_GET_SONAME(ssl,SSL_library_init)
1245 WINE_GET_SONAME(crypto,BIO_new_socket)
1246 WINE_GET_SONAME(ncurses,waddch)
1247 WINE_GET_SONAME(curses,waddch)
1248 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1249 WINE_GET_SONAME(ungif,DGifOpen)
1250 WINE_GET_SONAME(gif,DGifOpen)
1251 WINE_GET_SONAME(capi20,capi20_isinstalled)
1255 dnl **** Check for functions ****
1327 dnl **** Check for types ****
1331 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1332 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1333 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1335 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1336 [#ifdef HAVE_LINUX_INPUT_H
1337 #include <linux/input.h>
1340 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1341 AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1342 wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1343 if test "$wine_cv_have_sigaddset" = "yes"
1345 AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1349 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1350 wine_cv_linux_gethostbyname_r_6,
1356 struct hostent *result;
1363 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1364 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1366 wine_cv_linux_gethostbyname_r_6=yes,
1367 wine_cv_linux_gethostbyname_r_6=no
1370 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1372 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1373 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1376 if test "$ac_cv_header_linux_joystick_h" = "yes"
1378 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1379 wine_cv_linux_joystick_22_api,
1381 #include <sys/ioctl.h>
1382 #include <linux/joystick.h>
1384 struct js_event blub;
1385 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1386 #error "no 2.2 header"
1389 wine_cv_linux_joystick_22_api=yes,
1390 wine_cv_linux_joystick_22_api=no,
1391 wine_cv_linux_joystick_22_api=no
1394 if test "$wine_cv_linux_joystick_22_api" = "yes"
1396 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1397 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1401 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1403 dnl Check for statfs members
1404 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],,,
1405 [#include <sys/types.h>
1406 #ifdef HAVE_SYS_PARAM_H
1407 # include <sys/param.h>
1409 #ifdef HAVE_SYS_MOUNT_H
1410 # include <sys/mount.h>
1412 #ifdef HAVE_SYS_VFS_H
1413 # include <sys/vfs.h>
1415 #ifdef HAVE_SYS_STATFS_H
1416 # include <sys/statfs.h>
1419 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1420 [#ifdef HAVE_SYS_STATVFS_H
1421 #include <sys/statvfs.h>
1424 dnl Check for socket structure members
1425 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1426 [#include <sys/types.h>
1427 #ifdef HAVE_SYS_SOCKET_H
1428 # include <sys/socket.h>
1430 #ifdef HAVE_SYS_UN_H
1431 # include <sys/un.h>
1434 dnl Check for scsireq_t and sg_io_hdr_t members
1435 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1436 [#include <sys/types.h>
1437 #ifdef HAVE_SCSI_SG_H
1438 #include <scsi/sg.h>
1441 dnl Check for siginfo_t members
1442 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1444 dnl Check for struct mtget members
1445 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1446 [#include <sys/types.h>
1447 #ifdef HAVE_SYS_MTIO_H
1448 #include <sys/mtio.h>
1451 dnl Check for struct option
1452 AC_CHECK_MEMBERS([struct option.name],,,
1453 [#ifdef HAVE_GETOPT_H
1457 dnl Check for stat.st_blocks
1458 AC_CHECK_MEMBERS([struct stat.st_blocks])
1460 dnl Check for sin6_scope_id
1461 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1462 [#ifdef HAVE_SYS_TYPES_H
1463 #include <sys/types.h>
1465 #ifdef HAVE_NETINET_IN_H
1466 #include <netinet/in.h>
1469 dnl Check for ns_msg ptr member
1470 AC_CHECK_MEMBERS([ns_msg._msg_ptr],,,
1471 [#ifdef HAVE_SYS_TYPES_H
1472 #include <sys/types.h>
1474 #ifdef HAVE_NETINET_IN_H
1475 # include <netinet/in.h>
1477 #ifdef HAVE_ARPA_NAMESER_H
1478 # include <arpa/nameser.h>
1481 dnl Check for the external timezone variables timezone and daylight
1482 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1483 AC_TRY_LINK([#include <time.h>],[timezone;],
1484 ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1485 if test "$ac_cv_have_timezone" = "yes"
1487 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1489 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1490 AC_TRY_LINK([#include <time.h>],[daylight;],
1491 ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1492 if test "$ac_cv_have_daylight" = "yes"
1494 AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1497 dnl *** check for the need to define platform-specific symbols
1500 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1501 *x86_64*) WINE_CHECK_DEFINE([__x86_64__])
1502 WINE_CHECK_DEFINE([_WIN64]) ;;
1503 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1504 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1505 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1508 case $host_vendor in
1509 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1512 dnl **** Generate output files ****
1514 AH_TOP([#define __WINE_CONFIG_H])
1516 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1517 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1518 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1519 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1520 WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
1521 WINE_CONFIG_EXTRA_DIR(include/wine)
1523 MAKE_RULES=Make.rules
1524 AC_SUBST_FILE(MAKE_RULES)
1526 MAKE_DLL_RULES=dlls/Makedll.rules
1527 AC_SUBST_FILE(MAKE_DLL_RULES)
1529 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1530 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1532 MAKE_TEST_RULES=dlls/Maketest.rules
1533 AC_SUBST_FILE(MAKE_TEST_RULES)
1535 MAKE_PROG_RULES=programs/Makeprog.rules
1536 AC_SUBST_FILE(MAKE_PROG_RULES)
1541 dlls/Makeimplib.rules
1543 programs/Makeprog.rules
1546 dlls/activeds/Makefile
1547 dlls/advapi32/Makefile
1548 dlls/advapi32/tests/Makefile
1549 dlls/advpack/Makefile
1550 dlls/advpack/tests/Makefile
1551 dlls/amstream/Makefile
1553 dlls/avicap32/Makefile
1554 dlls/avifil32/Makefile
1555 dlls/cabinet/Makefile
1556 dlls/cabinet/tests/Makefile
1557 dlls/capi2032/Makefile
1559 dlls/cfgmgr32/Makefile
1560 dlls/comcat/Makefile
1561 dlls/comcat/tests/Makefile
1562 dlls/comctl32/Makefile
1563 dlls/comctl32/tests/Makefile
1564 dlls/comdlg32/Makefile
1565 dlls/comdlg32/tests/Makefile
1566 dlls/compstui/Makefile
1567 dlls/crtdll/Makefile
1568 dlls/crypt32/Makefile
1569 dlls/crypt32/tests/Makefile
1570 dlls/cryptdll/Makefile
1571 dlls/cryptnet/Makefile
1572 dlls/ctl3d32/Makefile
1574 dlls/d3d8/tests/Makefile
1576 dlls/d3d9/tests/Makefile
1580 dlls/d3dxof/Makefile
1581 dlls/dbghelp/Makefile
1582 dlls/dciman32/Makefile
1584 dlls/ddraw/tests/Makefile
1585 dlls/devenum/Makefile
1586 dlls/dinput/Makefile
1587 dlls/dinput/tests/Makefile
1588 dlls/dinput8/Makefile
1589 dlls/dmband/Makefile
1590 dlls/dmcompos/Makefile
1592 dlls/dmloader/Makefile
1593 dlls/dmscript/Makefile
1594 dlls/dmstyle/Makefile
1595 dlls/dmsynth/Makefile
1596 dlls/dmusic/Makefile
1597 dlls/dmusic32/Makefile
1598 dlls/dnsapi/Makefile
1599 dlls/dnsapi/tests/Makefile
1601 dlls/dplayx/Makefile
1603 dlls/dpnhpast/Makefile
1604 dlls/dsound/Makefile
1605 dlls/dsound/tests/Makefile
1606 dlls/dswave/Makefile
1607 dlls/dxdiagn/Makefile
1608 dlls/dxerr8/Makefile
1609 dlls/dxerr9/Makefile
1610 dlls/dxguid/Makefile
1612 dlls/gdi/tests/Makefile
1614 dlls/glut32/Makefile
1615 dlls/gphoto2.ds/Makefile
1616 dlls/hhctrl.ocx/Makefile
1619 dlls/hlink/tests/Makefile
1620 dlls/iccvid/Makefile
1622 dlls/ifsmgr.vxd/Makefile
1623 dlls/imaadp32.acm/Makefile
1624 dlls/imagehlp/Makefile
1626 dlls/infosoft/Makefile
1627 dlls/inseng/Makefile
1628 dlls/iphlpapi/Makefile
1629 dlls/iphlpapi/tests/Makefile
1631 dlls/kernel/Makefile
1632 dlls/kernel/tests/Makefile
1634 dlls/lz32/tests/Makefile
1635 dlls/mapi32/Makefile
1636 dlls/mapi32/tests/Makefile
1637 dlls/mciavi32/Makefile
1638 dlls/mcicda/Makefile
1639 dlls/mciseq/Makefile
1640 dlls/mciwave/Makefile
1641 dlls/midimap/Makefile
1643 dlls/mlang/tests/Makefile
1644 dlls/mmdevldr.vxd/Makefile
1645 dlls/monodebg.vxd/Makefile
1647 dlls/mprapi/Makefile
1648 dlls/msacm32.drv/Makefile
1649 dlls/msacm32/Makefile
1650 dlls/msacm32/tests/Makefile
1651 dlls/msadp32.acm/Makefile
1653 dlls/mscms/tests/Makefile
1655 dlls/msftedit/Makefile
1656 dlls/msg711.acm/Makefile
1657 dlls/mshtml/Makefile
1658 dlls/mshtml/tests/Makefile
1660 dlls/msi/tests/Makefile
1661 dlls/msimg32/Makefile
1662 dlls/msisys.ocx/Makefile
1663 dlls/msnet32/Makefile
1664 dlls/msrle32/Makefile
1665 dlls/msvcrt/Makefile
1666 dlls/msvcrt/tests/Makefile
1667 dlls/msvcrt20/Makefile
1668 dlls/msvcrt40/Makefile
1669 dlls/msvcrtd/Makefile
1670 dlls/msvcrtd/tests/Makefile
1671 dlls/msvfw32/Makefile
1672 dlls/msvidc32/Makefile
1673 dlls/mswsock/Makefile
1674 dlls/msxml3/Makefile
1675 dlls/msxml3/tests/Makefile
1676 dlls/netapi32/Makefile
1677 dlls/netapi32/tests/Makefile
1678 dlls/newdev/Makefile
1680 dlls/ntdll/tests/Makefile
1681 dlls/ntdsapi/Makefile
1682 dlls/objsel/Makefile
1683 dlls/odbc32/Makefile
1684 dlls/odbccp32/Makefile
1686 dlls/ole32/tests/Makefile
1687 dlls/oleacc/Makefile
1688 dlls/oleaut32/Makefile
1689 dlls/oleaut32/tests/Makefile
1690 dlls/olecli32/Makefile
1691 dlls/oledlg/Makefile
1692 dlls/olepro32/Makefile
1693 dlls/olesvr32/Makefile
1694 dlls/opengl32/Makefile
1695 dlls/powrprof/Makefile
1697 dlls/psapi/tests/Makefile
1699 dlls/quartz/Makefile
1700 dlls/quartz/tests/Makefile
1702 dlls/rasapi32/Makefile
1703 dlls/riched20/Makefile
1704 dlls/riched20/tests/Makefile
1705 dlls/riched32/Makefile
1706 dlls/rpcrt4/Makefile
1707 dlls/rpcrt4/tests/Makefile
1708 dlls/rsabase/Makefile
1709 dlls/rsabase/tests/Makefile
1710 dlls/rsaenh/Makefile
1711 dlls/rsaenh/tests/Makefile
1712 dlls/sane.ds/Makefile
1713 dlls/secur32/Makefile
1714 dlls/secur32/tests/Makefile
1715 dlls/security/Makefile
1716 dlls/sensapi/Makefile
1717 dlls/serialui/Makefile
1718 dlls/setupapi/Makefile
1719 dlls/setupapi/tests/Makefile
1721 dlls/shdocvw/Makefile
1722 dlls/shdocvw/tests/Makefile
1723 dlls/shell32/Makefile
1724 dlls/shell32/tests/Makefile
1725 dlls/shfolder/Makefile
1726 dlls/shlwapi/Makefile
1727 dlls/shlwapi/tests/Makefile
1728 dlls/snmpapi/Makefile
1729 dlls/spoolss/Makefile
1730 dlls/stdole2.tlb/Makefile
1731 dlls/stdole32.tlb/Makefile
1733 dlls/strmiids/Makefile
1734 dlls/tapi32/Makefile
1735 dlls/twain_32/Makefile
1736 dlls/unicows/Makefile
1738 dlls/urlmon/Makefile
1739 dlls/urlmon/tests/Makefile
1741 dlls/user/tests/Makefile
1742 dlls/userenv/Makefile
1744 dlls/usp10/tests/Makefile
1746 dlls/uxtheme/Makefile
1747 dlls/uxtheme/tests/Makefile
1748 dlls/vdhcp.vxd/Makefile
1749 dlls/vdmdbg/Makefile
1750 dlls/version/Makefile
1751 dlls/version/tests/Makefile
1752 dlls/vmm.vxd/Makefile
1753 dlls/vnbt.vxd/Makefile
1754 dlls/vnetbios.vxd/Makefile
1755 dlls/vtdapi.vxd/Makefile
1756 dlls/vwin32.vxd/Makefile
1757 dlls/w32skrnl/Makefile
1758 dlls/winecrt0/Makefile
1759 dlls/wined3d/Makefile
1760 dlls/winedos/Makefile
1761 dlls/winemp3.acm/Makefile
1762 dlls/wineps.drv/Makefile
1763 dlls/winex11.drv/Makefile
1764 dlls/wininet/Makefile
1765 dlls/wininet/tests/Makefile
1767 dlls/winmm/joystick/Makefile
1768 dlls/winmm/tests/Makefile
1769 dlls/winmm/winealsa/Makefile
1770 dlls/winmm/winearts/Makefile
1771 dlls/winmm/wineaudioio/Makefile
1772 dlls/winmm/winecoreaudio/Makefile
1773 dlls/winmm/wineesd/Makefile
1774 dlls/winmm/winejack/Makefile
1775 dlls/winmm/winenas/Makefile
1776 dlls/winmm/wineoss/Makefile
1777 dlls/winnls32/Makefile
1778 dlls/winspool.drv/Makefile
1779 dlls/winspool.drv/tests/Makefile
1780 dlls/wintab32/Makefile
1781 dlls/wintrust/Makefile
1782 dlls/wldap32/Makefile
1783 dlls/wnaspi32/Makefile
1785 dlls/ws2_32/Makefile
1786 dlls/ws2_32/tests/Makefile
1787 dlls/wsock32/Makefile
1788 dlls/wtsapi32/Makefile
1789 documentation/Makefile
1798 programs/clock/Makefile
1799 programs/cmdlgtst/Makefile
1800 programs/control/Makefile
1801 programs/eject/Makefile
1802 programs/expand/Makefile
1803 programs/explorer/Makefile
1804 programs/hh/Makefile
1805 programs/icinfo/Makefile
1806 programs/iexplore/Makefile
1807 programs/msiexec/Makefile
1808 programs/notepad/Makefile
1809 programs/oleview/Makefile
1810 programs/progman/Makefile
1811 programs/regedit/Makefile
1812 programs/regsvr32/Makefile
1813 programs/rpcss/Makefile
1814 programs/rundll32/Makefile
1815 programs/start/Makefile
1816 programs/taskmgr/Makefile
1817 programs/uninstaller/Makefile
1818 programs/view/Makefile
1819 programs/wcmd/Makefile
1820 programs/wineboot/Makefile
1821 programs/winebrowser/Makefile
1822 programs/winecfg/Makefile
1823 programs/wineconsole/Makefile
1824 programs/winedbg/Makefile
1825 programs/winefile/Makefile
1826 programs/winemenubuilder/Makefile
1827 programs/winemine/Makefile
1828 programs/winepath/Makefile
1829 programs/winetest/Makefile
1830 programs/winevdm/Makefile
1831 programs/winhelp/Makefile
1832 programs/winver/Makefile
1833 programs/wordpad/Makefile
1837 tools/winapi/Makefile
1838 tools/winebuild/Makefile
1839 tools/winedump/Makefile
1840 tools/winegcc/Makefile
1842 tools/wrc/Makefile])
1846 if test "$have_x" = "no"
1849 AC_MSG_WARN([X development files not found. Wine will be built without])
1850 AC_MSG_WARN([X support, which currently does not work, and probably])
1851 AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
1852 AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
1855 if test "$wine_cv_opengl_version_OK" = "no"
1858 AC_MSG_WARN([Old Mesa headers detected. Wine will be built without Direct3D])
1859 AC_MSG_WARN([support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
1862 if test "$wine_cv_msg_freetype" = "yes"
1865 AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
1866 AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
1867 AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
1868 AC_MSG_WARN([to enable Wine to use TrueType fonts.])
1871 if test -z "$FONTSSUBDIRS"
1874 if test "$FONTFORGE" = "false"
1876 AC_MSG_WARN([FontForge is missing.])
1878 AC_MSG_WARN([FreeType is missing.])
1880 AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
1883 if test -z "$ALSALIBS" -a \
1884 -z "$ARTSC_LIBS" -a \
1885 -z "$AUDIOIOLIBS" -a \
1888 -z "$ac_cv_lib_soname_jack" -a \
1889 "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1890 "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1891 "$ac_cv_header_soundcard_h" != "yes"
1894 AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
1895 AC_MSG_WARN([The currently supported sound systems are:])
1896 AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
1900 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1903 dnl Local Variables:
1904 dnl comment-start: "dnl "
1906 dnl comment-start-skip: "\\bdnl\\b\\s *"
1907 dnl compile-command: "autoconf && autoheader"