Changed builtin dlls file names to make it clear they are not normal
[wine/gsoc_dplay.git] / configure.ac
blob3007ac25b9ae1495da75ee2d2ec286dddf511306
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.50)
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(reentrant-x,AC_HELP_STRING([--without-reentrant-x],[compile for use with non-reentrant X libraries]))
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_TARGET
37 AC_PROG_MAKE_SET
38 AC_PROG_CC
39 AC_PROG_CPP
40 AC_PATH_XTRA
41 AC_PROG_YACC
42 AC_PROG_LEX
44 dnl **** Just additional warning checks, since AC_PROG just sets 'yacc' even
45 dnl **** without one present.
46 AC_CHECK_PROGS(XYACC,$YACC bison yacc,none)
47 if test "$XYACC" = "none"
48 then
49   AC_MSG_ERROR([no suitable bison/yacc found. Please install the 'bison' package.])
51 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
52 if test "$XLEX" = "none"
53 then
54   AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
56 AC_PROG_RANLIB
57 AC_PROG_INSTALL
58 AC_PROG_LN_S
59 AC_CHECK_PROG(C2MAN,c2man,c2man,\$(TOPSRCDIR)/tools/c2man.pl)
60 AC_PATH_PROG(LDCONFIG, ldconfig, true, /sbin:/usr/sbin:$PATH)
62 dnl Check for lint
63 AC_CHECK_PROGS(LINT, lclint lint)
64 if test "$LINT" = "lint"
65 then
66   LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
67   dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
69 AC_SUBST(LINT)
70 AC_SUBST(LINTFLAGS)
72 case $host_os in
73   *cygwin*) LDCOMBINE="ld -r --enable-stdcall-fixup" ;;
74          *) LDCOMBINE="ld -r" ;;
75 esac
76 AC_SUBST(LDCOMBINE)
78 dnl **** Check for some libraries ****
80 dnl Check for -lm
81 AC_CHECK_LIB(m,sqrt)
82 dnl Check for -li386 for NetBSD and OpenBSD
83 AC_CHECK_LIB(i386,i386_set_ldt)
84 dnl Check for -lossaudio for NetBSD
85 AC_CHECK_LIB(ossaudio,_oss_ioctl)
86 dnl Check for -lw for Solaris
87 AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
88 dnl Check for -lnsl for Solaris
89 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
90 dnl Check for -lsocket for Solaris
91 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
92 dnl Check for -lxpg4 for FreeBSD
93 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
94 dnl Check for -lmmap for OS/2
95 AC_CHECK_LIB(mmap,mmap)
97 dnl Check for openpty
98 UTILLIBS=""
99 AC_SUBST(UTILLIBS)
100 AC_CHECK_FUNCS(openpty,,
101         [AC_CHECK_LIB(util,openpty,
102                 [AC_DEFINE(HAVE_OPENPTY)
103                 UTILLIBS="-lutil"]
104         )])
106 DLLIBS=""
107 AC_SUBST(DLLIBS)
108 AC_CHECK_HEADERS(dlfcn.h,
109     [AC_CHECK_FUNCS(dlopen,,
110         [AC_CHECK_LIB(dl,dlopen,
111                      [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
112                      DLLIBS="-ldl"],
113                      LIBEXT="a")]
114         )],
115         LIBEXT="a"
116     )
118 JPEGLIB=""
119 AC_SUBST(JPEGLIB)
120 AC_CHECK_HEADERS(jpeglib.h,
121     AC_CHECK_LIB(jpeg,jpeg_start_decompress,
122         AC_DEFINE(HAVE_LIBJPEG,1,[Define if you have libjpeg including devel headers])
123         JPEGLIB="-ljpeg"
124     )
128 AC_SUBST(XLIB)
129 AC_SUBST(XFILES)
130 XFILES=""
131 AC_SUBST(OPENGLFILES)
132 OPENGLFILES=""
133 AC_SUBST(GLU32FILES)
134 GLU32FILES=""
135 if test "$have_x" = "yes"
136 then
137     XLIB="-lXext -lX11"
138     ac_save_CPPFLAGS="$CPPFLAGS"
139     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
141     dnl *** All of the following tests require X11/Xlib.h
142     AC_CHECK_HEADERS(X11/Xlib.h,
143       [
144         dnl *** Check for X keyboard extension
145         AC_CHECK_HEADERS(X11/XKBlib.h,
146             [ dnl *** If X11/XKBlib.h exists...
147               AC_CHECK_LIB(X11, XkbQueryExtension,
148               AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
149               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
150             ],
151             AC_MSG_WARN([[Xkb extension not found, Wine will be built without it]])
152         )
154         dnl *** Check for X Shm extension
155         AC_CHECK_HEADERS(X11/extensions/XShm.h,
156             [ dnl *** If X11/extensions/XShm.h exists...
157               AC_CHECK_LIB(Xext, XShmQueryExtension,
158               AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
159               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
160             ],
161             AC_MSG_WARN([[XShm extension not found, Wine will be built without it]])
162         )
164         dnl *** Check for X shape extension
165         AC_CHECK_HEADERS(X11/extensions/shape.h,
166             [ dnl *** If X11/extensions/shape.h exists...
167               AC_CHECK_LIB(Xext,XShapeQueryExtension,
168               AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
169               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
170             ],
171             AC_MSG_WARN([[XShape extension not found, Wine will be built without it]])
172         )
173         
174         dnl *** Check for XFree86 DGA / DGA 2.0 extension
175         AC_CHECK_HEADERS(X11/extensions/xf86dga.h,
176             [ dnl *** If X11/extensions/xf86dga.h exists, check 
177               dnl *** for XDGAQueryExtension()...
178               AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
179                 [ dnl *** If found...
180                   AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
181                             [Define if you have the Xxf86dga library version 2])
182                   X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
183                ],
184                 [ dnl *** If not found, look for XF86DGAQueryExtension()
185                   dnl *** instead (DGA 2.0 not found)...
186                   AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
187                     [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
188                                 [Define if you have the Xxf86dga library version 1])
189                       X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
190                     ],,
191                     $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
192                   )
193                 ],
194                 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
195               )
196             ],
197             AC_MSG_WARN([[DGA extension not found, Wine will be built without it]])
198         )
200         dnl *** Check for XFree86 VMODE extension
201         AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,
202             [ dnl *** If X11/extensions/xf86vmode.h exists...
203                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
204                   [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
205                      X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
206                   ],,
207                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
208                 )
209             ],
210             AC_MSG_WARN([[XFree86 VMODE extension not found, Wine will be built without it]])
211         )
213         dnl *** Check for XVideo extension supporting XvImages
214         AC_CHECK_HEADERS(X11/extensions/Xvlib.h,
215             [ dnl *** If X11/extensions/Xvlib.h exists...
216                 AC_CHECK_LIB(Xv, XvShmCreateImage,
217                   [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
218                      X_PRE_LIBS="$X_PRE_LIBS -lXv"
219                   ],,
220                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
221                 )
222             ],
223             AC_MSG_WARN([[XVideo extension not found, Wine will be built without it]])
224         )
226         dnl *** Check for XRender extension
227         AC_CHECK_HEADERS(X11/extensions/Xrender.h,
228             [ dnl *** If X11/extensions/Xrender.h exists...
229                 AC_CHECK_LIB(Xrender, XRenderQueryExtension,
230                   [ AC_DEFINE(HAVE_LIBXRENDER, 1, [Define if you have the XRender extension library])
231                      X_PRE_LIBS="$X_PRE_LIBS -lXrender"
232                   ],,
233                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
234                 )
235             ],
236             AC_MSG_WARN([[XRender extension not found, Wine will be built without it]])
237         )
239       ]
240     ) dnl *** End of X11/Xlib.h check
242     dnl Check for the presence of OpenGL
243     if test "x$enable_opengl" != "xno"
244     then
245         if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
246         then
247             AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
248 This prevents linking to OpenGL. Delete the file and restart configure.])
249         fi
251         AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h)
252         if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
253         then
254             dnl Check for some problems due to old Mesa versions
255             AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
256               AC_TRY_COMPILE(
257                 [#include <GL/gl.h>],
258                 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
259                 [wine_cv_opengl_version_OK="yes"],
260                 [wine_cv_opengl_version_OK="no"]
261               )
262             )
264             dnl Check for the thread-safety of the OpenGL library
265             AC_CACHE_CHECK([for thread-safe OpenGL version], 
266                            wine_cv_opengl_version_threadsafe,
267               [saved_libs=$LIBS
268                LIBS="$X_LIBS -lGL"
269                AC_TRY_LINK([],[pthread_getspecific();],
270                               [wine_cv_opengl_version_threadsafe="yes"],
271                               [wine_cv_opengl_version_threadsafe="no"])
272                LIBS=$saved_libs]
273             )
275             if test "$wine_cv_opengl_version_OK" = "yes" -a \( "$wine_cv_opengl_version_threadsafe" = "no" -o "x$enable_opengl" = "xyes" \)
276             then
277                 dnl Check for the presence of the library
278                 AC_CHECK_LIB(GL,glXCreateContext,
279                              X_PRE_LIBS="$X_PRE_LIBS -lGL"
280                              ,,
281                              $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
283                 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
284                 then
285                         OPENGLFILES='$(OPENGLFILES)'
286                         AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
288                         AC_CHECK_LIB(GL,glXGetProcAddressARB,
289                                      AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
290                                                [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
291                                      $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
293                         if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
294                         then
295                                AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
296                                   [AC_TRY_COMPILE([#include <GL/gl.h>
297                                                   #ifdef HAVE_GL_GLEXT_H
298                                                   # include <GL/glext.h>
299                                                   #endif
300                                                   ],
301                                                  [PFNGLCOLORTABLEEXTPROC test_proc;],
302                                                  [wine_cv_extension_prototypes="yes"],
303                                                  [wine_cv_extension_prototypes="no"]
304                                   )]
305                                 )
306                                 if test "$wine_cv_extension_prototypes" = "yes"
307                                 then
308                                     AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
309                                               [Define if the OpenGL headers define extension typedefs])
310                                 fi
311                         fi
313                 fi
314                 dnl Check for GLU32 library.
315                 AC_CHECK_LIB(GLU,gluLookAt,
316                              [X_PRE_LIBS="$X_PRE_LIBS -lGLU"
317                              GLU32FILES='$(GLU32FILES)']
318                              ,,
319                              $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
320                 )
321              fi
322          fi
323     fi
325     CPPFLAGS="$ac_save_CPPFLAGS"
326     XFILES='$(XFILES)'
327 else
328     XLIB=""
329     X_CFLAGS=""
330     X_LIBS=""
333 dnl **** Check which curses lib to use ***
334 CURSESLIBS=""
335 if test "x$with_curses" != "xno"
336 then
337     AC_CHECK_HEADERS(ncurses.h,
338         [AC_CHECK_LIB(ncurses,waddch,
339             [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
340              CURSESLIBS="-lncurses"],
341              [AC_CHECK_HEADERS(curses.h,
342                  [AC_CHECK_LIB(curses,waddch,
343                      [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
344                       CURSESLIBS="-lcurses"])])])])
345     saved_libs="$LIBS"
346     LIBS="$CURSESLIBS $LIBS"
347     AC_CHECK_FUNCS(getbkgd resizeterm)
348     LIBS="$saved_libs"
350 AC_SUBST(CURSESLIBS)
352 CUPSLIBS=""
353 dnl **** Check for CUPS ****
354 wine_cv_warn_cups_h=no
355 AC_CHECK_LIB(cups,cupsGetPPD,
356         [AC_CHECK_HEADER(cups/cups.h,
357             [AC_DEFINE(HAVE_CUPS, 1, [Define if we have CUPS])
358             CUPSLIBS="-lcups"],
359             wine_cv_warn_cups_h=yes)]
361 AC_SUBST(CUPSLIBS)
363 dnl **** Check for FreeType 2 ****
364 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
365 if test "$ft_lib" = "no"
366 then
367     FREETYPELIBS=""
368     FREETYPEINCL=""
369     wine_cv_msg_freetype=no
370 else
371     AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
372     if test "$ft_devel" = "no"
373     then
374         AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
375         if test "$ft_devel2" = "freetype2-config"
376         then
377                 ft_devel=$ft_devel2
378         fi
379     fi
380     if test "$ft_devel" = "no"
381     then
382         FREETYPELIBS=""
383         FREETYPEINCL=""
384         wine_cv_msg_freetype=yes
385     else
386         FREETYPELIBS=`$ft_devel --libs`
387         FREETYPEINCL=`$ft_devel --cflags`
388         ac_save_CPPFLAGS="$CPPFLAGS"
389         CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
390         AC_CHECK_HEADERS(freetype/freetype.h \
391                          freetype/ftglyph.h \
392                          freetype/tttables.h \
393                          freetype/ftnames.h \
394                          freetype/ftsnames.h \
395                          freetype/ttnameid.h \
396                          freetype/ftoutln.h \
397                          freetype/internal/sfnt.h)
398         AC_TRY_CPP([#include <ft2build.h>
399                     #include <freetype/fttrigon.h>],
400                     [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
401           [Define if you have the <freetype/fttrigon.h> header file.])
402                     wine_cv_fttrigon=yes],
403                     wine_cv_fttrigon=no)
404         CPPFLAGS="$ac_save_CPPFLAGS"
405         dnl Check that we have at least freetype/freetype.h
406         if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
407         then
408             AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
409             wine_cv_msg_freetype=no
410         else
411             FREETYPELIBS=""
412             FREETYPEINCL=""
413             wine_cv_msg_freetype=yes
414         fi
415     fi
417 AC_SUBST(FREETYPELIBS)
418 AC_SUBST(FREETYPEINCL)
420 dnl **** Check for parport (currently Linux only) ****
421 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
422  AC_TRY_COMPILE(
423    [#include <linux/ppdev.h>],
424    [ioctl (1,PPCLAIM,0)],
425    [ac_cv_c_ppdev="yes"],
426    [ac_cv_c_ppdev="no"])
428 if test "$ac_cv_c_ppdev" = "yes"
429 then
430     AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
433 dnl **** Check for IPX (currently Linux only) ****
434 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
435  AC_TRY_COMPILE(
436    [#include <sys/socket.h>
437     #include <netipx/ipx.h>],
438    [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
439    [ac_cv_c_ipx_gnu="yes"],
440    [ac_cv_c_ipx_gnu="no"])
442 if test "$ac_cv_c_ipx_gnu" = "yes"
443 then
444     AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
447 if test "$ac_cv_c_ipx_gnu" = "no"
448 then
449  AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
450   AC_TRY_COMPILE(
451     [#include <sys/socket.h>
452      #include <asm/types.h>
453      #include <linux/ipx.h>],
454     [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
455     [ac_cv_c_ipx_linux="yes"],
456     [ac_cv_c_ipx_linux="no"])
457   )
458   if test "$ac_cv_c_ipx_linux" = "yes"
459   then
460       AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
461   fi
464 dnl **** Check for Open Sound System ****
465 AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
467 AC_CACHE_CHECK([for Open Sound System],
468         ac_cv_c_opensoundsystem,
469         AC_TRY_COMPILE([
470         #if defined(HAVE_SYS_SOUNDCARD_H)
471                 #include <sys/soundcard.h>
472         #elif defined(HAVE_MACHINE_SOUNDCARD_H)
473                 #include <machine/soundcard.h>
474         #elif defined(HAVE_SOUNDCARD_H)
475                 #include <soundcard.h>
476         #endif
477         ],[
479 /* check for one of the Open Sound System specific SNDCTL_ defines */
480 #if !defined(SNDCTL_DSP_STEREO)
481 #error No open sound system
482 #endif
483 ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
485 if test "$ac_cv_c_opensoundsystem" = "yes"
486 then
487     AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
490 AC_CACHE_CHECK([for Open Sound System/MIDI interface],
491         ac_cv_c_opensoundsystem_midi,
492         AC_TRY_COMPILE([
493         #if defined(HAVE_SYS_SOUNDCARD_H)
494                 #include <sys/soundcard.h>
495         #elif defined(HAVE_MACHINE_SOUNDCARD_H)
496                 #include <machine/soundcard.h>
497         #elif defined(HAVE_SOUNDCARD_H)
498                 #include <soundcard.h>
499         #endif
500         ],[
502 /* check for one of the Open Sound System specific SNDCTL_SEQ defines */
503 #if !defined(SNDCTL_SEQ_SYNC)
504 #error No open sound system MIDI interface
505 #endif
506 ],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
508 if test "$ac_cv_c_opensoundsystem_midi" = "yes"
509 then
510     AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
513 dnl **** Check for broken glibc mmap64 ****
515 AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
516         AC_TRY_RUN([
517                 #define _FILE_OFFSET_BITS 64
518                 #include <stdio.h>
519                 #include <unistd.h>
520                 #include <fcntl.h>
521                 #include <sys/mman.h>
522                 #include <errno.h>
524                 int main(int argc,char **argv) {
525                         int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
526                         if (fd == -1) exit(1);
528                         unlink("conftest.map");
530                         write(fd,"test",4);
532                         if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
533                             (errno == EINVAL)
534                         ) {
535                                 exit(1);
536                         }
537                         close(fd);
538                         fprintf(stderr,"success!\n");
539                         exit(0);
540                 }
542         ],
543     ac_cv_mmap64_works="yes",
544     ac_cv_mmap64_works="no",
545     ac_cv_mmap64_works="no") )
547 if test "$ac_cv_mmap64_works" = "yes"
548 then
549     AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
552 dnl **** Check for gcc strength-reduce bug ****
554 if test "x${GCC}" = "xyes"
555 then
556   CFLAGS="$CFLAGS -Wall"
557   AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
558                   AC_TRY_RUN([
559 int     L[[4]] = {0,1,2,3};
560 int main(void) {
561   static int Array[[3]];
562   unsigned int B = 3;
563   int i;
564   for(i=0; i<B; i++) Array[[i]] = i - 3;
565   for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
566   L[[i]] = 4;
567   
568   exit( Array[[1]] != -2 || L[[2]] != 3);
570     ac_cv_c_gcc_strength_bug="no",
571     ac_cv_c_gcc_strength_bug="yes",
572     ac_cv_c_gcc_strength_bug="yes") )
573   if test "$ac_cv_c_gcc_strength_bug" = "yes"
574   then
575     CFLAGS="$CFLAGS -fno-strength-reduce"
576   fi
578   dnl Check for -mpreferred-stack-boundary
579   AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support],
580                  ac_cv_c_gcc_stack_boundary,
581   [saved_cflags=$CFLAGS
582   CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
583   AC_TRY_COMPILE(,[return 0],ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")
584   CFLAGS=$saved_cflags
585   ])
586   if test "$ac_cv_c_gcc_stack_boundary" = "yes"
587   then
588     CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
589   fi
592 dnl **** Check if we need to place .type inside a .def directive ****
594 AC_CACHE_CHECK([whether .type must sit inside a .def directive],
595                ac_cv_c_type_in_def,
596 [saved_libs=$LIBS
597 LIBS="conftest_asm.s $LIBS"
598 cat > conftest_asm.s <<EOF
599         .globl _ac_test
600         .def _ac_test; .scl 2; .type 32; .endef
601 _ac_test:
602         .long 0
604 AC_TRY_LINK(,,ac_cv_c_type_in_def="yes",ac_cv_c_type_in_def="no")
605 LIBS=$saved_libs])
606 if test "$ac_cv_c_type_in_def" = "yes"
607 then
608   AC_DEFINE(NEED_TYPE_IN_DEF, 1, [Define if .type asm directive must be inside a .def directive])
611 dnl **** Check for underscore on external symbols ****
613 AC_CACHE_CHECK([whether external symbols need an underscore prefix],
614                ac_cv_c_extern_prefix,
615 [saved_libs=$LIBS
616 LIBS="conftest_asm.s $LIBS"
617 cat > conftest_asm.s <<EOF
618         .globl _ac_test
619 _ac_test:
620         .long 0
622 AC_TRY_LINK([extern int ac_test;],[if (ac_test) return 1],
623             ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no")
624 LIBS=$saved_libs])
625 if test "$ac_cv_c_extern_prefix" = "yes"
626 then
627   AC_DEFINE(NEED_UNDERSCORE_PREFIX, 1,
628             [Define if symbols declared in assembly code need an underscore prefix])
631 dnl **** Check whether stdcall symbols need to be decorated ****
633 AC_CACHE_CHECK([whether stdcall symbols need to be decorated],
634                ac_cv_c_stdcall_decoration,
635 [saved_libs=$LIBS
636 LIBS="conftest_asm.s $LIBS"
637 if test "$ac_cv_c_extern_prefix" = "yes"
638 then
639 cat > conftest_asm.s <<EOF
640         .globl _ac_test@0
641 _ac_test@0:
643 else
644 cat > conftest_asm.s <<EOF
645         .globl ac_test@0
646 ac_test@0:
649 AC_TRY_LINK([extern void __attribute__((__stdcall__)) ac_test(void);],
650             [ac_test(); return 0],
651             ac_cv_c_stdcall_decoration="yes",ac_cv_c_stdcall_decoration="no")
652 LIBS=$saved_libs])
653 if test "$ac_cv_c_stdcall_decoration" = "yes"
654 then
655   AC_DEFINE(NEED_STDCALL_DECORATION, 1,
656             [Define if stdcall symbols need to be decorated])
659 dnl **** Check for .string in assembler ****
661 AC_CACHE_CHECK([whether assembler accepts .string],
662                ac_cv_c_asm_string,
663 [saved_libs=$LIBS
664 LIBS="conftest_asm.s $LIBS"
665 cat > conftest_asm.s <<EOF
666         .string "test"
668 AC_TRY_LINK(,,ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no")
669 LIBS=$saved_libs])
670 if test "$ac_cv_c_asm_string" = "yes"
671 then
672   AC_DEFINE(HAVE_ASM_STRING, 1, [Define to use .string instead of .ascii])
675 dnl **** Check for working dll ****
677 LDSHARED=""
678 LDDLLFLAGS=""
679 if test "$LIBEXT" = "so"
680 then
681   AC_CACHE_CHECK([whether we can build a GNU style ELF dll],
682                  ac_cv_c_dll_gnuelf,
683   [saved_cflags=$CFLAGS
684   CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic"
685   AC_TRY_LINK(,[return 1],ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")
686   CFLAGS=$saved_cflags
687   ])
688   if test "$ac_cv_c_dll_gnuelf" = "yes"
689   then
690     LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
691     LDDLLFLAGS="-Wl,-Bsymbolic"
692   else
693     AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll,
694                  ac_cv_c_dll_unixware,
695     [saved_cflags=$CFLAGS
696     CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
697     AC_TRY_LINK(,[return 1],ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")
698     CFLAGS=$saved_cflags
699     ])
700     if test "$ac_cv_c_dll_unixware" = "yes"
701     then
702       LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
703       LDDLLFLAGS="-Wl,-B,symbolic"
704     fi
705   fi
706   if test "$ac_cv_c_dll_gnuelf" = "no" -a "$ac_cv_c_dll_unixware" = "no"
707   then
708     LIBEXT="a"
709     AC_CHECK_PROG(DLLWRAP,dllwrap,dllwrap,false)
710     if test "$DLLWRAP" = "dllwrap"; then
711       dnl FIXME - check whether dllwrap works correctly...
712       case $host_os in
713         *cygwin*)
714             LIBEXT="dll"
715             ;;
716       esac
717     fi
718   fi
721 if test "$LIBEXT" = "a"; then
722   AC_MSG_ERROR(
723 [could not find a way to build shared libraries.
724 It is currently not possible to build Wine without shared library
725 (.so) support to allow transparent switch between .so and .dll files.
726 If you are using Linux, you will need a newer binutils.]
730 DLLFLAGS=""
731 LDPATH=""
733 if test "$LIBEXT" = "so"; then
734     DLLFLAGS="-fPIC"
735     DLLEXT=".so"
736     LDPATH="LD_LIBRARY_PATH=\"\$(TOPOBJDIR)/unicode:\$\$LD_LIBRARY_PATH\""
737 elif test "$LIBEXT" = "dll"; then
738     #DLLFLAGS="-fPIC" # -fPIC doesn't work(at least in cygwin-b20) - FIXME
739     DLLEXT=""
740     LDPATH="PATH=\"\$(TOPOBJDIR)/unicode:\$\$PATH\""
743 AC_SUBST(DLLFLAGS)
744 AC_SUBST(DLLEXT)
745 AC_SUBST(LDSHARED)
746 AC_SUBST(LDDLLFLAGS)
747 AC_SUBST(LIBEXT)
748 AC_SUBST(LDPATH)
750 dnl **** Check for reentrant libc ****
752 dnl For cross-compiling we blindly assume that libc is reentrant. This is
753 dnl ok since non-reentrant libc is quite rare (mostly old libc5 versions).
755 AC_DEFUN([WINE_CHECK_ERRNO],
757   AC_CACHE_CHECK(for reentrant libc: $1, wine_cv_libc_r_$1,
758   [AC_TRY_RUN([int myerrno = 0;
759 char buf[256];
760 int *$1(){return &myerrno;}
761 main(){connect(0,buf,255); exit(!myerrno);}],
762   wine_cv_libc_r_$1=yes, wine_cv_libc_r_$1=no,
763   wine_cv_libc_r_$1=yes )
765 if test "$wine_cv_libc_r_$1" = "yes"
766 then
767     wine_cv_libc_reentrant=$1 
771 wine_cv_libc_reentrant=no 
772 dnl Linux style errno location
773 WINE_CHECK_ERRNO(__errno_location)
774 dnl FreeBSD style errno location
775 WINE_CHECK_ERRNO(__error)
776 dnl Solaris style errno location
777 WINE_CHECK_ERRNO(___errno)
778 dnl UnixWare style errno location
779 WINE_CHECK_ERRNO(__thr_errno)
780 dnl NetBSD style errno location
781 WINE_CHECK_ERRNO(__errno)
783 if test "$wine_cv_libc_reentrant" != "no" 
784 then
785   AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant,
786                      [Define to the name of the function returning errno for reentrant libc])
789 dnl **** Check for reentrant X libraries ****
791 dnl This may fail to determine whether X libraries are reentrant if
792 dnl AC_PATH_XTRA does not set x_libraries. In this case manual configuration
793 dnl is possible with the --without-reentrant-x option.
795 if test "$have_x" = "yes" -a "$wine_cv_libc_reentrant" != "no"
796 then
797 AC_CACHE_CHECK( [for reentrant X libraries], wine_cv_x_reentrant,
798   [ if test "x$with_reentrant_x" = "xno" 
799     then
800         wine_cv_x_reentrant=no
801     else
802         libX11_check=none
803         for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
804             if test -r $dir/libX11.so; then
805                 libX11_check="-D $dir/libX11.so"
806                 break 1
807             fi
808             if test -r $dir/libX11.a; then
809                 libX11_check="$dir/libX11.a"
810                 break 1
811             fi
812         done
813         if test "$libX11_check" != "none"; then
814             if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
815             then
816                 wine_cv_x_reentrant=yes
817             else
818                 wine_cv_x_reentrant=no
819             fi
820         else
821             wine_cv_x_reentrant=unknown
822         fi
823     fi ] )
824 else
825     wine_cv_x_reentrant=no
827 if test "$wine_cv_x_reentrant" = "no"
828 then
829   AC_DEFINE(NO_REENTRANT_X11, 1,
830             [Define if X libraries are not reentrant (compiled without -D_REENTRANT)])
834 dnl **** Check for functions ****
836 AC_FUNC_ALLOCA()
837 AC_CHECK_FUNCS(\
838         __libc_fork \
839         _lwp_create \
840         _pclose \
841         _popen \
842         _stricmp \
843         _strnicmp \
844         clone \
845         ecvt \
846         finite \
847         fpclass \
848         ftruncate64 \
849         getnetbyaddr \
850         getnetbyname \
851         getpagesize \
852         getprotobyname \
853         getprotobynumber \
854         getrlimit \
855         getservbyport \
856         getsockopt \
857         inet_network \
858         lseek64 \
859         lstat \
860         memmove \
861         mmap \
862         pclose \
863         pread \
864         popen \
865         pwrite \
866         rfork \
867         select \
868         sendmsg \
869         settimeofday \
870         sigaltstack \
871         statfs \
872         strcasecmp \
873         strerror \
874         strncasecmp \
875         tcgetattr \
876         timegm \
877         usleep \
878         vfscanf \
879         wait4 \
880         waitpid \
883 dnl **** Check for header files ****
885 AC_CHECK_HEADERS(\
886         arpa/inet.h \
887         arpa/nameser.h \
888         direct.h \
889         elf.h \
890         float.h \
891         ieeefp.h \
892         io.h \
893         libio.h \
894         libutil.h \
895         link.h \
896         linux/cdrom.h \
897         linux/input.h \
898         linux/joystick.h \
899         linux/serial.h \
900         linux/ucdrom.h \
901         net/if.h \
902         netdb.h \
903         netinet/in.h \
904         netinet/in_systm.h \
905         netinet/ip.h \
906         netinet/tcp.h \
907         pty.h \
908         resolv.h \
909         sched.h \
910         socket.h \
911         stdint.h \
912         strings.h \
913         sys/cdio.h \
914         sys/errno.h \
915         sys/file.h \
916         sys/filio.h \
917         sys/ipc.h \
918         sys/link.h \
919         sys/lwp.h \
920         sys/mman.h \
921         sys/modem.h \
922         sys/mount.h \
923         sys/msg.h \
924         sys/param.h \
925         sys/ptrace.h \
926         sys/reg.h \
927         sys/signal.h \
928         sys/shm.h \
929         sys/socket.h \
930         sys/sockio.h \
931         sys/statfs.h \
932         sys/strtio.h \
933         sys/syscall.h \
934         sys/time.h \
935         sys/user.h \
936         sys/wait.h \
937         sys/v86.h \
938         sys/v86intr.h \
939         sys/vfs.h \
940         sys/vm86.h \
941         syscall.h \
942         ucontext.h \
943         unistd.h \
945 AC_HEADER_STAT()
947 dnl **** Check for types ****
949 AC_C_CONST
950 AC_C_INLINE
951 AC_TYPE_MODE_T
952 AC_TYPE_OFF_T
953 AC_TYPE_PID_T
954 AC_TYPE_SIZE_T
955 AC_CHECK_SIZEOF(long long,0)
957 AC_CACHE_CHECK([whether linux/input.h is for real],
958         wine_cv_linux_input_h,
959         AC_TRY_COMPILE([
960             #include <linux/input.h>
961         ] , [
962             int foo = EVIOCGBIT(EV_ABS,42);
963             int bar = BTN_PINKIE;
964             int fortytwo = 42;
965         ],
966         wine_cv_linux_input_h=yes,
967         wine_cv_linux_input_h=no,
968         no
969         )
970     )
971     if test "$wine_cv_linux_input_h" = "yes"
972     then
973         AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
974                   [Define if we have linux/input.h AND it contains the INPUT event API])
975     fi
977    
978 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
979         wine_cv_linux_gethostbyname_r_6,
980         AC_TRY_COMPILE([
981 #include <netdb.h>
982         ], [
983     char *name=NULL;
984     struct hostent he;
985     struct hostent *result;
986     char *buf=NULL;
987     int bufsize=0;
988     int res,errnr;
989     char *addr=NULL;
990     int addrlen=0;
991     int addrtype=0;
992     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
993     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
994     ],
995         wine_cv_linux_gethostbyname_r_6=yes,
996         wine_cv_linux_gethostbyname_r_6=no
997         )
998    )
999    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1000    then
1001       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1002                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1003    fi
1005 if test "$ac_cv_header_linux_joystick_h" = "yes"
1006 then
1007    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1008         wine_cv_linux_joystick_22_api,
1009         AC_TRY_COMPILE([
1010         #include <sys/ioctl.h>
1011         #include <linux/joystick.h>
1013         struct js_event blub;
1014         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1015         #error "no 2.2 header"
1016         #endif
1017         ],/*empty*/,
1018         wine_cv_linux_joystick_22_api=yes,
1019         wine_cv_linux_joystick_22_api=no,
1020         wine_cv_linux_joystick_22_api=no
1021         )
1022    )
1023    if test "$wine_cv_linux_joystick_22_api" = "yes"
1024    then
1025       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1026                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1027    fi
1030 dnl **** statfs checks ****
1032 if test "$ac_cv_header_sys_vfs_h" = "yes"
1033 then
1034     AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1035                     wine_cv_sys_vfs_has_statfs,
1036         AC_TRY_COMPILE([
1037         #include <sys/types.h>
1038         #ifdef HAVE_SYS_PARAM_H
1039         # include <sys/param.h>
1040         #endif
1041         #include <sys/vfs.h>
1042         ],[
1043                 struct statfs stfs;
1045                 memset(&stfs,0,sizeof(stfs));
1046         ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1047         )
1048     )
1049     if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1050     then
1051       AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1052                 [Define if the struct statfs is defined by <sys/vfs.h>])
1053     fi
1056 if test "$ac_cv_header_sys_statfs_h" = "yes"
1057 then
1058     AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1059                     wine_cv_sys_statfs_has_statfs,
1060         AC_TRY_COMPILE([
1061         #include <sys/types.h>
1062         #ifdef HAVE_SYS_PARAM_H
1063         # include <sys/param.h>
1064         #endif
1065         #include <sys/statfs.h>
1066         ],[
1067                 struct statfs stfs;
1068         ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1069         )
1070     )
1071     if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1072     then
1073       AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1074                 [Define if the struct statfs is defined by <sys/statfs.h>])
1075     fi
1078 if test "$ac_cv_header_sys_mount_h" = "yes"
1079 then
1080     AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1081                     wine_cv_sys_mount_has_statfs,
1082         AC_TRY_COMPILE([
1083         #include <sys/types.h>
1084         #ifdef HAVE_SYS_PARAM_H
1085         # include <sys/param.h>
1086         #endif
1087         #include <sys/mount.h>
1088         ],[
1089                 struct statfs stfs;
1090         ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1091         )
1092     )
1093     if test "$wine_cv_sys_mount_has_statfs" = "yes"
1094     then
1095       AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1096                 [Define if the struct statfs is defined by <sys/mount.h>])
1097     fi
1100 dnl *** Check for some structure members
1102 dnl Macro to check if a structure contains a specified member
1103 dnl Usage: WINE_CHECK_STRUCT_MEMBER(struct,member,[includes,[action-if-found,[action-if-not-found]]])
1105 AC_DEFUN([WINE_CHECK_STRUCT_MEMBER],
1106 [AC_CACHE_CHECK([for $2 in struct $1], ac_cv_c_$1_$2,
1107  AC_TRY_COMPILE([$3],[struct $1 s; s.$2 = 0],ac_cv_c_$1_$2="yes",ac_cv_c_$1_$2="no"))
1108 AS_IF([ test "x$ac_cv_c_$1_$2" = "xyes"],[$4],[$5])
1111 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1113 WINE_CHECK_STRUCT_MEMBER(statfs,f_bfree,
1114 [#include <sys/types.h>
1115 #ifdef HAVE_SYS_PARAM_H
1116 # include <sys/param.h>
1117 #endif
1118 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1119 # include <sys/mount.h>
1120 #else
1121 # ifdef STATFS_DEFINED_BY_SYS_VFS
1122 #  include <sys/vfs.h>
1123 # else
1124 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1125 #   include <sys/statfs.h>
1126 #  endif
1127 # endif
1128 #endif],
1129     [AC_DEFINE(STATFS_HAS_BFREE, 1, [Define if the struct statfs has the member bfree])])
1131 WINE_CHECK_STRUCT_MEMBER(statfs,f_bavail,
1132 [#include <sys/types.h>
1133 #ifdef HAVE_SYS_PARAM_H
1134 # include <sys/param.h>
1135 #endif
1136 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1137 # include <sys/mount.h>
1138 #else
1139 # ifdef STATFS_DEFINED_BY_SYS_VFS
1140 #  include <sys/vfs.h>
1141 # else
1142 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1143 #   include <sys/statfs.h>
1144 #  endif
1145 # endif
1146 #endif],
1147     [AC_DEFINE(STATFS_HAS_BAVAIL, 1, [Define if the struct statfs has the member bavail])])
1149 dnl Check for file descriptor passing with msg_accrights
1150 WINE_CHECK_STRUCT_MEMBER(msghdr,msg_accrights,
1151 [#include <sys/types.h>
1152 #include <sys/socket.h>],
1153     [AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS, 1, [Define if struct msghdr contains msg_accrights])])
1155 dnl Check for the sa_len member in struct sockaddr
1156 WINE_CHECK_STRUCT_MEMBER(sockaddr,sa_len,
1157 [#include <sys/types.h>
1158 #include <sys/socket.h>],
1159     [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])])
1161 dnl Check for the sun_len member in struct sockaddr_un
1162 WINE_CHECK_STRUCT_MEMBER(sockaddr_un,sun_len,
1163 [#include <sys/types.h>
1164 #include <sys/socket.h>
1165 #include <sys/un.h>],
1166     [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains sun_len])])
1168 dnl *** check for the need to define __i386__
1170 case $target_cpu in
1171   *i[3456789]86* )
1172     AC_CACHE_CHECK([whether we need to define __i386__],ac_cv_cpp_def_i386,
1173       AC_EGREP_CPP(yes,[#ifndef __i386__
1175 #endif],
1176  ac_cv_cpp_def_i386="yes", ac_cv_cpp_def_i386="no"))
1177     ;;
1178 esac
1179 if test "$ac_cv_cpp_def_i386" = "yes"
1180 then
1181     CFLAGS="$CFLAGS -D__i386__"
1182     LINTFLAGS="$LINTFLAGS -D__i386__"
1185 dnl **** Generate output files ****
1187 dnl Macro to create non-existent directories from config.status
1188 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
1189 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
1190 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || (AC_MSG_NOTICE([creating $1]) && mkdir "$1")])])
1192 AH_TOP([#define __WINE_CONFIG_H])
1194 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1195 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1196 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1197 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1198 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1199 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1200 WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick)
1201 WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard)
1202 WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse)
1203 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1204 WINE_CONFIG_EXTRA_DIR(dlls/kernel/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(include/wine)
1210 WINE_CONFIG_EXTRA_DIR(programs/regapi/tests)
1211 WINE_CONFIG_EXTRA_DIR(programs/winetest/tests)
1213 AC_CONFIG_COMMANDS([include/wine/version.h],
1214 [AC_MSG_NOTICE([creating include/wine/version.h])
1215 cat >$tmp/version.h <<CEOF
1216 /* Generated automatically by configure; DO NOT EDIT! */
1217 #define WINE_RELEASE_INFO "Wine version $wine_version"
1218 CEOF
1219 if cmp -s $tmp/version.h include/wine/version.h 2>/dev/null; then
1220   AC_MSG_NOTICE([include/wine/version.h is unchanged])
1221   rm -f $tmp/version.h
1222 else
1223   rm -f include/wine/version.h
1224   mv $tmp/version.h include/wine/version.h
1225 fi],
1226 [wine_version=$PACKAGE_VERSION])
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 console/Makefile
1243 controls/Makefile
1244 debugger/Makefile
1245 dlls/Makefile
1246 dlls/advapi32/Makefile
1247 dlls/avicap32/Makefile
1248 dlls/avifil32/Makefile
1249 dlls/comctl32/Makefile
1250 dlls/commdlg/Makefile
1251 dlls/crtdll/Makefile
1252 dlls/crypt32/Makefile
1253 dlls/dciman32/Makefile
1254 dlls/ddraw/Makefile
1255 dlls/devenum/Makefile
1256 dlls/dinput/Makefile
1257 dlls/dplay/Makefile
1258 dlls/dplayx/Makefile
1259 dlls/dsound/Makefile
1260 dlls/gdi/Makefile
1261 dlls/glu32/Makefile
1262 dlls/icmp/Makefile
1263 dlls/imagehlp/Makefile
1264 dlls/imm32/Makefile
1265 dlls/kernel/Makefile
1266 dlls/lzexpand/Makefile
1267 dlls/mapi32/Makefile
1268 dlls/mpr/Makefile
1269 dlls/msacm/Makefile
1270 dlls/msdmo/Makefile
1271 dlls/msimg32/Makefile
1272 dlls/msnet32/Makefile
1273 dlls/msrle32/Makefile
1274 dlls/msvcrt/Makefile
1275 dlls/msvcrt20/Makefile
1276 dlls/msvideo/Makefile
1277 dlls/netapi32/Makefile
1278 dlls/ntdll/Makefile
1279 dlls/odbc32/Makefile
1280 dlls/ole32/Makefile
1281 dlls/oleaut32/Makefile
1282 dlls/olecli/Makefile
1283 dlls/oledlg/Makefile
1284 dlls/olepro32/Makefile
1285 dlls/olesvr/Makefile
1286 dlls/opengl32/Makefile
1287 dlls/psapi/Makefile
1288 dlls/qcap/Makefile
1289 dlls/quartz/Makefile
1290 dlls/rasapi32/Makefile
1291 dlls/richedit/Makefile
1292 dlls/rpcrt4/Makefile
1293 dlls/serialui/Makefile
1294 dlls/setupapi/Makefile
1295 dlls/shdocvw/Makefile
1296 dlls/shell32/Makefile
1297 dlls/shfolder/Makefile
1298 dlls/shlwapi/Makefile
1299 dlls/sti/Makefile
1300 dlls/tapi32/Makefile
1301 dlls/ttydrv/Makefile
1302 dlls/url/Makefile
1303 dlls/urlmon/Makefile
1304 dlls/user/Makefile
1305 dlls/version/Makefile
1306 dlls/win32s/Makefile
1307 dlls/winaspi/Makefile
1308 dlls/winedos/Makefile
1309 dlls/wineps/Makefile
1310 dlls/wininet/Makefile
1311 dlls/winmm/Makefile
1312 dlls/winmm/joystick/Makefile
1313 dlls/winmm/mcianim/Makefile
1314 dlls/winmm/mciavi/Makefile
1315 dlls/winmm/mcicda/Makefile
1316 dlls/winmm/mciseq/Makefile
1317 dlls/winmm/mciwave/Makefile
1318 dlls/winmm/midimap/Makefile
1319 dlls/winmm/wavemap/Makefile
1320 dlls/winmm/wineoss/Makefile
1321 dlls/winnls/Makefile
1322 dlls/winsock/Makefile
1323 dlls/winspool/Makefile
1324 dlls/wintrust/Makefile
1325 dlls/wow32/Makefile
1326 dlls/wsock32/Makefile
1327 dlls/x11drv/Makefile
1328 documentation/Makefile
1329 files/Makefile
1330 graphics/Makefile
1331 graphics/enhmetafiledrv/Makefile
1332 graphics/metafiledrv/Makefile
1333 graphics/win16drv/Makefile
1334 graphics/x11drv/Makefile
1335 if1632/Makefile
1336 include/Makefile
1337 library/Makefile
1338 libtest/Makefile
1339 loader/Makefile
1340 loader/ne/Makefile
1341 memory/Makefile
1342 misc/Makefile
1343 miscemu/Makefile
1344 msdos/Makefile
1345 objects/Makefile
1346 ole/Makefile
1347 programs/Makefile
1348 programs/avitools/Makefile
1349 programs/clock/Makefile
1350 programs/cmdlgtst/Makefile
1351 programs/control/Makefile
1352 programs/notepad/Makefile
1353 programs/osversioncheck/Makefile
1354 programs/progman/Makefile
1355 programs/regapi/Makefile
1356 programs/regtest/Makefile
1357 programs/uninstaller/Makefile
1358 programs/view/Makefile
1359 programs/wcmd/Makefile
1360 programs/wineconsole/Makefile
1361 programs/winemine/Makefile
1362 programs/winetest/Makefile
1363 programs/winhelp/Makefile
1364 programs/winver/Makefile
1365 relay32/Makefile
1366 scheduler/Makefile
1367 server/Makefile
1368 tools/Makefile
1369 tools/winapi/Makefile
1370 tools/winebuild/Makefile
1371 tools/winedump/Makefile
1372 tools/wmc/Makefile
1373 tools/wrc/Makefile
1374 tsx11/Makefile
1375 unicode/Makefile
1376 win32/Makefile
1377 windows/Makefile
1378 windows/x11drv/Makefile ])
1380 AC_OUTPUT
1382 if test "$have_x" = "no"
1383 then
1384   echo
1385   echo "*** Warning: X development files not found. Wine will be built without"
1386   echo "*** X support, which currently does not work, and would probably not be"
1387   echo "*** what you want anyway. You will need to install devel packages of"
1388   echo "*** Xlib/Xfree86 at the very least."
1391 if test "$ac_cv_lib_ncurses_resizeterm" = "no" -a "$ac_cv_lib_ncurses_waddch" = "yes"
1392 then
1393   echo
1394   echo "*** Warning: resizeterm not found in ncurses. Wine will be built without"
1395   echo "*** terminal resize support. Consider upgrading ncurses."
1398 if test "$wine_cv_libc_reentrant" = "no" 
1399 then
1400   echo
1401   echo "*** Warning: non-reentrant libc detected. Wine will be built without"
1402   echo "*** threading support. Consider upgrading libc to a more recent"
1403   echo "*** reentrant version of libc."
1406 if test "$wine_cv_opengl_version_OK" = "no"
1407 then
1408   echo
1409   echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1410   echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1413 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "x"
1414 then
1415   echo
1416   echo "*** Warning: the OpenGL version you have installed relies on libpthread for"
1417   echo "*** thread-safety. To prevent crashes, OpenGL support has been removed."
1418   echo "*** A fix for glibc 2.1.3 that seems to work is included in this version of Wine,"
1419   echo "*** start configure with '--enable-opengl' to force OpenGL support."
1422 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "xyes"
1423 then
1424   echo
1425   echo "*** Warning: you explicitly linked in a thread-safe OpenGL version. If you"
1426   echo "*** experience unusual crashes on DirectDraw games, try first to disable OpenGL"
1427   echo "*** support before reporting bugs."
1430 if test "$wine_cv_warn_cups_h" = "yes"
1431 then
1432   echo
1433   echo "*** Note: You have cups runtime libraries, but no development"
1434   echo "*** libraries. Install the cups-devel package or whichever package"
1435   echo "*** contains cups.h to enable CUPS support in Wine."
1438 if test "$wine_cv_msg_freetype" = "yes"
1439 then
1440   echo
1441   echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1442   echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1443   echo "*** freetype-devel package (or its equivalent on your distribution) to"
1444   echo "*** enable Wine to use TrueType fonts."
1447 echo
1448 echo "Configure finished.  Do 'make depend && make' to compile Wine."
1449 echo
1451 dnl Local Variables:
1452 dnl comment-start: "dnl "
1453 dnl comment-end: ""
1454 dnl comment-start-skip: "\\bdnl\\b\\s *"
1455 dnl compile-command: "autoconf"
1456 dnl End: