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 ****
1126 dnl **** Check for header files ****
1135 fontconfig/fontconfig.h \
1160 netinet/in_systm.h \
1222 dnl **** Checks for headers that depend on other ones ****
1224 AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
1225 [#include <sys/types.h>
1226 #if HAVE_SYS_PARAM_H
1227 # include <sys/param.h>
1230 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h],,,
1231 [#include <sys/types.h>
1232 #if HAVE_SYS_SOCKET_H
1233 # include <sys/socket.h>
1236 AC_CHECK_HEADERS([resolv.h],,,
1237 [#include <sys/types.h>
1238 #if HAVE_SYS_SOCKET_H
1239 # include <sys/socket.h>
1241 #if HAVE_NETINET_IN_H
1242 # include <netinet/in.h>
1244 #if HAVE_ARPA_NAMESER_H
1245 # include <arpa/nameser.h>
1248 AC_CHECK_HEADERS(netinet/ip.h,,,
1249 [#include <sys/types.h>
1250 #if HAVE_SYS_SOCKET_H
1251 # include <sys/socket.h>
1253 #if HAVE_NETINET_IN_SYSTM_H
1254 # include <netinet/in_systm.h>
1257 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1259 dnl **** Check for IPX headers (currently Linux only) ****
1261 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1263 [#include <sys/types.h>
1264 #ifdef HAVE_SYS_SOCKET_H
1265 # include <sys/socket.h>
1267 #include <netipx/ipx.h>],
1268 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1269 [ac_cv_c_ipx_gnu="yes"],
1270 [ac_cv_c_ipx_gnu="no"])
1272 if test "$ac_cv_c_ipx_gnu" = "yes"
1274 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1277 if test "$ac_cv_c_ipx_gnu" = "no"
1279 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1281 [#include <sys/types.h>
1282 #ifdef HAVE_SYS_SOCKET_H
1283 # include <sys/socket.h>
1285 #include <asm/types.h>
1286 #include <linux/ipx.h>],
1287 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1288 [ac_cv_c_ipx_linux="yes"],
1289 [ac_cv_c_ipx_linux="no"])
1291 if test "$ac_cv_c_ipx_linux" = "yes"
1293 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1297 dnl **** Check for types ****
1301 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1303 AC_CACHE_CHECK([whether linux/input.h is for real],
1304 wine_cv_linux_input_h,
1306 #include <linux/input.h>
1308 int foo = EVIOCGBIT(EV_ABS,42);
1309 int bar = BTN_PINKIE;
1312 wine_cv_linux_input_h=yes,
1313 wine_cv_linux_input_h=no,
1317 if test "$wine_cv_linux_input_h" = "yes"
1319 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1320 [Define if we have linux/input.h AND it contains the INPUT event API])
1324 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1325 wine_cv_linux_gethostbyname_r_6,
1331 struct hostent *result;
1338 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1339 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1341 wine_cv_linux_gethostbyname_r_6=yes,
1342 wine_cv_linux_gethostbyname_r_6=no
1345 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1347 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1348 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1351 if test "$ac_cv_header_linux_joystick_h" = "yes"
1353 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1354 wine_cv_linux_joystick_22_api,
1356 #include <sys/ioctl.h>
1357 #include <linux/joystick.h>
1359 struct js_event blub;
1360 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1361 #error "no 2.2 header"
1364 wine_cv_linux_joystick_22_api=yes,
1365 wine_cv_linux_joystick_22_api=no,
1366 wine_cv_linux_joystick_22_api=no
1369 if test "$wine_cv_linux_joystick_22_api" = "yes"
1371 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1372 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1376 dnl **** statfs checks ****
1378 if test "$ac_cv_header_sys_vfs_h" = "yes"
1380 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1381 wine_cv_sys_vfs_has_statfs,
1383 #include <sys/types.h>
1384 #ifdef HAVE_SYS_PARAM_H
1385 # include <sys/param.h>
1387 #include <sys/vfs.h>
1391 memset(&stfs,0,sizeof(stfs));
1392 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1395 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1397 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1398 [Define if the struct statfs is defined by <sys/vfs.h>])
1402 if test "$ac_cv_header_sys_statfs_h" = "yes"
1404 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1405 wine_cv_sys_statfs_has_statfs,
1407 #include <sys/types.h>
1408 #ifdef HAVE_SYS_PARAM_H
1409 # include <sys/param.h>
1411 #include <sys/statfs.h>
1414 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1417 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1419 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1420 [Define if the struct statfs is defined by <sys/statfs.h>])
1424 if test "$ac_cv_header_sys_mount_h" = "yes"
1426 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1427 wine_cv_sys_mount_has_statfs,
1429 #include <sys/types.h>
1430 #ifdef HAVE_SYS_PARAM_H
1431 # include <sys/param.h>
1433 #include <sys/mount.h>
1436 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1439 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1441 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1442 [Define if the struct statfs is defined by <sys/mount.h>])
1446 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1448 dnl Check for statfs members
1449 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],,,
1450 [#include <sys/types.h>
1451 #ifdef HAVE_SYS_PARAM_H
1452 # include <sys/param.h>
1454 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1455 # include <sys/mount.h>
1457 # ifdef STATFS_DEFINED_BY_SYS_VFS
1458 # include <sys/vfs.h>
1460 # ifdef STATFS_DEFINED_BY_SYS_STATFS
1461 # include <sys/statfs.h>
1466 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1467 [#ifdef HAVE_SYS_STATVFS_H
1468 #include <sys/statvfs.h>
1471 dnl Check for socket structure members
1472 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1473 [#include <sys/types.h>
1474 #ifdef HAVE_SYS_SOCKET_H
1475 # include <sys/socket.h>
1477 #ifdef HAVE_SYS_UN_H
1478 # include <sys/un.h>
1481 dnl Check for siginfo_t members
1482 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1484 dnl Check for struct option
1485 AC_CHECK_MEMBERS([struct option.name],,,
1486 [#ifdef HAVE_GETOPT_H
1490 dnl Check for stat.st_blocks
1491 AC_CHECK_MEMBERS([struct stat.st_blocks])
1493 dnl *** check for the need to define platform-specific symbols
1496 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1497 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1498 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1499 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1502 case $host_vendor in
1503 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1506 dnl **** Generate output files ****
1508 AH_TOP([#define __WINE_CONFIG_H])
1510 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1511 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1512 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1513 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1514 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1515 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1516 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1517 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1518 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1519 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1520 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1521 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1522 WINE_CONFIG_EXTRA_DIR(include/wine)
1523 WINE_CONFIG_EXTRA_DIR(misc)
1524 WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
1525 WINE_CONFIG_EXTRA_DIR(windows)
1527 MAKE_RULES=Make.rules
1528 AC_SUBST_FILE(MAKE_RULES)
1530 MAKE_DLL_RULES=dlls/Makedll.rules
1531 AC_SUBST_FILE(MAKE_DLL_RULES)
1533 MAKE_TEST_RULES=dlls/Maketest.rules
1534 AC_SUBST_FILE(MAKE_TEST_RULES)
1536 MAKE_LIB_RULES=libs/Makelib.rules
1537 AC_SUBST_FILE(MAKE_LIB_RULES)
1539 MAKE_PROG_RULES=programs/Makeprog.rules
1540 AC_SUBST_FILE(MAKE_PROG_RULES)
1547 programs/Makeprog.rules
1550 dlls/advapi32/Makefile
1551 dlls/advapi32/tests/Makefile
1552 dlls/advpack/Makefile
1553 dlls/amstream/Makefile
1555 dlls/avicap32/Makefile
1556 dlls/avifil32/Makefile
1557 dlls/cabinet/Makefile
1558 dlls/capi2032/Makefile
1560 dlls/cfgmgr32/Makefile
1561 dlls/comcat/Makefile
1562 dlls/comctl32/Makefile
1563 dlls/comctl32/tests/Makefile
1564 dlls/commdlg/Makefile
1565 dlls/crtdll/Makefile
1566 dlls/crypt32/Makefile
1573 dlls/d3dxof/Makefile
1574 dlls/dbghelp/Makefile
1575 dlls/dciman32/Makefile
1577 dlls/ddraw/tests/Makefile
1578 dlls/devenum/Makefile
1579 dlls/dinput/Makefile
1580 dlls/dinput8/Makefile
1581 dlls/dmband/Makefile
1582 dlls/dmcompos/Makefile
1584 dlls/dmloader/Makefile
1585 dlls/dmscript/Makefile
1586 dlls/dmstyle/Makefile
1587 dlls/dmsynth/Makefile
1588 dlls/dmusic/Makefile
1589 dlls/dmusic32/Makefile
1591 dlls/dplayx/Makefile
1593 dlls/dpnhpast/Makefile
1594 dlls/dsound/Makefile
1595 dlls/dsound/tests/Makefile
1596 dlls/dswave/Makefile
1597 dlls/dxdiagn/Makefile
1598 dlls/dxerr8/Makefile
1599 dlls/dxerr9/Makefile
1600 dlls/dxguid/Makefile
1602 dlls/gdi/tests/Makefile
1604 dlls/glut32/Makefile
1605 dlls/hhctrl.ocx/Makefile
1606 dlls/iccvid/Makefile
1608 dlls/ifsmgr.vxd/Makefile
1609 dlls/imagehlp/Makefile
1611 dlls/iphlpapi/Makefile
1612 dlls/iphlpapi/tests/Makefile
1614 dlls/kernel/Makefile
1615 dlls/kernel/tests/Makefile
1616 dlls/lzexpand/Makefile
1617 dlls/mapi32/Makefile
1618 dlls/mapi32/tests/Makefile
1620 dlls/mlang/tests/Makefile
1621 dlls/mmdevldr.vxd/Makefile
1622 dlls/monodebg.vxd/Makefile
1625 dlls/msacm/imaadp32/Makefile
1626 dlls/msacm/msadp32/Makefile
1627 dlls/msacm/msg711/Makefile
1628 dlls/msacm/winemp3/Makefile
1629 dlls/msacm/tests/Makefile
1631 dlls/mscms/tests/Makefile
1633 dlls/mshtml/Makefile
1635 dlls/msimg32/Makefile
1636 dlls/msisys/Makefile
1637 dlls/msnet32/Makefile
1638 dlls/msrle32/Makefile
1639 dlls/msvcrt/Makefile
1640 dlls/msvcrt/tests/Makefile
1641 dlls/msvcrt20/Makefile
1642 dlls/msvcrt40/Makefile
1643 dlls/msvcrtd/Makefile
1644 dlls/msvcrtd/tests/Makefile
1645 dlls/msvidc32/Makefile
1646 dlls/msvideo/Makefile
1647 dlls/mswsock/Makefile
1648 dlls/netapi32/Makefile
1649 dlls/netapi32/tests/Makefile
1650 dlls/newdev/Makefile
1652 dlls/ntdll/tests/Makefile
1653 dlls/odbc32/Makefile
1655 dlls/ole32/tests/Makefile
1656 dlls/oleacc/Makefile
1657 dlls/oleaut32/Makefile
1658 dlls/oleaut32/tests/Makefile
1659 dlls/olecli/Makefile
1660 dlls/oledlg/Makefile
1661 dlls/olepro32/Makefile
1662 dlls/olesvr/Makefile
1663 dlls/opengl32/Makefile
1665 dlls/psapi/tests/Makefile
1667 dlls/quartz/Makefile
1668 dlls/quartz/tests/Makefile
1669 dlls/rasapi32/Makefile
1670 dlls/richedit/Makefile
1671 dlls/rpcrt4/Makefile
1672 dlls/rpcrt4/tests/Makefile
1673 dlls/rsabase/Makefile
1674 dlls/rsabase/tests/Makefile
1675 dlls/secur32/Makefile
1676 dlls/serialui/Makefile
1677 dlls/setupapi/Makefile
1678 dlls/shdocvw/Makefile
1679 dlls/shell32/Makefile
1680 dlls/shell32/tests/Makefile
1681 dlls/shfolder/Makefile
1682 dlls/shlwapi/Makefile
1683 dlls/shlwapi/tests/Makefile
1684 dlls/snmpapi/Makefile
1686 dlls/strmiids/Makefile
1687 dlls/tapi32/Makefile
1688 dlls/ttydrv/Makefile
1690 dlls/unicows/Makefile
1692 dlls/urlmon/Makefile
1693 dlls/urlmon/tests/Makefile
1695 dlls/user/tests/Makefile
1697 dlls/uxtheme/Makefile
1698 dlls/vdhcp.vxd/Makefile
1699 dlls/vdmdbg/Makefile
1700 dlls/version/Makefile
1701 dlls/version/tests/Makefile
1702 dlls/vmm.vxd/Makefile
1703 dlls/vnbt.vxd/Makefile
1704 dlls/vnetbios.vxd/Makefile
1705 dlls/vtdapi.vxd/Makefile
1706 dlls/vwin32.vxd/Makefile
1707 dlls/win32s/Makefile
1708 dlls/winaspi/Makefile
1709 dlls/wined3d/Makefile
1710 dlls/winedos/Makefile
1711 dlls/wineps/Makefile
1712 dlls/wininet/Makefile
1713 dlls/wininet/tests/Makefile
1715 dlls/winmm/joystick/Makefile
1716 dlls/winmm/mcianim/Makefile
1717 dlls/winmm/mciavi/Makefile
1718 dlls/winmm/mcicda/Makefile
1719 dlls/winmm/mciseq/Makefile
1720 dlls/winmm/mciwave/Makefile
1721 dlls/winmm/midimap/Makefile
1722 dlls/winmm/tests/Makefile
1723 dlls/winmm/wavemap/Makefile
1724 dlls/winmm/winealsa/Makefile
1725 dlls/winmm/winearts/Makefile
1726 dlls/winmm/wineaudioio/Makefile
1727 dlls/winmm/winejack/Makefile
1728 dlls/winmm/winenas/Makefile
1729 dlls/winmm/wineoss/Makefile
1730 dlls/winnls/Makefile
1731 dlls/winsock/Makefile
1732 dlls/winsock/tests/Makefile
1733 dlls/winspool/Makefile
1734 dlls/winspool/tests/Makefile
1735 dlls/wintab32/Makefile
1736 dlls/wintrust/Makefile
1738 dlls/wsock32/Makefile
1739 dlls/x11drv/Makefile
1740 documentation/Makefile
1745 libs/unicode/Makefile
1750 programs/avitools/Makefile
1751 programs/clock/Makefile
1752 programs/cmdlgtst/Makefile
1753 programs/control/Makefile
1754 programs/expand/Makefile
1755 programs/msiexec/Makefile
1756 programs/notepad/Makefile
1757 programs/progman/Makefile
1758 programs/regedit/Makefile
1759 programs/regsvr32/Makefile
1760 programs/rpcss/Makefile
1761 programs/rundll32/Makefile
1762 programs/start/Makefile
1763 programs/taskmgr/Makefile
1764 programs/uninstaller/Makefile
1765 programs/view/Makefile
1766 programs/wcmd/Makefile
1767 programs/wineboot/Makefile
1768 programs/winebrowser/Makefile
1769 programs/winecfg/Makefile
1770 programs/wineconsole/Makefile
1771 programs/winedbg/Makefile
1772 programs/winefile/Makefile
1773 programs/winemenubuilder/Makefile
1774 programs/winemine/Makefile
1775 programs/winepath/Makefile
1776 programs/winetest/Makefile
1777 programs/winevdm/Makefile
1778 programs/winhelp/Makefile
1779 programs/winver/Makefile
1783 tools/winapi/Makefile
1784 tools/winebuild/Makefile
1785 tools/winedump/Makefile
1786 tools/winegcc/Makefile
1788 tools/wrc/Makefile])
1792 if test "$have_x" = "no"
1795 echo "*** Warning: X development files not found. Wine will be built without"
1796 echo "*** X support, which currently does not work, and would probably not be"
1797 echo "*** what you want anyway. You will need to install devel packages of"
1798 echo "*** Xlib/Xfree86 at the very least."
1801 if test "$wine_cv_opengl_version_OK" = "no"
1804 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1805 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1808 if test "$wine_cv_msg_freetype" = "yes"
1811 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1812 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1813 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1814 echo "*** enable Wine to use TrueType fonts."
1818 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1821 dnl Local Variables:
1822 dnl comment-start: "dnl "
1824 dnl comment-start-skip: "\\bdnl\\b\\s *"
1825 dnl compile-command: "autoconf"