Created an ACM MS ADPCM codec.
[wine.git] / configure.ac
blob803bd92dd0847d1aa029c066798568714a593d42
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]))
7 AC_PREREQ(2.53)
8 AC_INIT([Wine],WINE_VERSION)
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 dnl Default values
16 LIBEXT=so       # library type .so or .a
18 AC_ARG_ENABLE(debug, AC_HELP_STRING([--disable-debug],[compile out all debugging messages]))
19 AC_ARG_ENABLE(trace, AC_HELP_STRING([--disable-trace],[compile out TRACE messages]))
20 AC_ARG_ENABLE(opengl,AC_HELP_STRING([--enable-opengl],[force usage of OpenGL even if the latter is thread-safe via pthread]))
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(OPTIONS)
25 if test "x$enable_debug" = "xno"
26 then
27     AC_DEFINE(NO_DEBUG_MSGS,1,[Define to disable all debug messages.])
29 if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
30 then
31     AC_DEFINE(NO_TRACE_MSGS,1,[Define to disable trace messages.])
34 dnl **** Check for some programs ****
36 AC_CANONICAL_HOST
37 AC_PROG_MAKE_SET
38 AC_PROG_CC
39 AC_PROG_CPP
41 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
42   [if test -z "$with_wine_tools"; then
43      if test "$cross_compiling" = "yes"; then
44        AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
45      else
46        wine_cv_toolsdir="\$(TOPOBJDIR)"
47      fi
48    elif test -d "$with_wine_tools/tools/winebuild"; then
49      case $with_wine_tools in
50        /*) wine_cv_toolsdir="$with_wine_tools" ;;
51        *)  wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
52      esac
53    else
54      AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
55    fi])
56 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
58 AC_PATH_XTRA
59 AC_PROG_YACC
60 AC_PROG_LEX
62 dnl **** Just additional warning checks, since AC_PROG just sets 'yacc' even
63 dnl **** without one present.
64 AC_CHECK_PROGS(XYACC,$YACC bison yacc,none)
65 if test "$XYACC" = "none"
66 then
67   AC_MSG_ERROR([no suitable bison/yacc found. Please install the 'bison' package.])
69 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
70 if test "$XLEX" = "none"
71 then
72   AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
75 AC_CHECK_TOOL(AR,ar,ar)
76 AC_PROG_RANLIB
77 AC_CHECK_TOOL(STRIP,strip,strip)
78 AC_CHECK_TOOL(WINDRES,windres,false)
79 AC_PROG_INSTALL
80 AC_PROG_LN_S
81 AC_CHECK_PROG(C2MAN,c2man,c2man,\$(TOPSRCDIR)/tools/c2man.pl)
82 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
84 case $host_os in
85    cygwin*|mingw32*)
86       AC_CHECK_TOOL(LDCOMBINE,[ld -r --enable-stdcall-fixup],[ld -r --enable-stdcall-fixup]) ;;
87    *)
88       AC_CHECK_TOOL(LDCOMBINE,[ld -r],[ld -r]) ;;
89 esac
91 dnl Check for lint
92 AC_CHECK_PROGS(LINT, lclint lint)
93 if test "$LINT" = "lint"
94 then
95   LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
96   dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
98 AC_SUBST(LINT)
99 AC_SUBST(LINTFLAGS)
101 dnl **** Check for some libraries ****
103 dnl Check for -lm
104 AC_CHECK_LIB(m,sqrt)
105 dnl Check for -li386 for NetBSD and OpenBSD
106 AC_CHECK_LIB(i386,i386_set_ldt)
107 dnl Check for -lossaudio for NetBSD
108 AC_CHECK_LIB(ossaudio,_oss_ioctl)
109 dnl Check for -lw for Solaris
110 AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
111 dnl Check for -lnsl for Solaris
112 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
113 dnl Check for -lsocket for Solaris
114 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
115 dnl Check for -lresolv for Solaris
116 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
117 dnl Check for -lxpg4 for FreeBSD
118 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
119 dnl Check for -lmmap for OS/2
120 AC_CHECK_LIB(mmap,mmap)
122 JPEGLIB=""
123 AC_SUBST(JPEGLIB)
124 AC_CHECK_HEADERS(jpeglib.h,
125     AC_CHECK_LIB(jpeg,jpeg_start_decompress,
126         AC_DEFINE(HAVE_LIBJPEG,1,[Define if you have libjpeg including devel headers])
127         JPEGLIB="-ljpeg"
128     )
132 AC_SUBST(XLIB)
133 AC_SUBST(XFILES)
134 XFILES=""
135 AC_SUBST(OPENGLFILES)
136 OPENGLFILES=""
137 AC_SUBST(GLU32FILES)
138 GLU32FILES=""
139 if test "$have_x" = "yes"
140 then
141     XLIB="-lXext -lX11"
142     ac_save_CPPFLAGS="$CPPFLAGS"
143     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
145     dnl *** All of the following tests require X11/Xlib.h
146     AC_CHECK_HEADERS(X11/Xlib.h,
147       [
148         dnl *** Check for X keyboard extension
149         AC_CHECK_HEADERS(X11/XKBlib.h,
150             [ dnl *** If X11/XKBlib.h exists...
151               AC_CHECK_LIB(X11, XkbQueryExtension,
152               AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
153               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
154             ],
155             AC_MSG_WARN([[Xkb extension not found, Wine will be built without it]])
156         )
158         dnl *** Check for X Shm extension
159         AC_CHECK_HEADERS(X11/extensions/XShm.h,
160             [ dnl *** If X11/extensions/XShm.h exists...
161               AC_CHECK_LIB(Xext, XShmQueryExtension,
162               AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
163               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
164             ],
165             AC_MSG_WARN([[XShm extension not found, Wine will be built without it]]),
166             [#include <X11/Xlib.h>])
168         dnl *** Check for X shape extension
169         AC_CHECK_HEADERS(X11/extensions/shape.h,
170             [ dnl *** If X11/extensions/shape.h exists...
171               AC_CHECK_LIB(Xext,XShapeQueryExtension,
172               AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
173               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
174             ],
175             AC_MSG_WARN([[XShape extension not found, Wine will be built without it]]),
176             [#include <X11/Xlib.h>])
177         
178         dnl *** Check for XFree86 DGA / DGA 2.0 extension
179         AC_CHECK_HEADERS(X11/extensions/xf86dga.h,
180             [ dnl *** If X11/extensions/xf86dga.h exists, check 
181               dnl *** for XDGAQueryExtension()...
182               AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
183                 [ dnl *** If found...
184                   AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
185                             [Define if you have the Xxf86dga library version 2])
186                   X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
187                ],
188                 [ dnl *** If not found, look for XF86DGAQueryExtension()
189                   dnl *** instead (DGA 2.0 not found)...
190                   AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
191                     [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
192                                 [Define if you have the Xxf86dga library version 1])
193                       X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
194                     ],,
195                     $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
196                   )
197                 ],
198                 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
199               )
200             ],
201             AC_MSG_WARN([[DGA extension not found, Wine will be built without it]]),
202             [#include <X11/Xlib.h>])
204         dnl *** Check for XFree86 VMODE extension
205         AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,
206             [ dnl *** If X11/extensions/xf86vmode.h exists...
207                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
208                   [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
209                      X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
210                   ],,
211                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
212                 )
213             ],
214             AC_MSG_WARN([[XFree86 VMODE extension not found, Wine will be built without it]]),
215             [#include <X11/Xlib.h>])
217         dnl *** Check for XVideo extension supporting XvImages
218         AC_CHECK_HEADERS(X11/extensions/Xvlib.h,
219             [ dnl *** If X11/extensions/Xvlib.h exists...
220                 AC_CHECK_LIB(Xv, XvShmCreateImage,
221                   [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
222                      X_PRE_LIBS="$X_PRE_LIBS -lXv"
223                   ],,
224                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
225                 )
226             ],
227             AC_MSG_WARN([[XVideo extension not found, Wine will be built without it]]),
228             [#include <X11/Xlib.h>])
230         dnl *** Check for XRender include file
231         AC_CHECK_HEADERS(X11/extensions/Xrender.h,,,[#include <X11/Xlib.h>])
232       ]
233     ) dnl *** End of X11/Xlib.h check
235     dnl Check for the presence of OpenGL
236     if test "x$enable_opengl" != "xno"
237     then
238         if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
239         then
240             AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
241 This prevents linking to OpenGL. Delete the file and restart configure.])
242         fi
244         AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
245         if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
246         then
247             AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>])
248             dnl Check for some problems due to old Mesa versions
249             AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
250               AC_TRY_COMPILE(
251                 [#include <GL/gl.h>],
252                 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
253                 [wine_cv_opengl_version_OK="yes"],
254                 [wine_cv_opengl_version_OK="no"]
255               )
256             )
258             dnl Check for the thread-safety of the OpenGL library
259             AC_CACHE_CHECK([for thread-safe OpenGL version], 
260                            wine_cv_opengl_version_threadsafe,
261               [saved_libs=$LIBS
262                LIBS="$X_LIBS -lGL"
263                AC_TRY_LINK([],[pthread_getspecific();],
264                               [wine_cv_opengl_version_threadsafe="yes"],
265                               [wine_cv_opengl_version_threadsafe="no"])
266                LIBS=$saved_libs]
267             )
269             if test "$wine_cv_opengl_version_OK" = "yes" -a \( "$wine_cv_opengl_version_threadsafe" = "no" -o "x$enable_opengl" = "xyes" \)
270             then
271                 dnl Check for the presence of the library
272                 AC_CHECK_LIB(GL,glXCreateContext,
273                              X_PRE_LIBS="$X_PRE_LIBS -lGL"
274                              ,,
275                              $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
277                 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
278                 then
279                         OPENGLFILES='$(OPENGLFILES)'
280                         AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
282                         AC_CHECK_LIB(GL,glXGetProcAddressARB,
283                                      AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
284                                                [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
285                                      $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
287                         if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
288                         then
289                                AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
290                                   [AC_TRY_COMPILE([#include <GL/gl.h>
291                                                   #ifdef HAVE_GL_GLEXT_H
292                                                   # include <GL/glext.h>
293                                                   #endif
294                                                   ],
295                                                  [PFNGLCOLORTABLEEXTPROC test_proc;],
296                                                  [wine_cv_extension_prototypes="yes"],
297                                                  [wine_cv_extension_prototypes="no"]
298                                   )]
299                                 )
300                                 if test "$wine_cv_extension_prototypes" = "yes"
301                                 then
302                                     AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
303                                               [Define if the OpenGL headers define extension typedefs])
304                                 fi
305                         fi
307                 fi
308                 dnl Check for GLU32 library.
309                 AC_CHECK_LIB(GLU,gluLookAt,
310                              [X_PRE_LIBS="$X_PRE_LIBS -lGLU"
311                              GLU32FILES='$(GLU32FILES)']
312                              ,,
313                              $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
314                 )
315              fi
316          fi
317     fi
319     CPPFLAGS="$ac_save_CPPFLAGS"
320     XFILES='$(XFILES)'
321 else
322     XLIB=""
323     X_CFLAGS=""
324     X_LIBS=""
327 dnl **** Check which curses lib to use ***
328 CURSESLIBS=""
329 if test "x$with_curses" != "xno"
330 then
331     AC_CHECK_HEADERS(ncurses.h,
332         [AC_CHECK_LIB(ncurses,waddch,
333             [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
334              CURSESLIBS="-lncurses"],
335              [AC_CHECK_HEADERS(curses.h,
336                  [AC_CHECK_LIB(curses,waddch,
337                      [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
338                       CURSESLIBS="-lcurses"])])])])
339     saved_libs="$LIBS"
340     LIBS="$CURSESLIBS $LIBS"
341     AC_CHECK_FUNCS(getbkgd resizeterm)
342     LIBS="$saved_libs"
344 AC_SUBST(CURSESLIBS)
346 CUPSLIBS=""
347 dnl **** Check for CUPS ****
348 wine_cv_warn_cups_h=no
349 AC_CHECK_LIB(cups,cupsGetPPD,
350         [AC_CHECK_HEADER(cups/cups.h,
351             [AC_DEFINE(HAVE_CUPS, 1, [Define if we have CUPS])
352             CUPSLIBS="-lcups"],
353             wine_cv_warn_cups_h=yes)]
355 AC_SUBST(CUPSLIBS)
357 dnl **** Check for SANE ****
358 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
359 if test "$sane_devel" = "no"
360 then
361     SANELIBS=""
362     SANEINCL=""
363 else
364     SANELIBS="`$sane_devel --libs`"
365     SANEINCL="`$sane_devel --cflags`"
366     ac_save_CPPFLAGS="$CPPFLAGS"
367     ac_save_LIBS="$LIBS"
368     CPPFLAGS="$CPPFLAGS $SANEINCL"
369     LIBS="$LIBS $SANELIBS"
370     AC_CHECK_HEADER(sane/sane.h,
371                     [AC_CHECK_LIB(sane,sane_open,
372                                   [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
373                                   [SANELIBS=""
374                                   SANEINCL=""])],
375                     [SANELIBS=""
376                     SANEINCL=""])
377     LIBS="$ac_save_LIBS"
378     CPPFLAGS="$ac_save_CPPFLAGS"
380 AC_SUBST(SANELIBS)
381 AC_SUBST(SANEINCL)
383 dnl **** Check for FreeType 2 ****
384 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
385 if test "$ft_lib" = "no"
386 then
387     FREETYPEINCL=""
388     wine_cv_msg_freetype=no
389 else
390     AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
391     if test "$ft_devel" = "no"
392     then
393         AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
394         if test "$ft_devel2" = "freetype2-config"
395         then
396                 ft_devel=$ft_devel2
397         fi
398     fi
399     if test "$ft_devel" = "no"
400     then
401         FREETYPEINCL=""
402         wine_cv_msg_freetype=yes
403     else
404         FREETYPEINCL=`$ft_devel --cflags`
405         ac_save_CPPFLAGS="$CPPFLAGS"
406         CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
407         AC_CHECK_HEADERS(freetype/freetype.h \
408                          freetype/ftglyph.h \
409                          freetype/tttables.h \
410                          freetype/ftnames.h \
411                          freetype/ftsnames.h \
412                          freetype/ttnameid.h \
413                          freetype/ftoutln.h \
414                          freetype/internal/sfnt.h)
415         AC_TRY_CPP([#include <ft2build.h>
416                     #include <freetype/fttrigon.h>],
417                     [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
418           [Define if you have the <freetype/fttrigon.h> header file.])
419                     wine_cv_fttrigon=yes],
420                     wine_cv_fttrigon=no)
421         CPPFLAGS="$ac_save_CPPFLAGS"
422         dnl Check that we have at least freetype/freetype.h
423         if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
424         then
425             AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
426             wine_cv_msg_freetype=no
427         else
428             FREETYPEINCL=""
429             wine_cv_msg_freetype=yes
430         fi
431     fi
433 AC_SUBST(FREETYPEINCL)
435 dnl **** Check for parport (currently Linux only) ****
436 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
437  AC_TRY_COMPILE(
438    [#include <linux/ppdev.h>],
439    [ioctl (1,PPCLAIM,0)],
440    [ac_cv_c_ppdev="yes"],
441    [ac_cv_c_ppdev="no"])
443 if test "$ac_cv_c_ppdev" = "yes"
444 then
445     AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
448 dnl **** Check for IPX (currently Linux only) ****
449 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
450  AC_TRY_COMPILE(
451    [#include <sys/socket.h>
452     #include <netipx/ipx.h>],
453    [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
454    [ac_cv_c_ipx_gnu="yes"],
455    [ac_cv_c_ipx_gnu="no"])
457 if test "$ac_cv_c_ipx_gnu" = "yes"
458 then
459     AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
462 if test "$ac_cv_c_ipx_gnu" = "no"
463 then
464  AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
465   AC_TRY_COMPILE(
466     [#include <sys/socket.h>
467      #include <asm/types.h>
468      #include <linux/ipx.h>],
469     [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
470     [ac_cv_c_ipx_linux="yes"],
471     [ac_cv_c_ipx_linux="no"])
472   )
473   if test "$ac_cv_c_ipx_linux" = "yes"
474   then
475       AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
476   fi
479 dnl **** Check for Open Sound System ****
480 AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
482 AC_CACHE_CHECK([for Open Sound System],
483         ac_cv_c_opensoundsystem,
484         AC_TRY_COMPILE([
485         #if defined(HAVE_SYS_SOUNDCARD_H)
486                 #include <sys/soundcard.h>
487         #elif defined(HAVE_MACHINE_SOUNDCARD_H)
488                 #include <machine/soundcard.h>
489         #elif defined(HAVE_SOUNDCARD_H)
490                 #include <soundcard.h>
491         #endif
492         ],[
494 /* check for one of the Open Sound System specific SNDCTL_ defines */
495 #if !defined(SNDCTL_DSP_STEREO)
496 #error No open sound system
497 #endif
498 ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
500 if test "$ac_cv_c_opensoundsystem" = "yes"
501 then
502     AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
505 AC_CACHE_CHECK([for Open Sound System/MIDI interface],
506         ac_cv_c_opensoundsystem_midi,
507         AC_TRY_COMPILE([
508         #if defined(HAVE_SYS_SOUNDCARD_H)
509                 #include <sys/soundcard.h>
510         #elif defined(HAVE_MACHINE_SOUNDCARD_H)
511                 #include <machine/soundcard.h>
512         #elif defined(HAVE_SOUNDCARD_H)
513                 #include <soundcard.h>
514         #endif
515         ],[
517 /* check for one of the Open Sound System specific SNDCTL_SEQ defines */
518 #if !defined(SNDCTL_SEQ_SYNC)
519 #error No open sound system MIDI interface
520 #endif
521 ],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
523 if test "$ac_cv_c_opensoundsystem_midi" = "yes"
524 then
525     AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
528 dnl **** Check for aRts Sound Server ****
529 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
530 AC_CACHE_CHECK([for aRts Sound server],
531         ac_cv_c_artsserver,
532         if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"';
533         then
534             ac_cv_c_artsserver=no
535         else
536             ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
537             ARTSC_LIBS=`$ARTSCCONFIG --libs`
538             ac_cv_c_artsserver=no
539             save_CFLAGS="$CFLAGS"
540             CFLAGS="$CFLAGS $ARTSC_CFLAGS"
541             AC_TRY_COMPILE([
542              #include <artsc.h>
543             ],[
544              arts_stream_t stream;
545             ],[
546             ac_cv_c_artsserver=yes
547             ])
548             CFLAGS="$save_CFLAGS"
549         fi)
551 if test "$ac_cv_c_artsserver" = "yes"
552 then
553     AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
554     AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
556     AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])
559 dnl **** Check for broken glibc mmap64 ****
561 AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
562         AC_TRY_RUN([
563                 #define _FILE_OFFSET_BITS 64
564                 #include <stdio.h>
565                 #include <unistd.h>
566                 #include <fcntl.h>
567                 #include <sys/mman.h>
568                 #include <errno.h>
570                 int main(int argc,char **argv) {
571                         int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
572                         if (fd == -1) exit(1);
574                         unlink("conftest.map");
576                         write(fd,"test",4);
578                         if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
579                             (errno == EINVAL)
580                         ) {
581                                 exit(1);
582                         }
583                         close(fd);
584                         fprintf(stderr,"success!\n");
585                         exit(0);
586                 }
588         ],
589     ac_cv_mmap64_works="yes",
590     ac_cv_mmap64_works="no",
591     ac_cv_mmap64_works="no") )
593 if test "$ac_cv_mmap64_works" = "yes"
594 then
595     AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
598 dnl **** Check for gcc strength-reduce bug ****
600 if test "x${GCC}" = "xyes"
601 then
602   CFLAGS="$CFLAGS -Wall"
603   AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
604                   AC_TRY_RUN([
605 int     L[[4]] = {0,1,2,3};
606 int main(void) {
607   static int Array[[3]];
608   unsigned int B = 3;
609   int i;
610   for(i=0; i<B; i++) Array[[i]] = i - 3;
611   for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
612   L[[i]] = 4;
613   
614   exit( Array[[1]] != -2 || L[[2]] != 3);
616     ac_cv_c_gcc_strength_bug="no",
617     ac_cv_c_gcc_strength_bug="yes",
618     ac_cv_c_gcc_strength_bug="yes") )
619   if test "$ac_cv_c_gcc_strength_bug" = "yes"
620   then
621     CFLAGS="$CFLAGS -fno-strength-reduce"
622   fi
624   dnl Check for -mpreferred-stack-boundary
625   AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
626       [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
627                       ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
628   if test "$ac_cv_c_gcc_stack_boundary" = "yes"
629   then
630     CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
631   fi
634 dnl **** Check if we need to place .type inside a .def directive ****
636 AC_CACHE_CHECK([whether .type must sit inside a .def directive], ac_cv_c_type_in_def,
637     WINE_TRY_ASM_LINK(
638 [       .globl _ac_test
639         .def _ac_test; .scl 2; .type 32; .endef
640 _ac_test:
641         .long 0],,,
642     ac_cv_c_type_in_def="yes",ac_cv_c_type_in_def="no"))
643 if test "$ac_cv_c_type_in_def" = "yes"
644 then
645   AC_DEFINE(NEED_TYPE_IN_DEF, 1, [Define if .type asm directive must be inside a .def directive])
648 dnl **** Check for underscore on external symbols ****
650 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
651     WINE_TRY_ASM_LINK(
652 [       .globl _ac_test
653 _ac_test:
654         .long 0],
655 [extern int ac_test;],
656 [if (ac_test) return 1],
657     ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
658 if test "$ac_cv_c_extern_prefix" = "yes"
659 then
660   AC_DEFINE(NEED_UNDERSCORE_PREFIX, 1,
661             [Define if symbols declared in assembly code need an underscore prefix])
664 dnl **** Check whether stdcall symbols need to be decorated ****
666 AC_CACHE_CHECK([whether stdcall symbols need to be decorated], ac_cv_c_stdcall_decoration,
667     WINE_TRY_ASM_LINK(
668 [       .globl _ac_test@0
669 _ac_test@0:
670         .globl ac_test@0
671 ac_test@0:],
672 [extern void __attribute__((__stdcall__)) ac_test(void);],
673 [ac_test()],
674     ac_cv_c_stdcall_decoration="yes",ac_cv_c_stdcall_decoration="no"))
675 if test "$ac_cv_c_stdcall_decoration" = "yes"
676 then
677   AC_DEFINE(NEED_STDCALL_DECORATION, 1, [Define if stdcall symbols need to be decorated])
680 dnl **** Check for .string in assembler ****
682 AC_CACHE_CHECK([whether assembler accepts .string], ac_cv_c_asm_string,
683     WINE_TRY_ASM_LINK(
684 [       .string "test"],,,ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no"))
685 if test "$ac_cv_c_asm_string" = "yes"
686 then
687   AC_DEFINE(HAVE_ASM_STRING, 1, [Define to use .string instead of .ascii])
690 dnl **** Check for working dll ****
692 LDSHARED=""
693 LDDLLFLAGS=""
694 DLLIBS=""
696 case $host_os in
697   cygwin*|mingw32*)
698     AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
699     if test "$DLLWRAP" = "false"; then
700       LIBEXT="a"
701     else
702       dnl FIXME - check whether dllwrap works correctly...
703       LIBEXT="dll"
704     fi
705     ;;
706   *)
707     AC_CHECK_HEADERS(dlfcn.h,
708         [AC_CHECK_FUNCS(dlopen,,
709             [AC_CHECK_LIB(dl,dlopen,
710                          [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
711                           DLLIBS="-ldl"],
712                          [LIBEXT="a"])])],
713         [LIBEXT="a"])
715     if test "$LIBEXT" = "so"
716     then
717       AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
718           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
719                            ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
720       if test "$ac_cv_c_dll_gnuelf" = "yes"
721       then
722         LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
723         LDDLLFLAGS="-Wl,-Bsymbolic"
724       else
725         AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
726             [WINE_TRY_CFLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
727                              ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
728         if test "$ac_cv_c_dll_unixware" = "yes"
729         then
730           LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
731           LDDLLFLAGS="-Wl,-B,symbolic"
732         fi
733       fi
734     fi
735     ;;
736 esac
738 if test "$LIBEXT" = "a"; then
739   AC_MSG_ERROR(
740 [could not find a way to build shared libraries.
741 It is currently not possible to build Wine without shared library
742 (.so) support to allow transparent switch between .so and .dll files.
743 If you are using Linux, you will need a newer binutils.]
747 DLLFLAGS=""
749 if test "$LIBEXT" = "so"; then
750     DLLFLAGS="-fPIC"
751     DLLEXT=".so"
752 elif test "$LIBEXT" = "dll"; then
753     #DLLFLAGS="-fPIC" # -fPIC doesn't work(at least in cygwin-b20) - FIXME
754     DLLEXT=""
757 case $build_os in
758   cygwin*|mingw32*)
759     LDPATH="PATH=\"\$(TOOLSDIR)/library:\$(TOOLSDIR)/unicode:\$\$PATH\"" ;;
760   *)
761     LDPATH="LD_LIBRARY_PATH=\"\$(TOOLSDIR)/library:\$(TOOLSDIR)/unicode:\$\$LD_LIBRARY_PATH\"" ;;
762 esac
764 AC_SUBST(DLLIBS)
765 AC_SUBST(DLLFLAGS)
766 AC_SUBST(DLLEXT)
767 AC_SUBST(LDSHARED)
768 AC_SUBST(LDDLLFLAGS)
769 AC_SUBST(LIBEXT)
770 AC_SUBST(LDPATH)
772 dnl **** Get the soname for libraries that we load dynamically ****
774 if test "$LIBEXT" = "so"
775 then
776   WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
777   WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
778   WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
779   WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
783 dnl **** Check for reentrant libc ****
785 wine_cv_libc_reentrant=no 
786 dnl Linux style errno location
787 WINE_CHECK_ERRNO([__errno_location], [wine_cv_libc_reentrant=__errno_location],
788   dnl FreeBSD style errno location
789   WINE_CHECK_ERRNO([__error], [wine_cv_libc_reentrant=__error],
790     dnl Solaris style errno location
791     WINE_CHECK_ERRNO([___errno], [wine_cv_libc_reentrant=___errno],
792       dnl UnixWare style errno location
793       WINE_CHECK_ERRNO([__thr_errno], [wine_cv_libc_reentrant=__thr_errno],
794         dnl NetBSD style errno location
795         WINE_CHECK_ERRNO([__errno], [wine_cv_libc_reentrant=__errno])
796 ))))
798 if test "$wine_cv_libc_reentrant" != "no" 
799 then
800   AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant,
801                      [Define to the name of the function returning errno for reentrant libc])
804 dnl **** Check for reentrant X libraries ****
806 dnl This may fail to determine whether X libraries are reentrant if
807 dnl AC_PATH_XTRA does not set x_libraries.
809 if test "$have_x" = "yes"
810 then
811 AC_CACHE_CHECK( [for reentrant X libraries], wine_cv_x_reentrant,
812     [libX11_check=none
813     for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
814         if test -r $dir/libX11.so; then
815             libX11_check="-D $dir/libX11.so"
816             break
817         fi
818         if test -r $dir/libX11.a; then
819             libX11_check="$dir/libX11.a"
820             break
821         fi
822     done
823     if test "$libX11_check" != "none"; then
824         if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
825         then
826             wine_cv_x_reentrant=yes
827         else
828             wine_cv_x_reentrant=no
829         fi
830     else
831         wine_cv_x_reentrant=unknown
832     fi])
835 dnl **** Check for functions ****
837 AC_FUNC_ALLOCA()
838 AC_CHECK_FUNCS(\
839         __libc_fork \
840         _lwp_create \
841         _pclose \
842         _popen \
843         _snprintf \
844         _stricmp \
845         _strnicmp \
846         chsize \
847         clone \
848         ecvt \
849         finite \
850         fpclass \
851         ftruncate \
852         ftruncate64 \
853         getnetbyaddr \
854         getnetbyname \
855         getpagesize \
856         getprotobyname \
857         getprotobynumber \
858         getservbyport \
859         getsockopt \
860         inet_network \
861         lseek64 \
862         lstat \
863         memmove \
864         mmap \
865         pclose \
866         popen \
867         pread \
868         pwrite \
869         rfork \
870         select \
871         sendmsg \
872         settimeofday \
873         sigaltstack \
874         snprintf \
875         statfs \
876         strcasecmp \
877         strerror \
878         strncasecmp \
879         tcgetattr \
880         timegm \
881         usleep \
882         vfscanf \
883         wait4 \
884         waitpid \
887 dnl **** Check for header files ****
889 AC_CHECK_HEADERS(\
890         arpa/inet.h \
891         arpa/nameser.h \
892         direct.h \
893         elf.h \
894         float.h \
895         ieeefp.h \
896         io.h \
897         libio.h \
898         libutil.h \
899         link.h \
900         linux/cdrom.h \
901         linux/hdreg.h \
902         linux/input.h \
903         linux/joystick.h \
904         linux/major.h \
905         linux/param.h \
906         linux/serial.h \
907         linux/ucdrom.h \
908         net/if.h \
909         netdb.h \
910         netinet/in.h \
911         netinet/in_systm.h \
912         netinet/ip.h \
913         netinet/tcp.h \
914         pty.h \
915         resolv.h \
916         sched.h \
917         scsi/sg.h \
918         socket.h \
919         stdint.h \
920         strings.h \
921         sys/cdio.h \
922         sys/errno.h \
923         sys/file.h \
924         sys/filio.h \
925         sys/inttypes.h \
926         sys/ioctl.h \
927         sys/ipc.h \
928         sys/link.h \
929         sys/lwp.h \
930         sys/mman.h \
931         sys/modem.h \
932         sys/mount.h \
933         sys/msg.h \
934         sys/param.h \
935         sys/ptrace.h \
936         sys/reg.h \
937         sys/shm.h \
938         sys/signal.h \
939         sys/socket.h \
940         sys/sockio.h \
941         sys/statfs.h \
942         sys/strtio.h \
943         sys/syscall.h \
944         sys/sysctl.h \
945         sys/time.h \
946         sys/user.h \
947         sys/v86.h \
948         sys/v86intr.h \
949         sys/vfs.h \
950         sys/vm86.h \
951         sys/wait.h \
952         syscall.h \
953         termios.h \
954         ucontext.h \
955         unistd.h \
957 AC_HEADER_STAT()
959 dnl **** Check for types ****
961 AC_C_CONST
962 AC_C_INLINE
963 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t])
964 AC_CHECK_SIZEOF(long long,0)
966 AC_CACHE_CHECK([whether linux/input.h is for real],
967         wine_cv_linux_input_h,
968         AC_TRY_COMPILE([
969             #include <linux/input.h>
970         ] , [
971             int foo = EVIOCGBIT(EV_ABS,42);
972             int bar = BTN_PINKIE;
973             int fortytwo = 42;
974         ],
975         wine_cv_linux_input_h=yes,
976         wine_cv_linux_input_h=no,
977         no
978         )
979     )
980     if test "$wine_cv_linux_input_h" = "yes"
981     then
982         AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
983                   [Define if we have linux/input.h AND it contains the INPUT event API])
984     fi
986    
987 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
988         wine_cv_linux_gethostbyname_r_6,
989         AC_TRY_COMPILE([
990 #include <netdb.h>
991         ], [
992     char *name=NULL;
993     struct hostent he;
994     struct hostent *result;
995     char *buf=NULL;
996     int bufsize=0;
997     int res,errnr;
998     char *addr=NULL;
999     int addrlen=0;
1000     int addrtype=0;
1001     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1002     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1003     ],
1004         wine_cv_linux_gethostbyname_r_6=yes,
1005         wine_cv_linux_gethostbyname_r_6=no
1006         )
1007    )
1008    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1009    then
1010       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1011                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1012    fi
1014 if test "$ac_cv_header_linux_joystick_h" = "yes"
1015 then
1016    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1017         wine_cv_linux_joystick_22_api,
1018         AC_TRY_COMPILE([
1019         #include <sys/ioctl.h>
1020         #include <linux/joystick.h>
1022         struct js_event blub;
1023         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1024         #error "no 2.2 header"
1025         #endif
1026         ],/*empty*/,
1027         wine_cv_linux_joystick_22_api=yes,
1028         wine_cv_linux_joystick_22_api=no,
1029         wine_cv_linux_joystick_22_api=no
1030         )
1031    )
1032    if test "$wine_cv_linux_joystick_22_api" = "yes"
1033    then
1034       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1035                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1036    fi
1039 dnl **** statfs checks ****
1041 if test "$ac_cv_header_sys_vfs_h" = "yes"
1042 then
1043     AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1044                     wine_cv_sys_vfs_has_statfs,
1045         AC_TRY_COMPILE([
1046         #include <sys/types.h>
1047         #ifdef HAVE_SYS_PARAM_H
1048         # include <sys/param.h>
1049         #endif
1050         #include <sys/vfs.h>
1051         ],[
1052                 struct statfs stfs;
1054                 memset(&stfs,0,sizeof(stfs));
1055         ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1056         )
1057     )
1058     if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1059     then
1060       AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1061                 [Define if the struct statfs is defined by <sys/vfs.h>])
1062     fi
1065 if test "$ac_cv_header_sys_statfs_h" = "yes"
1066 then
1067     AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1068                     wine_cv_sys_statfs_has_statfs,
1069         AC_TRY_COMPILE([
1070         #include <sys/types.h>
1071         #ifdef HAVE_SYS_PARAM_H
1072         # include <sys/param.h>
1073         #endif
1074         #include <sys/statfs.h>
1075         ],[
1076                 struct statfs stfs;
1077         ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1078         )
1079     )
1080     if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1081     then
1082       AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1083                 [Define if the struct statfs is defined by <sys/statfs.h>])
1084     fi
1087 if test "$ac_cv_header_sys_mount_h" = "yes"
1088 then
1089     AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1090                     wine_cv_sys_mount_has_statfs,
1091         AC_TRY_COMPILE([
1092         #include <sys/types.h>
1093         #ifdef HAVE_SYS_PARAM_H
1094         # include <sys/param.h>
1095         #endif
1096         #include <sys/mount.h>
1097         ],[
1098                 struct statfs stfs;
1099         ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1100         )
1101     )
1102     if test "$wine_cv_sys_mount_has_statfs" = "yes"
1103     then
1104       AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1105                 [Define if the struct statfs is defined by <sys/mount.h>])
1106     fi
1109 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1111 WINE_CHECK_STRUCT_MEMBER(statfs,f_bfree,
1112 [#include <sys/types.h>
1113 #ifdef HAVE_SYS_PARAM_H
1114 # include <sys/param.h>
1115 #endif
1116 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1117 # include <sys/mount.h>
1118 #else
1119 # ifdef STATFS_DEFINED_BY_SYS_VFS
1120 #  include <sys/vfs.h>
1121 # else
1122 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1123 #   include <sys/statfs.h>
1124 #  endif
1125 # endif
1126 #endif],
1127     [AC_DEFINE(STATFS_HAS_BFREE, 1, [Define if the struct statfs has the member bfree])])
1129 WINE_CHECK_STRUCT_MEMBER(statfs,f_bavail,
1130 [#include <sys/types.h>
1131 #ifdef HAVE_SYS_PARAM_H
1132 # include <sys/param.h>
1133 #endif
1134 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1135 # include <sys/mount.h>
1136 #else
1137 # ifdef STATFS_DEFINED_BY_SYS_VFS
1138 #  include <sys/vfs.h>
1139 # else
1140 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1141 #   include <sys/statfs.h>
1142 #  endif
1143 # endif
1144 #endif],
1145     [AC_DEFINE(STATFS_HAS_BAVAIL, 1, [Define if the struct statfs has the member bavail])])
1147 dnl Check for file descriptor passing with msg_accrights
1148 WINE_CHECK_STRUCT_MEMBER(msghdr,msg_accrights,
1149 [#include <sys/types.h>
1150 #include <sys/socket.h>],
1151     [AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS, 1, [Define if struct msghdr contains msg_accrights])])
1153 dnl Check for the sa_len member in struct sockaddr
1154 WINE_CHECK_STRUCT_MEMBER(sockaddr,sa_len,
1155 [#include <sys/types.h>
1156 #include <sys/socket.h>],
1157     [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])])
1159 dnl Check for the sun_len member in struct sockaddr_un
1160 WINE_CHECK_STRUCT_MEMBER(sockaddr_un,sun_len,
1161 [#include <sys/types.h>
1162 #include <sys/socket.h>
1163 #include <sys/un.h>],
1164     [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains sun_len])])
1166 dnl *** check for the need to define __i386__
1168 case $host_cpu in
1169   *i[3456789]86* )
1170     AC_CACHE_CHECK([whether we need to define __i386__],ac_cv_cpp_def_i386,
1171       AC_EGREP_CPP(yes,[#ifndef __i386__
1173 #endif],
1174  ac_cv_cpp_def_i386="yes", ac_cv_cpp_def_i386="no"))
1175     ;;
1176 esac
1177 if test "$ac_cv_cpp_def_i386" = "yes"
1178 then
1179     CFLAGS="$CFLAGS -D__i386__"
1180     LINTFLAGS="$LINTFLAGS -D__i386__"
1183 dnl **** Generate output files ****
1185 AH_TOP([#define __WINE_CONFIG_H])
1187 WINE_CONFIG_EXTRA_DIR(controls)
1188 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1189 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1190 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1191 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1192 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1193 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1194 WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick)
1195 WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard)
1196 WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse)
1197 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1198 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1199 WINE_CONFIG_EXTRA_DIR(dlls/gdi/win16drv)
1200 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1201 WINE_CONFIG_EXTRA_DIR(dlls/kernel/tests)
1202 WINE_CONFIG_EXTRA_DIR(dlls/oleaut32/tests)
1203 WINE_CONFIG_EXTRA_DIR(dlls/shlwapi/tests)
1204 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1205 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1206 WINE_CONFIG_EXTRA_DIR(dlls/user/tests)
1207 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1208 WINE_CONFIG_EXTRA_DIR(dlls/winsock/tests)
1209 WINE_CONFIG_EXTRA_DIR(files)
1210 WINE_CONFIG_EXTRA_DIR(graphics)
1211 WINE_CONFIG_EXTRA_DIR(graphics/x11drv)
1212 WINE_CONFIG_EXTRA_DIR(if1632)
1213 WINE_CONFIG_EXTRA_DIR(include/wine)
1214 WINE_CONFIG_EXTRA_DIR(loader)
1215 WINE_CONFIG_EXTRA_DIR(loader/ne)
1216 WINE_CONFIG_EXTRA_DIR(memory)
1217 WINE_CONFIG_EXTRA_DIR(misc)
1218 WINE_CONFIG_EXTRA_DIR(msdos)
1219 WINE_CONFIG_EXTRA_DIR(objects)
1220 WINE_CONFIG_EXTRA_DIR(programs/regapi/tests)
1221 WINE_CONFIG_EXTRA_DIR(programs/winetest/tests)
1222 WINE_CONFIG_EXTRA_DIR(relay32)
1223 WINE_CONFIG_EXTRA_DIR(scheduler)
1224 WINE_CONFIG_EXTRA_DIR(win32)
1225 WINE_CONFIG_EXTRA_DIR(windows)
1227 MAKE_RULES=Make.rules
1228 AC_SUBST_FILE(MAKE_RULES)
1230 MAKE_DLL_RULES=dlls/Makedll.rules
1231 AC_SUBST_FILE(MAKE_DLL_RULES)
1233 MAKE_PROG_RULES=programs/Makeprog.rules
1234 AC_SUBST_FILE(MAKE_PROG_RULES)
1236 AC_CONFIG_FILES([
1237 Make.rules
1238 dlls/Makedll.rules
1239 programs/Makeprog.rules
1240 Makefile
1241 debugger/Makefile
1242 dlls/Makefile
1243 dlls/advapi32/Makefile
1244 dlls/avicap32/Makefile
1245 dlls/avifil32/Makefile
1246 dlls/comcat/Makefile
1247 dlls/comctl32/Makefile
1248 dlls/commdlg/Makefile
1249 dlls/crtdll/Makefile
1250 dlls/crypt32/Makefile
1251 dlls/dciman32/Makefile
1252 dlls/ddraw/Makefile
1253 dlls/devenum/Makefile
1254 dlls/dinput/Makefile
1255 dlls/dplay/Makefile
1256 dlls/dplayx/Makefile
1257 dlls/dsound/Makefile
1258 dlls/gdi/Makefile
1259 dlls/glu32/Makefile
1260 dlls/icmp/Makefile
1261 dlls/imagehlp/Makefile
1262 dlls/imm32/Makefile
1263 dlls/kernel/Makefile
1264 dlls/lzexpand/Makefile
1265 dlls/mapi32/Makefile
1266 dlls/mpr/Makefile
1267 dlls/msacm/Makefile
1268 dlls/msacm/imaadp32/Makefile
1269 dlls/msacm/msadp32/Makefile
1270 dlls/msacm/msg711/Makefile
1271 dlls/msdmo/Makefile
1272 dlls/msimg32/Makefile
1273 dlls/msisys/Makefile
1274 dlls/msnet32/Makefile
1275 dlls/msrle32/Makefile
1276 dlls/msvcrt/Makefile
1277 dlls/msvcrt20/Makefile
1278 dlls/msvideo/Makefile
1279 dlls/netapi32/Makefile
1280 dlls/ntdll/Makefile
1281 dlls/odbc32/Makefile
1282 dlls/ole32/Makefile
1283 dlls/oleaut32/Makefile
1284 dlls/olecli/Makefile
1285 dlls/oledlg/Makefile
1286 dlls/olepro32/Makefile
1287 dlls/olesvr/Makefile
1288 dlls/opengl32/Makefile
1289 dlls/psapi/Makefile
1290 dlls/qcap/Makefile
1291 dlls/quartz/Makefile
1292 dlls/rasapi32/Makefile
1293 dlls/richedit/Makefile
1294 dlls/rpcrt4/Makefile
1295 dlls/serialui/Makefile
1296 dlls/setupapi/Makefile
1297 dlls/shdocvw/Makefile
1298 dlls/shell32/Makefile
1299 dlls/shfolder/Makefile
1300 dlls/shlwapi/Makefile
1301 dlls/snmpapi/Makefile
1302 dlls/sti/Makefile
1303 dlls/tapi32/Makefile
1304 dlls/ttydrv/Makefile
1305 dlls/twain/Makefile
1306 dlls/url/Makefile
1307 dlls/urlmon/Makefile
1308 dlls/user/Makefile
1309 dlls/version/Makefile
1310 dlls/win32s/Makefile
1311 dlls/winaspi/Makefile
1312 dlls/winedos/Makefile
1313 dlls/wineps/Makefile
1314 dlls/wininet/Makefile
1315 dlls/winmm/Makefile
1316 dlls/winmm/joystick/Makefile
1317 dlls/winmm/mcianim/Makefile
1318 dlls/winmm/mciavi/Makefile
1319 dlls/winmm/mcicda/Makefile
1320 dlls/winmm/mciseq/Makefile
1321 dlls/winmm/mciwave/Makefile
1322 dlls/winmm/midimap/Makefile
1323 dlls/winmm/wavemap/Makefile
1324 dlls/winmm/winearts/Makefile
1325 dlls/winmm/wineoss/Makefile
1326 dlls/winnls/Makefile
1327 dlls/winsock/Makefile
1328 dlls/winspool/Makefile
1329 dlls/wintrust/Makefile
1330 dlls/wow32/Makefile
1331 dlls/wsock32/Makefile
1332 dlls/x11drv/Makefile
1333 documentation/Makefile
1334 include/Makefile
1335 library/Makefile
1336 miscemu/Makefile
1337 ole/Makefile
1338 programs/Makefile
1339 programs/avitools/Makefile
1340 programs/clock/Makefile
1341 programs/cmdlgtst/Makefile
1342 programs/control/Makefile
1343 programs/expand/Makefile
1344 programs/notepad/Makefile
1345 programs/osversioncheck/Makefile
1346 programs/progman/Makefile
1347 programs/regapi/Makefile
1348 programs/regedit/Makefile
1349 programs/regsvr32/Makefile
1350 programs/regtest/Makefile
1351 programs/uninstaller/Makefile
1352 programs/view/Makefile
1353 programs/wcmd/Makefile
1354 programs/wineconsole/Makefile
1355 programs/winemine/Makefile
1356 programs/winepath/Makefile
1357 programs/winetest/Makefile
1358 programs/winhelp/Makefile
1359 programs/winver/Makefile
1360 server/Makefile
1361 tools/Makefile
1362 tools/winapi/Makefile
1363 tools/winebuild/Makefile
1364 tools/winedump/Makefile
1365 tools/wmc/Makefile
1366 tools/wrc/Makefile
1367 tsx11/Makefile
1368 unicode/Makefile])
1370 AC_OUTPUT
1372 if test "$have_x" = "no"
1373 then
1374   echo
1375   echo "*** Warning: X development files not found. Wine will be built without"
1376   echo "*** X support, which currently does not work, and would probably not be"
1377   echo "*** what you want anyway. You will need to install devel packages of"
1378   echo "*** Xlib/Xfree86 at the very least."
1381 if test "$ac_cv_lib_ncurses_resizeterm" = "no" -a "$ac_cv_lib_ncurses_waddch" = "yes"
1382 then
1383   echo
1384   echo "*** Warning: resizeterm not found in ncurses. Wine will be built without"
1385   echo "*** terminal resize support. Consider upgrading ncurses."
1388 if test "$wine_cv_libc_reentrant" = "no" 
1389 then
1390   echo
1391   echo "*** Warning: non-reentrant libc detected. Wine will be built without"
1392   echo "*** threading support. Consider upgrading libc to a more recent"
1393   echo "*** reentrant version of libc."
1396 if test "$have_x" = "yes" -a "$wine_cv_x_reentrant" != "yes"
1397 then
1398   echo
1399   echo "*** Warning: non-reentrant X11 library detected. Multi-threaded"
1400   echo "*** applications won't work properly. You should upgrade your X11 library."
1403 if test "$wine_cv_opengl_version_OK" = "no"
1404 then
1405   echo
1406   echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1407   echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1410 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "x"
1411 then
1412   echo
1413   echo "*** Warning: the OpenGL version you have installed relies on libpthread for"
1414   echo "*** thread-safety. To prevent crashes, OpenGL support has been removed."
1415   echo "*** A fix for glibc 2.1.3 that seems to work is included in this version of Wine,"
1416   echo "*** start configure with '--enable-opengl' to force OpenGL support."
1419 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "xyes"
1420 then
1421   echo
1422   echo "*** Warning: you explicitly linked in a thread-safe OpenGL version. If you"
1423   echo "*** experience unusual crashes on DirectDraw games, try first to disable OpenGL"
1424   echo "*** support before reporting bugs."
1427 if test "$wine_cv_warn_cups_h" = "yes"
1428 then
1429   echo
1430   echo "*** Note: You have cups runtime libraries, but no development"
1431   echo "*** libraries. Install the cups-devel package or whichever package"
1432   echo "*** contains cups.h to enable CUPS support in Wine."
1435 if test "$wine_cv_msg_freetype" = "yes"
1436 then
1437   echo
1438   echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1439   echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1440   echo "*** freetype-devel package (or its equivalent on your distribution) to"
1441   echo "*** enable Wine to use TrueType fonts."
1444 echo
1445 echo "Configure finished.  Do 'make depend && make' to compile Wine."
1446 echo
1448 dnl Local Variables:
1449 dnl comment-start: "dnl "
1450 dnl comment-end: ""
1451 dnl comment-start-skip: "\\bdnl\\b\\s *"
1452 dnl compile-command: "autoconf"
1453 dnl End: