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(debug, AC_HELP_STRING([--disable-debug],[compile out all debugging messages]))
17 AC_ARG_ENABLE(trace, AC_HELP_STRING([--disable-trace],[compile out TRACE messages]))
18 AC_ARG_ENABLE(win64, AC_HELP_STRING([--enable-win64], [build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
20 AC_ARG_WITH(opengl, AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
21 AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses]))
22 AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
25 if test "x$enable_debug" = "xno"
27 DLLDEFS="$DLLDEFS -DWINE_NO_DEBUG_MSGS"
29 if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
31 DLLDEFS="$DLLDEFS -DWINE_NO_TRACE_MSGS"
37 if test "x$enable_win64" != "xyes"
39 test -n "$CC" || CC="gcc -m32"
40 test -n "$LD" || LD="ld -m elf_i386"
41 test -n "$AS" || AS="as --32"
47 dnl enable_win16 defaults to yes on x86, to no on other CPUs
50 if test "x$enable_win16" != "xno"
57 AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
58 AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
59 if test "x$enable_win16" != "xyes"
65 dnl **** Check for some programs ****
70 dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
71 AC_CHECK_TOOL(CPPBIN,cpp,cpp)
73 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
74 [if test -z "$with_wine_tools"; then
75 if test "$cross_compiling" = "yes"; then
76 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
78 wine_cv_toolsdir="\$(TOPOBJDIR)"
80 elif test -d "$with_wine_tools/tools/winebuild"; then
81 case $with_wine_tools in
82 /*) wine_cv_toolsdir="$with_wine_tools" ;;
83 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
86 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
88 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
93 dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
94 dnl **** without one present.
95 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
96 if test "$XLEX" = "none"
98 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
102 AC_CHECK_PROGS(BISON,bison,none)
103 if test "$BISON" = "none"
105 AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
108 AC_CHECK_TOOLS(AS,[gas as],as)
109 AC_CHECK_TOOL(LD,ld,ld)
110 AC_CHECK_TOOL(AR,ar,ar)
112 AC_CHECK_TOOL(STRIP,strip,strip)
113 AC_CHECK_TOOL(WINDRES,windres,false)
117 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
119 dnl Prepend src dir to install path dir if it's a relative path
121 [[\\/$]]* | ?:[[\\/]]* ) ;;
122 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
126 AC_CHECK_PROGS(LINT, lclint lint)
127 if test "$LINT" = "lint"
129 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
130 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
135 dnl Check for various programs
136 AC_CHECK_PROGS(FONTFORGE, fontforge, false)
138 dnl **** Check for some libraries ****
140 dnl Check for -li386 for NetBSD and OpenBSD
141 AC_CHECK_LIB(i386,i386_set_ldt)
142 dnl Check for -lossaudio for NetBSD
143 AC_CHECK_LIB(ossaudio,_oss_ioctl)
144 dnl Check for -lw for Solaris
145 AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
146 dnl Check for -lnsl for Solaris
147 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
148 dnl Check for -lsocket for Solaris
149 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
150 dnl Check for -lresolv for Solaris
151 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
152 dnl Check for -lxpg4 for FreeBSD
153 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
154 dnl Check for -lpoll for Mac OS X/Darwin
155 AC_CHECK_LIB(poll,poll)
156 dnl Check for -lresolv for Mac OS X/Darwin
157 AC_CHECK_LIB(resolv,res_9_init)
158 dnl Check for -lpthread
159 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
164 AC_SUBST(OPENGLFILES)
168 AC_SUBST(OPENGL_LIBS)
171 dnl **** Check for header files ****
186 fontconfig/fontconfig.h \
213 machine/soundcard.h \
277 dnl **** Check for X11 ****
279 if test "$have_x" = "yes"
282 ac_save_CPPFLAGS="$CPPFLAGS"
283 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
285 dnl *** All of the following tests require X11/Xlib.h
286 AC_CHECK_HEADERS([X11/Xlib.h \
289 X11/extensions/shape.h \
290 X11/extensions/XInput.h \
291 X11/extensions/XShm.h \
292 X11/extensions/Xrandr.h \
293 X11/extensions/Xrender.h \
294 X11/extensions/xf86dga.h \
295 X11/extensions/xf86vmode.h],,,
296 [#ifdef HAVE_X11_XLIB_H
297 # include <X11/Xlib.h>
299 #ifdef HAVE_X11_XUTIL_H
300 # include <X11/Xutil.h>
303 dnl *** Check for X keyboard extension
304 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
306 AC_CHECK_LIB(X11, XkbQueryExtension,
307 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
308 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
311 dnl *** Check for X Shm extension
312 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
314 AC_CHECK_LIB(Xext, XShmQueryExtension,
315 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
316 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
319 dnl *** Check for X shape extension
320 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
322 AC_CHECK_LIB(Xext,XShapeQueryExtension,
323 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
324 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
327 dnl *** Check for XFree86 DGA / DGA 2.0 extension
328 if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
330 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
331 [ AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
332 [Define if you have the Xxf86dga library version 2])
333 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
335 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
338 dnl *** Check for XFree86 VMODE extension
339 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
341 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
342 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
343 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
345 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
348 dnl *** Check for X RandR extension
349 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
351 AC_TRY_COMPILE([#include <X11/Xlib.h>
352 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
353 [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
356 dnl *** Check for Transform functions in Xrender
357 if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
359 AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
360 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
361 [Define if Xrender has the XRenderSetPictureTransform function])],,
362 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
364 dnl *** End of X11/Xlib.h check
366 dnl Check for the presence of OpenGL
367 if test "x$with_opengl" != "xno"
369 AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h,,,
370 [#ifdef HAVE_GL_GLX_H
373 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
375 dnl Check for some problems due to old Mesa versions
376 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
378 [#include <GL/gl.h>],
379 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
380 [wine_cv_opengl_version_OK="yes"],
381 [wine_cv_opengl_version_OK="no"]
385 if test "$wine_cv_opengl_version_OK" = "yes"
387 dnl Check for the presence of the library
388 AC_CHECK_LIB(GL,glXCreateContext,
391 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
393 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
395 OPENGLFILES='$(OPENGLFILES)'
396 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
398 if test -f /usr/X11R6/lib/libGL.a
400 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
401 This prevents linking to OpenGL. Delete the file and restart configure.])
405 dnl Check for GLU32 library.
406 AC_CHECK_LIB(GLU,gluLookAt,
407 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
408 GLU32FILES='$(GLU32FILES)']
410 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
414 dnl Check for glut32 library.
415 AC_CHECK_LIB(glut,glutMainLoop,
416 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
417 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
418 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
422 dnl **** Check for NAS ****
424 AC_CHECK_HEADERS(audio/audiolib.h,
425 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
426 AC_CHECK_LIB(audio,AuCreateFlow,
427 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
428 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
429 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
431 CPPFLAGS="$ac_save_CPPFLAGS"
439 dnl **** Check for libxml2 ****
441 AC_SUBST(XML2LIBS,"")
442 AC_SUBST(XML2INCL,"")
443 ac_save_CPPFLAGS="$CPPFLAGS"
444 CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2"
445 AC_CHECK_HEADERS(libxml/parser.h,
446 [AC_CHECK_LIB(xml2, xmlReadIO,
447 [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
449 XML2INCL="-I/usr/include/libxml2"])])
450 CPPFLAGS="$ac_save_CPPFLAGS"
452 dnl **** Check which curses lib to use ***
454 if test "x$with_curses" != "xno"
456 if test "$ac_cv_header_ncurses_h" = "yes"
458 AC_CHECK_LIB(ncurses,waddch,
459 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
460 CURSESLIBS="-lncurses"])
461 elif test "$ac_cv_header_curses_h" = "yes"
463 AC_CHECK_LIB(curses,waddch,
464 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
465 CURSESLIBS="-lcurses"])
470 dnl **** Check for SANE ****
471 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
472 if test "$sane_devel" = "no"
477 SANELIBS="`$sane_devel --libs`"
478 SANEINCL="`$sane_devel --cflags`"
479 ac_save_CPPFLAGS="$CPPFLAGS"
481 CPPFLAGS="$CPPFLAGS $SANEINCL"
482 LIBS="$LIBS $SANELIBS"
483 AC_CHECK_HEADER(sane/sane.h,
484 [AC_CHECK_LIB(sane,sane_open,
485 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
491 CPPFLAGS="$ac_save_CPPFLAGS"
496 dnl **** Check for the ICU library ****
497 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
500 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
501 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libsicuuc.a}"
502 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libsicudata.a}"
503 AC_MSG_CHECKING(whether can link with ICU libraries $ICUUC_LIB and $ICUDATA_LIB)
504 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
505 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
506 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
507 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")
513 dnl **** Check for LittleCMS ***
514 AC_SUBST(LCMSLIBS,"")
515 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
517 AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
518 [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
522 dnl **** Check for OpenLDAP ***
523 AC_SUBST(LDAPLIBS,"")
524 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
526 AC_CHECK_LIB(ldap, ldap_init,
527 [AC_CHECK_LIB(lber, ber_init,
528 [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
529 LDAPLIBS="-lldap -llber"])])
532 dnl **** Check for FreeType 2 ****
533 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
534 if test "$ft_lib" = "no"
538 wine_cv_msg_freetype=no
540 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
541 if test "$ft_devel" = "no"
543 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
544 if test "$ft_devel2" = "freetype2-config"
549 if test "$ft_devel" = "no"
553 wine_cv_msg_freetype=yes
555 FREETYPELIBS=`$ft_devel --libs`
556 FREETYPEINCL=`$ft_devel --cflags`
557 ac_save_CPPFLAGS="$CPPFLAGS"
558 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
559 AC_CHECK_HEADERS(ft2build.h \
560 freetype/freetype.h \
562 freetype/tttables.h \
564 freetype/ftsnames.h \
565 freetype/ttnameid.h \
567 freetype/ftwinfnt.h \
568 freetype/internal/sfnt.h,,,
570 #include <ft2build.h>
572 AC_TRY_CPP([#include <ft2build.h>
573 #include <freetype/fttrigon.h>],
574 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
575 [Define if you have the <freetype/fttrigon.h> header file.])
576 wine_cv_fttrigon=yes],
578 CPPFLAGS="$ac_save_CPPFLAGS"
579 dnl Check that we have at least freetype/freetype.h
580 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
582 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
583 wine_cv_msg_freetype=no
587 wine_cv_msg_freetype=yes
591 AC_SUBST(FREETYPELIBS)
592 AC_SUBST(FREETYPEINCL)
594 dnl Only build the fonts dir if we have both freetype and fontforge
595 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
597 AC_SUBST(FONTSSUBDIRS,"fonts")
600 dnl **** Check for parport (currently Linux only) ****
601 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
603 [#include <linux/ppdev.h>],
604 [ioctl (1,PPCLAIM,0)],
605 [ac_cv_c_ppdev="yes"],
606 [ac_cv_c_ppdev="no"])
608 if test "$ac_cv_c_ppdev" = "yes"
610 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
613 dnl **** Check for va_copy ****
614 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
616 [#include <stdarg.h>],
620 [ac_cv_c_va_copy="yes"],
621 [ac_cv_c_va_copy="no"])
623 if test "$ac_cv_c_va_copy" = "yes"
625 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
627 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
629 [#include <stdarg.h>],
633 [ac_cv_c___va_copy="yes"],
634 [ac_cv_c___va_copy="no"])
636 if test "$ac_cv_c___va_copy" = "yes"
638 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
641 dnl **** Check for sigsetjmp ****
642 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
644 [#include <setjmp.h>],
647 siglongjmp( buf, 1 );],
648 [ac_cv_c_sigsetjmp="yes"],
649 [ac_cv_c_sigsetjmp="no"])
651 if test "$ac_cv_c_sigsetjmp" = "yes"
653 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
656 dnl **** Check for pthread_rwlock_t ****
657 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
658 #include <pthread.h>])
660 dnl **** Check for pthread functions ****
662 LIBS="$LIBS $LIBPTHREAD"
665 pthread_get_stackaddr_np \
666 pthread_get_stacksize_np \
670 dnl **** Check for Open Sound System ****
671 AC_CACHE_CHECK([for Open Sound System],
672 ac_cv_c_opensoundsystem,
674 #if defined(HAVE_SYS_SOUNDCARD_H)
675 #include <sys/soundcard.h>
676 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
677 #include <machine/soundcard.h>
678 #elif defined(HAVE_SOUNDCARD_H)
679 #include <soundcard.h>
683 /* check for one of the Open Sound System specific SNDCTL_ defines */
684 #if !defined(SNDCTL_DSP_STEREO)
685 #error No open sound system
687 ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
689 if test "$ac_cv_c_opensoundsystem" = "yes"
691 AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
694 AC_CACHE_CHECK([for Open Sound System/MIDI interface],
695 ac_cv_c_opensoundsystem_midi,
697 #if defined(HAVE_SYS_SOUNDCARD_H)
698 #include <sys/soundcard.h>
699 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
700 #include <machine/soundcard.h>
701 #elif defined(HAVE_SOUNDCARD_H)
702 #include <soundcard.h>
706 /* check for one of the Open Sound System specific SNDCTL_SEQ defines */
707 #if !defined(SNDCTL_SEQ_SYNC)
708 #error No open sound system MIDI interface
710 ],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
712 if test "$ac_cv_c_opensoundsystem_midi" = "yes"
714 AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
717 dnl **** Check for aRts Sound Server ****
718 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
719 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
722 for i in `$ARTSCCONFIG --cflags`
725 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
728 ARTSC_LIBS=`$ARTSCCONFIG --libs`
729 save_CFLAGS="$CFLAGS"
730 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
731 AC_CHECK_LIB(artsc,arts_init,
732 [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
733 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
734 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
735 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
737 CFLAGS="$save_CFLAGS"
740 dnl **** Check for EsounD ****
741 AC_PATH_PROG(ESDCONFIG, esd-config)
742 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
745 for i in `$ESDCONFIG --cflags`
748 -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
751 ESD_LIBS=`$ESDCONFIG --libs`
752 save_CFLAGS="$CFLAGS"
753 CFLAGS="$CFLAGS $ESD_CFLAGS"
754 AC_CHECK_LIB(esd,esd_open_sound,
755 [AC_SUBST(ESDLIBS, $ESD_LIBS)
756 AC_SUBST(ESDINCL, $ESD_CFLAGS)
757 AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
758 CFLAGS="$save_CFLAGS"
761 dnl **** Check for ALSA 1.x ****
762 AC_SUBST(ALSALIBS,"")
763 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
765 AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
766 [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
767 #include <alsa/asoundlib.h>
768 #elif defined(HAVE_SYS_ASOUNDLIB_H)
769 #include <sys/asoundlib.h>
771 [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
772 [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
773 ALSALIBS="-lasound"])])
776 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
778 AC_SUBST(AUDIOIOLIBS,"")
779 if test "$ac_cv_header_libaudioio_h" = "yes"
781 AC_CHECK_LIB(audioio,AudioIOGetVersion,
782 [AUDIOIOLIBS="-laudioio"
783 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
786 dnl **** Check for capi4linux ****
788 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
790 AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
793 dnl **** Check for gcc specific options ****
795 AC_SUBST(EXTRACFLAGS,"")
796 if test "x${GCC}" = "xyes"
798 EXTRACFLAGS="-Wall -pipe"
800 dnl Check for strength-reduce bug
801 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
803 int L[[4]] = {0,1,2,3};
805 static int Array[[3]];
808 for(i=0; i<B; i++) Array[[i]] = i - 3;
809 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
812 exit( Array[[1]] != -2 || L[[2]] != 3);
814 ac_cv_c_gcc_strength_bug="no",
815 ac_cv_c_gcc_strength_bug="yes",
816 ac_cv_c_gcc_strength_bug="yes") )
817 if test "$ac_cv_c_gcc_strength_bug" = "yes"
819 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
822 dnl Check for -fshort-wchar
823 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
824 [WINE_TRY_CFLAGS([-fshort-wchar],
825 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
826 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
828 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
831 dnl Check for -mpreferred-stack-boundary
832 AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
833 [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
834 ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
835 if test "$ac_cv_c_gcc_stack_boundary" = "yes"
837 EXTRACFLAGS="$EXTRACFLAGS -mpreferred-stack-boundary=2"
840 dnl Check for -fno-strict-aliasing
841 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
842 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
843 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
844 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
846 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
849 dnl Check for -gstabs+ option
850 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
851 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
852 if test "$ac_cv_c_gcc_gstabs" = "yes"
854 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
857 dnl Check for noisy string.h
858 saved_CFLAGS="$CFLAGS"
859 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
860 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
861 AC_TRY_COMPILE([#include <string.h>],[],
862 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
863 CFLAGS="$saved_CFLAGS"
864 if test "$ac_cv_c_string_h_warnings" = "no"
866 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
870 dnl **** Check how to define a function in assembly code ****
872 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
874 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
875 ac_cv_asm_func_def=".def",
876 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
877 ac_cv_asm_func_def=".type @function",
878 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
879 ac_cv_asm_func_def=".type 2",
880 ac_cv_asm_func_def="unknown")])]))
882 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
883 case "$ac_cv_asm_func_def" in
885 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
887 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
889 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
891 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
894 dnl **** Check for underscore on external symbols ****
896 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
897 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
898 [extern int ac_test;],
899 [if (ac_test) return 1],
900 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
902 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
903 if test "$ac_cv_c_extern_prefix" = "yes"
905 AC_DEFINE([__ASM_NAME(name)], ["_" name])
907 AC_DEFINE([__ASM_NAME(name)], [name])
910 dnl **** Check for working dll ****
913 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
915 AC_SUBST(LDSHARED,"")
916 AC_SUBST(LDDLLFLAGS,"")
917 AC_SUBST(LIBEXT,"so")
918 AC_SUBST(IMPLIBEXT,"def")
922 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
923 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
924 if test "$DLLWRAP" = "false"; then
927 dnl FIXME - check whether dllwrap works correctly...
931 dnl We can't build 16-bit NE dlls
936 if test "$ac_cv_header_dlfcn_h" = "yes"
938 AC_CHECK_FUNCS(dlopen,,
939 [AC_CHECK_LIB(dl,dlopen,
940 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
947 if test "$LIBEXT" = "so"
949 DLLFLAGS="$DLLFLAGS -fPIC"
951 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
952 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
953 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
954 if test "$ac_cv_c_dll_gnuelf" = "yes"
956 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
957 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
958 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
959 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
960 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
961 if test "$ac_cv_c_dll_zdefs" = "yes"
963 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
966 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
967 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
968 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
969 if test "$ac_cv_c_dll_init_fini" = "yes"
971 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
974 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
975 [echo '{ global: *; };' >conftest.map
976 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
977 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
979 if test "$ac_cv_c_ld_version_scripts" = "yes"
981 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
984 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
985 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
986 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
987 if test "$ac_cv_c_export_dynamic" = "yes"
989 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
994 AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
995 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
996 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
997 if test "$ac_cv_ld_reloc_exec" = "yes"
999 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1005 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1006 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1007 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1008 if test "$ac_cv_c_dll_unixware" = "yes"
1010 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1011 LDDLLFLAGS="-Wl,-G,-B,symbolic"
1014 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1015 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1016 if test "$ac_cv_c_dll_macho" = "yes"
1019 LDDLLFLAGS="-bundle -flat_namespace -undefined suppress -read_only_relocs warning"
1020 LDSHARED="\$(CC) -dynamiclib"
1021 CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp"
1022 STRIP="$STRIP -u -r"
1023 dnl Relocate wine executable
1024 AC_SUBST(LDEXECFLAGS,"-seg1addr 0x120000")
1025 dnl Relocate libwine.dyld too
1026 AC_SUBST(LDLIBWINEFLAGS,"-seg1addr 0x140000")
1027 dnl declare needed frameworks
1028 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1029 AC_SUBST(IOKITLIB,"-framework IOKit")
1030 dnl using IOKit imply we use CoreFoundation too
1031 IOKITLIB="$IOKITLIB $COREFOUNDATIONLIB"
1033 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1034 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1035 if test "$ac_cv_c_dll_hpux" = "yes"
1039 LDDLLFLAGS="-shared -fPIC"
1040 LDSHARED="\$(CC) -shared"
1047 dnl Check for cross compiler to build test programs
1048 AC_SUBST(CROSSTEST,"")
1049 if test "$cross_compiling" = "no"
1051 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1052 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1053 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1054 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1059 if test "$LIBEXT" = "a"; then
1061 [could not find a way to build shared libraries.
1062 It is currently not possible to build Wine without shared library
1063 (.so) support to allow transparent switch between .so and .dll files.
1064 If you are using Linux, you will need a newer binutils.]
1070 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
1072 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
1074 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
1077 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1080 AC_SUBST(CRTLIBS,"-lmsvcrt")
1081 AC_SUBST(SOCKETLIBS,"-lws2_32")
1088 *i[[3456789]]86*) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread wine-preloader") ;;
1089 *) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread") ;;
1091 AC_SUBST(MAIN_BINARY,"wine-glibc")
1094 AC_SUBST(WINE_BINARIES,"wine-pthread")
1095 AC_SUBST(MAIN_BINARY,"wine-pthread")
1098 AC_SUBST(WINE_BINARIES,"wine-kthread")
1099 AC_SUBST(MAIN_BINARY,"wine-kthread")
1103 dnl **** Get the soname for libraries that we load dynamically ****
1105 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1107 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1108 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1109 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1110 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1111 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1112 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1113 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1114 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1115 WINE_GET_SONAME(cups,cupsGetDefault)
1116 WINE_GET_SONAME(jack,jack_client_new)
1117 WINE_GET_SONAME(fontconfig,FcInit)
1118 WINE_GET_SONAME(ssl,SSL_library_init)
1119 WINE_GET_SONAME(crypto,BIO_new_socket)
1120 WINE_GET_SONAME(ncurses,waddch)
1121 WINE_GET_SONAME(curses,waddch)
1122 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1123 WINE_GET_SONAME(ungif,DGifOpen)
1124 WINE_GET_SONAME(gif,DGifOpen)
1125 WINE_GET_SONAME(capi20,capi20_isinstalled)
1129 dnl **** Check for functions ****
1195 dnl **** Checks for headers that depend on other ones ****
1197 AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
1198 [#include <sys/types.h>
1199 #if HAVE_SYS_PARAM_H
1200 # include <sys/param.h>
1203 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
1204 [#include <sys/types.h>
1205 #if HAVE_SYS_SOCKET_H
1206 # include <sys/socket.h>
1209 AC_CHECK_HEADERS([resolv.h],,,
1210 [#include <sys/types.h>
1211 #if HAVE_SYS_SOCKET_H
1212 # include <sys/socket.h>
1214 #if HAVE_NETINET_IN_H
1215 # include <netinet/in.h>
1217 #if HAVE_ARPA_NAMESER_H
1218 # include <arpa/nameser.h>
1221 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1223 AC_CHECK_HEADERS([linux/ipx.h linux/videodev.h],,,
1224 [#ifdef HAVE_SYS_TIME_H
1225 #include <sys/time.h>
1227 #include <sys/types.h>
1228 #ifdef HAVE_ASM_TYPES_H
1229 #include <asm/types.h>
1232 dnl **** Check for types ****
1236 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1237 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1238 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1240 AC_CACHE_CHECK([whether linux/input.h is for real],
1241 wine_cv_linux_input_h,
1243 #include <linux/input.h>
1245 int foo = EVIOCGBIT(EV_ABS,42);
1246 int bar = BTN_PINKIE;
1249 wine_cv_linux_input_h=yes,
1250 wine_cv_linux_input_h=no,
1254 if test "$wine_cv_linux_input_h" = "yes"
1256 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1257 [Define if we have linux/input.h AND it contains the INPUT event API])
1260 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1261 [#ifdef HAVE_LINUX_INPUT_H
1262 #include <linux/input.h>
1265 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1266 AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1267 wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1268 if test "$wine_cv_have_sigaddset" = "yes"
1270 AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1274 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1275 wine_cv_linux_gethostbyname_r_6,
1281 struct hostent *result;
1288 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1289 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1291 wine_cv_linux_gethostbyname_r_6=yes,
1292 wine_cv_linux_gethostbyname_r_6=no
1295 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1297 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1298 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1301 if test "$ac_cv_header_linux_joystick_h" = "yes"
1303 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1304 wine_cv_linux_joystick_22_api,
1306 #include <sys/ioctl.h>
1307 #include <linux/joystick.h>
1309 struct js_event blub;
1310 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1311 #error "no 2.2 header"
1314 wine_cv_linux_joystick_22_api=yes,
1315 wine_cv_linux_joystick_22_api=no,
1316 wine_cv_linux_joystick_22_api=no
1319 if test "$wine_cv_linux_joystick_22_api" = "yes"
1321 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1322 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1326 dnl **** statfs checks ****
1328 if test "$ac_cv_header_sys_vfs_h" = "yes"
1330 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1331 wine_cv_sys_vfs_has_statfs,
1333 #include <sys/types.h>
1334 #ifdef HAVE_SYS_PARAM_H
1335 # include <sys/param.h>
1337 #include <sys/vfs.h>
1341 memset(&stfs,0,sizeof(stfs));
1342 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1345 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1347 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1348 [Define if the struct statfs is defined by <sys/vfs.h>])
1352 if test "$ac_cv_header_sys_statfs_h" = "yes"
1354 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1355 wine_cv_sys_statfs_has_statfs,
1357 #include <sys/types.h>
1358 #ifdef HAVE_SYS_PARAM_H
1359 # include <sys/param.h>
1361 #include <sys/statfs.h>
1364 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1367 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1369 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1370 [Define if the struct statfs is defined by <sys/statfs.h>])
1374 if test "$ac_cv_header_sys_mount_h" = "yes"
1376 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1377 wine_cv_sys_mount_has_statfs,
1379 #include <sys/types.h>
1380 #ifdef HAVE_SYS_PARAM_H
1381 # include <sys/param.h>
1383 #include <sys/mount.h>
1386 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1389 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1391 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1392 [Define if the struct statfs is defined by <sys/mount.h>])
1396 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1398 dnl Check for statfs members
1399 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],,,
1400 [#include <sys/types.h>
1401 #ifdef HAVE_SYS_PARAM_H
1402 # include <sys/param.h>
1404 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1405 # include <sys/mount.h>
1407 # ifdef STATFS_DEFINED_BY_SYS_VFS
1408 # include <sys/vfs.h>
1410 # ifdef STATFS_DEFINED_BY_SYS_STATFS
1411 # include <sys/statfs.h>
1416 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1417 [#ifdef HAVE_SYS_STATVFS_H
1418 #include <sys/statvfs.h>
1421 dnl Check for socket structure members
1422 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1423 [#include <sys/types.h>
1424 #ifdef HAVE_SYS_SOCKET_H
1425 # include <sys/socket.h>
1427 #ifdef HAVE_SYS_UN_H
1428 # include <sys/un.h>
1431 dnl Check for scsireq_t and sg_io_hdr_t members
1432 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1433 [#include <sys/types.h>
1434 #ifdef HAVE_SCSI_SG_H
1435 #include <scsi/sg.h>
1438 dnl Check for siginfo_t members
1439 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1441 dnl Check for struct option
1442 AC_CHECK_MEMBERS([struct option.name],,,
1443 [#ifdef HAVE_GETOPT_H
1447 dnl Check for stat.st_blocks
1448 AC_CHECK_MEMBERS([struct stat.st_blocks])
1450 dnl Check for the external timezone variables timezone and daylight
1451 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1452 AC_TRY_LINK([#include <time.h>],[timezone;],
1453 ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1454 if test "$ac_cv_have_timezone" = "yes"
1456 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1458 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1459 AC_TRY_LINK([#include <time.h>],[daylight;],
1460 ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1461 if test "$ac_cv_have_daylight" = "yes"
1463 AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1466 dnl *** check for the need to define platform-specific symbols
1469 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1470 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1471 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1472 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1475 case $host_vendor in
1476 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1479 dnl **** Generate output files ****
1481 AH_TOP([#define __WINE_CONFIG_H])
1483 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1484 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1485 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1486 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1487 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1488 WINE_CONFIG_EXTRA_DIR(include/wine)
1490 MAKE_RULES=Make.rules
1491 AC_SUBST_FILE(MAKE_RULES)
1493 MAKE_DLL_RULES=dlls/Makedll.rules
1494 AC_SUBST_FILE(MAKE_DLL_RULES)
1496 MAKE_TEST_RULES=dlls/Maketest.rules
1497 AC_SUBST_FILE(MAKE_TEST_RULES)
1499 MAKE_LIB_RULES=libs/Makelib.rules
1500 AC_SUBST_FILE(MAKE_LIB_RULES)
1502 MAKE_PROG_RULES=programs/Makeprog.rules
1503 AC_SUBST_FILE(MAKE_PROG_RULES)
1510 programs/Makeprog.rules
1513 dlls/activeds/Makefile
1514 dlls/advapi32/Makefile
1515 dlls/advapi32/tests/Makefile
1516 dlls/advpack/Makefile
1517 dlls/advpack/tests/Makefile
1518 dlls/amstream/Makefile
1520 dlls/avicap32/Makefile
1521 dlls/avifil32/Makefile
1522 dlls/cabinet/Makefile
1523 dlls/capi2032/Makefile
1525 dlls/cfgmgr32/Makefile
1526 dlls/comcat/Makefile
1527 dlls/comctl32/Makefile
1528 dlls/comctl32/tests/Makefile
1529 dlls/commdlg/Makefile
1530 dlls/crtdll/Makefile
1531 dlls/crypt32/Makefile
1532 dlls/crypt32/tests/Makefile
1533 dlls/cryptdll/Makefile
1540 dlls/d3dxof/Makefile
1541 dlls/dbghelp/Makefile
1542 dlls/dciman32/Makefile
1544 dlls/ddraw/tests/Makefile
1545 dlls/devenum/Makefile
1546 dlls/dinput/Makefile
1547 dlls/dinput/tests/Makefile
1548 dlls/dinput8/Makefile
1549 dlls/dmband/Makefile
1550 dlls/dmcompos/Makefile
1552 dlls/dmloader/Makefile
1553 dlls/dmscript/Makefile
1554 dlls/dmstyle/Makefile
1555 dlls/dmsynth/Makefile
1556 dlls/dmusic/Makefile
1557 dlls/dmusic32/Makefile
1559 dlls/dplayx/Makefile
1561 dlls/dpnhpast/Makefile
1562 dlls/dsound/Makefile
1563 dlls/dsound/tests/Makefile
1564 dlls/dswave/Makefile
1565 dlls/dxdiagn/Makefile
1566 dlls/dxerr8/Makefile
1567 dlls/dxerr9/Makefile
1568 dlls/dxguid/Makefile
1570 dlls/gdi/tests/Makefile
1572 dlls/glut32/Makefile
1573 dlls/hhctrl.ocx/Makefile
1574 dlls/iccvid/Makefile
1576 dlls/ifsmgr.vxd/Makefile
1577 dlls/imagehlp/Makefile
1579 dlls/iphlpapi/Makefile
1580 dlls/iphlpapi/tests/Makefile
1582 dlls/kernel/Makefile
1583 dlls/kernel/tests/Makefile
1584 dlls/lzexpand/Makefile
1585 dlls/lzexpand/tests/Makefile
1586 dlls/mapi32/Makefile
1587 dlls/mapi32/tests/Makefile
1588 dlls/midimap/Makefile
1590 dlls/mlang/tests/Makefile
1591 dlls/mmdevldr.vxd/Makefile
1592 dlls/monodebg.vxd/Makefile
1595 dlls/msacm/imaadp32/Makefile
1596 dlls/msacm/msadp32/Makefile
1597 dlls/msacm/msg711/Makefile
1598 dlls/msacm/winemp3/Makefile
1599 dlls/msacm/tests/Makefile
1601 dlls/mscms/tests/Makefile
1603 dlls/mshtml/Makefile
1604 dlls/mshtml/tests/Makefile
1606 dlls/msi/tests/Makefile
1607 dlls/msimg32/Makefile
1608 dlls/msisys/Makefile
1609 dlls/msnet32/Makefile
1610 dlls/msrle32/Makefile
1611 dlls/msvcrt/Makefile
1612 dlls/msvcrt/tests/Makefile
1613 dlls/msvcrt20/Makefile
1614 dlls/msvcrt40/Makefile
1615 dlls/msvcrtd/Makefile
1616 dlls/msvcrtd/tests/Makefile
1617 dlls/msvidc32/Makefile
1618 dlls/msvideo/Makefile
1619 dlls/mswsock/Makefile
1620 dlls/msxml3/Makefile
1621 dlls/netapi32/Makefile
1622 dlls/netapi32/tests/Makefile
1623 dlls/newdev/Makefile
1625 dlls/ntdll/tests/Makefile
1626 dlls/objsel/Makefile
1627 dlls/odbc32/Makefile
1628 dlls/odbccp32/Makefile
1630 dlls/ole32/tests/Makefile
1631 dlls/oleacc/Makefile
1632 dlls/oleaut32/Makefile
1633 dlls/oleaut32/tests/Makefile
1634 dlls/olecli/Makefile
1635 dlls/oledlg/Makefile
1636 dlls/olepro32/Makefile
1637 dlls/olesvr/Makefile
1638 dlls/opengl32/Makefile
1639 dlls/powrprof/Makefile
1641 dlls/psapi/tests/Makefile
1643 dlls/quartz/Makefile
1644 dlls/quartz/tests/Makefile
1645 dlls/rasapi32/Makefile
1646 dlls/riched20/Makefile
1647 dlls/richedit/Makefile
1648 dlls/rpcrt4/Makefile
1649 dlls/rpcrt4/tests/Makefile
1650 dlls/rsabase/Makefile
1651 dlls/rsabase/tests/Makefile
1652 dlls/rsaenh/Makefile
1653 dlls/rsaenh/tests/Makefile
1654 dlls/secur32/Makefile
1655 dlls/secur32/tests/Makefile
1656 dlls/sensapi/Makefile
1657 dlls/serialui/Makefile
1658 dlls/setupapi/Makefile
1659 dlls/shdocvw/Makefile
1660 dlls/shell32/Makefile
1661 dlls/shell32/tests/Makefile
1662 dlls/shfolder/Makefile
1663 dlls/shlwapi/Makefile
1664 dlls/shlwapi/tests/Makefile
1665 dlls/snmpapi/Makefile
1666 dlls/stdole2.tlb/Makefile
1667 dlls/stdole32.tlb/Makefile
1669 dlls/strmiids/Makefile
1670 dlls/tapi32/Makefile
1671 dlls/ttydrv/Makefile
1673 dlls/unicows/Makefile
1675 dlls/urlmon/Makefile
1676 dlls/urlmon/tests/Makefile
1678 dlls/user/tests/Makefile
1681 dlls/uxtheme/Makefile
1682 dlls/vdhcp.vxd/Makefile
1683 dlls/vdmdbg/Makefile
1684 dlls/version/Makefile
1685 dlls/version/tests/Makefile
1686 dlls/vmm.vxd/Makefile
1687 dlls/vnbt.vxd/Makefile
1688 dlls/vnetbios.vxd/Makefile
1689 dlls/vtdapi.vxd/Makefile
1690 dlls/vwin32.vxd/Makefile
1691 dlls/win32s/Makefile
1692 dlls/winaspi/Makefile
1693 dlls/wined3d/Makefile
1694 dlls/winedos/Makefile
1695 dlls/wineps/Makefile
1696 dlls/wininet/Makefile
1697 dlls/wininet/tests/Makefile
1699 dlls/winmm/joystick/Makefile
1700 dlls/winmm/mcianim/Makefile
1701 dlls/winmm/mciavi/Makefile
1702 dlls/mcicda/Makefile
1703 dlls/winmm/mciseq/Makefile
1704 dlls/winmm/mciwave/Makefile
1705 dlls/winmm/tests/Makefile
1706 dlls/winmm/wavemap/Makefile
1707 dlls/winmm/winealsa/Makefile
1708 dlls/winmm/winearts/Makefile
1709 dlls/winmm/wineaudioio/Makefile
1710 dlls/winmm/wineesd/Makefile
1711 dlls/winmm/winejack/Makefile
1712 dlls/winmm/winenas/Makefile
1713 dlls/winmm/wineoss/Makefile
1714 dlls/winnls/Makefile
1715 dlls/winsock/Makefile
1716 dlls/winsock/tests/Makefile
1717 dlls/winspool/Makefile
1718 dlls/winspool/tests/Makefile
1719 dlls/wintab32/Makefile
1720 dlls/wintrust/Makefile
1721 dlls/wldap32/Makefile
1723 dlls/wsock32/Makefile
1724 dlls/wtsapi32/Makefile
1725 dlls/x11drv/Makefile
1726 documentation/Makefile
1731 libs/unicode/Makefile
1736 programs/avitools/Makefile
1737 programs/clock/Makefile
1738 programs/cmdlgtst/Makefile
1739 programs/control/Makefile
1740 programs/expand/Makefile
1741 programs/hh/Makefile
1742 programs/msiexec/Makefile
1743 programs/notepad/Makefile
1744 programs/progman/Makefile
1745 programs/regedit/Makefile
1746 programs/regsvr32/Makefile
1747 programs/rpcss/Makefile
1748 programs/rundll32/Makefile
1749 programs/start/Makefile
1750 programs/taskmgr/Makefile
1751 programs/uninstaller/Makefile
1752 programs/view/Makefile
1753 programs/wcmd/Makefile
1754 programs/wineboot/Makefile
1755 programs/winebrowser/Makefile
1756 programs/winecfg/Makefile
1757 programs/wineconsole/Makefile
1758 programs/winedbg/Makefile
1759 programs/winefile/Makefile
1760 programs/winemenubuilder/Makefile
1761 programs/winemine/Makefile
1762 programs/winepath/Makefile
1763 programs/winetest/Makefile
1764 programs/winevdm/Makefile
1765 programs/winhelp/Makefile
1766 programs/winver/Makefile
1770 tools/winapi/Makefile
1771 tools/winebuild/Makefile
1772 tools/winedump/Makefile
1773 tools/winegcc/Makefile
1775 tools/wrc/Makefile])
1779 if test "$have_x" = "no"
1782 echo "*** Warning: X development files not found. Wine will be built without"
1783 echo "*** X support, which currently does not work, and would probably not be"
1784 echo "*** what you want anyway. You will need to install devel packages of"
1785 echo "*** Xlib/Xfree86 at the very least."
1788 if test "$wine_cv_opengl_version_OK" = "no"
1791 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1792 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1795 if test "$wine_cv_msg_freetype" = "yes"
1798 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1799 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1800 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1801 echo "*** enable Wine to use TrueType fonts."
1804 if test -z "$ALSALIBS" -a -z "$ARTSC_LIBS" -a -z "$AUDIOIOLIBS" -a \
1805 -z "$ac_cv_lib_soname_jack" -a -z "$NASLIBS" -a \
1806 "$ac_cv_c_opensoundsystem" = "no" -a -z "$ESD_LIBS"
1808 echo "*** No sound system was found. Windows applications will be silent."
1809 echo "*** The currently supported sound systems are:"
1810 echo "*** ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS"
1814 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1817 dnl Local Variables:
1818 dnl comment-start: "dnl "
1820 dnl comment-start-skip: "\\bdnl\\b\\s *"
1821 dnl compile-command: "autoconf"