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]))
19 AC_ARG_WITH(opengl, AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
20 AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses]))
21 AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
23 AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
24 AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
25 if test "x$enable_win16" = "xno"
30 if test "x$enable_debug" = "xno"
32 AC_DEFINE(NO_DEBUG_MSGS,1,[Define to disable all debug messages.])
34 if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
36 AC_DEFINE(NO_TRACE_MSGS,1,[Define to disable trace messages.])
39 dnl **** Check for some programs ****
46 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
47 [if test -z "$with_wine_tools"; then
48 if test "$cross_compiling" = "yes"; then
49 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
51 wine_cv_toolsdir="\$(TOPOBJDIR)"
53 elif test -d "$with_wine_tools/tools/winebuild"; then
54 case $with_wine_tools in
55 /*) wine_cv_toolsdir="$with_wine_tools" ;;
56 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
59 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
61 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
67 dnl **** Just additional warning checks, since AC_PROG just sets 'yacc' even
68 dnl **** without one present.
69 AC_CHECK_PROGS(XYACC,$YACC bison yacc,none)
70 if test "$XYACC" = "none"
72 AC_MSG_ERROR([no suitable bison/yacc found. Please install the 'bison' package.])
74 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
75 if test "$XLEX" = "none"
77 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
80 AC_CHECK_TOOLS(AS,[gas as],as)
81 AC_CHECK_TOOL(LD,ld,ld)
82 AC_CHECK_TOOL(AR,ar,ar)
84 AC_CHECK_TOOL(STRIP,strip,strip)
85 AC_CHECK_TOOL(WINDRES,windres,false)
88 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
90 dnl Prepend src dir to install path dir if it's a relative path
92 [[\\/$]]* | ?:[[\\/]]* ) ;;
93 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
97 AC_CHECK_PROGS(LINT, lclint lint)
98 if test "$LINT" = "lint"
100 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
101 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
106 dnl Check for db2html
107 AC_CHECK_PROGS(DB2HTML, docbook2html db2html, false)
111 AC_CHECK_PROGS(DB2PDF, docbook2pdf db2pdf, false)
115 AC_CHECK_PROGS(DB2PS, docbook2ps db2ps, false)
119 AC_CHECK_PROGS(DB2TXT, docbook2txt db2txt, false)
122 dnl **** Check for some libraries ****
126 dnl Check for -li386 for NetBSD and OpenBSD
127 AC_CHECK_LIB(i386,i386_set_ldt)
128 dnl Check for -lossaudio for NetBSD
129 AC_CHECK_LIB(ossaudio,_oss_ioctl)
130 dnl Check for -lw for Solaris
131 AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
132 dnl Check for -lnsl for Solaris
133 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
134 dnl Check for -lsocket for Solaris
135 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
136 dnl Check for -lresolv for Solaris
137 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
138 dnl Check for -lxpg4 for FreeBSD
139 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
140 dnl Check for -lpoll for Mac OS X/Darwin
141 AC_CHECK_LIB(poll,poll)
142 dnl Check for -lpthread
143 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
147 AC_CHECK_HEADERS(jpeglib.h,
148 AC_CHECK_LIB(jpeg,jpeg_start_decompress,
149 AC_DEFINE(HAVE_LIBJPEG,1,[Define if you have libjpeg including devel headers])
155 AC_CHECK_HEADERS(gif_lib.h,
156 AC_CHECK_LIB(ungif,DGifOpen,
157 [AC_DEFINE(HAVE_LIBGIF,1,[Define if you have libgif/libungif including devel headers])
159 [AC_CHECK_LIB(gif,DGifOpen,
160 [AC_DEFINE(HAVE_LIBGIF,1)
166 AC_SUBST(OPENGLFILES)
170 AC_SUBST(OPENGL_LIBS)
172 if test "$have_x" = "yes"
175 ac_save_CPPFLAGS="$CPPFLAGS"
176 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
178 dnl *** All of the following tests require X11/Xlib.h
179 AC_CHECK_HEADERS(X11/Xlib.h,
181 AC_CHECK_HEADERS([X11/XKBlib.h \
183 X11/extensions/shape.h \
184 X11/extensions/XInput.h \
185 X11/extensions/XShm.h \
186 X11/extensions/Xrandr.h \
187 X11/extensions/Xrender.h \
188 X11/extensions/Xvlib.h \
189 X11/extensions/xf86dga.h \
190 X11/extensions/xf86vmode.h],,,
191 [#include <X11/Xlib.h>
192 #ifdef HAVE_X11_XUTIL_H
193 # include <X11/Xutil.h>
196 dnl *** Check for X keyboard extension
197 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
199 AC_CHECK_LIB(X11, XkbQueryExtension,
200 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
201 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
204 dnl *** Check for X Shm extension
205 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
207 AC_CHECK_LIB(Xext, XShmQueryExtension,
208 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
209 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
212 dnl *** Check for X shape extension
213 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
215 AC_CHECK_LIB(Xext,XShapeQueryExtension,
216 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
217 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
220 dnl *** Check for XFree86 DGA / DGA 2.0 extension
221 if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
223 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
224 [ dnl *** If found...
225 AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
226 [Define if you have the Xxf86dga library version 2])
227 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
229 [ dnl *** If not found, look for XF86DGAQueryExtension()
230 dnl *** instead (DGA 2.0 not found)...
231 AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
232 [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
233 [Define if you have the Xxf86dga library version 1])
234 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
236 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
239 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
242 dnl *** Check for XFree86 VMODE extension
243 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
245 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
246 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
247 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
249 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
252 dnl *** Check for X RandR extension
253 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
255 AC_CHECK_LIB(Xrandr, XRRSetScreenConfigAndRate,
256 [ AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])
257 X_PRE_LIBS="$X_PRE_LIBS -lXrandr -lXrender"
259 $X_LIBS -lXrender -lXext -lX11 $X_EXTRA_LIBS)
262 dnl *** Check for XVideo extension supporting XvImages
263 if test "$ac_cv_header_X11_extensions_Xvlib_h" = "yes"
265 AC_CHECK_LIB(Xv, XvShmCreateImage,
266 [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
267 X_PRE_LIBS="$X_PRE_LIBS -lXv"
269 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
272 ) dnl *** End of X11/Xlib.h check
274 dnl Check for the presence of OpenGL
275 if test "x$with_opengl" != "xno"
277 if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
279 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
280 This prevents linking to OpenGL. Delete the file and restart configure.])
283 AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
284 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
286 AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>])
287 dnl Check for some problems due to old Mesa versions
288 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
290 [#include <GL/gl.h>],
291 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
292 [wine_cv_opengl_version_OK="yes"],
293 [wine_cv_opengl_version_OK="no"]
297 if test "$wine_cv_opengl_version_OK" = "yes"
299 dnl Check for the presence of the library
300 AC_CHECK_LIB(GL,glXCreateContext,
303 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
305 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
307 OPENGLFILES='$(OPENGLFILES)'
308 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
310 AC_CHECK_LIB(GL,glXGetProcAddressARB,
311 AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
312 [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
313 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
315 if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
317 AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
318 [AC_TRY_COMPILE([#include <GL/gl.h>
319 #ifdef HAVE_GL_GLEXT_H
320 # include <GL/glext.h>
323 [PFNGLCOLORTABLEEXTPROC test_proc;],
324 [wine_cv_extension_prototypes="yes"],
325 [wine_cv_extension_prototypes="no"]
328 if test "$wine_cv_extension_prototypes" = "yes"
330 AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
331 [Define if the OpenGL headers define extension typedefs])
336 dnl Check for GLU32 library.
337 AC_CHECK_LIB(GLU,gluLookAt,
338 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
339 GLU32FILES='$(GLU32FILES)']
341 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
345 dnl Check for glut32 library.
346 AC_CHECK_LIB(glut,glutMainLoop,
347 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
348 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
349 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
353 dnl **** Check for NAS ****
355 AC_CHECK_HEADERS(audio/audiolib.h,
356 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
357 AC_CHECK_LIB(audio,AuCreateFlow,
358 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
359 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
360 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
362 CPPFLAGS="$ac_save_CPPFLAGS"
370 dnl **** Check which curses lib to use ***
372 if test "x$with_curses" != "xno"
374 AC_CHECK_HEADERS(ncurses.h,
375 [AC_CHECK_LIB(ncurses,waddch,
376 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
377 CURSESLIBS="-lncurses"],
378 [AC_CHECK_HEADERS(curses.h,
379 [AC_CHECK_LIB(curses,waddch,
380 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
381 CURSESLIBS="-lcurses"])])])])
383 LIBS="$CURSESLIBS $LIBS"
384 AC_CHECK_FUNCS(getbkgd resizeterm)
389 dnl **** Check for SANE ****
390 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
391 if test "$sane_devel" = "no"
396 SANELIBS="`$sane_devel --libs`"
397 SANEINCL="`$sane_devel --cflags`"
398 ac_save_CPPFLAGS="$CPPFLAGS"
400 CPPFLAGS="$CPPFLAGS $SANEINCL"
401 LIBS="$LIBS $SANELIBS"
402 AC_CHECK_HEADER(sane/sane.h,
403 [AC_CHECK_LIB(sane,sane_open,
404 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
410 CPPFLAGS="$ac_save_CPPFLAGS"
415 dnl **** Check for the ICU library ****
416 AC_CHECK_HEADERS(unicode/ubidi.h)
417 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
420 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
421 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libicuuc.a}"
422 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libicudata.a}"
423 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
424 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
425 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
426 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")])
430 dnl **** Check for FreeType 2 ****
431 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
432 if test "$ft_lib" = "no"
435 wine_cv_msg_freetype=no
437 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
438 if test "$ft_devel" = "no"
440 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
441 if test "$ft_devel2" = "freetype2-config"
446 if test "$ft_devel" = "no"
449 wine_cv_msg_freetype=yes
451 FREETYPEINCL=`$ft_devel --cflags`
452 ac_save_CPPFLAGS="$CPPFLAGS"
453 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
454 AC_CHECK_HEADERS(ft2build.h \
455 freetype/freetype.h \
457 freetype/tttables.h \
459 freetype/ftsnames.h \
460 freetype/ttnameid.h \
462 freetype/internal/sfnt.h,,,
464 #include <ft2build.h>
466 AC_TRY_CPP([#include <ft2build.h>
467 #include <freetype/fttrigon.h>],
468 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
469 [Define if you have the <freetype/fttrigon.h> header file.])
470 wine_cv_fttrigon=yes],
472 CPPFLAGS="$ac_save_CPPFLAGS"
473 dnl Check that we have at least freetype/freetype.h
474 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
476 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
477 wine_cv_msg_freetype=no
480 wine_cv_msg_freetype=yes
484 AC_SUBST(FREETYPEINCL)
486 dnl **** Check for parport (currently Linux only) ****
487 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
489 [#include <linux/ppdev.h>],
490 [ioctl (1,PPCLAIM,0)],
491 [ac_cv_c_ppdev="yes"],
492 [ac_cv_c_ppdev="no"])
494 if test "$ac_cv_c_ppdev" = "yes"
496 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
499 dnl **** Check for va_copy ****
500 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
502 [#include <stdarg.h>],
506 [ac_cv_c_va_copy="yes"],
507 [ac_cv_c_va_copy="no"])
509 if test "$ac_cv_c_va_copy" = "yes"
511 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
513 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
515 [#include <stdarg.h>],
519 [ac_cv_c___va_copy="yes"],
520 [ac_cv_c___va_copy="no"])
522 if test "$ac_cv_c___va_copy" = "yes"
524 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
527 dnl **** Check for sigsetjmp ****
528 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
530 [#include <setjmp.h>],
533 siglongjmp( buf, 1 );],
534 [ac_cv_c_sigsetjmp="yes"],
535 [ac_cv_c_sigsetjmp="no"])
537 if test "$ac_cv_c_sigsetjmp" = "yes"
539 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
542 dnl **** Check for pthread_rwlock_t ****
543 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
544 #include <pthread.h>])
546 dnl **** Check for pthread_getattr_np ****
548 LIBS="$LIBS $LIBPTHREAD"
549 AC_CHECK_FUNCS(pthread_getattr_np)
552 dnl **** Check for Open Sound System ****
553 AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
555 AC_CACHE_CHECK([for Open Sound System],
556 ac_cv_c_opensoundsystem,
558 #if defined(HAVE_SYS_SOUNDCARD_H)
559 #include <sys/soundcard.h>
560 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
561 #include <machine/soundcard.h>
562 #elif defined(HAVE_SOUNDCARD_H)
563 #include <soundcard.h>
567 /* check for one of the Open Sound System specific SNDCTL_ defines */
568 #if !defined(SNDCTL_DSP_STEREO)
569 #error No open sound system
571 ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
573 if test "$ac_cv_c_opensoundsystem" = "yes"
575 AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
578 AC_CACHE_CHECK([for Open Sound System/MIDI interface],
579 ac_cv_c_opensoundsystem_midi,
581 #if defined(HAVE_SYS_SOUNDCARD_H)
582 #include <sys/soundcard.h>
583 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
584 #include <machine/soundcard.h>
585 #elif defined(HAVE_SOUNDCARD_H)
586 #include <soundcard.h>
590 /* check for one of the Open Sound System specific SNDCTL_SEQ defines */
591 #if !defined(SNDCTL_SEQ_SYNC)
592 #error No open sound system MIDI interface
594 ],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
596 if test "$ac_cv_c_opensoundsystem_midi" = "yes"
598 AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
601 dnl **** Check for aRts Sound Server ****
602 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
603 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
605 ARTSC_CFLAGS=`$ARTSCCONFIG --cflags | sed 's/\-pthread//'`
606 ARTSC_LIBS=`$ARTSCCONFIG --libs`
607 save_CFLAGS="$CFLAGS"
608 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
609 AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
610 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
611 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
612 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])
613 CFLAGS="$save_CFLAGS"
616 dnl **** Check for ALSA ****
617 AC_SUBST(ALSALIBS,"")
618 AC_CHECK_HEADERS(alsa/asoundlib.h sys/asoundlib.h, break)
619 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
621 AC_CHECK_LIB(asound,snd_pcm_open,
622 AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA including devel headers])
626 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
628 AC_SUBST(AUDIOIOLIBS,"")
629 AC_CHECK_HEADERS(libaudioio.h,
630 [AC_CHECK_LIB(audioio,AudioIOGetVersion,
631 [AUDIOIOLIBS="-laudioio"
632 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
634 dnl **** Check for capi4linux ****
636 AC_CHECK_HEADERS(capi20.h,[
637 AC_CHECK_HEADERS(linux/capi.h,[
638 AC_CHECK_LIB(capi20,capi20_register,[
639 AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])
640 AC_SUBST(CAPI4LINUXLIBS,"-lcapi20")
645 dnl **** Check for broken glibc mmap64 ****
647 AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
649 #define _FILE_OFFSET_BITS 64
653 #include <sys/mman.h>
656 int main(int argc,char **argv) {
657 int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
658 if (fd == -1) exit(1);
660 unlink("conftest.map");
664 if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
670 fprintf(stderr,"success!\n");
675 ac_cv_mmap64_works="yes",
676 ac_cv_mmap64_works="no",
677 ac_cv_mmap64_works="no") )
679 if test "$ac_cv_mmap64_works" = "yes"
681 AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
684 dnl **** Check for gcc specific options ****
686 AC_SUBST(EXTRACFLAGS,"")
687 if test "x${GCC}" = "xyes"
689 EXTRACFLAGS="-Wall -pipe"
691 dnl Check for strength-reduce bug
692 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
694 int L[[4]] = {0,1,2,3};
696 static int Array[[3]];
699 for(i=0; i<B; i++) Array[[i]] = i - 3;
700 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
703 exit( Array[[1]] != -2 || L[[2]] != 3);
705 ac_cv_c_gcc_strength_bug="no",
706 ac_cv_c_gcc_strength_bug="yes",
707 ac_cv_c_gcc_strength_bug="yes") )
708 if test "$ac_cv_c_gcc_strength_bug" = "yes"
710 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
713 dnl Check for -mpreferred-stack-boundary
714 AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
715 [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
716 ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
717 if test "$ac_cv_c_gcc_stack_boundary" = "yes"
719 EXTRACFLAGS="$EXTRACFLAGS -mpreferred-stack-boundary=2"
722 dnl Check for -fno-strict-aliasing
723 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
724 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
725 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
726 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
728 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
731 dnl Check for -gstabs+ option
732 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
733 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
734 if test "$ac_cv_c_gcc_gstabs" = "yes"
736 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
739 dnl Check for noisy string.h
740 saved_CFLAGS="$CFLAGS"
741 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
742 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
743 AC_TRY_COMPILE([#include <string.h>],[],
744 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
745 CFLAGS="$saved_CFLAGS"
746 if test "$ac_cv_c_string_h_warnings" = "no"
748 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
752 dnl **** Check how to define a function in assembly code ****
754 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
756 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
757 ac_cv_asm_func_def=".def",
758 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
759 ac_cv_asm_func_def=".type @function",
760 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
761 ac_cv_asm_func_def=".type 2",
762 ac_cv_asm_func_def="unknown")])]))
764 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
765 case "$ac_cv_asm_func_def" in
767 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
769 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
771 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
773 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
776 dnl **** Check for underscore on external symbols ****
778 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
779 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
780 [extern int ac_test;],
781 [if (ac_test) return 1],
782 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
784 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
785 if test "$ac_cv_c_extern_prefix" = "yes"
787 AC_DEFINE([__ASM_NAME(name)], ["_" name])
789 AC_DEFINE([__ASM_NAME(name)], [name])
792 dnl **** Check how to do strings in assembler ****
794 AC_CACHE_CHECK([for assembler keyword for ASCII strings], ac_cv_c_asm_string,
795 WINE_TRY_ASM_LINK([".data\\n\\t.string \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".string",
796 WINE_TRY_ASM_LINK([".data\\n\\t.asciz \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".asciz",
797 WINE_TRY_ASM_LINK([".data\\n\\t.ascii \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".ascii",
798 AC_MSG_ERROR([could not discover how to produce C strings with assembler.])))))
800 AC_DEFINE_UNQUOTED(__ASM_STRING, ["$ac_cv_c_asm_string"],
801 [Define to the assembler keyword used to specify an ASCII string])
803 dnl **** Check for .short in assembler ****
805 AC_CACHE_CHECK([for assembler keyword for word values], ac_cv_c_asm_short,
806 WINE_TRY_ASM_LINK([".data\\n\\t.short 1\\n\\t.text"],,,ac_cv_c_asm_short=".short",
807 WINE_TRY_ASM_LINK([".data\\n\\t.half 1\\n\\t.text"],,,ac_cv_c_asm_short=".half",
808 AC_MSG_ERROR([could not discover how to specify word values with assembler.]))))
810 AC_DEFINE_UNQUOTED(__ASM_SHORT, ["$ac_cv_c_asm_short"],
811 [Define to the assembler keyword used to specify a word value])
813 dnl **** Check for working dll ****
816 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
818 AC_SUBST(LDSHARED,"")
820 AC_SUBST(LIBEXT,"so")
821 AC_SUBST(IMPLIBEXT,"def")
825 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
826 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
827 if test "$DLLWRAP" = "false"; then
830 dnl FIXME - check whether dllwrap works correctly...
836 AC_CHECK_HEADERS(dlfcn.h,
837 [AC_CHECK_FUNCS(dlopen,,
838 [AC_CHECK_LIB(dl,dlopen,
839 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
844 if test "$LIBEXT" = "so"
846 DLLFLAGS="$DLLFLAGS -fPIC"
848 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
849 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
850 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
851 if test "$ac_cv_c_dll_gnuelf" = "yes"
853 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
854 LDDLL="\$(CC) -shared -Wl,-Bsymbolic"
855 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
856 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
857 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
858 if test "$ac_cv_c_dll_zdefs" = "yes"
860 LDDLL="$LDDLL,-z,defs"
863 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
864 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
865 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
866 if test "$ac_cv_c_dll_init_fini" = "yes"
868 AC_DEFINE(HAVE_LINKER_INIT_FINI,1,[Define if the linker supports renaming the init and fini functions])
869 LDDLL="$LDDLL,-init,__wine_spec_init,-fini,__wine_spec_fini"
872 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
873 [echo '{ global: *; };' >conftest.map
874 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
875 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
877 if test "$ac_cv_c_ld_version_scripts" = "yes"
879 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
882 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
883 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
884 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
885 if test "$ac_cv_c_export_dynamic" = "yes"
887 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
892 AC_CACHE_CHECK([whether we can relocate the executable to 0x00110000], ac_cv_ld_reloc_exec,
893 [saved_CFLAGS="$CFLAGS"
894 CFLAGS="$CFLAGS -Wl,--section-start,.interp=0x00110400"
895 AC_TRY_RUN([#include <unistd.h>
896 int main() { return (sbrk(32*1024*1024) == (void *)-1); }],
897 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no", ac_cv_ld_reloc_exec="no")
898 CFLAGS="$saved_CFLAGS"])
899 if test "$ac_cv_ld_reloc_exec" = "yes"
901 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x00110400"
907 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
908 [WINE_TRY_CFLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
909 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
910 if test "$ac_cv_c_dll_unixware" = "yes"
912 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
913 LDDLL="\$(CC) -Wl,-G,-B,symbolic"
916 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
917 [WINE_TRY_CFLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
918 if test "$ac_cv_c_dll_macho" = "yes"
921 LDDLL="\$(CC) -bundle -flat_namespace -undefined suppress"
922 LDSHARED="\$(CC) -dynamiclib"
923 CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp"
929 dnl Check for cross compiler to build test programs
930 AC_SUBST(CROSSTEST,"")
931 if test "$cross_compiling" = "no"
933 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
934 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
935 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
936 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
941 if test "$LIBEXT" = "a"; then
943 [could not find a way to build shared libraries.
944 It is currently not possible to build Wine without shared library
945 (.so) support to allow transparent switch between .so and .dll files.
946 If you are using Linux, you will need a newer binutils.]
952 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
954 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
956 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
959 dnl Mingw needs explicit msvcrt for linking libwine
962 AC_SUBST(CRTLIBS,"-lmsvcrt") ;;
967 AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread")
968 AC_SUBST(MAIN_BINARY,"wine-glibc")
971 AC_SUBST(WINE_BINARIES,"wine-kthread")
972 AC_SUBST(MAIN_BINARY,"wine-kthread")
976 dnl **** Get the soname for libraries that we load dynamically ****
978 if test "$LIBEXT" = "so"
980 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
981 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
982 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
983 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
984 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
985 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
986 WINE_GET_SONAME(cups,cupsGetDefault)
987 WINE_GET_SONAME(jack,jack_client_new)
988 WINE_GET_SONAME(fontconfig,FcInit)
989 WINE_GET_SONAME(ssl,SSL_library_init)
990 WINE_GET_SONAME(crypto,BIO_new_socket)
991 WINE_GET_SONAME(ncurses,waddch)
992 WINE_GET_SONAME(curses,waddch)
996 dnl **** Check for functions ****
1055 dnl **** Check for header files ****
1064 fontconfig/fontconfig.h \
1083 netinet/in_systm.h \
1143 dnl **** Checks for headers that depend on other ones ****
1145 AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
1146 [#include <sys/types.h>
1147 #if HAVE_SYS_PARAM_H
1148 # include <sys/param.h>
1151 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h],,,
1152 [#include <sys/types.h>
1153 #if HAVE_SYS_SOCKET_H
1154 # include <sys/socket.h>
1157 AC_CHECK_HEADERS([resolv.h],,,
1158 [#include <sys/types.h>
1159 #if HAVE_SYS_SOCKET_H
1160 # include <sys/socket.h>
1162 #if HAVE_NETINET_IN_H
1163 # include <netinet/in.h>
1165 #if HAVE_ARPA_NAMESER_H
1166 # include <arpa/nameser.h>
1169 AC_CHECK_HEADERS(netinet/ip.h,,,
1170 [#include <sys/types.h>
1171 #if HAVE_SYS_SOCKET_H
1172 # include <sys/socket.h>
1174 #if HAVE_NETINET_IN_SYSTM_H
1175 # include <netinet/in_systm.h>
1178 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1180 dnl **** Check for IPX headers (currently Linux only) ****
1182 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1184 [#include <sys/types.h>
1185 #ifdef HAVE_SYS_SOCKET_H
1186 # include <sys/socket.h>
1188 #include <netipx/ipx.h>],
1189 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1190 [ac_cv_c_ipx_gnu="yes"],
1191 [ac_cv_c_ipx_gnu="no"])
1193 if test "$ac_cv_c_ipx_gnu" = "yes"
1195 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1198 if test "$ac_cv_c_ipx_gnu" = "no"
1200 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1202 [#include <sys/types.h>
1203 #ifdef HAVE_SYS_SOCKET_H
1204 # include <sys/socket.h>
1206 #include <asm/types.h>
1207 #include <linux/ipx.h>],
1208 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1209 [ac_cv_c_ipx_linux="yes"],
1210 [ac_cv_c_ipx_linux="no"])
1212 if test "$ac_cv_c_ipx_linux" = "yes"
1214 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1218 dnl **** Check for types ****
1222 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t])
1223 AC_CHECK_SIZEOF(long long,0)
1225 AC_CACHE_CHECK([whether linux/input.h is for real],
1226 wine_cv_linux_input_h,
1228 #include <linux/input.h>
1230 int foo = EVIOCGBIT(EV_ABS,42);
1231 int bar = BTN_PINKIE;
1234 wine_cv_linux_input_h=yes,
1235 wine_cv_linux_input_h=no,
1239 if test "$wine_cv_linux_input_h" = "yes"
1241 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1242 [Define if we have linux/input.h AND it contains the INPUT event API])
1246 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1247 wine_cv_linux_gethostbyname_r_6,
1253 struct hostent *result;
1260 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1261 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1263 wine_cv_linux_gethostbyname_r_6=yes,
1264 wine_cv_linux_gethostbyname_r_6=no
1267 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1269 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1270 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1273 if test "$ac_cv_header_linux_joystick_h" = "yes"
1275 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1276 wine_cv_linux_joystick_22_api,
1278 #include <sys/ioctl.h>
1279 #include <linux/joystick.h>
1281 struct js_event blub;
1282 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1283 #error "no 2.2 header"
1286 wine_cv_linux_joystick_22_api=yes,
1287 wine_cv_linux_joystick_22_api=no,
1288 wine_cv_linux_joystick_22_api=no
1291 if test "$wine_cv_linux_joystick_22_api" = "yes"
1293 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1294 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1298 dnl **** statfs checks ****
1300 if test "$ac_cv_header_sys_vfs_h" = "yes"
1302 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1303 wine_cv_sys_vfs_has_statfs,
1305 #include <sys/types.h>
1306 #ifdef HAVE_SYS_PARAM_H
1307 # include <sys/param.h>
1309 #include <sys/vfs.h>
1313 memset(&stfs,0,sizeof(stfs));
1314 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1317 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1319 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1320 [Define if the struct statfs is defined by <sys/vfs.h>])
1324 if test "$ac_cv_header_sys_statfs_h" = "yes"
1326 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1327 wine_cv_sys_statfs_has_statfs,
1329 #include <sys/types.h>
1330 #ifdef HAVE_SYS_PARAM_H
1331 # include <sys/param.h>
1333 #include <sys/statfs.h>
1336 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1339 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1341 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1342 [Define if the struct statfs is defined by <sys/statfs.h>])
1346 if test "$ac_cv_header_sys_mount_h" = "yes"
1348 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1349 wine_cv_sys_mount_has_statfs,
1351 #include <sys/types.h>
1352 #ifdef HAVE_SYS_PARAM_H
1353 # include <sys/param.h>
1355 #include <sys/mount.h>
1358 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1361 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1363 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1364 [Define if the struct statfs is defined by <sys/mount.h>])
1368 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1370 dnl Check for statfs members
1371 AC_CHECK_MEMBERS([struct statfs.f_bfree, struct statfs.f_bavail],,,
1372 [#include <sys/types.h>
1373 #ifdef HAVE_SYS_PARAM_H
1374 # include <sys/param.h>
1376 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1377 # include <sys/mount.h>
1379 # ifdef STATFS_DEFINED_BY_SYS_VFS
1380 # include <sys/vfs.h>
1382 # ifdef STATFS_DEFINED_BY_SYS_STATFS
1383 # include <sys/statfs.h>
1388 dnl Check for socket structure members
1389 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1390 [#include <sys/types.h>
1391 #ifdef HAVE_SYS_SOCKET_H
1392 # include <sys/socket.h>
1394 #ifdef HAVE_SYS_UN_H
1395 # include <sys/un.h>
1398 dnl Check for siginfo_t members
1399 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1401 dnl Check for struct option
1402 AC_CHECK_MEMBERS([struct option.name],,,
1403 [#ifdef HAVE_GETOPT_H
1407 dnl Check for stat.st_blocks
1408 AC_CHECK_MEMBERS([struct stat.st_blocks])
1410 dnl *** check for the need to define platform-specific symbols
1413 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1414 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1415 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1416 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1419 case $host_vendor in
1420 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1423 dnl **** Generate output files ****
1425 AH_TOP([#define __WINE_CONFIG_H])
1427 WINE_CONFIG_EXTRA_DIR(controls)
1428 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1429 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1430 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1431 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1432 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1433 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1434 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1435 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1436 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1437 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1438 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1439 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1440 WINE_CONFIG_EXTRA_DIR(files)
1441 WINE_CONFIG_EXTRA_DIR(include/wine)
1442 WINE_CONFIG_EXTRA_DIR(misc)
1443 WINE_CONFIG_EXTRA_DIR(objects)
1444 WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
1445 WINE_CONFIG_EXTRA_DIR(windows)
1447 MAKE_RULES=Make.rules
1448 AC_SUBST_FILE(MAKE_RULES)
1450 MAKE_DLL_RULES=dlls/Makedll.rules
1451 AC_SUBST_FILE(MAKE_DLL_RULES)
1453 MAKE_TEST_RULES=dlls/Maketest.rules
1454 AC_SUBST_FILE(MAKE_TEST_RULES)
1456 MAKE_LIB_RULES=libs/Makelib.rules
1457 AC_SUBST_FILE(MAKE_LIB_RULES)
1459 MAKE_PROG_RULES=programs/Makeprog.rules
1460 AC_SUBST_FILE(MAKE_PROG_RULES)
1467 programs/Makeprog.rules
1470 dlls/advapi32/Makefile
1471 dlls/advapi32/tests/Makefile
1472 dlls/avicap32/Makefile
1473 dlls/avifil32/Makefile
1474 dlls/cabinet/Makefile
1475 dlls/capi2032/Makefile
1476 dlls/cfgmgr32/Makefile
1477 dlls/comcat/Makefile
1478 dlls/comctl32/Makefile
1479 dlls/comctl32/tests/Makefile
1480 dlls/commdlg/Makefile
1481 dlls/crtdll/Makefile
1482 dlls/crypt32/Makefile
1488 dlls/dciman32/Makefile
1490 dlls/ddraw/tests/Makefile
1491 dlls/devenum/Makefile
1492 dlls/dinput/Makefile
1493 dlls/dinput8/Makefile
1494 dlls/dmband/Makefile
1495 dlls/dmcompos/Makefile
1497 dlls/dmloader/Makefile
1498 dlls/dmscript/Makefile
1499 dlls/dmstyle/Makefile
1500 dlls/dmsynth/Makefile
1501 dlls/dmusic/Makefile
1502 dlls/dmusic32/Makefile
1504 dlls/dplayx/Makefile
1505 dlls/dpnhpast/Makefile
1506 dlls/dsound/Makefile
1507 dlls/dsound/tests/Makefile
1508 dlls/dswave/Makefile
1509 dlls/dxguid/Makefile
1511 dlls/gdi/tests/Makefile
1513 dlls/glut32/Makefile
1514 dlls/iccvid/Makefile
1516 dlls/ifsmgr.vxd/Makefile
1517 dlls/imagehlp/Makefile
1519 dlls/iphlpapi/Makefile
1520 dlls/iphlpapi/tests/Makefile
1521 dlls/kernel/Makefile
1522 dlls/kernel/tests/Makefile
1523 dlls/lzexpand/Makefile
1524 dlls/mapi32/Makefile
1525 dlls/mmdevldr.vxd/Makefile
1526 dlls/monodebg.vxd/Makefile
1529 dlls/msacm/imaadp32/Makefile
1530 dlls/msacm/msadp32/Makefile
1531 dlls/msacm/msg711/Makefile
1532 dlls/msacm/winemp3/Makefile
1534 dlls/mshtml/Makefile
1536 dlls/msimg32/Makefile
1537 dlls/msisys/Makefile
1538 dlls/msnet32/Makefile
1539 dlls/msvcrt/Makefile
1540 dlls/msvcrt/tests/Makefile
1541 dlls/msvcrt20/Makefile
1542 dlls/msvcrt40/Makefile
1543 dlls/msvcrtd/Makefile
1544 dlls/msvidc32/Makefile
1545 dlls/msvideo/Makefile
1546 dlls/msvideo/msrle32/Makefile
1547 dlls/mswsock/Makefile
1548 dlls/netapi32/Makefile
1549 dlls/netapi32/tests/Makefile
1550 dlls/newdev/Makefile
1552 dlls/ntdll/tests/Makefile
1553 dlls/odbc32/Makefile
1555 dlls/oleacc/Makefile
1556 dlls/oleaut32/Makefile
1557 dlls/oleaut32/tests/Makefile
1558 dlls/olecli/Makefile
1559 dlls/oledlg/Makefile
1560 dlls/olepro32/Makefile
1561 dlls/olesvr/Makefile
1562 dlls/opengl32/Makefile
1565 dlls/quartz/Makefile
1566 dlls/rasapi32/Makefile
1567 dlls/richedit/Makefile
1568 dlls/rpcrt4/Makefile
1569 dlls/rpcrt4/tests/Makefile
1570 dlls/rsabase/Makefile
1571 dlls/serialui/Makefile
1572 dlls/setupapi/Makefile
1573 dlls/shdocvw/Makefile
1574 dlls/shell32/Makefile
1575 dlls/shell32/tests/Makefile
1576 dlls/shfolder/Makefile
1577 dlls/shlwapi/Makefile
1578 dlls/shlwapi/tests/Makefile
1579 dlls/snmpapi/Makefile
1581 dlls/tapi32/Makefile
1582 dlls/ttydrv/Makefile
1584 dlls/unicows/Makefile
1586 dlls/urlmon/Makefile
1587 dlls/urlmon/tests/Makefile
1589 dlls/user/tests/Makefile
1591 dlls/uxtheme/Makefile
1592 dlls/vdhcp.vxd/Makefile
1593 dlls/version/Makefile
1594 dlls/vnb.vxd/Makefile
1595 dlls/vnetbios.vxd/Makefile
1596 dlls/vtdapi.vxd/Makefile
1597 dlls/vwin32.vxd/Makefile
1598 dlls/win32s/Makefile
1599 dlls/winaspi/Makefile
1600 dlls/wined3d/Makefile
1601 dlls/winedos/Makefile
1602 dlls/wineps/Makefile
1603 dlls/wininet/Makefile
1604 dlls/wininet/tests/Makefile
1606 dlls/winmm/joystick/Makefile
1607 dlls/winmm/mcianim/Makefile
1608 dlls/winmm/mciavi/Makefile
1609 dlls/winmm/mcicda/Makefile
1610 dlls/winmm/mciseq/Makefile
1611 dlls/winmm/mciwave/Makefile
1612 dlls/winmm/midimap/Makefile
1613 dlls/winmm/tests/Makefile
1614 dlls/winmm/wavemap/Makefile
1615 dlls/winmm/winealsa/Makefile
1616 dlls/winmm/winearts/Makefile
1617 dlls/winmm/wineaudioio/Makefile
1618 dlls/winmm/winejack/Makefile
1619 dlls/winmm/winenas/Makefile
1620 dlls/winmm/wineoss/Makefile
1621 dlls/winnls/Makefile
1622 dlls/winsock/Makefile
1623 dlls/winsock/tests/Makefile
1624 dlls/winspool/Makefile
1625 dlls/winspool/tests/Makefile
1626 dlls/wintab32/Makefile
1627 dlls/wintrust/Makefile
1629 dlls/wsock32/Makefile
1630 dlls/x11drv/Makefile
1631 documentation/Makefile
1635 libs/unicode/Makefile
1640 programs/avitools/Makefile
1641 programs/clock/Makefile
1642 programs/cmdlgtst/Makefile
1643 programs/control/Makefile
1644 programs/expand/Makefile
1645 programs/notepad/Makefile
1646 programs/progman/Makefile
1647 programs/regedit/Makefile
1648 programs/regsvr32/Makefile
1649 programs/rpcss/Makefile
1650 programs/rundll32/Makefile
1651 programs/start/Makefile
1652 programs/uninstaller/Makefile
1653 programs/view/Makefile
1654 programs/wcmd/Makefile
1655 programs/wineboot/Makefile
1656 programs/winebrowser/Makefile
1657 programs/winecfg/Makefile
1658 programs/wineconsole/Makefile
1659 programs/winedbg/Makefile
1660 programs/winefile/Makefile
1661 programs/winemenubuilder/Makefile
1662 programs/winemine/Makefile
1663 programs/winepath/Makefile
1664 programs/winetest/Makefile
1665 programs/winevdm/Makefile
1666 programs/winhelp/Makefile
1667 programs/winver/Makefile
1671 tools/winapi/Makefile
1672 tools/winebuild/Makefile
1673 tools/winedump/Makefile
1674 tools/winegcc/Makefile
1676 tools/wrc/Makefile])
1680 if test "$have_x" = "no"
1683 echo "*** Warning: X development files not found. Wine will be built without"
1684 echo "*** X support, which currently does not work, and would probably not be"
1685 echo "*** what you want anyway. You will need to install devel packages of"
1686 echo "*** Xlib/Xfree86 at the very least."
1689 if test "$wine_cv_opengl_version_OK" = "no"
1692 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1693 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1696 if test "$wine_cv_msg_freetype" = "yes"
1699 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1700 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1701 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1702 echo "*** enable Wine to use TrueType fonts."
1706 echo "Configure finished. Do 'make depend && make' to compile Wine."
1709 dnl Local Variables:
1710 dnl comment-start: "dnl "
1712 dnl comment-start-skip: "\\bdnl\\b\\s *"
1713 dnl compile-command: "autoconf"