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")
1019 *i[[3456789]]86*) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread wine-preloader") ;;
1020 *) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread") ;;
1022 AC_SUBST(MAIN_BINARY,"wine-glibc")
1025 AC_SUBST(WINE_BINARIES,"wine-pthread")
1026 AC_SUBST(MAIN_BINARY,"wine-pthread")
1029 AC_SUBST(WINE_BINARIES,"wine-kthread")
1030 AC_SUBST(MAIN_BINARY,"wine-kthread")
1034 dnl **** Get the soname for libraries that we load dynamically ****
1036 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1038 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1039 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1040 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1041 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1042 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1043 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1044 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1045 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1046 WINE_GET_SONAME(cups,cupsGetDefault)
1047 WINE_GET_SONAME(jack,jack_client_new)
1048 WINE_GET_SONAME(fontconfig,FcInit)
1049 WINE_GET_SONAME(ssl,SSL_library_init)
1050 WINE_GET_SONAME(crypto,BIO_new_socket)
1051 WINE_GET_SONAME(ncurses,waddch)
1052 WINE_GET_SONAME(curses,waddch)
1053 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1054 WINE_GET_SONAME(ungif,DGifOpen)
1055 WINE_GET_SONAME(gif,DGifOpen)
1056 WINE_GET_SONAME(lcms,cmsOpenProfileFromFile)
1060 dnl **** Check for functions ****
1127 dnl **** Check for header files ****
1136 fontconfig/fontconfig.h \
1161 netinet/in_systm.h \
1223 dnl **** Checks for headers that depend on other ones ****
1225 AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
1226 [#include <sys/types.h>
1227 #if HAVE_SYS_PARAM_H
1228 # include <sys/param.h>
1231 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h],,,
1232 [#include <sys/types.h>
1233 #if HAVE_SYS_SOCKET_H
1234 # include <sys/socket.h>
1237 AC_CHECK_HEADERS([resolv.h],,,
1238 [#include <sys/types.h>
1239 #if HAVE_SYS_SOCKET_H
1240 # include <sys/socket.h>
1242 #if HAVE_NETINET_IN_H
1243 # include <netinet/in.h>
1245 #if HAVE_ARPA_NAMESER_H
1246 # include <arpa/nameser.h>
1249 AC_CHECK_HEADERS(netinet/ip.h,,,
1250 [#include <sys/types.h>
1251 #if HAVE_SYS_SOCKET_H
1252 # include <sys/socket.h>
1254 #if HAVE_NETINET_IN_SYSTM_H
1255 # include <netinet/in_systm.h>
1258 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1260 dnl **** Check for IPX headers (currently Linux only) ****
1262 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1264 [#include <sys/types.h>
1265 #ifdef HAVE_SYS_SOCKET_H
1266 # include <sys/socket.h>
1268 #include <netipx/ipx.h>],
1269 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1270 [ac_cv_c_ipx_gnu="yes"],
1271 [ac_cv_c_ipx_gnu="no"])
1273 if test "$ac_cv_c_ipx_gnu" = "yes"
1275 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1278 if test "$ac_cv_c_ipx_gnu" = "no"
1280 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1282 [#include <sys/types.h>
1283 #ifdef HAVE_SYS_SOCKET_H
1284 # include <sys/socket.h>
1286 #include <asm/types.h>
1287 #include <linux/ipx.h>],
1288 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1289 [ac_cv_c_ipx_linux="yes"],
1290 [ac_cv_c_ipx_linux="no"])
1292 if test "$ac_cv_c_ipx_linux" = "yes"
1294 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1298 dnl **** Check for types ****
1302 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1304 AC_CACHE_CHECK([whether linux/input.h is for real],
1305 wine_cv_linux_input_h,
1307 #include <linux/input.h>
1309 int foo = EVIOCGBIT(EV_ABS,42);
1310 int bar = BTN_PINKIE;
1313 wine_cv_linux_input_h=yes,
1314 wine_cv_linux_input_h=no,
1318 if test "$wine_cv_linux_input_h" = "yes"
1320 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1321 [Define if we have linux/input.h AND it contains the INPUT event API])
1325 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1326 wine_cv_linux_gethostbyname_r_6,
1332 struct hostent *result;
1339 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1340 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1342 wine_cv_linux_gethostbyname_r_6=yes,
1343 wine_cv_linux_gethostbyname_r_6=no
1346 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1348 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1349 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1352 if test "$ac_cv_header_linux_joystick_h" = "yes"
1354 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1355 wine_cv_linux_joystick_22_api,
1357 #include <sys/ioctl.h>
1358 #include <linux/joystick.h>
1360 struct js_event blub;
1361 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1362 #error "no 2.2 header"
1365 wine_cv_linux_joystick_22_api=yes,
1366 wine_cv_linux_joystick_22_api=no,
1367 wine_cv_linux_joystick_22_api=no
1370 if test "$wine_cv_linux_joystick_22_api" = "yes"
1372 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1373 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1377 dnl **** statfs checks ****
1379 if test "$ac_cv_header_sys_vfs_h" = "yes"
1381 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1382 wine_cv_sys_vfs_has_statfs,
1384 #include <sys/types.h>
1385 #ifdef HAVE_SYS_PARAM_H
1386 # include <sys/param.h>
1388 #include <sys/vfs.h>
1392 memset(&stfs,0,sizeof(stfs));
1393 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1396 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1398 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1399 [Define if the struct statfs is defined by <sys/vfs.h>])
1403 if test "$ac_cv_header_sys_statfs_h" = "yes"
1405 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1406 wine_cv_sys_statfs_has_statfs,
1408 #include <sys/types.h>
1409 #ifdef HAVE_SYS_PARAM_H
1410 # include <sys/param.h>
1412 #include <sys/statfs.h>
1415 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1418 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1420 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1421 [Define if the struct statfs is defined by <sys/statfs.h>])
1425 if test "$ac_cv_header_sys_mount_h" = "yes"
1427 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1428 wine_cv_sys_mount_has_statfs,
1430 #include <sys/types.h>
1431 #ifdef HAVE_SYS_PARAM_H
1432 # include <sys/param.h>
1434 #include <sys/mount.h>
1437 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1440 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1442 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1443 [Define if the struct statfs is defined by <sys/mount.h>])
1447 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1449 dnl Check for statfs members
1450 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],,,
1451 [#include <sys/types.h>
1452 #ifdef HAVE_SYS_PARAM_H
1453 # include <sys/param.h>
1455 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1456 # include <sys/mount.h>
1458 # ifdef STATFS_DEFINED_BY_SYS_VFS
1459 # include <sys/vfs.h>
1461 # ifdef STATFS_DEFINED_BY_SYS_STATFS
1462 # include <sys/statfs.h>
1467 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1468 [#ifdef HAVE_SYS_STATVFS_H
1469 #include <sys/statvfs.h>
1472 dnl Check for socket structure members
1473 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1474 [#include <sys/types.h>
1475 #ifdef HAVE_SYS_SOCKET_H
1476 # include <sys/socket.h>
1478 #ifdef HAVE_SYS_UN_H
1479 # include <sys/un.h>
1482 dnl Check for siginfo_t members
1483 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1485 dnl Check for struct option
1486 AC_CHECK_MEMBERS([struct option.name],,,
1487 [#ifdef HAVE_GETOPT_H
1491 dnl Check for stat.st_blocks
1492 AC_CHECK_MEMBERS([struct stat.st_blocks])
1494 dnl *** check for the need to define platform-specific symbols
1497 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1498 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1499 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1500 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1503 case $host_vendor in
1504 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1507 dnl **** Generate output files ****
1509 AH_TOP([#define __WINE_CONFIG_H])
1511 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1512 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1513 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1514 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1515 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1516 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1517 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1518 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1519 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1520 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1521 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1522 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1523 WINE_CONFIG_EXTRA_DIR(include/wine)
1524 WINE_CONFIG_EXTRA_DIR(misc)
1525 WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
1526 WINE_CONFIG_EXTRA_DIR(windows)
1528 MAKE_RULES=Make.rules
1529 AC_SUBST_FILE(MAKE_RULES)
1531 MAKE_DLL_RULES=dlls/Makedll.rules
1532 AC_SUBST_FILE(MAKE_DLL_RULES)
1534 MAKE_TEST_RULES=dlls/Maketest.rules
1535 AC_SUBST_FILE(MAKE_TEST_RULES)
1537 MAKE_LIB_RULES=libs/Makelib.rules
1538 AC_SUBST_FILE(MAKE_LIB_RULES)
1540 MAKE_PROG_RULES=programs/Makeprog.rules
1541 AC_SUBST_FILE(MAKE_PROG_RULES)
1548 programs/Makeprog.rules
1551 dlls/advapi32/Makefile
1552 dlls/advapi32/tests/Makefile
1553 dlls/advpack/Makefile
1554 dlls/amstream/Makefile
1556 dlls/avicap32/Makefile
1557 dlls/avifil32/Makefile
1558 dlls/cabinet/Makefile
1559 dlls/capi2032/Makefile
1561 dlls/cfgmgr32/Makefile
1562 dlls/comcat/Makefile
1563 dlls/comctl32/Makefile
1564 dlls/comctl32/tests/Makefile
1565 dlls/commdlg/Makefile
1566 dlls/crtdll/Makefile
1567 dlls/crypt32/Makefile
1574 dlls/d3dxof/Makefile
1575 dlls/dbghelp/Makefile
1576 dlls/dciman32/Makefile
1578 dlls/ddraw/tests/Makefile
1579 dlls/devenum/Makefile
1580 dlls/dinput/Makefile
1581 dlls/dinput8/Makefile
1582 dlls/dmband/Makefile
1583 dlls/dmcompos/Makefile
1585 dlls/dmloader/Makefile
1586 dlls/dmscript/Makefile
1587 dlls/dmstyle/Makefile
1588 dlls/dmsynth/Makefile
1589 dlls/dmusic/Makefile
1590 dlls/dmusic32/Makefile
1592 dlls/dplayx/Makefile
1594 dlls/dpnhpast/Makefile
1595 dlls/dsound/Makefile
1596 dlls/dsound/tests/Makefile
1597 dlls/dswave/Makefile
1598 dlls/dxdiagn/Makefile
1599 dlls/dxerr8/Makefile
1600 dlls/dxerr9/Makefile
1601 dlls/dxguid/Makefile
1603 dlls/gdi/tests/Makefile
1605 dlls/glut32/Makefile
1606 dlls/hhctrl.ocx/Makefile
1607 dlls/iccvid/Makefile
1609 dlls/ifsmgr.vxd/Makefile
1610 dlls/imagehlp/Makefile
1612 dlls/iphlpapi/Makefile
1613 dlls/iphlpapi/tests/Makefile
1615 dlls/kernel/Makefile
1616 dlls/kernel/tests/Makefile
1617 dlls/lzexpand/Makefile
1618 dlls/mapi32/Makefile
1619 dlls/mapi32/tests/Makefile
1621 dlls/mlang/tests/Makefile
1622 dlls/mmdevldr.vxd/Makefile
1623 dlls/monodebg.vxd/Makefile
1626 dlls/msacm/imaadp32/Makefile
1627 dlls/msacm/msadp32/Makefile
1628 dlls/msacm/msg711/Makefile
1629 dlls/msacm/winemp3/Makefile
1630 dlls/msacm/tests/Makefile
1632 dlls/mscms/tests/Makefile
1634 dlls/mshtml/Makefile
1636 dlls/msimg32/Makefile
1637 dlls/msisys/Makefile
1638 dlls/msnet32/Makefile
1639 dlls/msrle32/Makefile
1640 dlls/msvcrt/Makefile
1641 dlls/msvcrt/tests/Makefile
1642 dlls/msvcrt20/Makefile
1643 dlls/msvcrt40/Makefile
1644 dlls/msvcrtd/Makefile
1645 dlls/msvcrtd/tests/Makefile
1646 dlls/msvidc32/Makefile
1647 dlls/msvideo/Makefile
1648 dlls/mswsock/Makefile
1649 dlls/netapi32/Makefile
1650 dlls/netapi32/tests/Makefile
1651 dlls/newdev/Makefile
1653 dlls/ntdll/tests/Makefile
1654 dlls/odbc32/Makefile
1656 dlls/ole32/tests/Makefile
1657 dlls/oleacc/Makefile
1658 dlls/oleaut32/Makefile
1659 dlls/oleaut32/tests/Makefile
1660 dlls/olecli/Makefile
1661 dlls/oledlg/Makefile
1662 dlls/olepro32/Makefile
1663 dlls/olesvr/Makefile
1664 dlls/opengl32/Makefile
1666 dlls/psapi/tests/Makefile
1668 dlls/quartz/Makefile
1669 dlls/quartz/tests/Makefile
1670 dlls/rasapi32/Makefile
1671 dlls/richedit/Makefile
1672 dlls/rpcrt4/Makefile
1673 dlls/rpcrt4/tests/Makefile
1674 dlls/rsabase/Makefile
1675 dlls/rsabase/tests/Makefile
1676 dlls/secur32/Makefile
1677 dlls/serialui/Makefile
1678 dlls/setupapi/Makefile
1679 dlls/shdocvw/Makefile
1680 dlls/shell32/Makefile
1681 dlls/shell32/tests/Makefile
1682 dlls/shfolder/Makefile
1683 dlls/shlwapi/Makefile
1684 dlls/shlwapi/tests/Makefile
1685 dlls/snmpapi/Makefile
1687 dlls/strmiids/Makefile
1688 dlls/tapi32/Makefile
1689 dlls/ttydrv/Makefile
1691 dlls/unicows/Makefile
1693 dlls/urlmon/Makefile
1694 dlls/urlmon/tests/Makefile
1696 dlls/user/tests/Makefile
1698 dlls/uxtheme/Makefile
1699 dlls/vdhcp.vxd/Makefile
1700 dlls/vdmdbg/Makefile
1701 dlls/version/Makefile
1702 dlls/version/tests/Makefile
1703 dlls/vmm.vxd/Makefile
1704 dlls/vnbt.vxd/Makefile
1705 dlls/vnetbios.vxd/Makefile
1706 dlls/vtdapi.vxd/Makefile
1707 dlls/vwin32.vxd/Makefile
1708 dlls/win32s/Makefile
1709 dlls/winaspi/Makefile
1710 dlls/wined3d/Makefile
1711 dlls/winedos/Makefile
1712 dlls/wineps/Makefile
1713 dlls/wininet/Makefile
1714 dlls/wininet/tests/Makefile
1716 dlls/winmm/joystick/Makefile
1717 dlls/winmm/mcianim/Makefile
1718 dlls/winmm/mciavi/Makefile
1719 dlls/winmm/mcicda/Makefile
1720 dlls/winmm/mciseq/Makefile
1721 dlls/winmm/mciwave/Makefile
1722 dlls/winmm/midimap/Makefile
1723 dlls/winmm/tests/Makefile
1724 dlls/winmm/wavemap/Makefile
1725 dlls/winmm/winealsa/Makefile
1726 dlls/winmm/winearts/Makefile
1727 dlls/winmm/wineaudioio/Makefile
1728 dlls/winmm/winejack/Makefile
1729 dlls/winmm/winenas/Makefile
1730 dlls/winmm/wineoss/Makefile
1731 dlls/winnls/Makefile
1732 dlls/winsock/Makefile
1733 dlls/winsock/tests/Makefile
1734 dlls/winspool/Makefile
1735 dlls/winspool/tests/Makefile
1736 dlls/wintab32/Makefile
1737 dlls/wintrust/Makefile
1739 dlls/wsock32/Makefile
1740 dlls/x11drv/Makefile
1741 documentation/Makefile
1746 libs/unicode/Makefile
1751 programs/avitools/Makefile
1752 programs/clock/Makefile
1753 programs/cmdlgtst/Makefile
1754 programs/control/Makefile
1755 programs/expand/Makefile
1756 programs/msiexec/Makefile
1757 programs/notepad/Makefile
1758 programs/progman/Makefile
1759 programs/regedit/Makefile
1760 programs/regsvr32/Makefile
1761 programs/rpcss/Makefile
1762 programs/rundll32/Makefile
1763 programs/start/Makefile
1764 programs/taskmgr/Makefile
1765 programs/uninstaller/Makefile
1766 programs/view/Makefile
1767 programs/wcmd/Makefile
1768 programs/wineboot/Makefile
1769 programs/winebrowser/Makefile
1770 programs/winecfg/Makefile
1771 programs/wineconsole/Makefile
1772 programs/winedbg/Makefile
1773 programs/winefile/Makefile
1774 programs/winemenubuilder/Makefile
1775 programs/winemine/Makefile
1776 programs/winepath/Makefile
1777 programs/winetest/Makefile
1778 programs/winevdm/Makefile
1779 programs/winhelp/Makefile
1780 programs/winver/Makefile
1784 tools/winapi/Makefile
1785 tools/winebuild/Makefile
1786 tools/winedump/Makefile
1787 tools/winegcc/Makefile
1789 tools/wrc/Makefile])
1793 if test "$have_x" = "no"
1796 echo "*** Warning: X development files not found. Wine will be built without"
1797 echo "*** X support, which currently does not work, and would probably not be"
1798 echo "*** what you want anyway. You will need to install devel packages of"
1799 echo "*** Xlib/Xfree86 at the very least."
1802 if test "$wine_cv_opengl_version_OK" = "no"
1805 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1806 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1809 if test "$wine_cv_msg_freetype" = "yes"
1812 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1813 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1814 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1815 echo "*** enable Wine to use TrueType fonts."
1819 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1822 dnl Local Variables:
1823 dnl comment-start: "dnl "
1825 dnl comment-start-skip: "\\bdnl\\b\\s *"
1826 dnl compile-command: "autoconf"