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