1 dnl Process this file with autoconf to produce a configure script.
2 dnl Original author: Michael Patra
3 dnl See ChangeLog file for detailed change history.
5 m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1]))
8 AC_INIT([Wine],WINE_VERSION,[wine-devel@winehq.org])
9 AC_CONFIG_SRCDIR(server/atom.c)
10 AC_CONFIG_HEADERS(include/config.h)
11 AC_CONFIG_AUX_DIR(tools)
13 dnl **** Command-line arguments ****
15 AC_ARG_ENABLE(win16, AC_HELP_STRING([--disable-win16],[do not include Win16 support]))
16 AC_ARG_ENABLE(win64, AC_HELP_STRING([--enable-win64], [build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
18 AC_ARG_WITH(opengl, AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
19 AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses]))
20 AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
25 if test "x$enable_win64" != "xyes"
27 test -n "$CC" || CC="gcc -m32"
28 test -n "$LD" || LD="ld -m elf_i386"
29 test -n "$AS" || AS="as --32"
35 dnl enable_win16 defaults to yes on x86, to no on other CPUs
38 if test "x$enable_win16" != "xno"
45 AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
46 AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
47 if test "x$enable_win16" != "xyes"
53 dnl **** Check for some programs ****
58 dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
59 AC_CHECK_TOOL(CPPBIN,cpp,cpp)
61 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
62 [if test -z "$with_wine_tools"; then
63 if test "$cross_compiling" = "yes"; then
64 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
66 wine_cv_toolsdir="\$(TOPOBJDIR)"
68 elif test -d "$with_wine_tools/tools/winebuild"; then
69 case $with_wine_tools in
70 /*) wine_cv_toolsdir="$with_wine_tools" ;;
71 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
74 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
76 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
81 dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
82 dnl **** without one present.
83 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
84 if test "$XLEX" = "none"
86 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
90 AC_CHECK_PROGS(BISON,bison,none)
91 if test "$BISON" = "none"
93 AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
96 AC_CHECK_TOOLS(AS,[gas as],as)
97 AC_CHECK_TOOL(LD,ld,ld)
98 AC_CHECK_TOOL(AR,ar,ar)
100 AC_CHECK_TOOL(STRIP,strip,strip)
101 AC_CHECK_TOOL(WINDRES,windres,false)
105 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
107 dnl Prepend src dir to install path dir if it's a relative path
109 [[\\/$]]* | ?:[[\\/]]* ) ;;
110 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
114 AC_CHECK_PROGS(LINT, lclint lint)
115 if test "$LINT" = "lint"
117 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
118 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
123 dnl Check for various programs
124 AC_CHECK_PROGS(FONTFORGE, fontforge, false)
125 AC_CHECK_PROGS(PKG_CONFIG, pkg-config, false)
129 AC_CHECK_PROGS(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
133 dnl **** Check for some libraries ****
135 dnl Check for -li386 for NetBSD and OpenBSD
136 AC_CHECK_LIB(i386,i386_set_ldt)
137 dnl Check for -lossaudio for NetBSD
138 AC_CHECK_LIB(ossaudio,_oss_ioctl)
139 dnl Check for -lnsl for Solaris
140 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
141 dnl Check for -lsocket for Solaris
142 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
143 dnl Check for -lresolv for Solaris
144 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
145 dnl Check for -lxpg4 for FreeBSD
146 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
147 dnl Check for -lpoll for Mac OS X/Darwin
148 AC_CHECK_LIB(poll,poll)
149 dnl Check for -lresolv for Mac OS X/Darwin
150 AC_CHECK_LIB(resolv,res_9_init)
151 dnl Check for -lpthread
152 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
156 AC_SUBST(OPENGLFILES,"")
157 AC_SUBST(GLU32FILES,"")
158 AC_SUBST(OPENGL_LIBS,"")
160 dnl **** Check for header files ****
175 fontconfig/fontconfig.h \
201 machine/soundcard.h \
270 dnl **** Checks for headers that depend on other ones ****
272 AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
273 [#include <sys/types.h>
275 # include <sys/param.h>
278 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
279 [#include <sys/types.h>
280 #if HAVE_SYS_SOCKET_H
281 # include <sys/socket.h>
284 AC_CHECK_HEADERS([resolv.h],,,
285 [#include <sys/types.h>
286 #if HAVE_SYS_SOCKET_H
287 # include <sys/socket.h>
289 #if HAVE_NETINET_IN_H
290 # include <netinet/in.h>
292 #if HAVE_ARPA_NAMESER_H
293 # include <arpa/nameser.h>
296 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
298 AC_CHECK_HEADERS([linux/ipx.h linux/videodev.h],,,
299 [#ifdef HAVE_SYS_TIME_H
300 #include <sys/time.h>
302 #include <sys/types.h>
303 #ifdef HAVE_ASM_TYPES_H
304 #include <asm/types.h>
307 dnl Check for broken kernel header that doesn't define __user
308 AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])
310 dnl **** Check for X11 ****
312 if test "$have_x" = "yes"
315 ac_save_CPPFLAGS="$CPPFLAGS"
316 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
318 dnl *** All of the following tests require X11/Xlib.h
319 AC_CHECK_HEADERS([X11/Xlib.h \
322 X11/extensions/shape.h \
323 X11/extensions/XInput.h \
324 X11/extensions/XShm.h \
325 X11/extensions/Xrandr.h \
326 X11/extensions/Xrender.h \
327 X11/extensions/xf86dga.h \
328 X11/extensions/xf86vmode.h],,,
329 [#ifdef HAVE_X11_XLIB_H
330 # include <X11/Xlib.h>
332 #ifdef HAVE_X11_XUTIL_H
333 # include <X11/Xutil.h>
336 dnl *** Check for X keyboard extension
337 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
339 AC_CHECK_LIB(X11, XkbQueryExtension,
340 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
341 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
344 dnl *** Check for X Shm extension
345 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
347 AC_CHECK_LIB(Xext, XShmQueryExtension,
348 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
349 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
352 dnl *** Check for X shape extension
353 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
355 AC_CHECK_LIB(Xext,XShapeQueryExtension,
356 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
357 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
360 dnl *** Check for XFree86 DGA / DGA 2.0 extension
361 if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
363 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
364 [ AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
365 [Define if you have the Xxf86dga library version 2])
366 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
368 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
371 dnl *** Check for XFree86 VMODE extension
372 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
374 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
375 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
376 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
378 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
381 dnl *** Check for X RandR extension
382 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
384 AC_TRY_COMPILE([#include <X11/Xlib.h>
385 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
386 [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
389 dnl *** Check for Transform functions in Xrender
390 if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
392 AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
393 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
394 [Define if Xrender has the XRenderSetPictureTransform function])],,
395 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
397 dnl *** End of X11/Xlib.h check
399 dnl Check for the presence of OpenGL
400 if test "x$with_opengl" != "xno"
402 AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h GL/glu.h,,,
403 [#ifdef HAVE_GL_GLX_H
406 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
408 dnl Check for some problems due to old Mesa versions
409 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
411 [#include <GL/gl.h>],
412 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
413 [wine_cv_opengl_version_OK="yes"],
414 [wine_cv_opengl_version_OK="no"]
418 if test "$wine_cv_opengl_version_OK" = "yes"
420 dnl Check for the presence of the library
421 AC_CHECK_LIB(GL,glXCreateContext,
424 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
426 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
428 OPENGLFILES='$(OPENGLFILES)'
429 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
431 if test -f /usr/X11R6/lib/libGL.a
433 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
434 This prevents linking to OpenGL. Delete the file and restart configure.])
438 dnl Check for GLU32 library.
439 AC_CHECK_LIB(GLU,gluLookAt,
440 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
441 GLU32FILES='$(GLU32FILES)']
443 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
447 dnl Check for glut32 library.
448 AC_CHECK_LIB(glut,glutMainLoop,
449 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
450 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
451 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
455 dnl **** Check for NAS ****
457 AC_CHECK_HEADERS(audio/audiolib.h,
458 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
459 AC_CHECK_LIB(audio,AuCreateFlow,
460 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
461 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
462 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
464 CPPFLAGS="$ac_save_CPPFLAGS"
472 dnl **** Check for libxml2 ****
474 AC_SUBST(XML2LIBS,"")
475 AC_SUBST(XML2INCL,"")
476 AC_SUBST(XSLTLIBS,"")
477 AC_SUBST(XSLTINCL,"")
478 if test "$PKG_CONFIG" != "false"
480 ac_save_CPPFLAGS="$CPPFLAGS"
481 ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0`"
482 ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0`"
483 CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
484 AC_CHECK_HEADERS(libxml/parser.h,
485 [AC_CHECK_LIB(xml2, xmlParseMemory,
486 [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
487 XML2LIBS="$ac_xml_libs"
488 XML2INCL="$ac_xml_cflags"],,$ac_xml_libs)
489 AC_CHECK_LIB(xml2, xmlReadMemory,
490 [AC_DEFINE(HAVE_XMLREADMEMORY,1,[Define if libxml2 has the xmlReadMemory function])],,$ac_xml_libs)
492 CPPFLAGS="$ac_save_CPPFLAGS"
493 ac_xslt_libs="`$PKG_CONFIG --libs libxslt`"
494 ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt`"
495 CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
496 AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],
497 [AC_CHECK_LIB(xslt, xsltCompilePattern,
498 [AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have the libxslt library])
499 XSLTLIBS="$ac_xslt_libs"
500 XSLTINCL="$ac_xslt_cflags"],,$ac_xslt_libs)
502 [#ifdef HAVE_LIBXSLT_PATTERN_H
503 # include <libxslt/pattern.h>
505 CPPFLAGS="$ac_save_CPPFLAGS"
508 dnl **** Check which curses lib to use ***
510 if test "x$with_curses" != "xno"
512 if test "$ac_cv_header_ncurses_h" = "yes"
514 AC_CHECK_LIB(ncurses,waddch,
515 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
516 CURSESLIBS="-lncurses"])
517 elif test "$ac_cv_header_curses_h" = "yes"
519 AC_CHECK_LIB(curses,waddch,
520 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
521 CURSESLIBS="-lcurses"])
526 dnl **** Check for SANE ****
527 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
528 AC_SUBST(SANELIBS,"")
529 AC_SUBST(SANEINCL,"")
530 if test "$sane_devel" != "no"
532 SANELIBS="`$sane_devel --libs`"
533 SANEINCL="`$sane_devel --cflags`"
534 ac_save_CPPFLAGS="$CPPFLAGS"
536 CPPFLAGS="$CPPFLAGS $SANEINCL"
537 LIBS="$LIBS $SANELIBS"
538 AC_CHECK_HEADER(sane/sane.h,
539 [AC_CHECK_LIB(sane,sane_open,
540 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
546 CPPFLAGS="$ac_save_CPPFLAGS"
549 dnl **** Check for the ICU library ****
550 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
553 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
554 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libsicuuc.a}"
555 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libsicudata.a}"
556 AC_MSG_CHECKING(whether can link with ICU libraries $ICUUC_LIB and $ICUDATA_LIB)
557 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
558 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
559 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
560 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")
566 dnl **** Check for resolver library ***
567 AC_SUBST(RESOLVLIBS,"")
568 if test "$ac_cv_header_resolv_h" = "yes"
570 AC_CHECK_LIB(resolv, res_query,
571 [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
572 RESOLVLIBS="-lresolv"])
575 dnl **** Check for LittleCMS ***
576 AC_SUBST(LCMSLIBS,"")
577 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
579 AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
580 [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
584 dnl **** Check for OpenLDAP ***
585 AC_SUBST(LDAPLIBS,"")
586 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
588 AC_CHECK_LIB(ldap_r, ldap_initialize,
589 [AC_CHECK_LIB(lber, ber_init,
590 [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
591 LDAPLIBS="-lldap_r -llber"],,
594 WINE_CHECK_LIB_FUNCS(\
595 ldap_count_references \
596 ldap_first_reference \
597 ldap_next_reference \
598 ldap_parse_reference,
599 [$LDAPLIBS $LIBPTHREAD])
602 dnl **** Check for FreeType 2 ****
603 AC_SUBST(FREETYPELIBS,"")
604 AC_SUBST(FREETYPEINCL,"")
605 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
606 if test "$ft_lib" = "no"
608 wine_cv_msg_freetype=no
610 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
611 if test "$ft_devel" = "no"
613 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
614 if test "$ft_devel2" = "freetype2-config"
619 if test "$ft_devel" = "no"
621 wine_cv_msg_freetype=yes
623 FREETYPELIBS=`$ft_devel --libs`
624 FREETYPEINCL=`$ft_devel --cflags`
625 ac_save_CPPFLAGS="$CPPFLAGS"
626 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
627 AC_CHECK_HEADERS(ft2build.h \
628 freetype/freetype.h \
630 freetype/tttables.h \
632 freetype/ftsnames.h \
633 freetype/ttnameid.h \
635 freetype/ftwinfnt.h \
636 freetype/ftmodapi.h \
637 freetype/internal/sfnt.h,,,
639 #include <ft2build.h>
641 AC_TRY_CPP([#include <ft2build.h>
642 #include <freetype/fttrigon.h>],
643 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
644 [Define if you have the <freetype/fttrigon.h> header file.])
645 wine_cv_fttrigon=yes],
647 AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
648 ac_save_CFLAGS="$CFLAGS"
649 CFLAGS="$CFLAGS $FREETYPELIBS"
650 AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
651 CFLAGS="$ac_save_CFLAGS"
652 CPPFLAGS="$ac_save_CPPFLAGS"
653 dnl Check that we have at least freetype/freetype.h
654 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
656 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
657 wine_cv_msg_freetype=no
661 wine_cv_msg_freetype=yes
666 dnl Only build the fonts dir if we have both freetype and fontforge
667 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
669 AC_SUBST(FONTSSUBDIRS,"fonts")
672 wine_cv_msg_fonts=yes
675 dnl **** Check for parport (currently Linux only) ****
676 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
678 [#include <linux/ppdev.h>],
679 [ioctl (1,PPCLAIM,0)],
680 [ac_cv_c_ppdev="yes"],
681 [ac_cv_c_ppdev="no"])
683 if test "$ac_cv_c_ppdev" = "yes"
685 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
688 dnl **** Check for va_copy ****
689 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
691 [#include <stdarg.h>],
695 [ac_cv_c_va_copy="yes"],
696 [ac_cv_c_va_copy="no"])
698 if test "$ac_cv_c_va_copy" = "yes"
700 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
702 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
704 [#include <stdarg.h>],
708 [ac_cv_c___va_copy="yes"],
709 [ac_cv_c___va_copy="no"])
711 if test "$ac_cv_c___va_copy" = "yes"
713 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
716 dnl **** Check for sigsetjmp ****
717 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
719 [#include <setjmp.h>],
722 siglongjmp( buf, 1 );],
723 [ac_cv_c_sigsetjmp="yes"],
724 [ac_cv_c_sigsetjmp="no"])
726 if test "$ac_cv_c_sigsetjmp" = "yes"
728 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
731 dnl **** Check for pthread_rwlock_t ****
732 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
733 #include <pthread.h>])
735 dnl **** Check for pthread functions ****
736 WINE_CHECK_LIB_FUNCS(\
738 pthread_get_stackaddr_np \
739 pthread_get_stacksize_np,
742 dnl **** Check for aRts Sound Server ****
743 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
744 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
747 for i in `$ARTSCCONFIG --cflags`
750 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
754 for i in `$ARTSCCONFIG --libs`
757 -L/usr/lib|-L/usr/lib64) ;;
758 -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
761 save_CFLAGS="$CFLAGS"
762 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
763 AC_CHECK_LIB(artsc,arts_init,
764 [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
765 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
766 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
767 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
769 CFLAGS="$save_CFLAGS"
772 dnl **** Check for EsounD ****
773 AC_PATH_PROG(ESDCONFIG, esd-config)
774 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
777 for i in `$ESDCONFIG --cflags`
780 -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
783 ESD_LIBS=`$ESDCONFIG --libs`
784 save_CFLAGS="$CFLAGS"
785 CFLAGS="$CFLAGS $ESD_CFLAGS"
786 AC_CHECK_LIB(esd,esd_open_sound,
787 [AC_SUBST(ESDLIBS, $ESD_LIBS)
788 AC_SUBST(ESDINCL, $ESD_CFLAGS)
789 AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
790 CFLAGS="$save_CFLAGS"
793 dnl **** Check for ALSA 1.x ****
794 AC_SUBST(ALSALIBS,"")
795 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
797 AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
798 [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
799 #include <alsa/asoundlib.h>
800 #elif defined(HAVE_SYS_ASOUNDLIB_H)
801 #include <sys/asoundlib.h>
803 [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
804 [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
805 ALSALIBS="-lasound"])])
808 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
810 AC_SUBST(AUDIOIOLIBS,"")
811 if test "$ac_cv_header_libaudioio_h" = "yes"
813 AC_CHECK_LIB(audioio,AudioIOGetVersion,
814 [AUDIOIOLIBS="-laudioio"
815 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
818 dnl **** Check for capi4linux ****
820 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
822 AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
825 dnl **** Check for gcc specific options ****
827 AC_SUBST(EXTRACFLAGS,"")
828 if test "x${GCC}" = "xyes"
830 EXTRACFLAGS="-Wall -pipe"
832 dnl Check for strength-reduce bug
833 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
835 int L[[4]] = {0,1,2,3};
837 static int Array[[3]];
840 for(i=0; i<B; i++) Array[[i]] = i - 3;
841 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
844 exit( Array[[1]] != -2 || L[[2]] != 3);
846 ac_cv_c_gcc_strength_bug="no",
847 ac_cv_c_gcc_strength_bug="yes",
848 ac_cv_c_gcc_strength_bug="yes") )
849 if test "$ac_cv_c_gcc_strength_bug" = "yes"
851 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
854 dnl Check for -fshort-wchar
855 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
856 [WINE_TRY_CFLAGS([-fshort-wchar],
857 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
858 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
860 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
863 dnl Check for -fno-strict-aliasing
864 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
865 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
866 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
867 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
869 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
872 dnl Check for -gstabs+ option
873 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
874 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
875 if test "$ac_cv_c_gcc_gstabs" = "yes"
877 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
880 dnl Check for -Wdeclaration-after-statement option
881 AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
882 [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
883 if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
885 EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
888 dnl Check for noisy string.h
889 saved_CFLAGS="$CFLAGS"
890 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
891 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
892 AC_TRY_COMPILE([#include <string.h>],[],
893 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
894 CFLAGS="$saved_CFLAGS"
895 if test "$ac_cv_c_string_h_warnings" = "no"
897 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
900 AC_SUBST(BUILTINFLAG,"")
901 saved_CFLAGS="$CFLAGS"
902 CFLAGS="$CFLAGS -Werror"
903 AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
905 [int iswlower(unsigned short);],
906 [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
907 CFLAGS="$saved_CFLAGS"
908 if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
912 iswalnum iswalpha iswcntrl iswdigit iswgraph iswlower \
913 iswprint iswpunct iswspace iswupper iswxdigit towlower towupper
915 BUILTINFLAG="$BUILTINFLAG -fno-builtin-$builtin"
920 dnl **** Check how to define a function in assembly code ****
922 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
924 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
925 ac_cv_asm_func_def=".def",
926 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
927 ac_cv_asm_func_def=".type @function",
928 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
929 ac_cv_asm_func_def=".type 2",
930 ac_cv_asm_func_def="unknown")])]))
932 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
933 case "$ac_cv_asm_func_def" in
935 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
937 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
939 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
941 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
944 dnl **** Check for underscore on external symbols ****
946 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
947 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
948 [extern int ac_test;],
949 [if (ac_test) return 1],
950 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
952 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
953 if test "$ac_cv_c_extern_prefix" = "yes"
955 AC_DEFINE([__ASM_NAME(name)], ["_" name])
957 AC_DEFINE([__ASM_NAME(name)], [name])
960 dnl **** Check for working dll ****
963 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
965 AC_SUBST(LDSHARED,"")
966 AC_SUBST(LDDLLFLAGS,"")
967 AC_SUBST(LIBEXT,"so")
968 AC_SUBST(IMPLIBEXT,"def")
972 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
973 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
974 if test "$DLLWRAP" = "false"; then
977 dnl FIXME - check whether dllwrap works correctly...
981 dnl We can't build 16-bit NE dlls
986 if test "$ac_cv_header_dlfcn_h" = "yes"
988 AC_CHECK_FUNCS(dlopen,,
989 [AC_CHECK_LIB(dl,dlopen,
990 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
993 WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
998 if test "$LIBEXT" = "so"
1000 DLLFLAGS="$DLLFLAGS -fPIC"
1002 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1003 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
1004 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1005 if test "$ac_cv_c_dll_gnuelf" = "yes"
1007 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1008 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1009 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1010 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1011 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1012 if test "$ac_cv_c_dll_zdefs" = "yes"
1014 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1017 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1018 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1019 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1020 if test "$ac_cv_c_dll_init_fini" = "yes"
1022 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1025 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1026 [echo '{ global: *; };' >conftest.map
1027 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1028 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1029 rm -f conftest.map])
1030 if test "$ac_cv_c_ld_version_scripts" = "yes"
1032 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1035 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1036 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1037 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1038 if test "$ac_cv_c_export_dynamic" = "yes"
1040 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1043 AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1044 [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1045 ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1046 if test "$ac_cv_ld_rpath" = "yes"
1048 AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1049 AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
1054 AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1055 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1056 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1057 if test "$ac_cv_ld_reloc_exec" = "yes"
1059 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1065 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1066 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1067 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1068 if test "$ac_cv_c_dll_unixware" = "yes"
1070 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1071 LDDLLFLAGS="-Wl,-G,-B,symbolic"
1074 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1075 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1076 if test "$ac_cv_c_dll_macho" = "yes"
1079 LDDLLFLAGS="-bundle"
1080 LDSHARED="\$(CC) -dynamiclib"
1081 STRIP="$STRIP -u -r"
1082 dnl declare needed frameworks
1083 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1084 AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1085 AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7ffe0000"])
1088 CFLAGS="$CFLAGS -ffixed-r13"
1089 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
1094 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1095 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1096 if test "$ac_cv_c_dll_hpux" = "yes"
1100 LDDLLFLAGS="-shared -fPIC"
1101 LDSHARED="\$(CC) -shared"
1108 dnl Check for cross compiler to build test programs
1109 AC_SUBST(CROSSTEST,"")
1110 if test "$cross_compiling" = "no"
1112 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1113 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1114 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1115 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1120 if test "$LIBEXT" = "a"; then
1122 [could not find a way to build shared libraries.
1123 It is currently not possible to build Wine without shared library
1124 (.so) support to allow transparent switch between .so and .dll files.
1125 If you are using Linux, you will need a newer binutils.]
1131 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
1133 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
1135 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
1138 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1141 AC_SUBST(CRTLIBS,"-lmsvcrt")
1142 AC_SUBST(SOCKETLIBS,"-lws2_32")
1149 linux* | k*bsd*-gnu)
1150 AC_SUBST(MAIN_BINARY,"wine-glibc")
1151 AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1153 AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1155 AC_SUBST(MAIN_BINARY,"wine-kthread") ;;
1158 *) AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1161 dnl **** Get the soname for libraries that we load dynamically ****
1163 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1165 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1166 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1167 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1168 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1169 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1170 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1171 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1172 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1173 WINE_GET_SONAME(cups,cupsGetDefault)
1174 WINE_GET_SONAME(jack,jack_client_new)
1175 WINE_GET_SONAME(fontconfig,FcInit)
1176 WINE_GET_SONAME(ssl,SSL_library_init)
1177 WINE_GET_SONAME(crypto,BIO_new_socket)
1178 WINE_GET_SONAME(ncurses,waddch)
1179 WINE_GET_SONAME(curses,waddch)
1180 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1181 WINE_GET_SONAME(ungif,DGifOpen)
1182 WINE_GET_SONAME(gif,DGifOpen)
1183 WINE_GET_SONAME(capi20,capi20_isinstalled)
1187 dnl **** Check for functions ****
1257 dnl **** Check for types ****
1261 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1262 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1263 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1265 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1266 [#ifdef HAVE_LINUX_INPUT_H
1267 #include <linux/input.h>
1270 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1271 AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1272 wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1273 if test "$wine_cv_have_sigaddset" = "yes"
1275 AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1279 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1280 wine_cv_linux_gethostbyname_r_6,
1286 struct hostent *result;
1293 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1294 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1296 wine_cv_linux_gethostbyname_r_6=yes,
1297 wine_cv_linux_gethostbyname_r_6=no
1300 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1302 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1303 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1306 if test "$ac_cv_header_linux_joystick_h" = "yes"
1308 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1309 wine_cv_linux_joystick_22_api,
1311 #include <sys/ioctl.h>
1312 #include <linux/joystick.h>
1314 struct js_event blub;
1315 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1316 #error "no 2.2 header"
1319 wine_cv_linux_joystick_22_api=yes,
1320 wine_cv_linux_joystick_22_api=no,
1321 wine_cv_linux_joystick_22_api=no
1324 if test "$wine_cv_linux_joystick_22_api" = "yes"
1326 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1327 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1331 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1333 dnl Check for statfs members
1334 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],,,
1335 [#include <sys/types.h>
1336 #ifdef HAVE_SYS_PARAM_H
1337 # include <sys/param.h>
1339 #ifdef HAVE_SYS_MOUNT_H
1340 # include <sys/mount.h>
1342 #ifdef HAVE_SYS_VFS_H
1343 # include <sys/vfs.h>
1345 #ifdef HAVE_SYS_STATFS_H
1346 # include <sys/statfs.h>
1349 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1350 [#ifdef HAVE_SYS_STATVFS_H
1351 #include <sys/statvfs.h>
1354 dnl Check for socket structure members
1355 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1356 [#include <sys/types.h>
1357 #ifdef HAVE_SYS_SOCKET_H
1358 # include <sys/socket.h>
1360 #ifdef HAVE_SYS_UN_H
1361 # include <sys/un.h>
1364 dnl Check for scsireq_t and sg_io_hdr_t members
1365 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1366 [#include <sys/types.h>
1367 #ifdef HAVE_SCSI_SG_H
1368 #include <scsi/sg.h>
1371 dnl Check for siginfo_t members
1372 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1374 dnl Check for struct mtget members
1375 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1376 [#include <sys/types.h>
1377 #ifdef HAVE_SYS_MTIO_H
1378 #include <sys/mtio.h>
1381 dnl Check for struct option
1382 AC_CHECK_MEMBERS([struct option.name],,,
1383 [#ifdef HAVE_GETOPT_H
1387 dnl Check for stat.st_blocks
1388 AC_CHECK_MEMBERS([struct stat.st_blocks])
1390 dnl Check for sin6_scope_id
1391 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1392 [#ifdef HAVE_SYS_TYPES_H
1393 #include <sys/types.h>
1395 #ifdef HAVE_NETINET_IN_H
1396 #include <netinet/in.h>
1399 dnl Check for the external timezone variables timezone and daylight
1400 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1401 AC_TRY_LINK([#include <time.h>],[timezone;],
1402 ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1403 if test "$ac_cv_have_timezone" = "yes"
1405 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1407 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1408 AC_TRY_LINK([#include <time.h>],[daylight;],
1409 ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1410 if test "$ac_cv_have_daylight" = "yes"
1412 AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1415 dnl *** check for the need to define platform-specific symbols
1418 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1419 *x86_64*) WINE_CHECK_DEFINE([__x86_64__]) ;;
1420 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1421 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1422 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1425 case $host_vendor in
1426 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1429 dnl **** Generate output files ****
1431 AH_TOP([#define __WINE_CONFIG_H])
1433 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1434 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1435 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1436 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1437 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1438 WINE_CONFIG_EXTRA_DIR(include/wine)
1440 MAKE_RULES=Make.rules
1441 AC_SUBST_FILE(MAKE_RULES)
1443 MAKE_DLL_RULES=dlls/Makedll.rules
1444 AC_SUBST_FILE(MAKE_DLL_RULES)
1446 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1447 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1449 MAKE_TEST_RULES=dlls/Maketest.rules
1450 AC_SUBST_FILE(MAKE_TEST_RULES)
1452 MAKE_LIB_RULES=libs/Makelib.rules
1453 AC_SUBST_FILE(MAKE_LIB_RULES)
1455 MAKE_PROG_RULES=programs/Makeprog.rules
1456 AC_SUBST_FILE(MAKE_PROG_RULES)
1461 dlls/Makeimplib.rules
1464 programs/Makeprog.rules
1467 dlls/activeds/Makefile
1468 dlls/advapi32/Makefile
1469 dlls/advapi32/tests/Makefile
1470 dlls/advpack/Makefile
1471 dlls/advpack/tests/Makefile
1472 dlls/amstream/Makefile
1474 dlls/avicap32/Makefile
1475 dlls/avifil32/Makefile
1476 dlls/cabinet/Makefile
1477 dlls/cabinet/tests/Makefile
1478 dlls/capi2032/Makefile
1480 dlls/cfgmgr32/Makefile
1481 dlls/comcat/Makefile
1482 dlls/comctl32/Makefile
1483 dlls/comctl32/tests/Makefile
1484 dlls/comdlg32/Makefile
1485 dlls/crtdll/Makefile
1486 dlls/crypt32/Makefile
1487 dlls/crypt32/tests/Makefile
1488 dlls/cryptdll/Makefile
1489 dlls/ctl3d32/Makefile
1492 dlls/d3d9/tests/Makefile
1496 dlls/d3dxof/Makefile
1497 dlls/dbghelp/Makefile
1498 dlls/dciman32/Makefile
1500 dlls/ddraw/tests/Makefile
1501 dlls/devenum/Makefile
1502 dlls/dinput/Makefile
1503 dlls/dinput/tests/Makefile
1504 dlls/dinput8/Makefile
1505 dlls/dmband/Makefile
1506 dlls/dmcompos/Makefile
1508 dlls/dmloader/Makefile
1509 dlls/dmscript/Makefile
1510 dlls/dmstyle/Makefile
1511 dlls/dmsynth/Makefile
1512 dlls/dmusic/Makefile
1513 dlls/dmusic32/Makefile
1514 dlls/dnsapi/Makefile
1515 dlls/dnsapi/tests/Makefile
1517 dlls/dplayx/Makefile
1519 dlls/dpnhpast/Makefile
1520 dlls/dsound/Makefile
1521 dlls/dsound/tests/Makefile
1522 dlls/dswave/Makefile
1523 dlls/dxdiagn/Makefile
1524 dlls/dxerr8/Makefile
1525 dlls/dxerr9/Makefile
1526 dlls/dxguid/Makefile
1528 dlls/gdi/tests/Makefile
1530 dlls/glut32/Makefile
1531 dlls/hhctrl.ocx/Makefile
1532 dlls/iccvid/Makefile
1534 dlls/ifsmgr.vxd/Makefile
1535 dlls/imaadp32.acm/Makefile
1536 dlls/imagehlp/Makefile
1538 dlls/iphlpapi/Makefile
1539 dlls/iphlpapi/tests/Makefile
1541 dlls/kernel/Makefile
1542 dlls/kernel/tests/Makefile
1544 dlls/lz32/tests/Makefile
1545 dlls/mapi32/Makefile
1546 dlls/mapi32/tests/Makefile
1547 dlls/mciavi32/Makefile
1548 dlls/mcicda/Makefile
1549 dlls/mciseq/Makefile
1550 dlls/midimap/Makefile
1552 dlls/mlang/tests/Makefile
1553 dlls/mmdevldr.vxd/Makefile
1554 dlls/monodebg.vxd/Makefile
1556 dlls/msacm32/Makefile
1557 dlls/msacm32/tests/Makefile
1558 dlls/msadp32.acm/Makefile
1560 dlls/mscms/tests/Makefile
1562 dlls/msftedit/Makefile
1563 dlls/msg711.acm/Makefile
1564 dlls/mshtml/Makefile
1565 dlls/mshtml/tests/Makefile
1567 dlls/msi/tests/Makefile
1568 dlls/msimg32/Makefile
1569 dlls/msisys/Makefile
1570 dlls/msnet32/Makefile
1571 dlls/msrle32/Makefile
1572 dlls/msvcrt/Makefile
1573 dlls/msvcrt/tests/Makefile
1574 dlls/msvcrt20/Makefile
1575 dlls/msvcrt40/Makefile
1576 dlls/msvcrtd/Makefile
1577 dlls/msvcrtd/tests/Makefile
1578 dlls/msvfw32/Makefile
1579 dlls/msvidc32/Makefile
1580 dlls/mswsock/Makefile
1581 dlls/msxml3/Makefile
1582 dlls/msxml3/tests/Makefile
1583 dlls/netapi32/Makefile
1584 dlls/netapi32/tests/Makefile
1585 dlls/newdev/Makefile
1587 dlls/ntdll/tests/Makefile
1588 dlls/objsel/Makefile
1589 dlls/odbc32/Makefile
1590 dlls/odbccp32/Makefile
1592 dlls/ole32/tests/Makefile
1593 dlls/oleacc/Makefile
1594 dlls/oleaut32/Makefile
1595 dlls/oleaut32/tests/Makefile
1596 dlls/olecli32/Makefile
1597 dlls/oledlg/Makefile
1598 dlls/olepro32/Makefile
1599 dlls/olesvr32/Makefile
1600 dlls/opengl32/Makefile
1601 dlls/powrprof/Makefile
1603 dlls/psapi/tests/Makefile
1605 dlls/quartz/Makefile
1606 dlls/quartz/tests/Makefile
1607 dlls/rasapi32/Makefile
1608 dlls/riched20/Makefile
1609 dlls/riched20/tests/Makefile
1610 dlls/riched32/Makefile
1611 dlls/rpcrt4/Makefile
1612 dlls/rpcrt4/tests/Makefile
1613 dlls/rsabase/Makefile
1614 dlls/rsabase/tests/Makefile
1615 dlls/rsaenh/Makefile
1616 dlls/rsaenh/tests/Makefile
1617 dlls/secur32/Makefile
1618 dlls/secur32/tests/Makefile
1619 dlls/security/Makefile
1620 dlls/sensapi/Makefile
1621 dlls/serialui/Makefile
1622 dlls/setupapi/Makefile
1623 dlls/setupapi/tests/Makefile
1625 dlls/shdocvw/Makefile
1626 dlls/shdocvw/tests/Makefile
1627 dlls/shell32/Makefile
1628 dlls/shell32/tests/Makefile
1629 dlls/shfolder/Makefile
1630 dlls/shlwapi/Makefile
1631 dlls/shlwapi/tests/Makefile
1632 dlls/snmpapi/Makefile
1633 dlls/spoolss/Makefile
1634 dlls/stdole2.tlb/Makefile
1635 dlls/stdole32.tlb/Makefile
1637 dlls/strmiids/Makefile
1638 dlls/tapi32/Makefile
1639 dlls/twain_32/Makefile
1640 dlls/unicows/Makefile
1642 dlls/urlmon/Makefile
1643 dlls/urlmon/tests/Makefile
1645 dlls/user/tests/Makefile
1647 dlls/usp10/tests/Makefile
1649 dlls/uxtheme/Makefile
1650 dlls/vdhcp.vxd/Makefile
1651 dlls/vdmdbg/Makefile
1652 dlls/version/Makefile
1653 dlls/version/tests/Makefile
1654 dlls/vmm.vxd/Makefile
1655 dlls/vnbt.vxd/Makefile
1656 dlls/vnetbios.vxd/Makefile
1657 dlls/vtdapi.vxd/Makefile
1658 dlls/vwin32.vxd/Makefile
1659 dlls/w32skrnl/Makefile
1660 dlls/winecrt0/Makefile
1661 dlls/wined3d/Makefile
1662 dlls/winedos/Makefile
1663 dlls/winemp3.acm/Makefile
1664 dlls/wineps/Makefile
1665 dlls/wininet/Makefile
1666 dlls/wininet/tests/Makefile
1668 dlls/winmm/joystick/Makefile
1669 dlls/winmm/mciwave/Makefile
1670 dlls/winmm/tests/Makefile
1671 dlls/winmm/wavemap/Makefile
1672 dlls/winmm/winealsa/Makefile
1673 dlls/winmm/winearts/Makefile
1674 dlls/winmm/wineaudioio/Makefile
1675 dlls/winmm/wineesd/Makefile
1676 dlls/winmm/winejack/Makefile
1677 dlls/winmm/winenas/Makefile
1678 dlls/winmm/wineoss/Makefile
1679 dlls/winnls32/Makefile
1680 dlls/winspool/Makefile
1681 dlls/winspool/tests/Makefile
1682 dlls/wintab32/Makefile
1683 dlls/wintrust/Makefile
1684 dlls/wldap32/Makefile
1685 dlls/wnaspi32/Makefile
1687 dlls/ws2_32/Makefile
1688 dlls/ws2_32/tests/Makefile
1689 dlls/wsock32/Makefile
1690 dlls/wtsapi32/Makefile
1691 dlls/x11drv/Makefile
1692 documentation/Makefile
1697 libs/unicode/Makefile
1702 programs/clock/Makefile
1703 programs/cmdlgtst/Makefile
1704 programs/control/Makefile
1705 programs/eject/Makefile
1706 programs/expand/Makefile
1707 programs/explorer/Makefile
1708 programs/hh/Makefile
1709 programs/icinfo/Makefile
1710 programs/iexplore/Makefile
1711 programs/msiexec/Makefile
1712 programs/notepad/Makefile
1713 programs/progman/Makefile
1714 programs/regedit/Makefile
1715 programs/regsvr32/Makefile
1716 programs/rpcss/Makefile
1717 programs/rundll32/Makefile
1718 programs/start/Makefile
1719 programs/taskmgr/Makefile
1720 programs/uninstaller/Makefile
1721 programs/view/Makefile
1722 programs/wcmd/Makefile
1723 programs/wineboot/Makefile
1724 programs/winebrowser/Makefile
1725 programs/winecfg/Makefile
1726 programs/wineconsole/Makefile
1727 programs/winedbg/Makefile
1728 programs/winefile/Makefile
1729 programs/winemenubuilder/Makefile
1730 programs/winemine/Makefile
1731 programs/winepath/Makefile
1732 programs/winetest/Makefile
1733 programs/winevdm/Makefile
1734 programs/winhelp/Makefile
1735 programs/winver/Makefile
1736 programs/wordpad/Makefile
1740 tools/winapi/Makefile
1741 tools/winebuild/Makefile
1742 tools/winedump/Makefile
1743 tools/winegcc/Makefile
1745 tools/wrc/Makefile])
1750 if test "$have_x" = "no"
1753 echo "*** Warning: X development files not found. Wine will be built without"
1754 echo "*** X support, which currently does not work, and would probably not be"
1755 echo "*** what you want anyway. You will need to install devel packages of"
1756 echo "*** Xlib/Xfree86 at the very least."
1760 if test "$wine_cv_opengl_version_OK" = "no"
1763 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1764 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1768 if test "$wine_cv_msg_freetype" = "yes"
1771 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1772 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1773 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1774 echo "*** enable Wine to use TrueType fonts."
1778 if test "$wine_cv_msg_fonts" = "yes"
1781 echo "*** Warning: Freetype or Fontforge is missing."
1782 echo "*** Fonts will not be built. Dialog text may be invisible or unaligned."
1786 if test -z "$ALSALIBS" -a \
1787 -z "$ARTSC_LIBS" -a \
1788 -z "$AUDIOIOLIBS" -a \
1791 -z "$ac_cv_lib_soname_jack" -a \
1792 "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1793 "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1794 "$ac_cv_header_soundcard_h" != "yes"
1796 echo "*** No sound system was found. Windows applications will be silent."
1797 echo "*** The currently supported sound systems are:"
1798 echo "*** ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS"
1803 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1808 dnl Local Variables:
1809 dnl comment-start: "dnl "
1811 dnl comment-start-skip: "\\bdnl\\b\\s *"
1812 dnl compile-command: "autoconf && autoheader"