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"';
606 for i in `$ARTSCCONFIG --cflags`
609 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
612 ARTSC_LIBS=`$ARTSCCONFIG --libs`
613 save_CFLAGS="$CFLAGS"
614 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
615 AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
616 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
617 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
618 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])
619 CFLAGS="$save_CFLAGS"
622 dnl **** Check for ALSA ****
623 AC_SUBST(ALSALIBS,"")
624 AC_CHECK_HEADERS(alsa/asoundlib.h sys/asoundlib.h, break)
625 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
627 AC_CHECK_LIB(asound,snd_pcm_open,
628 AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA including devel headers])
632 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
634 AC_SUBST(AUDIOIOLIBS,"")
635 AC_CHECK_HEADERS(libaudioio.h,
636 [AC_CHECK_LIB(audioio,AudioIOGetVersion,
637 [AUDIOIOLIBS="-laudioio"
638 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
640 dnl **** Check for capi4linux ****
642 AC_CHECK_HEADERS(capi20.h,[
643 AC_CHECK_HEADERS(linux/capi.h,[
644 AC_CHECK_LIB(capi20,capi20_register,[
645 AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])
646 AC_SUBST(CAPI4LINUXLIBS,"-lcapi20")
651 dnl **** Check for broken glibc mmap64 ****
653 AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
655 #define _FILE_OFFSET_BITS 64
659 #include <sys/mman.h>
662 int main(int argc,char **argv) {
663 int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
664 if (fd == -1) exit(1);
666 unlink("conftest.map");
670 if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
676 fprintf(stderr,"success!\n");
681 ac_cv_mmap64_works="yes",
682 ac_cv_mmap64_works="no",
683 ac_cv_mmap64_works="no") )
685 if test "$ac_cv_mmap64_works" = "yes"
687 AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
690 dnl **** Check for gcc specific options ****
692 AC_SUBST(EXTRACFLAGS,"")
693 if test "x${GCC}" = "xyes"
695 EXTRACFLAGS="-Wall -pipe"
697 dnl Check for strength-reduce bug
698 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
700 int L[[4]] = {0,1,2,3};
702 static int Array[[3]];
705 for(i=0; i<B; i++) Array[[i]] = i - 3;
706 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
709 exit( Array[[1]] != -2 || L[[2]] != 3);
711 ac_cv_c_gcc_strength_bug="no",
712 ac_cv_c_gcc_strength_bug="yes",
713 ac_cv_c_gcc_strength_bug="yes") )
714 if test "$ac_cv_c_gcc_strength_bug" = "yes"
716 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
719 dnl Check for -mpreferred-stack-boundary
720 AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
721 [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
722 ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
723 if test "$ac_cv_c_gcc_stack_boundary" = "yes"
725 EXTRACFLAGS="$EXTRACFLAGS -mpreferred-stack-boundary=2"
728 dnl Check for -fno-strict-aliasing
729 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
730 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
731 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
732 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
734 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
737 dnl Check for -gstabs+ option
738 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
739 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
740 if test "$ac_cv_c_gcc_gstabs" = "yes"
742 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
745 dnl Check for noisy string.h
746 saved_CFLAGS="$CFLAGS"
747 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
748 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
749 AC_TRY_COMPILE([#include <string.h>],[],
750 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
751 CFLAGS="$saved_CFLAGS"
752 if test "$ac_cv_c_string_h_warnings" = "no"
754 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
758 dnl **** Check how to define a function in assembly code ****
760 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
762 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
763 ac_cv_asm_func_def=".def",
764 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
765 ac_cv_asm_func_def=".type @function",
766 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
767 ac_cv_asm_func_def=".type 2",
768 ac_cv_asm_func_def="unknown")])]))
770 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
771 case "$ac_cv_asm_func_def" in
773 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
775 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
777 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
779 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
782 dnl **** Check for underscore on external symbols ****
784 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
785 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
786 [extern int ac_test;],
787 [if (ac_test) return 1],
788 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
790 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
791 if test "$ac_cv_c_extern_prefix" = "yes"
793 AC_DEFINE([__ASM_NAME(name)], ["_" name])
795 AC_DEFINE([__ASM_NAME(name)], [name])
798 dnl **** Check how to do strings in assembler ****
800 AC_CACHE_CHECK([for assembler keyword for ASCII strings], ac_cv_c_asm_string,
801 WINE_TRY_ASM_LINK([".data\\n\\t.string \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".string",
802 WINE_TRY_ASM_LINK([".data\\n\\t.asciz \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".asciz",
803 WINE_TRY_ASM_LINK([".data\\n\\t.ascii \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".ascii",
804 AC_MSG_ERROR([could not discover how to produce C strings with assembler.])))))
806 AC_DEFINE_UNQUOTED(__ASM_STRING, ["$ac_cv_c_asm_string"],
807 [Define to the assembler keyword used to specify an ASCII string])
809 dnl **** Check for .short in assembler ****
811 AC_CACHE_CHECK([for assembler keyword for word values], ac_cv_c_asm_short,
812 WINE_TRY_ASM_LINK([".data\\n\\t.short 1\\n\\t.text"],,,ac_cv_c_asm_short=".short",
813 WINE_TRY_ASM_LINK([".data\\n\\t.half 1\\n\\t.text"],,,ac_cv_c_asm_short=".half",
814 AC_MSG_ERROR([could not discover how to specify word values with assembler.]))))
816 AC_DEFINE_UNQUOTED(__ASM_SHORT, ["$ac_cv_c_asm_short"],
817 [Define to the assembler keyword used to specify a word value])
819 dnl **** Check for working dll ****
822 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
824 AC_SUBST(LDSHARED,"")
826 AC_SUBST(LIBEXT,"so")
827 AC_SUBST(IMPLIBEXT,"def")
831 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
832 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
833 if test "$DLLWRAP" = "false"; then
836 dnl FIXME - check whether dllwrap works correctly...
842 AC_CHECK_HEADERS(dlfcn.h,
843 [AC_CHECK_FUNCS(dlopen,,
844 [AC_CHECK_LIB(dl,dlopen,
845 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
850 if test "$LIBEXT" = "so"
852 DLLFLAGS="$DLLFLAGS -fPIC"
854 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
855 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
856 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
857 if test "$ac_cv_c_dll_gnuelf" = "yes"
859 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
860 LDDLL="\$(CC) -shared -Wl,-Bsymbolic"
861 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
862 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
863 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
864 if test "$ac_cv_c_dll_zdefs" = "yes"
866 LDDLL="$LDDLL,-z,defs"
869 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
870 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
871 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
872 if test "$ac_cv_c_dll_init_fini" = "yes"
874 AC_DEFINE(HAVE_LINKER_INIT_FINI,1,[Define if the linker supports renaming the init and fini functions])
875 LDDLL="$LDDLL,-init,__wine_spec_init,-fini,__wine_spec_fini"
878 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
879 [echo '{ global: *; };' >conftest.map
880 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
881 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
883 if test "$ac_cv_c_ld_version_scripts" = "yes"
885 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
888 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
889 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
890 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
891 if test "$ac_cv_c_export_dynamic" = "yes"
893 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
898 AC_CACHE_CHECK([whether we can relocate the executable to 0x00110000], ac_cv_ld_reloc_exec,
899 [saved_CFLAGS="$CFLAGS"
900 CFLAGS="$CFLAGS -Wl,--section-start,.interp=0x00110400"
901 AC_TRY_RUN([#include <unistd.h>
902 int main() { return (sbrk(32*1024*1024) == (void *)-1); }],
903 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no", ac_cv_ld_reloc_exec="no")
904 CFLAGS="$saved_CFLAGS"])
905 if test "$ac_cv_ld_reloc_exec" = "yes"
907 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x00110400"
913 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
914 [WINE_TRY_CFLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
915 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
916 if test "$ac_cv_c_dll_unixware" = "yes"
918 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
919 LDDLL="\$(CC) -Wl,-G,-B,symbolic"
922 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
923 [WINE_TRY_CFLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
924 if test "$ac_cv_c_dll_macho" = "yes"
927 LDDLL="\$(CC) -bundle -flat_namespace -undefined suppress"
928 LDSHARED="\$(CC) -dynamiclib"
929 CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp"
935 dnl Check for cross compiler to build test programs
936 AC_SUBST(CROSSTEST,"")
937 if test "$cross_compiling" = "no"
939 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
940 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
941 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
942 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
947 if test "$LIBEXT" = "a"; then
949 [could not find a way to build shared libraries.
950 It is currently not possible to build Wine without shared library
951 (.so) support to allow transparent switch between .so and .dll files.
952 If you are using Linux, you will need a newer binutils.]
958 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
960 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
962 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
965 dnl Mingw needs explicit msvcrt for linking libwine
968 AC_SUBST(CRTLIBS,"-lmsvcrt") ;;
973 AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread")
974 AC_SUBST(MAIN_BINARY,"wine-glibc")
977 AC_SUBST(WINE_BINARIES,"wine-kthread")
978 AC_SUBST(MAIN_BINARY,"wine-kthread")
982 dnl **** Get the soname for libraries that we load dynamically ****
984 if test "$LIBEXT" = "so"
986 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
987 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
988 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
989 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
990 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
991 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
992 WINE_GET_SONAME(cups,cupsGetDefault)
993 WINE_GET_SONAME(jack,jack_client_new)
994 WINE_GET_SONAME(fontconfig,FcInit)
995 WINE_GET_SONAME(ssl,SSL_library_init)
996 WINE_GET_SONAME(crypto,BIO_new_socket)
997 WINE_GET_SONAME(ncurses,waddch)
998 WINE_GET_SONAME(curses,waddch)
1002 dnl **** Check for functions ****
1061 dnl **** Check for header files ****
1070 fontconfig/fontconfig.h \
1089 netinet/in_systm.h \
1149 dnl **** Checks for headers that depend on other ones ****
1151 AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
1152 [#include <sys/types.h>
1153 #if HAVE_SYS_PARAM_H
1154 # include <sys/param.h>
1157 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h],,,
1158 [#include <sys/types.h>
1159 #if HAVE_SYS_SOCKET_H
1160 # include <sys/socket.h>
1163 AC_CHECK_HEADERS([resolv.h],,,
1164 [#include <sys/types.h>
1165 #if HAVE_SYS_SOCKET_H
1166 # include <sys/socket.h>
1168 #if HAVE_NETINET_IN_H
1169 # include <netinet/in.h>
1171 #if HAVE_ARPA_NAMESER_H
1172 # include <arpa/nameser.h>
1175 AC_CHECK_HEADERS(netinet/ip.h,,,
1176 [#include <sys/types.h>
1177 #if HAVE_SYS_SOCKET_H
1178 # include <sys/socket.h>
1180 #if HAVE_NETINET_IN_SYSTM_H
1181 # include <netinet/in_systm.h>
1184 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1186 dnl **** Check for IPX headers (currently Linux only) ****
1188 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1190 [#include <sys/types.h>
1191 #ifdef HAVE_SYS_SOCKET_H
1192 # include <sys/socket.h>
1194 #include <netipx/ipx.h>],
1195 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1196 [ac_cv_c_ipx_gnu="yes"],
1197 [ac_cv_c_ipx_gnu="no"])
1199 if test "$ac_cv_c_ipx_gnu" = "yes"
1201 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1204 if test "$ac_cv_c_ipx_gnu" = "no"
1206 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1208 [#include <sys/types.h>
1209 #ifdef HAVE_SYS_SOCKET_H
1210 # include <sys/socket.h>
1212 #include <asm/types.h>
1213 #include <linux/ipx.h>],
1214 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1215 [ac_cv_c_ipx_linux="yes"],
1216 [ac_cv_c_ipx_linux="no"])
1218 if test "$ac_cv_c_ipx_linux" = "yes"
1220 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1224 dnl **** Check for types ****
1228 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t])
1229 AC_CHECK_SIZEOF(long long,0)
1231 AC_CACHE_CHECK([whether linux/input.h is for real],
1232 wine_cv_linux_input_h,
1234 #include <linux/input.h>
1236 int foo = EVIOCGBIT(EV_ABS,42);
1237 int bar = BTN_PINKIE;
1240 wine_cv_linux_input_h=yes,
1241 wine_cv_linux_input_h=no,
1245 if test "$wine_cv_linux_input_h" = "yes"
1247 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1248 [Define if we have linux/input.h AND it contains the INPUT event API])
1252 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1253 wine_cv_linux_gethostbyname_r_6,
1259 struct hostent *result;
1266 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1267 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1269 wine_cv_linux_gethostbyname_r_6=yes,
1270 wine_cv_linux_gethostbyname_r_6=no
1273 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1275 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1276 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1279 if test "$ac_cv_header_linux_joystick_h" = "yes"
1281 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1282 wine_cv_linux_joystick_22_api,
1284 #include <sys/ioctl.h>
1285 #include <linux/joystick.h>
1287 struct js_event blub;
1288 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1289 #error "no 2.2 header"
1292 wine_cv_linux_joystick_22_api=yes,
1293 wine_cv_linux_joystick_22_api=no,
1294 wine_cv_linux_joystick_22_api=no
1297 if test "$wine_cv_linux_joystick_22_api" = "yes"
1299 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1300 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1304 dnl **** statfs checks ****
1306 if test "$ac_cv_header_sys_vfs_h" = "yes"
1308 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1309 wine_cv_sys_vfs_has_statfs,
1311 #include <sys/types.h>
1312 #ifdef HAVE_SYS_PARAM_H
1313 # include <sys/param.h>
1315 #include <sys/vfs.h>
1319 memset(&stfs,0,sizeof(stfs));
1320 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1323 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1325 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1326 [Define if the struct statfs is defined by <sys/vfs.h>])
1330 if test "$ac_cv_header_sys_statfs_h" = "yes"
1332 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1333 wine_cv_sys_statfs_has_statfs,
1335 #include <sys/types.h>
1336 #ifdef HAVE_SYS_PARAM_H
1337 # include <sys/param.h>
1339 #include <sys/statfs.h>
1342 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1345 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1347 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1348 [Define if the struct statfs is defined by <sys/statfs.h>])
1352 if test "$ac_cv_header_sys_mount_h" = "yes"
1354 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1355 wine_cv_sys_mount_has_statfs,
1357 #include <sys/types.h>
1358 #ifdef HAVE_SYS_PARAM_H
1359 # include <sys/param.h>
1361 #include <sys/mount.h>
1364 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1367 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1369 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1370 [Define if the struct statfs is defined by <sys/mount.h>])
1374 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1376 dnl Check for statfs members
1377 AC_CHECK_MEMBERS([struct statfs.f_bfree, struct statfs.f_bavail],,,
1378 [#include <sys/types.h>
1379 #ifdef HAVE_SYS_PARAM_H
1380 # include <sys/param.h>
1382 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1383 # include <sys/mount.h>
1385 # ifdef STATFS_DEFINED_BY_SYS_VFS
1386 # include <sys/vfs.h>
1388 # ifdef STATFS_DEFINED_BY_SYS_STATFS
1389 # include <sys/statfs.h>
1394 dnl Check for socket structure members
1395 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1396 [#include <sys/types.h>
1397 #ifdef HAVE_SYS_SOCKET_H
1398 # include <sys/socket.h>
1400 #ifdef HAVE_SYS_UN_H
1401 # include <sys/un.h>
1404 dnl Check for siginfo_t members
1405 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1407 dnl Check for struct option
1408 AC_CHECK_MEMBERS([struct option.name],,,
1409 [#ifdef HAVE_GETOPT_H
1413 dnl Check for stat.st_blocks
1414 AC_CHECK_MEMBERS([struct stat.st_blocks])
1416 dnl *** check for the need to define platform-specific symbols
1419 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1420 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1421 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1422 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1425 case $host_vendor in
1426 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1429 dnl **** Generate output files ****
1431 AH_TOP([#define __WINE_CONFIG_H])
1433 WINE_CONFIG_EXTRA_DIR(controls)
1434 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1435 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1436 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1437 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1438 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1439 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1440 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1441 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1442 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1443 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1444 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1445 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1446 WINE_CONFIG_EXTRA_DIR(files)
1447 WINE_CONFIG_EXTRA_DIR(include/wine)
1448 WINE_CONFIG_EXTRA_DIR(misc)
1449 WINE_CONFIG_EXTRA_DIR(objects)
1450 WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
1451 WINE_CONFIG_EXTRA_DIR(windows)
1453 MAKE_RULES=Make.rules
1454 AC_SUBST_FILE(MAKE_RULES)
1456 MAKE_DLL_RULES=dlls/Makedll.rules
1457 AC_SUBST_FILE(MAKE_DLL_RULES)
1459 MAKE_TEST_RULES=dlls/Maketest.rules
1460 AC_SUBST_FILE(MAKE_TEST_RULES)
1462 MAKE_LIB_RULES=libs/Makelib.rules
1463 AC_SUBST_FILE(MAKE_LIB_RULES)
1465 MAKE_PROG_RULES=programs/Makeprog.rules
1466 AC_SUBST_FILE(MAKE_PROG_RULES)
1473 programs/Makeprog.rules
1476 dlls/advapi32/Makefile
1477 dlls/advapi32/tests/Makefile
1478 dlls/avicap32/Makefile
1479 dlls/avifil32/Makefile
1480 dlls/cabinet/Makefile
1481 dlls/capi2032/Makefile
1482 dlls/cfgmgr32/Makefile
1483 dlls/comcat/Makefile
1484 dlls/comctl32/Makefile
1485 dlls/comctl32/tests/Makefile
1486 dlls/commdlg/Makefile
1487 dlls/crtdll/Makefile
1488 dlls/crypt32/Makefile
1494 dlls/dciman32/Makefile
1496 dlls/ddraw/tests/Makefile
1497 dlls/devenum/Makefile
1498 dlls/dinput/Makefile
1499 dlls/dinput8/Makefile
1500 dlls/dmband/Makefile
1501 dlls/dmcompos/Makefile
1503 dlls/dmloader/Makefile
1504 dlls/dmscript/Makefile
1505 dlls/dmstyle/Makefile
1506 dlls/dmsynth/Makefile
1507 dlls/dmusic/Makefile
1508 dlls/dmusic32/Makefile
1510 dlls/dplayx/Makefile
1511 dlls/dpnhpast/Makefile
1512 dlls/dsound/Makefile
1513 dlls/dsound/tests/Makefile
1514 dlls/dswave/Makefile
1515 dlls/dxguid/Makefile
1517 dlls/gdi/tests/Makefile
1519 dlls/glut32/Makefile
1520 dlls/iccvid/Makefile
1522 dlls/ifsmgr.vxd/Makefile
1523 dlls/imagehlp/Makefile
1525 dlls/iphlpapi/Makefile
1526 dlls/iphlpapi/tests/Makefile
1527 dlls/kernel/Makefile
1528 dlls/kernel/tests/Makefile
1529 dlls/lzexpand/Makefile
1530 dlls/mapi32/Makefile
1531 dlls/mmdevldr.vxd/Makefile
1532 dlls/monodebg.vxd/Makefile
1535 dlls/msacm/imaadp32/Makefile
1536 dlls/msacm/msadp32/Makefile
1537 dlls/msacm/msg711/Makefile
1538 dlls/msacm/winemp3/Makefile
1540 dlls/mshtml/Makefile
1542 dlls/msimg32/Makefile
1543 dlls/msisys/Makefile
1544 dlls/msnet32/Makefile
1545 dlls/msvcrt/Makefile
1546 dlls/msvcrt/tests/Makefile
1547 dlls/msvcrt20/Makefile
1548 dlls/msvcrt40/Makefile
1549 dlls/msvcrtd/Makefile
1550 dlls/msvidc32/Makefile
1551 dlls/msvideo/Makefile
1552 dlls/msvideo/msrle32/Makefile
1553 dlls/mswsock/Makefile
1554 dlls/netapi32/Makefile
1555 dlls/netapi32/tests/Makefile
1556 dlls/newdev/Makefile
1558 dlls/ntdll/tests/Makefile
1559 dlls/odbc32/Makefile
1561 dlls/oleacc/Makefile
1562 dlls/oleaut32/Makefile
1563 dlls/oleaut32/tests/Makefile
1564 dlls/olecli/Makefile
1565 dlls/oledlg/Makefile
1566 dlls/olepro32/Makefile
1567 dlls/olesvr/Makefile
1568 dlls/opengl32/Makefile
1571 dlls/quartz/Makefile
1572 dlls/rasapi32/Makefile
1573 dlls/richedit/Makefile
1574 dlls/rpcrt4/Makefile
1575 dlls/rpcrt4/tests/Makefile
1576 dlls/rsabase/Makefile
1577 dlls/serialui/Makefile
1578 dlls/setupapi/Makefile
1579 dlls/shdocvw/Makefile
1580 dlls/shell32/Makefile
1581 dlls/shell32/tests/Makefile
1582 dlls/shfolder/Makefile
1583 dlls/shlwapi/Makefile
1584 dlls/shlwapi/tests/Makefile
1585 dlls/snmpapi/Makefile
1587 dlls/tapi32/Makefile
1588 dlls/ttydrv/Makefile
1590 dlls/unicows/Makefile
1592 dlls/urlmon/Makefile
1593 dlls/urlmon/tests/Makefile
1595 dlls/user/tests/Makefile
1597 dlls/uxtheme/Makefile
1598 dlls/vdhcp.vxd/Makefile
1599 dlls/version/Makefile
1600 dlls/vmm.vxd/Makefile
1601 dlls/vnb.vxd/Makefile
1602 dlls/vnetbios.vxd/Makefile
1603 dlls/vtdapi.vxd/Makefile
1604 dlls/vwin32.vxd/Makefile
1605 dlls/win32s/Makefile
1606 dlls/winaspi/Makefile
1607 dlls/wined3d/Makefile
1608 dlls/winedos/Makefile
1609 dlls/wineps/Makefile
1610 dlls/wininet/Makefile
1611 dlls/wininet/tests/Makefile
1613 dlls/winmm/joystick/Makefile
1614 dlls/winmm/mcianim/Makefile
1615 dlls/winmm/mciavi/Makefile
1616 dlls/winmm/mcicda/Makefile
1617 dlls/winmm/mciseq/Makefile
1618 dlls/winmm/mciwave/Makefile
1619 dlls/winmm/midimap/Makefile
1620 dlls/winmm/tests/Makefile
1621 dlls/winmm/wavemap/Makefile
1622 dlls/winmm/winealsa/Makefile
1623 dlls/winmm/winearts/Makefile
1624 dlls/winmm/wineaudioio/Makefile
1625 dlls/winmm/winejack/Makefile
1626 dlls/winmm/winenas/Makefile
1627 dlls/winmm/wineoss/Makefile
1628 dlls/winnls/Makefile
1629 dlls/winsock/Makefile
1630 dlls/winsock/tests/Makefile
1631 dlls/winspool/Makefile
1632 dlls/winspool/tests/Makefile
1633 dlls/wintab32/Makefile
1634 dlls/wintrust/Makefile
1636 dlls/wsock32/Makefile
1637 dlls/x11drv/Makefile
1638 documentation/Makefile
1642 libs/unicode/Makefile
1647 programs/avitools/Makefile
1648 programs/clock/Makefile
1649 programs/cmdlgtst/Makefile
1650 programs/control/Makefile
1651 programs/expand/Makefile
1652 programs/notepad/Makefile
1653 programs/progman/Makefile
1654 programs/regedit/Makefile
1655 programs/regsvr32/Makefile
1656 programs/rpcss/Makefile
1657 programs/rundll32/Makefile
1658 programs/start/Makefile
1659 programs/uninstaller/Makefile
1660 programs/view/Makefile
1661 programs/wcmd/Makefile
1662 programs/wineboot/Makefile
1663 programs/winebrowser/Makefile
1664 programs/winecfg/Makefile
1665 programs/wineconsole/Makefile
1666 programs/winedbg/Makefile
1667 programs/winefile/Makefile
1668 programs/winemenubuilder/Makefile
1669 programs/winemine/Makefile
1670 programs/winepath/Makefile
1671 programs/winetest/Makefile
1672 programs/winevdm/Makefile
1673 programs/winhelp/Makefile
1674 programs/winver/Makefile
1678 tools/winapi/Makefile
1679 tools/winebuild/Makefile
1680 tools/winedump/Makefile
1681 tools/winegcc/Makefile
1683 tools/wrc/Makefile])
1687 if test "$have_x" = "no"
1690 echo "*** Warning: X development files not found. Wine will be built without"
1691 echo "*** X support, which currently does not work, and would probably not be"
1692 echo "*** what you want anyway. You will need to install devel packages of"
1693 echo "*** Xlib/Xfree86 at the very least."
1696 if test "$wine_cv_opengl_version_OK" = "no"
1699 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1700 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1703 if test "$wine_cv_msg_freetype" = "yes"
1706 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1707 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1708 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1709 echo "*** enable Wine to use TrueType fonts."
1713 echo "Configure finished. Do 'make depend && make' to compile Wine."
1716 dnl Local Variables:
1717 dnl comment-start: "dnl "
1719 dnl comment-start-skip: "\\bdnl\\b\\s *"
1720 dnl compile-command: "autoconf"