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 -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 ****
163 AudioUnit/AudioUnit.h \
164 CoreAudio/CoreAudio.h \
177 fontconfig/fontconfig.h \
203 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(\
784 pthread_get_stackaddr_np \
785 pthread_get_stacksize_np,
788 dnl **** Check for aRts Sound Server ****
789 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
790 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
793 for i in `$ARTSCCONFIG --cflags`
796 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
800 for i in `$ARTSCCONFIG --libs`
803 -L/usr/lib|-L/usr/lib64) ;;
804 -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
807 save_CFLAGS="$CFLAGS"
808 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
809 AC_CHECK_LIB(artsc,arts_init,
810 [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
811 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
812 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
813 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
815 CFLAGS="$save_CFLAGS"
818 dnl **** Check for EsounD ****
819 AC_PATH_PROG(ESDCONFIG, esd-config)
820 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
823 for i in `$ESDCONFIG --cflags`
826 -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
829 ESD_LIBS=`$ESDCONFIG --libs`
830 save_CFLAGS="$CFLAGS"
831 CFLAGS="$CFLAGS $ESD_CFLAGS"
832 AC_CHECK_LIB(esd,esd_open_sound,
833 [AC_SUBST(ESDLIBS, $ESD_LIBS)
834 AC_SUBST(ESDINCL, $ESD_CFLAGS)
835 AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
836 CFLAGS="$save_CFLAGS"
839 dnl **** Check for ALSA 1.x ****
840 AC_SUBST(ALSALIBS,"")
841 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
843 AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
844 [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
845 #include <alsa/asoundlib.h>
846 #elif defined(HAVE_SYS_ASOUNDLIB_H)
847 #include <sys/asoundlib.h>
849 [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
850 [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
851 ALSALIBS="-lasound"])])
854 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
856 AC_SUBST(AUDIOIOLIBS,"")
857 if test "$ac_cv_header_libaudioio_h" = "yes"
859 AC_CHECK_LIB(audioio,AudioIOGetVersion,
860 [AUDIOIOLIBS="-laudioio"
861 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
864 dnl **** Check for capi4linux ****
866 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
868 AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
871 dnl **** Check for gif header usability ****
873 if test "$ac_cv_header_gif_lib_h" = "yes"
875 AC_TRY_COMPILE([#include <gif_lib.h>],[static typeof(DGifOpen) * func;],
876 AC_DEFINE(HAVE_GIF, 1, [Define if you have usable GIF headers]))
879 dnl **** Check for gcc specific options ****
881 AC_SUBST(EXTRACFLAGS,"")
882 if test "x${GCC}" = "xyes"
884 EXTRACFLAGS="-Wall -pipe"
886 dnl Check for strength-reduce bug
887 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
889 int L[[4]] = {0,1,2,3};
891 static int Array[[3]];
894 for(i=0; i<B; i++) Array[[i]] = i - 3;
895 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
898 exit( Array[[1]] != -2 || L[[2]] != 3);
900 ac_cv_c_gcc_strength_bug="no",
901 ac_cv_c_gcc_strength_bug="yes",
902 ac_cv_c_gcc_strength_bug="yes") )
903 if test "$ac_cv_c_gcc_strength_bug" = "yes"
905 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
908 dnl Check for -fshort-wchar
909 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
910 [WINE_TRY_CFLAGS([-fshort-wchar],
911 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
912 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
914 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
917 dnl Check for -fno-strict-aliasing
918 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
919 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
920 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
921 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
923 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
926 dnl Check for -gstabs+ option
927 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
928 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
929 if test "$ac_cv_c_gcc_gstabs" = "yes"
931 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
934 dnl Check for -Wdeclaration-after-statement option
935 AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
936 [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
937 if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
939 EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
942 dnl Check for noisy string.h
943 saved_CFLAGS="$CFLAGS"
944 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
945 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
946 AC_TRY_COMPILE([#include <string.h>],[],
947 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
948 CFLAGS="$saved_CFLAGS"
949 if test "$ac_cv_c_string_h_warnings" = "no"
951 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
954 AC_SUBST(BUILTINFLAG,"")
955 saved_CFLAGS="$CFLAGS"
956 CFLAGS="$CFLAGS -Werror"
957 AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
959 [int iswlower(unsigned short);],
960 [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
961 CFLAGS="$saved_CFLAGS"
962 if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
964 BUILTINFLAG="-fno-builtin"
968 dnl **** Check how to define a function in assembly code ****
970 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
972 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
973 ac_cv_asm_func_def=".def",
974 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
975 ac_cv_asm_func_def=".type @function",
976 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
977 ac_cv_asm_func_def=".type 2",
978 ac_cv_asm_func_def="unknown")])]))
980 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
981 case "$ac_cv_asm_func_def" in
983 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
985 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
987 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
989 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
992 dnl **** Check for underscore on external symbols ****
994 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
995 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
996 [extern int ac_test;],
997 [if (ac_test) return 1],
998 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
1000 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
1001 if test "$ac_cv_c_extern_prefix" = "yes"
1003 AC_DEFINE([__ASM_NAME(name)], ["_" name])
1005 AC_DEFINE([__ASM_NAME(name)], [name])
1008 dnl **** Check for working dll ****
1011 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
1013 AC_SUBST(LDSHARED,"")
1014 AC_SUBST(LDDLLFLAGS,"")
1015 AC_SUBST(LIBEXT,"so")
1016 AC_SUBST(IMPLIBEXT,"def")
1020 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
1021 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
1022 if test "$DLLWRAP" = "false"; then
1025 dnl FIXME - check whether dllwrap works correctly...
1029 dnl We can't build 16-bit NE dlls
1034 if test "$ac_cv_header_dlfcn_h" = "yes"
1036 AC_CHECK_FUNCS(dlopen,,
1037 [AC_CHECK_LIB(dl,dlopen,
1038 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
1041 WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
1046 if test "$LIBEXT" = "so"
1048 DLLFLAGS="$DLLFLAGS -fPIC"
1050 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1051 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-Bsymbolic],
1052 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1053 if test "$ac_cv_c_dll_gnuelf" = "yes"
1055 LDSHARED="\$(CC) -shared"
1056 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1057 AC_CACHE_CHECK([whether the linker accepts soname], ac_cv_c_sonames,
1058 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
1059 ac_cv_c_sonames="yes",ac_cv_c_sonames="no")])
1060 if test "$ac_cv_c_sonames" = "yes"
1062 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1064 AC_CACHE_CHECK([check to see if -h soname is an alternate], ac_cv_c_h_sonames,
1065 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
1066 ac_cv_c_h_sonames="yes",ac_cv_c_h_sonames="no")])
1067 if test "$ac_cv_c_h_sonames" = "yes"
1069 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"
1073 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1074 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1075 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1076 if test "$ac_cv_c_dll_zdefs" = "yes"
1078 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1081 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1082 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1083 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1084 if test "$ac_cv_c_dll_init_fini" = "yes"
1086 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1089 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1090 [echo '{ global: *; };' >conftest.map
1091 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1092 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1093 rm -f conftest.map])
1094 if test "$ac_cv_c_ld_version_scripts" = "yes"
1096 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1099 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1100 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1101 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1102 if test "$ac_cv_c_export_dynamic" = "yes"
1104 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1107 AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1108 [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1109 ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1110 if test "$ac_cv_ld_rpath" = "yes"
1112 AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1113 AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
1117 *i[[3456789]]86* | x86_64)
1118 AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1119 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1120 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1121 if test "$ac_cv_ld_reloc_exec" = "yes"
1123 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1129 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1130 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1131 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1132 if test "$ac_cv_c_dll_unixware" = "yes"
1134 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1135 LDDLLFLAGS="-Wl,-G,-B,symbolic"
1138 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1139 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1140 if test "$ac_cv_c_dll_macho" = "yes"
1143 LDDLLFLAGS="-bundle"
1144 LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME) \$(SOVERSION:%=-compatibility_version %)"
1145 STRIP="$STRIP -u -r"
1146 dnl declare needed frameworks
1147 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1148 AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1149 AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7f000000"])
1150 if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
1152 dnl CoreServices needed by AudioUnit
1153 AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
1157 CFLAGS="$CFLAGS -ffixed-r13"
1158 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
1163 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1164 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1165 if test "$ac_cv_c_dll_hpux" = "yes"
1169 LDDLLFLAGS="-shared -fPIC"
1170 LDSHARED="\$(CC) -shared"
1177 dnl Check for cross compiler to build test programs
1178 AC_SUBST(CROSSTEST,"")
1179 if test "$cross_compiling" = "no"
1181 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1182 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1183 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1184 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1189 if test "$LIBEXT" = "a"; then
1191 [could not find a way to build shared libraries.
1192 It is currently not possible to build Wine without shared library
1193 (.so) support to allow transparent switch between .so and .dll files.
1194 If you are using Linux, you will need a newer binutils.]
1200 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\"") ;;
1202 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\"") ;;
1204 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\"") ;;
1207 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1210 AC_SUBST(CRTLIBS,"-lmsvcrt")
1211 AC_SUBST(SOCKETLIBS,"-lws2_32")
1215 AC_SUBST(MAIN_BINARY,"wine-pthread") dnl Default value
1219 linux* | k*bsd*-gnu)
1220 AC_SUBST(MAIN_BINARY,"wine-glibc")
1221 AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1226 dnl **** Get the soname for libraries that we load dynamically ****
1228 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1230 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1231 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1232 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1233 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1234 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1235 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1236 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1237 WINE_GET_SONAME(dbus-1,dbus_error_init)
1238 WINE_GET_SONAME(hal,libhal_ctx_new)
1239 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1240 WINE_GET_SONAME(cups,cupsGetDefault)
1241 WINE_GET_SONAME(jack,jack_client_new)
1242 WINE_GET_SONAME(fontconfig,FcInit)
1243 WINE_GET_SONAME(ssl,SSL_library_init)
1244 WINE_GET_SONAME(crypto,BIO_new_socket)
1245 WINE_GET_SONAME(ncurses,waddch)
1246 WINE_GET_SONAME(curses,waddch)
1247 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1248 WINE_GET_SONAME(ungif,DGifOpen)
1249 WINE_GET_SONAME(gif,DGifOpen)
1250 WINE_GET_SONAME(capi20,capi20_isinstalled)
1254 dnl **** Check for functions ****
1325 dnl **** Check for types ****
1329 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1330 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1331 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1333 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1334 [#ifdef HAVE_LINUX_INPUT_H
1335 #include <linux/input.h>
1338 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1339 AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1340 wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1341 if test "$wine_cv_have_sigaddset" = "yes"
1343 AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1347 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1348 wine_cv_linux_gethostbyname_r_6,
1354 struct hostent *result;
1361 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1362 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1364 wine_cv_linux_gethostbyname_r_6=yes,
1365 wine_cv_linux_gethostbyname_r_6=no
1368 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1370 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1371 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1374 if test "$ac_cv_header_linux_joystick_h" = "yes"
1376 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1377 wine_cv_linux_joystick_22_api,
1379 #include <sys/ioctl.h>
1380 #include <linux/joystick.h>
1382 struct js_event blub;
1383 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1384 #error "no 2.2 header"
1387 wine_cv_linux_joystick_22_api=yes,
1388 wine_cv_linux_joystick_22_api=no,
1389 wine_cv_linux_joystick_22_api=no
1392 if test "$wine_cv_linux_joystick_22_api" = "yes"
1394 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1395 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1399 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1401 dnl Check for statfs members
1402 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],,,
1403 [#include <sys/types.h>
1404 #ifdef HAVE_SYS_PARAM_H
1405 # include <sys/param.h>
1407 #ifdef HAVE_SYS_MOUNT_H
1408 # include <sys/mount.h>
1410 #ifdef HAVE_SYS_VFS_H
1411 # include <sys/vfs.h>
1413 #ifdef HAVE_SYS_STATFS_H
1414 # include <sys/statfs.h>
1417 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1418 [#ifdef HAVE_SYS_STATVFS_H
1419 #include <sys/statvfs.h>
1422 dnl Check for socket structure members
1423 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1424 [#include <sys/types.h>
1425 #ifdef HAVE_SYS_SOCKET_H
1426 # include <sys/socket.h>
1428 #ifdef HAVE_SYS_UN_H
1429 # include <sys/un.h>
1432 dnl Check for scsireq_t and sg_io_hdr_t members
1433 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1434 [#include <sys/types.h>
1435 #ifdef HAVE_SCSI_SG_H
1436 #include <scsi/sg.h>
1439 dnl Check for siginfo_t members
1440 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1442 dnl Check for struct mtget members
1443 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1444 [#include <sys/types.h>
1445 #ifdef HAVE_SYS_MTIO_H
1446 #include <sys/mtio.h>
1449 dnl Check for struct option
1450 AC_CHECK_MEMBERS([struct option.name],,,
1451 [#ifdef HAVE_GETOPT_H
1455 dnl Check for stat.st_blocks
1456 AC_CHECK_MEMBERS([struct stat.st_blocks])
1458 dnl Check for sin6_scope_id
1459 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1460 [#ifdef HAVE_SYS_TYPES_H
1461 #include <sys/types.h>
1463 #ifdef HAVE_NETINET_IN_H
1464 #include <netinet/in.h>
1467 dnl Check for ns_msg ptr member
1468 AC_CHECK_MEMBERS([ns_msg._msg_ptr],,,
1469 [#ifdef HAVE_SYS_TYPES_H
1470 #include <sys/types.h>
1472 #ifdef HAVE_NETINET_IN_H
1473 # include <netinet/in.h>
1475 #ifdef HAVE_ARPA_NAMESER_H
1476 # include <arpa/nameser.h>
1479 dnl Check for the external timezone variables timezone and daylight
1480 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1481 AC_TRY_LINK([#include <time.h>],[timezone;],
1482 ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1483 if test "$ac_cv_have_timezone" = "yes"
1485 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1487 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1488 AC_TRY_LINK([#include <time.h>],[daylight;],
1489 ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1490 if test "$ac_cv_have_daylight" = "yes"
1492 AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1495 dnl *** check for the need to define platform-specific symbols
1498 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1499 *x86_64*) WINE_CHECK_DEFINE([__x86_64__])
1500 WINE_CHECK_DEFINE([_WIN64]) ;;
1501 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1502 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1503 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1506 case $host_vendor in
1507 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1510 dnl **** Generate output files ****
1512 AH_TOP([#define __WINE_CONFIG_H])
1514 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1515 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1516 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1517 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1518 WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
1519 WINE_CONFIG_EXTRA_DIR(include/wine)
1521 MAKE_RULES=Make.rules
1522 AC_SUBST_FILE(MAKE_RULES)
1524 MAKE_DLL_RULES=dlls/Makedll.rules
1525 AC_SUBST_FILE(MAKE_DLL_RULES)
1527 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1528 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1530 MAKE_TEST_RULES=dlls/Maketest.rules
1531 AC_SUBST_FILE(MAKE_TEST_RULES)
1533 MAKE_LIB_RULES=libs/Makelib.rules
1534 AC_SUBST_FILE(MAKE_LIB_RULES)
1536 MAKE_PROG_RULES=programs/Makeprog.rules
1537 AC_SUBST_FILE(MAKE_PROG_RULES)
1542 dlls/Makeimplib.rules
1545 programs/Makeprog.rules
1548 dlls/activeds/Makefile
1549 dlls/advapi32/Makefile
1550 dlls/advapi32/tests/Makefile
1551 dlls/advpack/Makefile
1552 dlls/advpack/tests/Makefile
1553 dlls/amstream/Makefile
1555 dlls/avicap32/Makefile
1556 dlls/avifil32/Makefile
1557 dlls/cabinet/Makefile
1558 dlls/cabinet/tests/Makefile
1559 dlls/capi2032/Makefile
1561 dlls/cfgmgr32/Makefile
1562 dlls/comcat/Makefile
1563 dlls/comcat/tests/Makefile
1564 dlls/comctl32/Makefile
1565 dlls/comctl32/tests/Makefile
1566 dlls/comdlg32/Makefile
1567 dlls/comdlg32/tests/Makefile
1568 dlls/compstui/Makefile
1569 dlls/crtdll/Makefile
1570 dlls/crypt32/Makefile
1571 dlls/crypt32/tests/Makefile
1572 dlls/cryptdll/Makefile
1573 dlls/cryptnet/Makefile
1574 dlls/ctl3d32/Makefile
1576 dlls/d3d8/tests/Makefile
1578 dlls/d3d9/tests/Makefile
1582 dlls/d3dxof/Makefile
1583 dlls/dbghelp/Makefile
1584 dlls/dciman32/Makefile
1586 dlls/ddraw/tests/Makefile
1587 dlls/devenum/Makefile
1588 dlls/dinput/Makefile
1589 dlls/dinput/tests/Makefile
1590 dlls/dinput8/Makefile
1591 dlls/dmband/Makefile
1592 dlls/dmcompos/Makefile
1594 dlls/dmloader/Makefile
1595 dlls/dmscript/Makefile
1596 dlls/dmstyle/Makefile
1597 dlls/dmsynth/Makefile
1598 dlls/dmusic/Makefile
1599 dlls/dmusic32/Makefile
1600 dlls/dnsapi/Makefile
1601 dlls/dnsapi/tests/Makefile
1603 dlls/dplayx/Makefile
1605 dlls/dpnhpast/Makefile
1606 dlls/dsound/Makefile
1607 dlls/dsound/tests/Makefile
1608 dlls/dswave/Makefile
1609 dlls/dxdiagn/Makefile
1610 dlls/dxerr8/Makefile
1611 dlls/dxerr9/Makefile
1612 dlls/dxguid/Makefile
1614 dlls/gdi/tests/Makefile
1616 dlls/glut32/Makefile
1617 dlls/gphoto2.ds/Makefile
1618 dlls/hhctrl.ocx/Makefile
1620 dlls/hlink/tests/Makefile
1621 dlls/iccvid/Makefile
1623 dlls/ifsmgr.vxd/Makefile
1624 dlls/imaadp32.acm/Makefile
1625 dlls/imagehlp/Makefile
1627 dlls/infosoft/Makefile
1628 dlls/inseng/Makefile
1629 dlls/iphlpapi/Makefile
1630 dlls/iphlpapi/tests/Makefile
1632 dlls/kernel/Makefile
1633 dlls/kernel/tests/Makefile
1635 dlls/lz32/tests/Makefile
1636 dlls/mapi32/Makefile
1637 dlls/mapi32/tests/Makefile
1638 dlls/mciavi32/Makefile
1639 dlls/mcicda/Makefile
1640 dlls/mciseq/Makefile
1641 dlls/mciwave/Makefile
1642 dlls/midimap/Makefile
1644 dlls/mlang/tests/Makefile
1645 dlls/mmdevldr.vxd/Makefile
1646 dlls/monodebg.vxd/Makefile
1648 dlls/mprapi/Makefile
1649 dlls/msacm32.drv/Makefile
1650 dlls/msacm32/Makefile
1651 dlls/msacm32/tests/Makefile
1652 dlls/msadp32.acm/Makefile
1654 dlls/mscms/tests/Makefile
1656 dlls/msftedit/Makefile
1657 dlls/msg711.acm/Makefile
1658 dlls/mshtml/Makefile
1659 dlls/mshtml/tests/Makefile
1661 dlls/msi/tests/Makefile
1662 dlls/msimg32/Makefile
1663 dlls/msisys.ocx/Makefile
1664 dlls/msnet32/Makefile
1665 dlls/msrle32/Makefile
1666 dlls/msvcrt/Makefile
1667 dlls/msvcrt/tests/Makefile
1668 dlls/msvcrt20/Makefile
1669 dlls/msvcrt40/Makefile
1670 dlls/msvcrtd/Makefile
1671 dlls/msvcrtd/tests/Makefile
1672 dlls/msvfw32/Makefile
1673 dlls/msvidc32/Makefile
1674 dlls/mswsock/Makefile
1675 dlls/msxml3/Makefile
1676 dlls/msxml3/tests/Makefile
1677 dlls/netapi32/Makefile
1678 dlls/netapi32/tests/Makefile
1679 dlls/newdev/Makefile
1681 dlls/ntdll/tests/Makefile
1682 dlls/ntdsapi/Makefile
1683 dlls/objsel/Makefile
1684 dlls/odbc32/Makefile
1685 dlls/odbccp32/Makefile
1687 dlls/ole32/tests/Makefile
1688 dlls/oleacc/Makefile
1689 dlls/oleaut32/Makefile
1690 dlls/oleaut32/tests/Makefile
1691 dlls/olecli32/Makefile
1692 dlls/oledlg/Makefile
1693 dlls/olepro32/Makefile
1694 dlls/olesvr32/Makefile
1695 dlls/opengl32/Makefile
1696 dlls/powrprof/Makefile
1698 dlls/psapi/tests/Makefile
1700 dlls/quartz/Makefile
1701 dlls/quartz/tests/Makefile
1703 dlls/rasapi32/Makefile
1704 dlls/riched20/Makefile
1705 dlls/riched20/tests/Makefile
1706 dlls/riched32/Makefile
1707 dlls/rpcrt4/Makefile
1708 dlls/rpcrt4/tests/Makefile
1709 dlls/rsabase/Makefile
1710 dlls/rsabase/tests/Makefile
1711 dlls/rsaenh/Makefile
1712 dlls/rsaenh/tests/Makefile
1713 dlls/sane.ds/Makefile
1714 dlls/secur32/Makefile
1715 dlls/secur32/tests/Makefile
1716 dlls/security/Makefile
1717 dlls/sensapi/Makefile
1718 dlls/serialui/Makefile
1719 dlls/setupapi/Makefile
1720 dlls/setupapi/tests/Makefile
1722 dlls/shdocvw/Makefile
1723 dlls/shdocvw/tests/Makefile
1724 dlls/shell32/Makefile
1725 dlls/shell32/tests/Makefile
1726 dlls/shfolder/Makefile
1727 dlls/shlwapi/Makefile
1728 dlls/shlwapi/tests/Makefile
1729 dlls/snmpapi/Makefile
1730 dlls/spoolss/Makefile
1731 dlls/stdole2.tlb/Makefile
1732 dlls/stdole32.tlb/Makefile
1734 dlls/strmiids/Makefile
1735 dlls/tapi32/Makefile
1736 dlls/twain_32/Makefile
1737 dlls/unicows/Makefile
1739 dlls/urlmon/Makefile
1740 dlls/urlmon/tests/Makefile
1742 dlls/user/tests/Makefile
1743 dlls/userenv/Makefile
1745 dlls/usp10/tests/Makefile
1747 dlls/uxtheme/Makefile
1748 dlls/uxtheme/tests/Makefile
1749 dlls/vdhcp.vxd/Makefile
1750 dlls/vdmdbg/Makefile
1751 dlls/version/Makefile
1752 dlls/version/tests/Makefile
1753 dlls/vmm.vxd/Makefile
1754 dlls/vnbt.vxd/Makefile
1755 dlls/vnetbios.vxd/Makefile
1756 dlls/vtdapi.vxd/Makefile
1757 dlls/vwin32.vxd/Makefile
1758 dlls/w32skrnl/Makefile
1759 dlls/winecrt0/Makefile
1760 dlls/wined3d/Makefile
1761 dlls/winedos/Makefile
1762 dlls/winemp3.acm/Makefile
1763 dlls/wineps.drv/Makefile
1764 dlls/winex11.drv/Makefile
1765 dlls/wininet/Makefile
1766 dlls/wininet/tests/Makefile
1768 dlls/winmm/joystick/Makefile
1769 dlls/winmm/tests/Makefile
1770 dlls/winmm/winealsa/Makefile
1771 dlls/winmm/winearts/Makefile
1772 dlls/winmm/wineaudioio/Makefile
1773 dlls/winmm/winecoreaudio/Makefile
1774 dlls/winmm/wineesd/Makefile
1775 dlls/winmm/winejack/Makefile
1776 dlls/winmm/winenas/Makefile
1777 dlls/winmm/wineoss/Makefile
1778 dlls/winnls32/Makefile
1779 dlls/winspool.drv/Makefile
1780 dlls/winspool.drv/tests/Makefile
1781 dlls/wintab32/Makefile
1782 dlls/wintrust/Makefile
1783 dlls/wldap32/Makefile
1784 dlls/wnaspi32/Makefile
1786 dlls/ws2_32/Makefile
1787 dlls/ws2_32/tests/Makefile
1788 dlls/wsock32/Makefile
1789 dlls/wtsapi32/Makefile
1790 documentation/Makefile
1799 programs/clock/Makefile
1800 programs/cmdlgtst/Makefile
1801 programs/control/Makefile
1802 programs/eject/Makefile
1803 programs/expand/Makefile
1804 programs/explorer/Makefile
1805 programs/hh/Makefile
1806 programs/icinfo/Makefile
1807 programs/iexplore/Makefile
1808 programs/msiexec/Makefile
1809 programs/notepad/Makefile
1810 programs/oleview/Makefile
1811 programs/progman/Makefile
1812 programs/regedit/Makefile
1813 programs/regsvr32/Makefile
1814 programs/rpcss/Makefile
1815 programs/rundll32/Makefile
1816 programs/start/Makefile
1817 programs/taskmgr/Makefile
1818 programs/uninstaller/Makefile
1819 programs/view/Makefile
1820 programs/wcmd/Makefile
1821 programs/wineboot/Makefile
1822 programs/winebrowser/Makefile
1823 programs/winecfg/Makefile
1824 programs/wineconsole/Makefile
1825 programs/winedbg/Makefile
1826 programs/winefile/Makefile
1827 programs/winemenubuilder/Makefile
1828 programs/winemine/Makefile
1829 programs/winepath/Makefile
1830 programs/winetest/Makefile
1831 programs/winevdm/Makefile
1832 programs/winhelp/Makefile
1833 programs/winver/Makefile
1834 programs/wordpad/Makefile
1838 tools/winapi/Makefile
1839 tools/winebuild/Makefile
1840 tools/winedump/Makefile
1841 tools/winegcc/Makefile
1843 tools/wrc/Makefile])
1847 if test "$have_x" = "no"
1850 AC_MSG_WARN([X development files not found. Wine will be built without])
1851 AC_MSG_WARN([X support, which currently does not work, and probably])
1852 AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
1853 AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
1856 if test "$wine_cv_opengl_version_OK" = "no"
1859 AC_MSG_WARN([Old Mesa headers detected. Wine will be built without Direct3D])
1860 AC_MSG_WARN([support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
1863 if test "$wine_cv_msg_freetype" = "yes"
1866 AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
1867 AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
1868 AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
1869 AC_MSG_WARN([to enable Wine to use TrueType fonts.])
1872 if test -z "$FONTSSUBDIRS"
1875 if test "$FONTFORGE" = "false"
1877 AC_MSG_WARN([FontForge is missing.])
1879 AC_MSG_WARN([FreeType is missing.])
1881 AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
1884 if test -z "$ALSALIBS" -a \
1885 -z "$ARTSC_LIBS" -a \
1886 -z "$AUDIOIOLIBS" -a \
1889 -z "$ac_cv_lib_soname_jack" -a \
1890 "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1891 "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1892 "$ac_cv_header_soundcard_h" != "yes"
1895 AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
1896 AC_MSG_WARN([The currently supported sound systems are:])
1897 AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
1901 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1904 dnl Local Variables:
1905 dnl comment-start: "dnl "
1907 dnl comment-start-skip: "\\bdnl\\b\\s *"
1908 dnl compile-command: "autoconf && autoheader"