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>]))
24 AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
25 AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
26 if test "x$enable_win16" = "xno"
31 if test "x$enable_debug" = "xno"
33 AC_DEFINE(NO_DEBUG_MSGS,1,[Define to disable all debug messages.])
35 if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
37 AC_DEFINE(NO_TRACE_MSGS,1,[Define to disable trace messages.])
40 dnl **** Check for some programs ****
45 if test "x$enable_win64" != "xyes"
47 test -n "$CC" || CC="gcc -m32"
48 test -n "$LD" || LD="ld -m elf_i386"
49 test -n "$AS" || AS="as --32"
57 dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
58 AC_CHECK_TOOL(CPPBIN,cpp,cpp)
60 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
61 [if test -z "$with_wine_tools"; then
62 if test "$cross_compiling" = "yes"; then
63 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
65 wine_cv_toolsdir="\$(TOPOBJDIR)"
67 elif test -d "$with_wine_tools/tools/winebuild"; then
68 case $with_wine_tools in
69 /*) wine_cv_toolsdir="$with_wine_tools" ;;
70 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
73 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
75 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
80 dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
81 dnl **** without one present.
82 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
83 if test "$XLEX" = "none"
85 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
89 AC_CHECK_PROGS(BISON,bison,none)
90 if test "$BISON" = "none"
92 AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
95 AC_CHECK_TOOLS(AS,[gas as],as)
96 AC_CHECK_TOOL(LD,ld,ld)
97 AC_CHECK_TOOL(AR,ar,ar)
99 AC_CHECK_TOOL(STRIP,strip,strip)
100 AC_CHECK_TOOL(WINDRES,windres,false)
104 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
106 dnl Prepend src dir to install path dir if it's a relative path
108 [[\\/$]]* | ?:[[\\/]]* ) ;;
109 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
113 AC_CHECK_PROGS(LINT, lclint lint)
114 if test "$LINT" = "lint"
116 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
117 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
122 dnl Check for various programs
123 AC_CHECK_PROGS(DB2HTML, docbook2html db2html, false)
124 AC_CHECK_PROGS(DB2PDF, docbook2pdf db2pdf, false)
125 AC_CHECK_PROGS(DB2PS, docbook2ps db2ps, false)
126 AC_CHECK_PROGS(DB2TXT, docbook2txt db2txt, false)
127 AC_CHECK_PROGS(FONTFORGE, fontforge, false)
129 dnl **** Check for some libraries ****
131 dnl Check for -li386 for NetBSD and OpenBSD
132 AC_CHECK_LIB(i386,i386_set_ldt)
133 dnl Check for -lossaudio for NetBSD
134 AC_CHECK_LIB(ossaudio,_oss_ioctl)
135 dnl Check for -lw for Solaris
136 AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
137 dnl Check for -lnsl for Solaris
138 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
139 dnl Check for -lsocket for Solaris
140 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
141 dnl Check for -lresolv for Solaris
142 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
143 dnl Check for -lxpg4 for FreeBSD
144 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
145 dnl Check for -lpoll for Mac OS X/Darwin
146 AC_CHECK_LIB(poll,poll)
147 dnl Check for -lresolv for Mac OS X/Darwin
148 AC_CHECK_LIB(resolv,res_9_init)
149 dnl Check for -lpthread
150 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
155 AC_SUBST(OPENGLFILES)
159 AC_SUBST(OPENGL_LIBS)
161 if test "$have_x" = "yes"
164 ac_save_CPPFLAGS="$CPPFLAGS"
165 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
167 dnl *** All of the following tests require X11/Xlib.h
168 AC_CHECK_HEADERS(X11/Xlib.h,
170 AC_CHECK_HEADERS([X11/XKBlib.h \
172 X11/extensions/shape.h \
173 X11/extensions/XInput.h \
174 X11/extensions/XShm.h \
175 X11/extensions/Xrandr.h \
176 X11/extensions/Xrender.h \
177 X11/extensions/Xvlib.h \
178 X11/extensions/xf86dga.h \
179 X11/extensions/xf86vmode.h],,,
180 [#include <X11/Xlib.h>
181 #ifdef HAVE_X11_XUTIL_H
182 # include <X11/Xutil.h>
185 dnl *** Check for X keyboard extension
186 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
188 AC_CHECK_LIB(X11, XkbQueryExtension,
189 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
190 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
193 dnl *** Check for X Shm extension
194 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
196 AC_CHECK_LIB(Xext, XShmQueryExtension,
197 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
198 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
201 dnl *** Check for X shape extension
202 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
204 AC_CHECK_LIB(Xext,XShapeQueryExtension,
205 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
206 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
209 dnl *** Check for XFree86 DGA / DGA 2.0 extension
210 if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
212 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
213 [ dnl *** If found...
214 AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
215 [Define if you have the Xxf86dga library version 2])
216 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
218 [ dnl *** If not found, look for XF86DGAQueryExtension()
219 dnl *** instead (DGA 2.0 not found)...
220 AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
221 [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
222 [Define if you have the Xxf86dga library version 1])
223 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
225 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
228 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
231 dnl *** Check for XFree86 VMODE extension
232 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
234 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
235 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
236 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
238 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
241 dnl *** Check for X RandR extension
242 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
244 AC_TRY_COMPILE([#include <X11/Xlib.h>
245 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
246 [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
249 dnl *** Check for XVideo extension supporting XvImages
250 if test "$ac_cv_header_X11_extensions_Xvlib_h" = "yes"
252 AC_CHECK_LIB(Xv, XvShmCreateImage,
253 [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
254 X_PRE_LIBS="$X_PRE_LIBS -lXv"
256 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
259 ) dnl *** End of X11/Xlib.h check
261 dnl Check for the presence of OpenGL
262 if test "x$with_opengl" != "xno"
264 if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
266 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
267 This prevents linking to OpenGL. Delete the file and restart configure.])
270 AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
271 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
273 AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>])
274 dnl Check for some problems due to old Mesa versions
275 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
277 [#include <GL/gl.h>],
278 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
279 [wine_cv_opengl_version_OK="yes"],
280 [wine_cv_opengl_version_OK="no"]
284 if test "$wine_cv_opengl_version_OK" = "yes"
286 dnl Check for the presence of the library
287 AC_CHECK_LIB(GL,glXCreateContext,
290 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
292 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
294 OPENGLFILES='$(OPENGLFILES)'
295 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
297 AC_CHECK_LIB(GL,glXGetProcAddressARB,
298 AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
299 [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
300 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
302 if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
304 AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
305 [AC_TRY_COMPILE([#include <GL/gl.h>
306 #ifdef HAVE_GL_GLEXT_H
307 # include <GL/glext.h>
310 [PFNGLCOLORTABLEEXTPROC test_proc;],
311 [wine_cv_extension_prototypes="yes"],
312 [wine_cv_extension_prototypes="no"]
315 if test "$wine_cv_extension_prototypes" = "yes"
317 AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
318 [Define if the OpenGL headers define extension typedefs])
323 dnl Check for GLU32 library.
324 AC_CHECK_LIB(GLU,gluLookAt,
325 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
326 GLU32FILES='$(GLU32FILES)']
328 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
332 dnl Check for glut32 library.
333 AC_CHECK_LIB(glut,glutMainLoop,
334 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
335 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
336 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
340 dnl **** Check for NAS ****
342 AC_CHECK_HEADERS(audio/audiolib.h,
343 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
344 AC_CHECK_LIB(audio,AuCreateFlow,
345 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
346 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
347 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
349 CPPFLAGS="$ac_save_CPPFLAGS"
357 dnl **** Check which curses lib to use ***
359 if test "x$with_curses" != "xno"
361 AC_CHECK_HEADERS(ncurses.h,
362 [AC_CHECK_LIB(ncurses,waddch,
363 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
364 CURSESLIBS="-lncurses"],
365 [AC_CHECK_HEADERS(curses.h,
366 [AC_CHECK_LIB(curses,waddch,
367 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
368 CURSESLIBS="-lcurses"])])])])
370 LIBS="$CURSESLIBS $LIBS"
371 AC_CHECK_FUNCS(getbkgd resizeterm)
376 dnl **** Check for SANE ****
377 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
378 if test "$sane_devel" = "no"
383 SANELIBS="`$sane_devel --libs`"
384 SANEINCL="`$sane_devel --cflags`"
385 ac_save_CPPFLAGS="$CPPFLAGS"
387 CPPFLAGS="$CPPFLAGS $SANEINCL"
388 LIBS="$LIBS $SANELIBS"
389 AC_CHECK_HEADER(sane/sane.h,
390 [AC_CHECK_LIB(sane,sane_open,
391 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
397 CPPFLAGS="$ac_save_CPPFLAGS"
402 dnl **** Check for the ICU library ****
403 AC_CHECK_HEADERS(unicode/ubidi.h)
404 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
407 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
408 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libsicuuc.a}"
409 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libsicudata.a}"
410 AC_MSG_CHECKING(whether can link with ICU libraries $ICUUC_LIB and $ICUDATA_LIB)
411 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
412 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
413 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
414 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")
420 dnl **** Check for FreeType 2 ****
421 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
422 if test "$ft_lib" = "no"
426 wine_cv_msg_freetype=no
428 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
429 if test "$ft_devel" = "no"
431 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
432 if test "$ft_devel2" = "freetype2-config"
437 if test "$ft_devel" = "no"
441 wine_cv_msg_freetype=yes
443 FREETYPELIBS=`$ft_devel --libs`
444 FREETYPEINCL=`$ft_devel --cflags`
445 ac_save_CPPFLAGS="$CPPFLAGS"
446 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
447 AC_CHECK_HEADERS(ft2build.h \
448 freetype/freetype.h \
450 freetype/tttables.h \
452 freetype/ftsnames.h \
453 freetype/ttnameid.h \
455 freetype/ftwinfnt.h \
456 freetype/internal/sfnt.h,,,
458 #include <ft2build.h>
460 AC_TRY_CPP([#include <ft2build.h>
461 #include <freetype/fttrigon.h>],
462 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
463 [Define if you have the <freetype/fttrigon.h> header file.])
464 wine_cv_fttrigon=yes],
466 CPPFLAGS="$ac_save_CPPFLAGS"
467 dnl Check that we have at least freetype/freetype.h
468 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
470 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
471 wine_cv_msg_freetype=no
475 wine_cv_msg_freetype=yes
479 AC_SUBST(FREETYPELIBS)
480 AC_SUBST(FREETYPEINCL)
482 dnl Only build the fonts dir if we have both freetype and fontforge
483 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
485 AC_SUBST(FONTSSUBDIRS,"fonts")
488 dnl **** Check for parport (currently Linux only) ****
489 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
491 [#include <linux/ppdev.h>],
492 [ioctl (1,PPCLAIM,0)],
493 [ac_cv_c_ppdev="yes"],
494 [ac_cv_c_ppdev="no"])
496 if test "$ac_cv_c_ppdev" = "yes"
498 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
501 dnl **** Check for va_copy ****
502 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
504 [#include <stdarg.h>],
508 [ac_cv_c_va_copy="yes"],
509 [ac_cv_c_va_copy="no"])
511 if test "$ac_cv_c_va_copy" = "yes"
513 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
515 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
517 [#include <stdarg.h>],
521 [ac_cv_c___va_copy="yes"],
522 [ac_cv_c___va_copy="no"])
524 if test "$ac_cv_c___va_copy" = "yes"
526 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
529 dnl **** Check for sigsetjmp ****
530 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
532 [#include <setjmp.h>],
535 siglongjmp( buf, 1 );],
536 [ac_cv_c_sigsetjmp="yes"],
537 [ac_cv_c_sigsetjmp="no"])
539 if test "$ac_cv_c_sigsetjmp" = "yes"
541 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
544 dnl **** Check for pthread_rwlock_t ****
545 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
546 #include <pthread.h>])
548 dnl **** Check for pthread functions ****
550 LIBS="$LIBS $LIBPTHREAD"
553 pthread_get_stackaddr_np \
554 pthread_get_stacksize_np \
558 dnl **** Check for Open Sound System ****
559 AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
561 AC_CACHE_CHECK([for Open Sound System],
562 ac_cv_c_opensoundsystem,
564 #if defined(HAVE_SYS_SOUNDCARD_H)
565 #include <sys/soundcard.h>
566 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
567 #include <machine/soundcard.h>
568 #elif defined(HAVE_SOUNDCARD_H)
569 #include <soundcard.h>
573 /* check for one of the Open Sound System specific SNDCTL_ defines */
574 #if !defined(SNDCTL_DSP_STEREO)
575 #error No open sound system
577 ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
579 if test "$ac_cv_c_opensoundsystem" = "yes"
581 AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
584 AC_CACHE_CHECK([for Open Sound System/MIDI interface],
585 ac_cv_c_opensoundsystem_midi,
587 #if defined(HAVE_SYS_SOUNDCARD_H)
588 #include <sys/soundcard.h>
589 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
590 #include <machine/soundcard.h>
591 #elif defined(HAVE_SOUNDCARD_H)
592 #include <soundcard.h>
596 /* check for one of the Open Sound System specific SNDCTL_SEQ defines */
597 #if !defined(SNDCTL_SEQ_SYNC)
598 #error No open sound system MIDI interface
600 ],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
602 if test "$ac_cv_c_opensoundsystem_midi" = "yes"
604 AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
607 dnl **** Check for aRts Sound Server ****
608 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
609 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
612 for i in `$ARTSCCONFIG --cflags`
615 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
618 ARTSC_LIBS=`$ARTSCCONFIG --libs`
619 save_CFLAGS="$CFLAGS"
620 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
621 AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
622 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
623 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
624 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])
625 CFLAGS="$save_CFLAGS"
628 dnl **** Check for ALSA ****
629 AC_SUBST(ALSALIBS,"")
630 AC_CHECK_HEADERS(alsa/asoundlib.h sys/asoundlib.h, break)
631 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
633 AC_CHECK_LIB(asound,snd_pcm_open,
634 AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA including devel headers])
638 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
640 AC_SUBST(AUDIOIOLIBS,"")
641 AC_CHECK_HEADERS(libaudioio.h,
642 [AC_CHECK_LIB(audioio,AudioIOGetVersion,
643 [AUDIOIOLIBS="-laudioio"
644 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
646 dnl **** Check for capi4linux ****
648 AC_CHECK_HEADERS(capi20.h,[
649 AC_CHECK_HEADERS(linux/capi.h,[
650 AC_CHECK_LIB(capi20,capi20_register,[
651 AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])
652 AC_SUBST(CAPI4LINUXLIBS,"-lcapi20")
657 dnl **** Check for broken glibc mmap64 ****
659 AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
661 #define _FILE_OFFSET_BITS 64
665 #include <sys/mman.h>
668 int main(int argc,char **argv) {
669 int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
670 if (fd == -1) exit(1);
672 unlink("conftest.map");
676 if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
682 fprintf(stderr,"success!\n");
687 ac_cv_mmap64_works="yes",
688 ac_cv_mmap64_works="no",
689 ac_cv_mmap64_works="no") )
691 if test "$ac_cv_mmap64_works" = "yes"
693 AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
696 dnl **** Check for gcc specific options ****
698 AC_SUBST(EXTRACFLAGS,"")
699 if test "x${GCC}" = "xyes"
701 EXTRACFLAGS="-Wall -pipe"
703 dnl Check for strength-reduce bug
704 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
706 int L[[4]] = {0,1,2,3};
708 static int Array[[3]];
711 for(i=0; i<B; i++) Array[[i]] = i - 3;
712 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
715 exit( Array[[1]] != -2 || L[[2]] != 3);
717 ac_cv_c_gcc_strength_bug="no",
718 ac_cv_c_gcc_strength_bug="yes",
719 ac_cv_c_gcc_strength_bug="yes") )
720 if test "$ac_cv_c_gcc_strength_bug" = "yes"
722 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
725 dnl Check for -fshort-wchar
726 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
727 [WINE_TRY_CFLAGS([-fshort-wchar],
728 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
729 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
731 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
734 dnl Check for -mpreferred-stack-boundary
735 AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
736 [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
737 ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
738 if test "$ac_cv_c_gcc_stack_boundary" = "yes"
740 EXTRACFLAGS="$EXTRACFLAGS -mpreferred-stack-boundary=2"
743 dnl Check for -fno-strict-aliasing
744 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
745 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
746 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
747 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
749 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
752 dnl Check for -gstabs+ option
753 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
754 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
755 if test "$ac_cv_c_gcc_gstabs" = "yes"
757 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
760 dnl Check for noisy string.h
761 saved_CFLAGS="$CFLAGS"
762 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
763 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
764 AC_TRY_COMPILE([#include <string.h>],[],
765 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
766 CFLAGS="$saved_CFLAGS"
767 if test "$ac_cv_c_string_h_warnings" = "no"
769 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
773 dnl **** Check how to define a function in assembly code ****
775 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
777 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
778 ac_cv_asm_func_def=".def",
779 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
780 ac_cv_asm_func_def=".type @function",
781 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
782 ac_cv_asm_func_def=".type 2",
783 ac_cv_asm_func_def="unknown")])]))
785 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
786 case "$ac_cv_asm_func_def" in
788 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
790 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
792 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
794 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
797 dnl **** Check for underscore on external symbols ****
799 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
800 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
801 [extern int ac_test;],
802 [if (ac_test) return 1],
803 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
805 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
806 if test "$ac_cv_c_extern_prefix" = "yes"
808 AC_DEFINE([__ASM_NAME(name)], ["_" name])
810 AC_DEFINE([__ASM_NAME(name)], [name])
813 dnl **** Check how to do strings in assembler ****
815 AC_CACHE_CHECK([for assembler keyword for ASCII strings], ac_cv_c_asm_string,
816 WINE_TRY_ASM_LINK([".data\\n\\t.string \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".string",
817 WINE_TRY_ASM_LINK([".data\\n\\t.asciz \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".asciz",
818 WINE_TRY_ASM_LINK([".data\\n\\t.ascii \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".ascii",
819 AC_MSG_ERROR([could not discover how to produce C strings with assembler.])))))
821 AC_DEFINE_UNQUOTED(__ASM_STRING, ["$ac_cv_c_asm_string"],
822 [Define to the assembler keyword used to specify an ASCII string])
824 dnl **** Check for .short in assembler ****
826 AC_CACHE_CHECK([for assembler keyword for word values], ac_cv_c_asm_short,
827 WINE_TRY_ASM_LINK([".data\\n\\t.short 1\\n\\t.text"],,,ac_cv_c_asm_short=".short",
828 WINE_TRY_ASM_LINK([".data\\n\\t.half 1\\n\\t.text"],,,ac_cv_c_asm_short=".half",
829 AC_MSG_ERROR([could not discover how to specify word values with assembler.]))))
831 AC_DEFINE_UNQUOTED(__ASM_SHORT, ["$ac_cv_c_asm_short"],
832 [Define to the assembler keyword used to specify a word value])
834 dnl **** Check for .size in assembler ****
836 AC_CACHE_CHECK([for .size in assembler], ac_cv_c_asm_size,
837 WINE_TRY_ASM_LINK([".globl _ac_test\n.size _ac_test, . - _ac_test"],,,
838 ac_cv_c_asm_size="yes",ac_cv_c_asm_size="no"))
840 if test "$ac_cv_c_asm_size" = "yes"
842 AC_DEFINE(HAVE_ASM_DOT_SIZE, 1, [Define if the assembler keyword .size is accepted])
845 dnl **** Check for working dll ****
848 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
850 AC_SUBST(LDSHARED,"")
851 AC_SUBST(LDDLLFLAGS,"")
852 AC_SUBST(LIBEXT,"so")
853 AC_SUBST(IMPLIBEXT,"def")
857 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
858 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
859 if test "$DLLWRAP" = "false"; then
862 dnl FIXME - check whether dllwrap works correctly...
866 dnl We can't build 16-bit NE dlls
871 AC_CHECK_HEADERS(dlfcn.h,
872 [AC_CHECK_FUNCS(dlopen,,
873 [AC_CHECK_LIB(dl,dlopen,
874 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
879 if test "$LIBEXT" = "so"
881 DLLFLAGS="$DLLFLAGS -fPIC"
883 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
884 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
885 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
886 if test "$ac_cv_c_dll_gnuelf" = "yes"
888 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
889 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
890 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
891 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
892 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
893 if test "$ac_cv_c_dll_zdefs" = "yes"
895 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
898 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
899 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
900 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
901 if test "$ac_cv_c_dll_init_fini" = "yes"
903 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
906 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
907 [echo '{ global: *; };' >conftest.map
908 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
909 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
911 if test "$ac_cv_c_ld_version_scripts" = "yes"
913 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
916 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
917 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
918 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
919 if test "$ac_cv_c_export_dynamic" = "yes"
921 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
926 AC_CACHE_CHECK([whether we can relocate the executable to 0x77f00000], ac_cv_ld_reloc_exec,
927 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x77f00400],
928 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
929 if test "$ac_cv_ld_reloc_exec" = "yes"
931 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x77f00400"
937 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
938 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
939 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
940 if test "$ac_cv_c_dll_unixware" = "yes"
942 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
943 LDDLLFLAGS="-Wl,-G,-B,symbolic"
946 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
947 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
948 if test "$ac_cv_c_dll_macho" = "yes"
951 LDDLLFLAGS="-bundle -flat_namespace -undefined suppress"
952 LDSHARED="\$(CC) -dynamiclib"
953 CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp"
955 dnl Relocate wine executable
956 AC_SUBST(LDEXECFLAGS,"-seg1addr 0x120000")
957 dnl Relocate libwine.dyld too
958 AC_SUBST(LDLIBWINEFLAGS,"-seg1addr 0x140000")
959 dnl declare needed frameworks
960 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
961 AC_SUBST(IOKITLIB,"-framework IOKit")
962 dnl using IOKit imply we use CoreFoundation too
963 IOKITLIB = "$IOKITLIB $COREFOUNDATIONLIB"
965 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
966 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
967 if test "$ac_cv_c_dll_hpux" = "yes"
971 LDSHARED="\$(CC) -shared"
978 dnl Check for cross compiler to build test programs
979 AC_SUBST(CROSSTEST,"")
980 if test "$cross_compiling" = "no"
982 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
983 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
984 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
985 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
990 if test "$LIBEXT" = "a"; then
992 [could not find a way to build shared libraries.
993 It is currently not possible to build Wine without shared library
994 (.so) support to allow transparent switch between .so and .dll files.
995 If you are using Linux, you will need a newer binutils.]
1001 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
1003 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
1005 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
1008 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1011 AC_SUBST(CRTLIBS,"-lmsvcrt")
1012 AC_SUBST(SOCKETLIBS,"-lws2_32")
1018 AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread wine-preloader")
1019 AC_SUBST(MAIN_BINARY,"wine-glibc")
1022 AC_SUBST(WINE_BINARIES,"wine-pthread")
1023 AC_SUBST(MAIN_BINARY,"wine-pthread")
1026 AC_SUBST(WINE_BINARIES,"wine-kthread")
1027 AC_SUBST(MAIN_BINARY,"wine-kthread")
1031 dnl **** Get the soname for libraries that we load dynamically ****
1033 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1035 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1036 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1037 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1038 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1039 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1040 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1041 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1042 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1043 WINE_GET_SONAME(cups,cupsGetDefault)
1044 WINE_GET_SONAME(jack,jack_client_new)
1045 WINE_GET_SONAME(fontconfig,FcInit)
1046 WINE_GET_SONAME(ssl,SSL_library_init)
1047 WINE_GET_SONAME(crypto,BIO_new_socket)
1048 WINE_GET_SONAME(ncurses,waddch)
1049 WINE_GET_SONAME(curses,waddch)
1050 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1051 WINE_GET_SONAME(ungif,DGifOpen)
1052 WINE_GET_SONAME(gif,DGifOpen)
1053 WINE_GET_SONAME(lcms,cmsOpenProfileFromFile)
1057 dnl **** Check for functions ****
1123 dnl **** Check for header files ****
1132 fontconfig/fontconfig.h \
1157 netinet/in_systm.h \
1219 dnl **** Checks for headers that depend on other ones ****
1221 AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
1222 [#include <sys/types.h>
1223 #if HAVE_SYS_PARAM_H
1224 # include <sys/param.h>
1227 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h],,,
1228 [#include <sys/types.h>
1229 #if HAVE_SYS_SOCKET_H
1230 # include <sys/socket.h>
1233 AC_CHECK_HEADERS([resolv.h],,,
1234 [#include <sys/types.h>
1235 #if HAVE_SYS_SOCKET_H
1236 # include <sys/socket.h>
1238 #if HAVE_NETINET_IN_H
1239 # include <netinet/in.h>
1241 #if HAVE_ARPA_NAMESER_H
1242 # include <arpa/nameser.h>
1245 AC_CHECK_HEADERS(netinet/ip.h,,,
1246 [#include <sys/types.h>
1247 #if HAVE_SYS_SOCKET_H
1248 # include <sys/socket.h>
1250 #if HAVE_NETINET_IN_SYSTM_H
1251 # include <netinet/in_systm.h>
1254 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1256 dnl **** Check for IPX headers (currently Linux only) ****
1258 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1260 [#include <sys/types.h>
1261 #ifdef HAVE_SYS_SOCKET_H
1262 # include <sys/socket.h>
1264 #include <netipx/ipx.h>],
1265 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1266 [ac_cv_c_ipx_gnu="yes"],
1267 [ac_cv_c_ipx_gnu="no"])
1269 if test "$ac_cv_c_ipx_gnu" = "yes"
1271 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1274 if test "$ac_cv_c_ipx_gnu" = "no"
1276 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1278 [#include <sys/types.h>
1279 #ifdef HAVE_SYS_SOCKET_H
1280 # include <sys/socket.h>
1282 #include <asm/types.h>
1283 #include <linux/ipx.h>],
1284 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1285 [ac_cv_c_ipx_linux="yes"],
1286 [ac_cv_c_ipx_linux="no"])
1288 if test "$ac_cv_c_ipx_linux" = "yes"
1290 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1294 dnl **** Check for types ****
1298 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1300 AC_CACHE_CHECK([whether linux/input.h is for real],
1301 wine_cv_linux_input_h,
1303 #include <linux/input.h>
1305 int foo = EVIOCGBIT(EV_ABS,42);
1306 int bar = BTN_PINKIE;
1309 wine_cv_linux_input_h=yes,
1310 wine_cv_linux_input_h=no,
1314 if test "$wine_cv_linux_input_h" = "yes"
1316 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1317 [Define if we have linux/input.h AND it contains the INPUT event API])
1321 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1322 wine_cv_linux_gethostbyname_r_6,
1328 struct hostent *result;
1335 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1336 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1338 wine_cv_linux_gethostbyname_r_6=yes,
1339 wine_cv_linux_gethostbyname_r_6=no
1342 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1344 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1345 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1348 if test "$ac_cv_header_linux_joystick_h" = "yes"
1350 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1351 wine_cv_linux_joystick_22_api,
1353 #include <sys/ioctl.h>
1354 #include <linux/joystick.h>
1356 struct js_event blub;
1357 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1358 #error "no 2.2 header"
1361 wine_cv_linux_joystick_22_api=yes,
1362 wine_cv_linux_joystick_22_api=no,
1363 wine_cv_linux_joystick_22_api=no
1366 if test "$wine_cv_linux_joystick_22_api" = "yes"
1368 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1369 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1373 dnl **** statfs checks ****
1375 if test "$ac_cv_header_sys_vfs_h" = "yes"
1377 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1378 wine_cv_sys_vfs_has_statfs,
1380 #include <sys/types.h>
1381 #ifdef HAVE_SYS_PARAM_H
1382 # include <sys/param.h>
1384 #include <sys/vfs.h>
1388 memset(&stfs,0,sizeof(stfs));
1389 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1392 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1394 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1395 [Define if the struct statfs is defined by <sys/vfs.h>])
1399 if test "$ac_cv_header_sys_statfs_h" = "yes"
1401 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1402 wine_cv_sys_statfs_has_statfs,
1404 #include <sys/types.h>
1405 #ifdef HAVE_SYS_PARAM_H
1406 # include <sys/param.h>
1408 #include <sys/statfs.h>
1411 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1414 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1416 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1417 [Define if the struct statfs is defined by <sys/statfs.h>])
1421 if test "$ac_cv_header_sys_mount_h" = "yes"
1423 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1424 wine_cv_sys_mount_has_statfs,
1426 #include <sys/types.h>
1427 #ifdef HAVE_SYS_PARAM_H
1428 # include <sys/param.h>
1430 #include <sys/mount.h>
1433 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1436 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1438 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1439 [Define if the struct statfs is defined by <sys/mount.h>])
1443 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1445 dnl Check for statfs members
1446 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],,,
1447 [#include <sys/types.h>
1448 #ifdef HAVE_SYS_PARAM_H
1449 # include <sys/param.h>
1451 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1452 # include <sys/mount.h>
1454 # ifdef STATFS_DEFINED_BY_SYS_VFS
1455 # include <sys/vfs.h>
1457 # ifdef STATFS_DEFINED_BY_SYS_STATFS
1458 # include <sys/statfs.h>
1463 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1464 [#ifdef HAVE_SYS_STATVFS_H
1465 #include <sys/statvfs.h>
1468 dnl Check for socket structure members
1469 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1470 [#include <sys/types.h>
1471 #ifdef HAVE_SYS_SOCKET_H
1472 # include <sys/socket.h>
1474 #ifdef HAVE_SYS_UN_H
1475 # include <sys/un.h>
1478 dnl Check for siginfo_t members
1479 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1481 dnl Check for struct option
1482 AC_CHECK_MEMBERS([struct option.name],,,
1483 [#ifdef HAVE_GETOPT_H
1487 dnl Check for stat.st_blocks
1488 AC_CHECK_MEMBERS([struct stat.st_blocks])
1490 dnl *** check for the need to define platform-specific symbols
1493 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1494 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1495 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1496 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1499 case $host_vendor in
1500 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1503 dnl **** Generate output files ****
1505 AH_TOP([#define __WINE_CONFIG_H])
1507 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1508 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1509 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1510 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1511 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1512 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1513 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1514 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1515 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1516 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1517 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1518 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1519 WINE_CONFIG_EXTRA_DIR(include/wine)
1520 WINE_CONFIG_EXTRA_DIR(misc)
1521 WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
1522 WINE_CONFIG_EXTRA_DIR(windows)
1524 MAKE_RULES=Make.rules
1525 AC_SUBST_FILE(MAKE_RULES)
1527 MAKE_DLL_RULES=dlls/Makedll.rules
1528 AC_SUBST_FILE(MAKE_DLL_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)
1544 programs/Makeprog.rules
1547 dlls/advapi32/Makefile
1548 dlls/advapi32/tests/Makefile
1549 dlls/advpack/Makefile
1550 dlls/amstream/Makefile
1552 dlls/avicap32/Makefile
1553 dlls/avifil32/Makefile
1554 dlls/cabinet/Makefile
1555 dlls/capi2032/Makefile
1557 dlls/cfgmgr32/Makefile
1558 dlls/comcat/Makefile
1559 dlls/comctl32/Makefile
1560 dlls/comctl32/tests/Makefile
1561 dlls/commdlg/Makefile
1562 dlls/crtdll/Makefile
1563 dlls/crypt32/Makefile
1570 dlls/d3dxof/Makefile
1571 dlls/dbghelp/Makefile
1572 dlls/dciman32/Makefile
1574 dlls/ddraw/tests/Makefile
1575 dlls/devenum/Makefile
1576 dlls/dinput/Makefile
1577 dlls/dinput8/Makefile
1578 dlls/dmband/Makefile
1579 dlls/dmcompos/Makefile
1581 dlls/dmloader/Makefile
1582 dlls/dmscript/Makefile
1583 dlls/dmstyle/Makefile
1584 dlls/dmsynth/Makefile
1585 dlls/dmusic/Makefile
1586 dlls/dmusic32/Makefile
1588 dlls/dplayx/Makefile
1590 dlls/dpnhpast/Makefile
1591 dlls/dsound/Makefile
1592 dlls/dsound/tests/Makefile
1593 dlls/dswave/Makefile
1594 dlls/dxdiagn/Makefile
1595 dlls/dxerr8/Makefile
1596 dlls/dxerr9/Makefile
1597 dlls/dxguid/Makefile
1599 dlls/gdi/tests/Makefile
1601 dlls/glut32/Makefile
1602 dlls/hhctrl.ocx/Makefile
1603 dlls/iccvid/Makefile
1605 dlls/ifsmgr.vxd/Makefile
1606 dlls/imagehlp/Makefile
1608 dlls/iphlpapi/Makefile
1609 dlls/iphlpapi/tests/Makefile
1611 dlls/kernel/Makefile
1612 dlls/kernel/tests/Makefile
1613 dlls/lzexpand/Makefile
1614 dlls/mapi32/Makefile
1615 dlls/mapi32/tests/Makefile
1617 dlls/mlang/tests/Makefile
1618 dlls/mmdevldr.vxd/Makefile
1619 dlls/monodebg.vxd/Makefile
1622 dlls/msacm/imaadp32/Makefile
1623 dlls/msacm/msadp32/Makefile
1624 dlls/msacm/msg711/Makefile
1625 dlls/msacm/winemp3/Makefile
1626 dlls/msacm/tests/Makefile
1628 dlls/mscms/tests/Makefile
1630 dlls/mshtml/Makefile
1632 dlls/msimg32/Makefile
1633 dlls/msisys/Makefile
1634 dlls/msnet32/Makefile
1635 dlls/msrle32/Makefile
1636 dlls/msvcrt/Makefile
1637 dlls/msvcrt/tests/Makefile
1638 dlls/msvcrt20/Makefile
1639 dlls/msvcrt40/Makefile
1640 dlls/msvcrtd/Makefile
1641 dlls/msvcrtd/tests/Makefile
1642 dlls/msvidc32/Makefile
1643 dlls/msvideo/Makefile
1644 dlls/mswsock/Makefile
1645 dlls/netapi32/Makefile
1646 dlls/netapi32/tests/Makefile
1647 dlls/newdev/Makefile
1649 dlls/ntdll/tests/Makefile
1650 dlls/odbc32/Makefile
1652 dlls/ole32/tests/Makefile
1653 dlls/oleacc/Makefile
1654 dlls/oleaut32/Makefile
1655 dlls/oleaut32/tests/Makefile
1656 dlls/olecli/Makefile
1657 dlls/oledlg/Makefile
1658 dlls/olepro32/Makefile
1659 dlls/olesvr/Makefile
1660 dlls/opengl32/Makefile
1662 dlls/psapi/tests/Makefile
1664 dlls/quartz/Makefile
1665 dlls/quartz/tests/Makefile
1666 dlls/rasapi32/Makefile
1667 dlls/richedit/Makefile
1668 dlls/rpcrt4/Makefile
1669 dlls/rpcrt4/tests/Makefile
1670 dlls/rsabase/Makefile
1671 dlls/rsabase/tests/Makefile
1672 dlls/secur32/Makefile
1673 dlls/serialui/Makefile
1674 dlls/setupapi/Makefile
1675 dlls/shdocvw/Makefile
1676 dlls/shell32/Makefile
1677 dlls/shell32/tests/Makefile
1678 dlls/shfolder/Makefile
1679 dlls/shlwapi/Makefile
1680 dlls/shlwapi/tests/Makefile
1681 dlls/snmpapi/Makefile
1683 dlls/strmiids/Makefile
1684 dlls/tapi32/Makefile
1685 dlls/ttydrv/Makefile
1687 dlls/unicows/Makefile
1689 dlls/urlmon/Makefile
1690 dlls/urlmon/tests/Makefile
1692 dlls/user/tests/Makefile
1694 dlls/uxtheme/Makefile
1695 dlls/vdhcp.vxd/Makefile
1696 dlls/vdmdbg/Makefile
1697 dlls/version/Makefile
1698 dlls/version/tests/Makefile
1699 dlls/vmm.vxd/Makefile
1700 dlls/vnbt.vxd/Makefile
1701 dlls/vnetbios.vxd/Makefile
1702 dlls/vtdapi.vxd/Makefile
1703 dlls/vwin32.vxd/Makefile
1704 dlls/win32s/Makefile
1705 dlls/winaspi/Makefile
1706 dlls/wined3d/Makefile
1707 dlls/winedos/Makefile
1708 dlls/wineps/Makefile
1709 dlls/wininet/Makefile
1710 dlls/wininet/tests/Makefile
1712 dlls/winmm/joystick/Makefile
1713 dlls/winmm/mcianim/Makefile
1714 dlls/winmm/mciavi/Makefile
1715 dlls/winmm/mcicda/Makefile
1716 dlls/winmm/mciseq/Makefile
1717 dlls/winmm/mciwave/Makefile
1718 dlls/winmm/midimap/Makefile
1719 dlls/winmm/tests/Makefile
1720 dlls/winmm/wavemap/Makefile
1721 dlls/winmm/winealsa/Makefile
1722 dlls/winmm/winearts/Makefile
1723 dlls/winmm/wineaudioio/Makefile
1724 dlls/winmm/winejack/Makefile
1725 dlls/winmm/winenas/Makefile
1726 dlls/winmm/wineoss/Makefile
1727 dlls/winnls/Makefile
1728 dlls/winsock/Makefile
1729 dlls/winsock/tests/Makefile
1730 dlls/winspool/Makefile
1731 dlls/winspool/tests/Makefile
1732 dlls/wintab32/Makefile
1733 dlls/wintrust/Makefile
1735 dlls/wsock32/Makefile
1736 dlls/x11drv/Makefile
1737 documentation/Makefile
1742 libs/unicode/Makefile
1747 programs/avitools/Makefile
1748 programs/clock/Makefile
1749 programs/cmdlgtst/Makefile
1750 programs/control/Makefile
1751 programs/expand/Makefile
1752 programs/msiexec/Makefile
1753 programs/notepad/Makefile
1754 programs/progman/Makefile
1755 programs/regedit/Makefile
1756 programs/regsvr32/Makefile
1757 programs/rpcss/Makefile
1758 programs/rundll32/Makefile
1759 programs/start/Makefile
1760 programs/taskmgr/Makefile
1761 programs/uninstaller/Makefile
1762 programs/view/Makefile
1763 programs/wcmd/Makefile
1764 programs/wineboot/Makefile
1765 programs/winebrowser/Makefile
1766 programs/winecfg/Makefile
1767 programs/wineconsole/Makefile
1768 programs/winedbg/Makefile
1769 programs/winefile/Makefile
1770 programs/winemenubuilder/Makefile
1771 programs/winemine/Makefile
1772 programs/winepath/Makefile
1773 programs/winetest/Makefile
1774 programs/winevdm/Makefile
1775 programs/winhelp/Makefile
1776 programs/winver/Makefile
1780 tools/winapi/Makefile
1781 tools/winebuild/Makefile
1782 tools/winedump/Makefile
1783 tools/winegcc/Makefile
1785 tools/wrc/Makefile])
1789 if test "$have_x" = "no"
1792 echo "*** Warning: X development files not found. Wine will be built without"
1793 echo "*** X support, which currently does not work, and would probably not be"
1794 echo "*** what you want anyway. You will need to install devel packages of"
1795 echo "*** Xlib/Xfree86 at the very least."
1798 if test "$wine_cv_opengl_version_OK" = "no"
1801 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1802 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1805 if test "$wine_cv_msg_freetype" = "yes"
1808 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1809 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1810 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1811 echo "*** enable Wine to use TrueType fonts."
1815 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1818 dnl Local Variables:
1819 dnl comment-start: "dnl "
1821 dnl comment-start-skip: "\\bdnl\\b\\s *"
1822 dnl compile-command: "autoconf"