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"
33 if test "x$enable_debug" = "xno"
35 DLLDEFS="$DLLDEFS -DWINE_NO_DEBUG_MSGS"
37 if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
39 DLLDEFS="$DLLDEFS -DWINE_NO_TRACE_MSGS"
42 dnl **** Check for some programs ****
47 if test "x$enable_win64" != "xyes"
49 test -n "$CC" || CC="gcc -m32"
50 test -n "$LD" || LD="ld -m elf_i386"
51 test -n "$AS" || AS="as --32"
59 dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
60 AC_CHECK_TOOL(CPPBIN,cpp,cpp)
62 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
63 [if test -z "$with_wine_tools"; then
64 if test "$cross_compiling" = "yes"; then
65 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
67 wine_cv_toolsdir="\$(TOPOBJDIR)"
69 elif test -d "$with_wine_tools/tools/winebuild"; then
70 case $with_wine_tools in
71 /*) wine_cv_toolsdir="$with_wine_tools" ;;
72 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
75 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
77 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
82 dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
83 dnl **** without one present.
84 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
85 if test "$XLEX" = "none"
87 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
91 AC_CHECK_PROGS(BISON,bison,none)
92 if test "$BISON" = "none"
94 AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
97 AC_CHECK_TOOLS(AS,[gas as],as)
98 AC_CHECK_TOOL(LD,ld,ld)
99 AC_CHECK_TOOL(AR,ar,ar)
101 AC_CHECK_TOOL(STRIP,strip,strip)
102 AC_CHECK_TOOL(WINDRES,windres,false)
106 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
108 dnl Prepend src dir to install path dir if it's a relative path
110 [[\\/$]]* | ?:[[\\/]]* ) ;;
111 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
115 AC_CHECK_PROGS(LINT, lclint lint)
116 if test "$LINT" = "lint"
118 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
119 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
124 dnl Check for various programs
125 AC_CHECK_PROGS(DB2HTML, docbook2html db2html, false)
126 AC_CHECK_PROGS(DB2PDF, docbook2pdf db2pdf, false)
127 AC_CHECK_PROGS(DB2PS, docbook2ps db2ps, false)
128 AC_CHECK_PROGS(DB2TXT, docbook2txt db2txt, false)
129 AC_CHECK_PROGS(FONTFORGE, fontforge, false)
131 dnl **** Check for some libraries ****
133 dnl Check for -li386 for NetBSD and OpenBSD
134 AC_CHECK_LIB(i386,i386_set_ldt)
135 dnl Check for -lossaudio for NetBSD
136 AC_CHECK_LIB(ossaudio,_oss_ioctl)
137 dnl Check for -lw for Solaris
138 AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
139 dnl Check for -lnsl for Solaris
140 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
141 dnl Check for -lsocket for Solaris
142 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
143 dnl Check for -lresolv for Solaris
144 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
145 dnl Check for -lxpg4 for FreeBSD
146 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
147 dnl Check for -lpoll for Mac OS X/Darwin
148 AC_CHECK_LIB(poll,poll)
149 dnl Check for -lresolv for Mac OS X/Darwin
150 AC_CHECK_LIB(resolv,res_9_init)
151 dnl Check for -lpthread
152 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
157 AC_SUBST(OPENGLFILES)
161 AC_SUBST(OPENGL_LIBS)
163 if test "$have_x" = "yes"
166 ac_save_CPPFLAGS="$CPPFLAGS"
167 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
169 dnl *** All of the following tests require X11/Xlib.h
170 AC_CHECK_HEADERS(X11/Xlib.h,
172 AC_CHECK_HEADERS([X11/XKBlib.h \
174 X11/extensions/shape.h \
175 X11/extensions/XInput.h \
176 X11/extensions/XShm.h \
177 X11/extensions/Xrandr.h \
178 X11/extensions/Xrender.h \
179 X11/extensions/Xvlib.h \
180 X11/extensions/xf86dga.h \
181 X11/extensions/xf86vmode.h],,,
182 [#include <X11/Xlib.h>
183 #ifdef HAVE_X11_XUTIL_H
184 # include <X11/Xutil.h>
187 dnl *** Check for X keyboard extension
188 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
190 AC_CHECK_LIB(X11, XkbQueryExtension,
191 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
192 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
195 dnl *** Check for X Shm extension
196 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
198 AC_CHECK_LIB(Xext, XShmQueryExtension,
199 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
200 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
203 dnl *** Check for X shape extension
204 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
206 AC_CHECK_LIB(Xext,XShapeQueryExtension,
207 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
208 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
211 dnl *** Check for XFree86 DGA / DGA 2.0 extension
212 if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
214 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
215 [ dnl *** If found...
216 AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
217 [Define if you have the Xxf86dga library version 2])
218 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
220 [ dnl *** If not found, look for XF86DGAQueryExtension()
221 dnl *** instead (DGA 2.0 not found)...
222 AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
223 [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
224 [Define if you have the Xxf86dga library version 1])
225 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
227 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
230 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
233 dnl *** Check for XFree86 VMODE extension
234 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
236 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
237 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
238 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
240 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
243 dnl *** Check for X RandR extension
244 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
246 AC_TRY_COMPILE([#include <X11/Xlib.h>
247 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
248 [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
251 dnl *** Check for XVideo extension supporting XvImages
252 if test "$ac_cv_header_X11_extensions_Xvlib_h" = "yes"
254 AC_CHECK_LIB(Xv, XvShmCreateImage,
255 [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
256 X_PRE_LIBS="$X_PRE_LIBS -lXv"
258 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
261 dnl *** Check for Transform functions in Xrender
262 if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
264 AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
265 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
266 [Define if Xrender has the XRenderSetPictureTransform function])],,
267 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
270 ) dnl *** End of X11/Xlib.h check
272 dnl Check for the presence of OpenGL
273 if test "x$with_opengl" != "xno"
275 if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
277 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
278 This prevents linking to OpenGL. Delete the file and restart configure.])
281 AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
282 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
284 AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>])
285 dnl Check for some problems due to old Mesa versions
286 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
288 [#include <GL/gl.h>],
289 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
290 [wine_cv_opengl_version_OK="yes"],
291 [wine_cv_opengl_version_OK="no"]
295 if test "$wine_cv_opengl_version_OK" = "yes"
297 dnl Check for the presence of the library
298 AC_CHECK_LIB(GL,glXCreateContext,
301 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
303 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
305 OPENGLFILES='$(OPENGLFILES)'
306 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
308 AC_CHECK_LIB(GL,glXGetProcAddressARB,
309 AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
310 [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
311 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
313 if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
315 AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
316 [AC_TRY_COMPILE([#include <GL/gl.h>
317 #ifdef HAVE_GL_GLEXT_H
318 # include <GL/glext.h>
321 [PFNGLCOLORTABLEEXTPROC test_proc;],
322 [wine_cv_extension_prototypes="yes"],
323 [wine_cv_extension_prototypes="no"]
326 if test "$wine_cv_extension_prototypes" = "yes"
328 AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
329 [Define if the OpenGL headers define extension typedefs])
334 dnl Check for GLU32 library.
335 AC_CHECK_LIB(GLU,gluLookAt,
336 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
337 GLU32FILES='$(GLU32FILES)']
339 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
343 dnl Check for glut32 library.
344 AC_CHECK_LIB(glut,glutMainLoop,
345 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
346 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
347 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
351 dnl **** Check for NAS ****
353 AC_CHECK_HEADERS(audio/audiolib.h,
354 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
355 AC_CHECK_LIB(audio,AuCreateFlow,
356 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
357 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
358 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
360 CPPFLAGS="$ac_save_CPPFLAGS"
368 dnl **** Check which curses lib to use ***
370 if test "x$with_curses" != "xno"
372 AC_CHECK_HEADERS(ncurses.h,
373 [AC_CHECK_LIB(ncurses,waddch,
374 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
375 CURSESLIBS="-lncurses"],
376 [AC_CHECK_HEADERS(curses.h,
377 [AC_CHECK_LIB(curses,waddch,
378 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
379 CURSESLIBS="-lcurses"])])])])
381 LIBS="$CURSESLIBS $LIBS"
382 AC_CHECK_FUNCS(getbkgd resizeterm)
387 dnl **** Check for SANE ****
388 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
389 if test "$sane_devel" = "no"
394 SANELIBS="`$sane_devel --libs`"
395 SANEINCL="`$sane_devel --cflags`"
396 ac_save_CPPFLAGS="$CPPFLAGS"
398 CPPFLAGS="$CPPFLAGS $SANEINCL"
399 LIBS="$LIBS $SANELIBS"
400 AC_CHECK_HEADER(sane/sane.h,
401 [AC_CHECK_LIB(sane,sane_open,
402 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
408 CPPFLAGS="$ac_save_CPPFLAGS"
413 dnl **** Check for the ICU library ****
414 AC_CHECK_HEADERS(unicode/ubidi.h)
415 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
418 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
419 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libsicuuc.a}"
420 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libsicudata.a}"
421 AC_MSG_CHECKING(whether can link with ICU libraries $ICUUC_LIB and $ICUDATA_LIB)
422 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
423 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
424 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
425 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")
431 dnl **** Check for FreeType 2 ****
432 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
433 if test "$ft_lib" = "no"
437 wine_cv_msg_freetype=no
439 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
440 if test "$ft_devel" = "no"
442 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
443 if test "$ft_devel2" = "freetype2-config"
448 if test "$ft_devel" = "no"
452 wine_cv_msg_freetype=yes
454 FREETYPELIBS=`$ft_devel --libs`
455 FREETYPEINCL=`$ft_devel --cflags`
456 ac_save_CPPFLAGS="$CPPFLAGS"
457 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
458 AC_CHECK_HEADERS(ft2build.h \
459 freetype/freetype.h \
461 freetype/tttables.h \
463 freetype/ftsnames.h \
464 freetype/ttnameid.h \
466 freetype/ftwinfnt.h \
467 freetype/internal/sfnt.h,,,
469 #include <ft2build.h>
471 AC_TRY_CPP([#include <ft2build.h>
472 #include <freetype/fttrigon.h>],
473 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
474 [Define if you have the <freetype/fttrigon.h> header file.])
475 wine_cv_fttrigon=yes],
477 CPPFLAGS="$ac_save_CPPFLAGS"
478 dnl Check that we have at least freetype/freetype.h
479 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
481 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
482 wine_cv_msg_freetype=no
486 wine_cv_msg_freetype=yes
490 AC_SUBST(FREETYPELIBS)
491 AC_SUBST(FREETYPEINCL)
493 dnl Only build the fonts dir if we have both freetype and fontforge
494 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
496 AC_SUBST(FONTSSUBDIRS,"fonts")
499 dnl **** Check for parport (currently Linux only) ****
500 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
502 [#include <linux/ppdev.h>],
503 [ioctl (1,PPCLAIM,0)],
504 [ac_cv_c_ppdev="yes"],
505 [ac_cv_c_ppdev="no"])
507 if test "$ac_cv_c_ppdev" = "yes"
509 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
512 dnl **** Check for 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])
526 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
528 [#include <stdarg.h>],
532 [ac_cv_c___va_copy="yes"],
533 [ac_cv_c___va_copy="no"])
535 if test "$ac_cv_c___va_copy" = "yes"
537 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
540 dnl **** Check for sigsetjmp ****
541 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
543 [#include <setjmp.h>],
546 siglongjmp( buf, 1 );],
547 [ac_cv_c_sigsetjmp="yes"],
548 [ac_cv_c_sigsetjmp="no"])
550 if test "$ac_cv_c_sigsetjmp" = "yes"
552 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
555 dnl **** Check for pthread_rwlock_t ****
556 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
557 #include <pthread.h>])
559 dnl **** Check for pthread functions ****
561 LIBS="$LIBS $LIBPTHREAD"
564 pthread_get_stackaddr_np \
565 pthread_get_stacksize_np \
569 dnl **** Check for Open Sound System ****
570 AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
572 AC_CACHE_CHECK([for Open Sound System],
573 ac_cv_c_opensoundsystem,
575 #if defined(HAVE_SYS_SOUNDCARD_H)
576 #include <sys/soundcard.h>
577 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
578 #include <machine/soundcard.h>
579 #elif defined(HAVE_SOUNDCARD_H)
580 #include <soundcard.h>
584 /* check for one of the Open Sound System specific SNDCTL_ defines */
585 #if !defined(SNDCTL_DSP_STEREO)
586 #error No open sound system
588 ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
590 if test "$ac_cv_c_opensoundsystem" = "yes"
592 AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
595 AC_CACHE_CHECK([for Open Sound System/MIDI interface],
596 ac_cv_c_opensoundsystem_midi,
598 #if defined(HAVE_SYS_SOUNDCARD_H)
599 #include <sys/soundcard.h>
600 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
601 #include <machine/soundcard.h>
602 #elif defined(HAVE_SOUNDCARD_H)
603 #include <soundcard.h>
607 /* check for one of the Open Sound System specific SNDCTL_SEQ defines */
608 #if !defined(SNDCTL_SEQ_SYNC)
609 #error No open sound system MIDI interface
611 ],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
613 if test "$ac_cv_c_opensoundsystem_midi" = "yes"
615 AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
618 dnl **** Check for aRts Sound Server ****
619 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
620 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
623 for i in `$ARTSCCONFIG --cflags`
626 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
629 ARTSC_LIBS=`$ARTSCCONFIG --libs`
630 save_CFLAGS="$CFLAGS"
631 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
632 AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
633 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
634 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
635 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])
636 CFLAGS="$save_CFLAGS"
639 dnl **** Check for ALSA ****
640 AC_SUBST(ALSALIBS,"")
641 AC_CHECK_HEADERS(alsa/asoundlib.h sys/asoundlib.h, break)
642 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
644 AC_CHECK_LIB(asound,snd_pcm_open,
645 AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA including devel headers])
649 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
651 AC_SUBST(AUDIOIOLIBS,"")
652 AC_CHECK_HEADERS(libaudioio.h,
653 [AC_CHECK_LIB(audioio,AudioIOGetVersion,
654 [AUDIOIOLIBS="-laudioio"
655 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
657 dnl **** Check for capi4linux ****
659 AC_CHECK_HEADERS(capi20.h,[
660 AC_CHECK_HEADERS(linux/capi.h,[
661 AC_CHECK_LIB(capi20,capi20_register,[
662 AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])
663 AC_SUBST(CAPI4LINUXLIBS,"-lcapi20")
668 dnl **** Check for broken glibc mmap64 ****
670 AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
672 #define _FILE_OFFSET_BITS 64
676 #include <sys/mman.h>
679 int main(int argc,char **argv) {
680 int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
681 if (fd == -1) exit(1);
683 unlink("conftest.map");
687 if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
693 fprintf(stderr,"success!\n");
698 ac_cv_mmap64_works="yes",
699 ac_cv_mmap64_works="no",
700 ac_cv_mmap64_works="no") )
702 if test "$ac_cv_mmap64_works" = "yes"
704 AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
707 dnl **** Check for gcc specific options ****
709 AC_SUBST(EXTRACFLAGS,"")
710 if test "x${GCC}" = "xyes"
712 EXTRACFLAGS="-Wall -pipe"
714 dnl Check for strength-reduce bug
715 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
717 int L[[4]] = {0,1,2,3};
719 static int Array[[3]];
722 for(i=0; i<B; i++) Array[[i]] = i - 3;
723 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
726 exit( Array[[1]] != -2 || L[[2]] != 3);
728 ac_cv_c_gcc_strength_bug="no",
729 ac_cv_c_gcc_strength_bug="yes",
730 ac_cv_c_gcc_strength_bug="yes") )
731 if test "$ac_cv_c_gcc_strength_bug" = "yes"
733 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
736 dnl Check for -fshort-wchar
737 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
738 [WINE_TRY_CFLAGS([-fshort-wchar],
739 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
740 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
742 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
745 dnl Check for -mpreferred-stack-boundary
746 AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
747 [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
748 ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
749 if test "$ac_cv_c_gcc_stack_boundary" = "yes"
751 EXTRACFLAGS="$EXTRACFLAGS -mpreferred-stack-boundary=2"
754 dnl Check for -fno-strict-aliasing
755 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
756 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
757 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
758 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
760 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
763 dnl Check for -gstabs+ option
764 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
765 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
766 if test "$ac_cv_c_gcc_gstabs" = "yes"
768 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
771 dnl Check for noisy string.h
772 saved_CFLAGS="$CFLAGS"
773 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
774 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
775 AC_TRY_COMPILE([#include <string.h>],[],
776 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
777 CFLAGS="$saved_CFLAGS"
778 if test "$ac_cv_c_string_h_warnings" = "no"
780 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
784 dnl **** Check how to define a function in assembly code ****
786 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
788 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
789 ac_cv_asm_func_def=".def",
790 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
791 ac_cv_asm_func_def=".type @function",
792 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
793 ac_cv_asm_func_def=".type 2",
794 ac_cv_asm_func_def="unknown")])]))
796 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
797 case "$ac_cv_asm_func_def" in
799 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
801 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
803 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
805 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
808 dnl **** Check for underscore on external symbols ****
810 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
811 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
812 [extern int ac_test;],
813 [if (ac_test) return 1],
814 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
816 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
817 if test "$ac_cv_c_extern_prefix" = "yes"
819 AC_DEFINE([__ASM_NAME(name)], ["_" name])
821 AC_DEFINE([__ASM_NAME(name)], [name])
824 dnl **** Check how to do strings in assembler ****
826 AC_CACHE_CHECK([for assembler keyword for ASCII strings], ac_cv_c_asm_string,
827 WINE_TRY_ASM_LINK([".data\\n\\t.string \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".string",
828 WINE_TRY_ASM_LINK([".data\\n\\t.asciz \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".asciz",
829 WINE_TRY_ASM_LINK([".data\\n\\t.ascii \\"test\\"\\n\\t.text"],,,ac_cv_c_asm_string=".ascii",
830 AC_MSG_ERROR([could not discover how to produce C strings with assembler.])))))
832 AC_DEFINE_UNQUOTED(__ASM_STRING, ["$ac_cv_c_asm_string"],
833 [Define to the assembler keyword used to specify an ASCII string])
835 dnl **** Check for .short in assembler ****
837 AC_CACHE_CHECK([for assembler keyword for word values], ac_cv_c_asm_short,
838 WINE_TRY_ASM_LINK([".data\\n\\t.short 1\\n\\t.text"],,,ac_cv_c_asm_short=".short",
839 WINE_TRY_ASM_LINK([".data\\n\\t.half 1\\n\\t.text"],,,ac_cv_c_asm_short=".half",
840 AC_MSG_ERROR([could not discover how to specify word values with assembler.]))))
842 AC_DEFINE_UNQUOTED(__ASM_SHORT, ["$ac_cv_c_asm_short"],
843 [Define to the assembler keyword used to specify a word value])
845 dnl **** Check for .size in assembler ****
847 AC_CACHE_CHECK([for .size in assembler], ac_cv_c_asm_size,
848 WINE_TRY_ASM_LINK([".globl _ac_test\n.size _ac_test, . - _ac_test"],,,
849 ac_cv_c_asm_size="yes",ac_cv_c_asm_size="no"))
851 if test "$ac_cv_c_asm_size" = "yes"
853 AC_DEFINE(HAVE_ASM_DOT_SIZE, 1, [Define if the assembler keyword .size is accepted])
856 dnl **** Check for working dll ****
859 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
861 AC_SUBST(LDSHARED,"")
862 AC_SUBST(LDDLLFLAGS,"")
863 AC_SUBST(LIBEXT,"so")
864 AC_SUBST(IMPLIBEXT,"def")
868 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
869 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
870 if test "$DLLWRAP" = "false"; then
873 dnl FIXME - check whether dllwrap works correctly...
877 dnl We can't build 16-bit NE dlls
882 AC_CHECK_HEADERS(dlfcn.h,
883 [AC_CHECK_FUNCS(dlopen,,
884 [AC_CHECK_LIB(dl,dlopen,
885 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
890 if test "$LIBEXT" = "so"
892 DLLFLAGS="$DLLFLAGS -fPIC"
894 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
895 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
896 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
897 if test "$ac_cv_c_dll_gnuelf" = "yes"
899 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
900 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
901 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
902 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
903 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
904 if test "$ac_cv_c_dll_zdefs" = "yes"
906 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
909 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
910 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
911 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
912 if test "$ac_cv_c_dll_init_fini" = "yes"
914 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
917 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
918 [echo '{ global: *; };' >conftest.map
919 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
920 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
922 if test "$ac_cv_c_ld_version_scripts" = "yes"
924 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
927 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
928 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
929 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
930 if test "$ac_cv_c_export_dynamic" = "yes"
932 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
937 AC_CACHE_CHECK([whether we can relocate the executable to 0x77f00000], ac_cv_ld_reloc_exec,
938 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x77f00400],
939 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
940 if test "$ac_cv_ld_reloc_exec" = "yes"
942 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x77f00400"
948 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
949 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
950 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
951 if test "$ac_cv_c_dll_unixware" = "yes"
953 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
954 LDDLLFLAGS="-Wl,-G,-B,symbolic"
957 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
958 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
959 if test "$ac_cv_c_dll_macho" = "yes"
962 LDDLLFLAGS="-bundle -flat_namespace -undefined suppress"
963 LDSHARED="\$(CC) -dynamiclib"
964 CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp"
966 dnl Relocate wine executable
967 AC_SUBST(LDEXECFLAGS,"-seg1addr 0x120000")
968 dnl Relocate libwine.dyld too
969 AC_SUBST(LDLIBWINEFLAGS,"-seg1addr 0x140000")
970 dnl declare needed frameworks
971 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
972 AC_SUBST(IOKITLIB,"-framework IOKit")
973 dnl using IOKit imply we use CoreFoundation too
974 IOKITLIB = "$IOKITLIB $COREFOUNDATIONLIB"
976 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
977 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
978 if test "$ac_cv_c_dll_hpux" = "yes"
982 LDDLLFLAGS="-shared -fPIC"
983 LDSHARED="\$(CC) -shared"
990 dnl Check for cross compiler to build test programs
991 AC_SUBST(CROSSTEST,"")
992 if test "$cross_compiling" = "no"
994 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
995 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
996 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
997 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1002 if test "$LIBEXT" = "a"; then
1004 [could not find a way to build shared libraries.
1005 It is currently not possible to build Wine without shared library
1006 (.so) support to allow transparent switch between .so and .dll files.
1007 If you are using Linux, you will need a newer binutils.]
1013 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
1015 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
1017 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
1020 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1023 AC_SUBST(CRTLIBS,"-lmsvcrt")
1024 AC_SUBST(SOCKETLIBS,"-lws2_32")
1031 *i[[3456789]]86*) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread wine-preloader") ;;
1032 *) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread") ;;
1034 AC_SUBST(MAIN_BINARY,"wine-glibc")
1037 AC_SUBST(WINE_BINARIES,"wine-pthread")
1038 AC_SUBST(MAIN_BINARY,"wine-pthread")
1041 AC_SUBST(WINE_BINARIES,"wine-kthread")
1042 AC_SUBST(MAIN_BINARY,"wine-kthread")
1046 dnl **** Get the soname for libraries that we load dynamically ****
1048 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1050 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1051 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1052 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1053 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1054 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1055 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1056 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1057 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1058 WINE_GET_SONAME(cups,cupsGetDefault)
1059 WINE_GET_SONAME(jack,jack_client_new)
1060 WINE_GET_SONAME(fontconfig,FcInit)
1061 WINE_GET_SONAME(ssl,SSL_library_init)
1062 WINE_GET_SONAME(crypto,BIO_new_socket)
1063 WINE_GET_SONAME(ncurses,waddch)
1064 WINE_GET_SONAME(curses,waddch)
1065 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1066 WINE_GET_SONAME(ungif,DGifOpen)
1067 WINE_GET_SONAME(gif,DGifOpen)
1068 WINE_GET_SONAME(lcms,cmsOpenProfileFromFile)
1072 dnl **** Check for functions ****
1140 dnl **** Check for header files ****
1149 fontconfig/fontconfig.h \
1174 netinet/in_systm.h \
1236 dnl **** Checks for headers that depend on other ones ****
1238 AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
1239 [#include <sys/types.h>
1240 #if HAVE_SYS_PARAM_H
1241 # include <sys/param.h>
1244 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h],,,
1245 [#include <sys/types.h>
1246 #if HAVE_SYS_SOCKET_H
1247 # include <sys/socket.h>
1250 AC_CHECK_HEADERS([resolv.h],,,
1251 [#include <sys/types.h>
1252 #if HAVE_SYS_SOCKET_H
1253 # include <sys/socket.h>
1255 #if HAVE_NETINET_IN_H
1256 # include <netinet/in.h>
1258 #if HAVE_ARPA_NAMESER_H
1259 # include <arpa/nameser.h>
1262 AC_CHECK_HEADERS(netinet/ip.h,,,
1263 [#include <sys/types.h>
1264 #if HAVE_SYS_SOCKET_H
1265 # include <sys/socket.h>
1267 #if HAVE_NETINET_IN_SYSTM_H
1268 # include <netinet/in_systm.h>
1271 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1273 dnl **** Check for IPX headers (currently Linux only) ****
1275 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1277 [#include <sys/types.h>
1278 #ifdef HAVE_SYS_SOCKET_H
1279 # include <sys/socket.h>
1281 #include <netipx/ipx.h>],
1282 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1283 [ac_cv_c_ipx_gnu="yes"],
1284 [ac_cv_c_ipx_gnu="no"])
1286 if test "$ac_cv_c_ipx_gnu" = "yes"
1288 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1291 if test "$ac_cv_c_ipx_gnu" = "no"
1293 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1295 [#include <sys/types.h>
1296 #ifdef HAVE_SYS_SOCKET_H
1297 # include <sys/socket.h>
1299 #include <asm/types.h>
1300 #include <linux/ipx.h>],
1301 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1302 [ac_cv_c_ipx_linux="yes"],
1303 [ac_cv_c_ipx_linux="no"])
1305 if test "$ac_cv_c_ipx_linux" = "yes"
1307 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1311 dnl **** Check for types ****
1315 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1317 AC_CACHE_CHECK([whether linux/input.h is for real],
1318 wine_cv_linux_input_h,
1320 #include <linux/input.h>
1322 int foo = EVIOCGBIT(EV_ABS,42);
1323 int bar = BTN_PINKIE;
1326 wine_cv_linux_input_h=yes,
1327 wine_cv_linux_input_h=no,
1331 if test "$wine_cv_linux_input_h" = "yes"
1333 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1334 [Define if we have linux/input.h AND it contains the INPUT event API])
1338 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1339 wine_cv_linux_gethostbyname_r_6,
1345 struct hostent *result;
1352 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1353 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1355 wine_cv_linux_gethostbyname_r_6=yes,
1356 wine_cv_linux_gethostbyname_r_6=no
1359 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1361 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1362 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1365 if test "$ac_cv_header_linux_joystick_h" = "yes"
1367 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1368 wine_cv_linux_joystick_22_api,
1370 #include <sys/ioctl.h>
1371 #include <linux/joystick.h>
1373 struct js_event blub;
1374 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1375 #error "no 2.2 header"
1378 wine_cv_linux_joystick_22_api=yes,
1379 wine_cv_linux_joystick_22_api=no,
1380 wine_cv_linux_joystick_22_api=no
1383 if test "$wine_cv_linux_joystick_22_api" = "yes"
1385 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1386 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1390 dnl **** statfs checks ****
1392 if test "$ac_cv_header_sys_vfs_h" = "yes"
1394 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1395 wine_cv_sys_vfs_has_statfs,
1397 #include <sys/types.h>
1398 #ifdef HAVE_SYS_PARAM_H
1399 # include <sys/param.h>
1401 #include <sys/vfs.h>
1405 memset(&stfs,0,sizeof(stfs));
1406 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1409 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1411 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1412 [Define if the struct statfs is defined by <sys/vfs.h>])
1416 if test "$ac_cv_header_sys_statfs_h" = "yes"
1418 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1419 wine_cv_sys_statfs_has_statfs,
1421 #include <sys/types.h>
1422 #ifdef HAVE_SYS_PARAM_H
1423 # include <sys/param.h>
1425 #include <sys/statfs.h>
1428 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1431 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1433 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1434 [Define if the struct statfs is defined by <sys/statfs.h>])
1438 if test "$ac_cv_header_sys_mount_h" = "yes"
1440 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1441 wine_cv_sys_mount_has_statfs,
1443 #include <sys/types.h>
1444 #ifdef HAVE_SYS_PARAM_H
1445 # include <sys/param.h>
1447 #include <sys/mount.h>
1450 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1453 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1455 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1456 [Define if the struct statfs is defined by <sys/mount.h>])
1460 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1462 dnl Check for statfs members
1463 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],,,
1464 [#include <sys/types.h>
1465 #ifdef HAVE_SYS_PARAM_H
1466 # include <sys/param.h>
1468 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1469 # include <sys/mount.h>
1471 # ifdef STATFS_DEFINED_BY_SYS_VFS
1472 # include <sys/vfs.h>
1474 # ifdef STATFS_DEFINED_BY_SYS_STATFS
1475 # include <sys/statfs.h>
1480 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1481 [#ifdef HAVE_SYS_STATVFS_H
1482 #include <sys/statvfs.h>
1485 dnl Check for socket structure members
1486 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1487 [#include <sys/types.h>
1488 #ifdef HAVE_SYS_SOCKET_H
1489 # include <sys/socket.h>
1491 #ifdef HAVE_SYS_UN_H
1492 # include <sys/un.h>
1495 dnl Check for siginfo_t members
1496 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1498 dnl Check for struct option
1499 AC_CHECK_MEMBERS([struct option.name],,,
1500 [#ifdef HAVE_GETOPT_H
1504 dnl Check for stat.st_blocks
1505 AC_CHECK_MEMBERS([struct stat.st_blocks])
1507 dnl *** check for the need to define platform-specific symbols
1510 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1511 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1512 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
1513 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
1516 case $host_vendor in
1517 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1520 dnl **** Generate output files ****
1522 AH_TOP([#define __WINE_CONFIG_H])
1524 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1525 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1526 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1527 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1528 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1529 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1530 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1531 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1532 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1533 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1534 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1535 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1536 WINE_CONFIG_EXTRA_DIR(include/wine)
1537 WINE_CONFIG_EXTRA_DIR(misc)
1538 WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
1539 WINE_CONFIG_EXTRA_DIR(windows)
1541 MAKE_RULES=Make.rules
1542 AC_SUBST_FILE(MAKE_RULES)
1544 MAKE_DLL_RULES=dlls/Makedll.rules
1545 AC_SUBST_FILE(MAKE_DLL_RULES)
1547 MAKE_TEST_RULES=dlls/Maketest.rules
1548 AC_SUBST_FILE(MAKE_TEST_RULES)
1550 MAKE_LIB_RULES=libs/Makelib.rules
1551 AC_SUBST_FILE(MAKE_LIB_RULES)
1553 MAKE_PROG_RULES=programs/Makeprog.rules
1554 AC_SUBST_FILE(MAKE_PROG_RULES)
1561 programs/Makeprog.rules
1564 dlls/advapi32/Makefile
1565 dlls/advapi32/tests/Makefile
1566 dlls/advpack/Makefile
1567 dlls/amstream/Makefile
1569 dlls/avicap32/Makefile
1570 dlls/avifil32/Makefile
1571 dlls/cabinet/Makefile
1572 dlls/capi2032/Makefile
1574 dlls/cfgmgr32/Makefile
1575 dlls/comcat/Makefile
1576 dlls/comctl32/Makefile
1577 dlls/comctl32/tests/Makefile
1578 dlls/commdlg/Makefile
1579 dlls/crtdll/Makefile
1580 dlls/crypt32/Makefile
1587 dlls/d3dxof/Makefile
1588 dlls/dbghelp/Makefile
1589 dlls/dciman32/Makefile
1591 dlls/ddraw/tests/Makefile
1592 dlls/devenum/Makefile
1593 dlls/dinput/Makefile
1594 dlls/dinput8/Makefile
1595 dlls/dmband/Makefile
1596 dlls/dmcompos/Makefile
1598 dlls/dmloader/Makefile
1599 dlls/dmscript/Makefile
1600 dlls/dmstyle/Makefile
1601 dlls/dmsynth/Makefile
1602 dlls/dmusic/Makefile
1603 dlls/dmusic32/Makefile
1605 dlls/dplayx/Makefile
1607 dlls/dpnhpast/Makefile
1608 dlls/dsound/Makefile
1609 dlls/dsound/tests/Makefile
1610 dlls/dswave/Makefile
1611 dlls/dxdiagn/Makefile
1612 dlls/dxerr8/Makefile
1613 dlls/dxerr9/Makefile
1614 dlls/dxguid/Makefile
1616 dlls/gdi/tests/Makefile
1618 dlls/glut32/Makefile
1619 dlls/hhctrl.ocx/Makefile
1620 dlls/iccvid/Makefile
1622 dlls/ifsmgr.vxd/Makefile
1623 dlls/imagehlp/Makefile
1625 dlls/iphlpapi/Makefile
1626 dlls/iphlpapi/tests/Makefile
1628 dlls/kernel/Makefile
1629 dlls/kernel/tests/Makefile
1630 dlls/lzexpand/Makefile
1631 dlls/mapi32/Makefile
1632 dlls/mapi32/tests/Makefile
1634 dlls/mlang/tests/Makefile
1635 dlls/mmdevldr.vxd/Makefile
1636 dlls/monodebg.vxd/Makefile
1639 dlls/msacm/imaadp32/Makefile
1640 dlls/msacm/msadp32/Makefile
1641 dlls/msacm/msg711/Makefile
1642 dlls/msacm/winemp3/Makefile
1643 dlls/msacm/tests/Makefile
1645 dlls/mscms/tests/Makefile
1647 dlls/mshtml/Makefile
1649 dlls/msimg32/Makefile
1650 dlls/msisys/Makefile
1651 dlls/msnet32/Makefile
1652 dlls/msrle32/Makefile
1653 dlls/msvcrt/Makefile
1654 dlls/msvcrt/tests/Makefile
1655 dlls/msvcrt20/Makefile
1656 dlls/msvcrt40/Makefile
1657 dlls/msvcrtd/Makefile
1658 dlls/msvcrtd/tests/Makefile
1659 dlls/msvidc32/Makefile
1660 dlls/msvideo/Makefile
1661 dlls/mswsock/Makefile
1662 dlls/netapi32/Makefile
1663 dlls/netapi32/tests/Makefile
1664 dlls/newdev/Makefile
1666 dlls/ntdll/tests/Makefile
1667 dlls/odbc32/Makefile
1669 dlls/ole32/tests/Makefile
1670 dlls/oleacc/Makefile
1671 dlls/oleaut32/Makefile
1672 dlls/oleaut32/tests/Makefile
1673 dlls/olecli/Makefile
1674 dlls/oledlg/Makefile
1675 dlls/olepro32/Makefile
1676 dlls/olesvr/Makefile
1677 dlls/opengl32/Makefile
1679 dlls/psapi/tests/Makefile
1681 dlls/quartz/Makefile
1682 dlls/quartz/tests/Makefile
1683 dlls/rasapi32/Makefile
1684 dlls/richedit/Makefile
1685 dlls/rpcrt4/Makefile
1686 dlls/rpcrt4/tests/Makefile
1687 dlls/rsabase/Makefile
1688 dlls/rsabase/tests/Makefile
1689 dlls/secur32/Makefile
1690 dlls/serialui/Makefile
1691 dlls/setupapi/Makefile
1692 dlls/shdocvw/Makefile
1693 dlls/shell32/Makefile
1694 dlls/shell32/tests/Makefile
1695 dlls/shfolder/Makefile
1696 dlls/shlwapi/Makefile
1697 dlls/shlwapi/tests/Makefile
1698 dlls/snmpapi/Makefile
1700 dlls/strmiids/Makefile
1701 dlls/tapi32/Makefile
1702 dlls/ttydrv/Makefile
1704 dlls/unicows/Makefile
1706 dlls/urlmon/Makefile
1707 dlls/urlmon/tests/Makefile
1709 dlls/user/tests/Makefile
1711 dlls/uxtheme/Makefile
1712 dlls/vdhcp.vxd/Makefile
1713 dlls/vdmdbg/Makefile
1714 dlls/version/Makefile
1715 dlls/version/tests/Makefile
1716 dlls/vmm.vxd/Makefile
1717 dlls/vnbt.vxd/Makefile
1718 dlls/vnetbios.vxd/Makefile
1719 dlls/vtdapi.vxd/Makefile
1720 dlls/vwin32.vxd/Makefile
1721 dlls/win32s/Makefile
1722 dlls/winaspi/Makefile
1723 dlls/wined3d/Makefile
1724 dlls/winedos/Makefile
1725 dlls/wineps/Makefile
1726 dlls/wininet/Makefile
1727 dlls/wininet/tests/Makefile
1729 dlls/winmm/joystick/Makefile
1730 dlls/winmm/mcianim/Makefile
1731 dlls/winmm/mciavi/Makefile
1732 dlls/winmm/mcicda/Makefile
1733 dlls/winmm/mciseq/Makefile
1734 dlls/winmm/mciwave/Makefile
1735 dlls/winmm/midimap/Makefile
1736 dlls/winmm/tests/Makefile
1737 dlls/winmm/wavemap/Makefile
1738 dlls/winmm/winealsa/Makefile
1739 dlls/winmm/winearts/Makefile
1740 dlls/winmm/wineaudioio/Makefile
1741 dlls/winmm/winejack/Makefile
1742 dlls/winmm/winenas/Makefile
1743 dlls/winmm/wineoss/Makefile
1744 dlls/winnls/Makefile
1745 dlls/winsock/Makefile
1746 dlls/winsock/tests/Makefile
1747 dlls/winspool/Makefile
1748 dlls/winspool/tests/Makefile
1749 dlls/wintab32/Makefile
1750 dlls/wintrust/Makefile
1752 dlls/wsock32/Makefile
1753 dlls/x11drv/Makefile
1754 documentation/Makefile
1759 libs/unicode/Makefile
1764 programs/avitools/Makefile
1765 programs/clock/Makefile
1766 programs/cmdlgtst/Makefile
1767 programs/control/Makefile
1768 programs/expand/Makefile
1769 programs/msiexec/Makefile
1770 programs/notepad/Makefile
1771 programs/progman/Makefile
1772 programs/regedit/Makefile
1773 programs/regsvr32/Makefile
1774 programs/rpcss/Makefile
1775 programs/rundll32/Makefile
1776 programs/start/Makefile
1777 programs/taskmgr/Makefile
1778 programs/uninstaller/Makefile
1779 programs/view/Makefile
1780 programs/wcmd/Makefile
1781 programs/wineboot/Makefile
1782 programs/winebrowser/Makefile
1783 programs/winecfg/Makefile
1784 programs/wineconsole/Makefile
1785 programs/winedbg/Makefile
1786 programs/winefile/Makefile
1787 programs/winemenubuilder/Makefile
1788 programs/winemine/Makefile
1789 programs/winepath/Makefile
1790 programs/winetest/Makefile
1791 programs/winevdm/Makefile
1792 programs/winhelp/Makefile
1793 programs/winver/Makefile
1797 tools/winapi/Makefile
1798 tools/winebuild/Makefile
1799 tools/winedump/Makefile
1800 tools/winegcc/Makefile
1802 tools/wrc/Makefile])
1806 if test "$have_x" = "no"
1809 echo "*** Warning: X development files not found. Wine will be built without"
1810 echo "*** X support, which currently does not work, and would probably not be"
1811 echo "*** what you want anyway. You will need to install devel packages of"
1812 echo "*** Xlib/Xfree86 at the very least."
1815 if test "$wine_cv_opengl_version_OK" = "no"
1818 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1819 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1822 if test "$wine_cv_msg_freetype" = "yes"
1825 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1826 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1827 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1828 echo "*** enable Wine to use TrueType fonts."
1832 echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
1835 dnl Local Variables:
1836 dnl comment-start: "dnl "
1838 dnl comment-start-skip: "\\bdnl\\b\\s *"
1839 dnl compile-command: "autoconf"