Add LVS_NOSORTHEADER support.
[wine/multimedia.git] / configure.ac
blobc5d845f8215ae3a61804e08f779879ad81b5b4d9
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     LDPATH="LD_LIBRARY_PATH=\"\$(TOPOBJDIR)/unicode:\$\$LD_LIBRARY_PATH\""
736 elif test "$LIBEXT" = "dll"; then
737     #DLLFLAGS="-fPIC" # -fPIC doesn't work(at least in cygwin-b20) - FIXME
738     LDPATH="PATH=\"\$(TOPOBJDIR)/unicode:\$\$PATH\""
741 AC_SUBST(DLLFLAGS)
742 AC_SUBST(LDSHARED)
743 AC_SUBST(LDDLLFLAGS)
744 AC_SUBST(LIBEXT)
745 AC_SUBST(LDPATH)
747 dnl **** Check for reentrant libc ****
749 dnl For cross-compiling we blindly assume that libc is reentrant. This is
750 dnl ok since non-reentrant libc is quite rare (mostly old libc5 versions).
752 AC_DEFUN([WINE_CHECK_ERRNO],
754   AC_CACHE_CHECK(for reentrant libc: $1, wine_cv_libc_r_$1,
755   [AC_TRY_RUN([int myerrno = 0;
756 char buf[256];
757 int *$1(){return &myerrno;}
758 main(){connect(0,buf,255); exit(!myerrno);}],
759   wine_cv_libc_r_$1=yes, wine_cv_libc_r_$1=no,
760   wine_cv_libc_r_$1=yes )
762 if test "$wine_cv_libc_r_$1" = "yes"
763 then
764     wine_cv_libc_reentrant=$1 
768 wine_cv_libc_reentrant=no 
769 dnl Linux style errno location
770 WINE_CHECK_ERRNO(__errno_location)
771 dnl FreeBSD style errno location
772 WINE_CHECK_ERRNO(__error)
773 dnl Solaris style errno location
774 WINE_CHECK_ERRNO(___errno)
775 dnl UnixWare style errno location
776 WINE_CHECK_ERRNO(__thr_errno)
777 dnl NetBSD style errno location
778 WINE_CHECK_ERRNO(__errno)
780 if test "$wine_cv_libc_reentrant" != "no" 
781 then
782   AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant,
783                      [Define to the name of the function returning errno for reentrant libc])
786 dnl **** Check for reentrant X libraries ****
788 dnl This may fail to determine whether X libraries are reentrant if
789 dnl AC_PATH_XTRA does not set x_libraries. In this case manual configuration
790 dnl is possible with the --without-reentrant-x option.
792 if test "$have_x" = "yes" -a "$wine_cv_libc_reentrant" != "no"
793 then
794 AC_CACHE_CHECK( [for reentrant X libraries], wine_cv_x_reentrant,
795   [ if test "x$with_reentrant_x" = "xno" 
796     then
797         wine_cv_x_reentrant=no
798     else
799         libX11_check=none
800         for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
801             if test -r $dir/libX11.so; then
802                 libX11_check="-D $dir/libX11.so"
803                 break 1
804             fi
805             if test -r $dir/libX11.a; then
806                 libX11_check="$dir/libX11.a"
807                 break 1
808             fi
809         done
810         if test "$libX11_check" != "none"; then
811             if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
812             then
813                 wine_cv_x_reentrant=yes
814             else
815                 wine_cv_x_reentrant=no
816             fi
817         else
818             wine_cv_x_reentrant=unknown
819         fi
820     fi ] )
821 else
822     wine_cv_x_reentrant=no
824 if test "$wine_cv_x_reentrant" = "no"
825 then
826   AC_DEFINE(NO_REENTRANT_X11, 1,
827             [Define if X libraries are not reentrant (compiled without -D_REENTRANT)])
831 dnl **** Check for functions ****
833 AC_FUNC_ALLOCA()
834 AC_CHECK_FUNCS(\
835         __libc_fork \
836         _lwp_create \
837         _pclose \
838         _popen \
839         _stricmp \
840         _strnicmp \
841         clone \
842         ecvt \
843         finite \
844         fpclass \
845         ftruncate64 \
846         getnetbyaddr \
847         getnetbyname \
848         getpagesize \
849         getprotobyname \
850         getprotobynumber \
851         getrlimit \
852         getservbyport \
853         getsockopt \
854         inet_network \
855         lseek64 \
856         lstat \
857         memmove \
858         mmap \
859         pclose \
860         pread \
861         popen \
862         pwrite \
863         rfork \
864         select \
865         sendmsg \
866         settimeofday \
867         sigaltstack \
868         statfs \
869         strcasecmp \
870         strerror \
871         strncasecmp \
872         tcgetattr \
873         timegm \
874         usleep \
875         vfscanf \
876         wait4 \
877         waitpid \
880 dnl **** Check for header files ****
882 AC_CHECK_HEADERS(\
883         arpa/inet.h \
884         arpa/nameser.h \
885         direct.h \
886         elf.h \
887         float.h \
888         ieeefp.h \
889         io.h \
890         libio.h \
891         libutil.h \
892         link.h \
893         linux/cdrom.h \
894         linux/input.h \
895         linux/joystick.h \
896         linux/serial.h \
897         linux/ucdrom.h \
898         net/if.h \
899         netdb.h \
900         netinet/in.h \
901         netinet/in_systm.h \
902         netinet/ip.h \
903         netinet/tcp.h \
904         pty.h \
905         resolv.h \
906         sched.h \
907         socket.h \
908         stdint.h \
909         strings.h \
910         sys/cdio.h \
911         sys/errno.h \
912         sys/file.h \
913         sys/filio.h \
914         sys/ipc.h \
915         sys/link.h \
916         sys/lwp.h \
917         sys/mman.h \
918         sys/modem.h \
919         sys/mount.h \
920         sys/msg.h \
921         sys/param.h \
922         sys/ptrace.h \
923         sys/reg.h \
924         sys/signal.h \
925         sys/shm.h \
926         sys/socket.h \
927         sys/sockio.h \
928         sys/statfs.h \
929         sys/strtio.h \
930         sys/syscall.h \
931         sys/time.h \
932         sys/user.h \
933         sys/wait.h \
934         sys/v86.h \
935         sys/v86intr.h \
936         sys/vfs.h \
937         sys/vm86.h \
938         syscall.h \
939         ucontext.h \
940         unistd.h \
942 AC_HEADER_STAT()
944 dnl **** Check for types ****
946 AC_C_CONST
947 AC_C_INLINE
948 AC_TYPE_MODE_T
949 AC_TYPE_OFF_T
950 AC_TYPE_PID_T
951 AC_TYPE_SIZE_T
952 AC_CHECK_SIZEOF(long long,0)
954 AC_CACHE_CHECK([whether linux/input.h is for real],
955         wine_cv_linux_input_h,
956         AC_TRY_COMPILE([
957             #include <linux/input.h>
958         ] , [
959             int foo = EVIOCGBIT(EV_ABS,42);
960             int bar = BTN_PINKIE;
961             int fortytwo = 42;
962         ],
963         wine_cv_linux_input_h=yes,
964         wine_cv_linux_input_h=no,
965         no
966         )
967     )
968     if test "$wine_cv_linux_input_h" = "yes"
969     then
970         AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
971                   [Define if we have linux/input.h AND it contains the INPUT event API])
972     fi
974    
975 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
976         wine_cv_linux_gethostbyname_r_6,
977         AC_TRY_COMPILE([
978 #include <netdb.h>
979         ], [
980     char *name=NULL;
981     struct hostent he;
982     struct hostent *result;
983     char *buf=NULL;
984     int bufsize=0;
985     int res,errnr;
986     char *addr=NULL;
987     int addrlen=0;
988     int addrtype=0;
989     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
990     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
991     ],
992         wine_cv_linux_gethostbyname_r_6=yes,
993         wine_cv_linux_gethostbyname_r_6=no
994         )
995    )
996    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
997    then
998       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
999                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1000    fi
1002 if test "$ac_cv_header_linux_joystick_h" = "yes"
1003 then
1004    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1005         wine_cv_linux_joystick_22_api,
1006         AC_TRY_COMPILE([
1007         #include <sys/ioctl.h>
1008         #include <linux/joystick.h>
1010         struct js_event blub;
1011         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1012         #error "no 2.2 header"
1013         #endif
1014         ],/*empty*/,
1015         wine_cv_linux_joystick_22_api=yes,
1016         wine_cv_linux_joystick_22_api=no,
1017         wine_cv_linux_joystick_22_api=no
1018         )
1019    )
1020    if test "$wine_cv_linux_joystick_22_api" = "yes"
1021    then
1022       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1023                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1024    fi
1027 dnl **** statfs checks ****
1029 if test "$ac_cv_header_sys_vfs_h" = "yes"
1030 then
1031     AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1032                     wine_cv_sys_vfs_has_statfs,
1033         AC_TRY_COMPILE([
1034         #include <sys/types.h>
1035         #ifdef HAVE_SYS_PARAM_H
1036         # include <sys/param.h>
1037         #endif
1038         #include <sys/vfs.h>
1039         ],[
1040                 struct statfs stfs;
1042                 memset(&stfs,0,sizeof(stfs));
1043         ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1044         )
1045     )
1046     if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1047     then
1048       AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1049                 [Define if the struct statfs is defined by <sys/vfs.h>])
1050     fi
1053 if test "$ac_cv_header_sys_statfs_h" = "yes"
1054 then
1055     AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1056                     wine_cv_sys_statfs_has_statfs,
1057         AC_TRY_COMPILE([
1058         #include <sys/types.h>
1059         #ifdef HAVE_SYS_PARAM_H
1060         # include <sys/param.h>
1061         #endif
1062         #include <sys/statfs.h>
1063         ],[
1064                 struct statfs stfs;
1065         ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1066         )
1067     )
1068     if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1069     then
1070       AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1071                 [Define if the struct statfs is defined by <sys/statfs.h>])
1072     fi
1075 if test "$ac_cv_header_sys_mount_h" = "yes"
1076 then
1077     AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1078                     wine_cv_sys_mount_has_statfs,
1079         AC_TRY_COMPILE([
1080         #include <sys/types.h>
1081         #ifdef HAVE_SYS_PARAM_H
1082         # include <sys/param.h>
1083         #endif
1084         #include <sys/mount.h>
1085         ],[
1086                 struct statfs stfs;
1087         ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1088         )
1089     )
1090     if test "$wine_cv_sys_mount_has_statfs" = "yes"
1091     then
1092       AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1093                 [Define if the struct statfs is defined by <sys/mount.h>])
1094     fi
1097 dnl *** Check for some structure members
1099 dnl Macro to check if a structure contains a specified member
1100 dnl Usage: WINE_CHECK_STRUCT_MEMBER(struct,member,[includes,[action-if-found,[action-if-not-found]]])
1102 AC_DEFUN([WINE_CHECK_STRUCT_MEMBER],
1103 [AC_CACHE_CHECK([for $2 in struct $1], ac_cv_c_$1_$2,
1104  AC_TRY_COMPILE([$3],[struct $1 s; s.$2 = 0],ac_cv_c_$1_$2="yes",ac_cv_c_$1_$2="no"))
1105 AS_IF([ test "x$ac_cv_c_$1_$2" = "xyes"],[$4],[$5])
1108 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1110 WINE_CHECK_STRUCT_MEMBER(statfs,f_bfree,
1111 [#include <sys/types.h>
1112 #ifdef HAVE_SYS_PARAM_H
1113 # include <sys/param.h>
1114 #endif
1115 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1116 # include <sys/mount.h>
1117 #else
1118 # ifdef STATFS_DEFINED_BY_SYS_VFS
1119 #  include <sys/vfs.h>
1120 # else
1121 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1122 #   include <sys/statfs.h>
1123 #  endif
1124 # endif
1125 #endif],
1126     [AC_DEFINE(STATFS_HAS_BFREE, 1, [Define if the struct statfs has the member bfree])])
1128 WINE_CHECK_STRUCT_MEMBER(statfs,f_bavail,
1129 [#include <sys/types.h>
1130 #ifdef HAVE_SYS_PARAM_H
1131 # include <sys/param.h>
1132 #endif
1133 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1134 # include <sys/mount.h>
1135 #else
1136 # ifdef STATFS_DEFINED_BY_SYS_VFS
1137 #  include <sys/vfs.h>
1138 # else
1139 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1140 #   include <sys/statfs.h>
1141 #  endif
1142 # endif
1143 #endif],
1144     [AC_DEFINE(STATFS_HAS_BAVAIL, 1, [Define if the struct statfs has the member bavail])])
1146 dnl Check for file descriptor passing with msg_accrights
1147 WINE_CHECK_STRUCT_MEMBER(msghdr,msg_accrights,
1148 [#include <sys/types.h>
1149 #include <sys/socket.h>],
1150     [AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS, 1, [Define if struct msghdr contains msg_accrights])])
1152 dnl Check for the sa_len member in struct sockaddr
1153 WINE_CHECK_STRUCT_MEMBER(sockaddr,sa_len,
1154 [#include <sys/types.h>
1155 #include <sys/socket.h>],
1156     [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])])
1158 dnl Check for the sun_len member in struct sockaddr_un
1159 WINE_CHECK_STRUCT_MEMBER(sockaddr_un,sun_len,
1160 [#include <sys/types.h>
1161 #include <sys/socket.h>
1162 #include <sys/un.h>],
1163     [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains sun_len])])
1165 dnl *** check for the need to define __i386__
1167 case $target_cpu in
1168   *i[3456789]86* )
1169     AC_CACHE_CHECK([whether we need to define __i386__],ac_cv_cpp_def_i386,
1170       AC_EGREP_CPP(yes,[#ifndef __i386__
1172 #endif],
1173  ac_cv_cpp_def_i386="yes", ac_cv_cpp_def_i386="no"))
1174     ;;
1175 esac
1176 if test "$ac_cv_cpp_def_i386" = "yes"
1177 then
1178     CFLAGS="$CFLAGS -D__i386__"
1179     LINTFLAGS="$LINTFLAGS -D__i386__"
1182 dnl **** Generate output files ****
1184 dnl Macro to create non-existent directories from config.status
1185 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
1186 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
1187 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || (AC_MSG_NOTICE([creating $1]) && mkdir "$1")])])
1189 AH_TOP([#define __WINE_CONFIG_H])
1191 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1192 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1193 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1194 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1195 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1196 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1197 WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick)
1198 WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard)
1199 WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse)
1200 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1201 WINE_CONFIG_EXTRA_DIR(dlls/kernel/tests)
1202 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1203 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1204 WINE_CONFIG_EXTRA_DIR(dlls/user/tests)
1205 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1206 WINE_CONFIG_EXTRA_DIR(include/wine)
1207 WINE_CONFIG_EXTRA_DIR(programs/regapi/tests)
1208 WINE_CONFIG_EXTRA_DIR(programs/winetest/tests)
1210 AC_CONFIG_COMMANDS([include/wine/version.h],
1211 [AC_MSG_NOTICE([creating include/wine/version.h])
1212 cat >$tmp/version.h <<CEOF
1213 /* Generated automatically by configure; DO NOT EDIT! */
1214 #define WINE_RELEASE_INFO "Wine version $wine_version"
1215 CEOF
1216 if cmp -s $tmp/version.h include/wine/version.h 2>/dev/null; then
1217   AC_MSG_NOTICE([include/wine/version.h is unchanged])
1218   rm -f $tmp/version.h
1219 else
1220   rm -f include/wine/version.h
1221   mv $tmp/version.h include/wine/version.h
1222 fi],
1223 [wine_version=$PACKAGE_VERSION])
1225 MAKE_RULES=Make.rules
1226 AC_SUBST_FILE(MAKE_RULES)
1228 MAKE_DLL_RULES=dlls/Makedll.rules
1229 AC_SUBST_FILE(MAKE_DLL_RULES)
1231 MAKE_PROG_RULES=programs/Makeprog.rules
1232 AC_SUBST_FILE(MAKE_PROG_RULES)
1234 AC_CONFIG_FILES([
1235 Make.rules
1236 dlls/Makedll.rules
1237 programs/Makeprog.rules
1238 Makefile
1239 console/Makefile
1240 controls/Makefile
1241 debugger/Makefile
1242 dlls/Makefile
1243 dlls/advapi32/Makefile
1244 dlls/avicap32/Makefile
1245 dlls/avifil32/Makefile
1246 dlls/comctl32/Makefile
1247 dlls/commdlg/Makefile
1248 dlls/crtdll/Makefile
1249 dlls/crypt32/Makefile
1250 dlls/dciman32/Makefile
1251 dlls/ddraw/Makefile
1252 dlls/devenum/Makefile
1253 dlls/dinput/Makefile
1254 dlls/dplay/Makefile
1255 dlls/dplayx/Makefile
1256 dlls/dsound/Makefile
1257 dlls/gdi/Makefile
1258 dlls/glu32/Makefile
1259 dlls/icmp/Makefile
1260 dlls/imagehlp/Makefile
1261 dlls/imm32/Makefile
1262 dlls/kernel/Makefile
1263 dlls/lzexpand/Makefile
1264 dlls/mapi32/Makefile
1265 dlls/mpr/Makefile
1266 dlls/msacm/Makefile
1267 dlls/msdmo/Makefile
1268 dlls/msimg32/Makefile
1269 dlls/msnet32/Makefile
1270 dlls/msrle32/Makefile
1271 dlls/msvcrt/Makefile
1272 dlls/msvcrt20/Makefile
1273 dlls/msvideo/Makefile
1274 dlls/netapi32/Makefile
1275 dlls/ntdll/Makefile
1276 dlls/odbc32/Makefile
1277 dlls/ole32/Makefile
1278 dlls/oleaut32/Makefile
1279 dlls/olecli/Makefile
1280 dlls/oledlg/Makefile
1281 dlls/olepro32/Makefile
1282 dlls/olesvr/Makefile
1283 dlls/opengl32/Makefile
1284 dlls/psapi/Makefile
1285 dlls/qcap/Makefile
1286 dlls/quartz/Makefile
1287 dlls/rasapi32/Makefile
1288 dlls/richedit/Makefile
1289 dlls/rpcrt4/Makefile
1290 dlls/serialui/Makefile
1291 dlls/setupapi/Makefile
1292 dlls/shdocvw/Makefile
1293 dlls/shell32/Makefile
1294 dlls/shfolder/Makefile
1295 dlls/shlwapi/Makefile
1296 dlls/sti/Makefile
1297 dlls/tapi32/Makefile
1298 dlls/ttydrv/Makefile
1299 dlls/url/Makefile
1300 dlls/urlmon/Makefile
1301 dlls/user/Makefile
1302 dlls/version/Makefile
1303 dlls/win32s/Makefile
1304 dlls/winaspi/Makefile
1305 dlls/winedos/Makefile
1306 dlls/wineps/Makefile
1307 dlls/wininet/Makefile
1308 dlls/winmm/Makefile
1309 dlls/winmm/joystick/Makefile
1310 dlls/winmm/mcianim/Makefile
1311 dlls/winmm/mciavi/Makefile
1312 dlls/winmm/mcicda/Makefile
1313 dlls/winmm/mciseq/Makefile
1314 dlls/winmm/mciwave/Makefile
1315 dlls/winmm/midimap/Makefile
1316 dlls/winmm/wavemap/Makefile
1317 dlls/winmm/wineoss/Makefile
1318 dlls/winnls/Makefile
1319 dlls/winsock/Makefile
1320 dlls/winspool/Makefile
1321 dlls/wintrust/Makefile
1322 dlls/wow32/Makefile
1323 dlls/wsock32/Makefile
1324 dlls/x11drv/Makefile
1325 documentation/Makefile
1326 files/Makefile
1327 graphics/Makefile
1328 graphics/enhmetafiledrv/Makefile
1329 graphics/metafiledrv/Makefile
1330 graphics/win16drv/Makefile
1331 graphics/x11drv/Makefile
1332 if1632/Makefile
1333 include/Makefile
1334 library/Makefile
1335 libtest/Makefile
1336 loader/Makefile
1337 loader/ne/Makefile
1338 memory/Makefile
1339 misc/Makefile
1340 miscemu/Makefile
1341 msdos/Makefile
1342 objects/Makefile
1343 ole/Makefile
1344 programs/Makefile
1345 programs/avitools/Makefile
1346 programs/clock/Makefile
1347 programs/cmdlgtst/Makefile
1348 programs/control/Makefile
1349 programs/notepad/Makefile
1350 programs/osversioncheck/Makefile
1351 programs/progman/Makefile
1352 programs/regapi/Makefile
1353 programs/regtest/Makefile
1354 programs/uninstaller/Makefile
1355 programs/view/Makefile
1356 programs/wcmd/Makefile
1357 programs/wineconsole/Makefile
1358 programs/winemine/Makefile
1359 programs/winetest/Makefile
1360 programs/winhelp/Makefile
1361 programs/winver/Makefile
1362 relay32/Makefile
1363 scheduler/Makefile
1364 server/Makefile
1365 tools/Makefile
1366 tools/winapi/Makefile
1367 tools/winebuild/Makefile
1368 tools/winedump/Makefile
1369 tools/wmc/Makefile
1370 tools/wrc/Makefile
1371 tsx11/Makefile
1372 unicode/Makefile
1373 win32/Makefile
1374 windows/Makefile
1375 windows/x11drv/Makefile ])
1377 AC_OUTPUT
1379 if test "$have_x" = "no"
1380 then
1381   echo
1382   echo "*** Warning: X development files not found. Wine will be built without"
1383   echo "*** X support, which currently does not work, and would probably not be"
1384   echo "*** what you want anyway. You will need to install devel packages of"
1385   echo "*** Xlib/Xfree86 at the very least."
1388 if test "$ac_cv_lib_ncurses_resizeterm" = "no" -a "$ac_cv_lib_ncurses_waddch" = "yes"
1389 then
1390   echo
1391   echo "*** Warning: resizeterm not found in ncurses. Wine will be built without"
1392   echo "*** terminal resize support. Consider upgrading ncurses."
1395 if test "$wine_cv_libc_reentrant" = "no" 
1396 then
1397   echo
1398   echo "*** Warning: non-reentrant libc detected. Wine will be built without"
1399   echo "*** threading support. Consider upgrading libc to a more recent"
1400   echo "*** reentrant version of libc."
1403 if test "$wine_cv_opengl_version_OK" = "no"
1404 then
1405   echo
1406   echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1407   echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1410 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "x"
1411 then
1412   echo
1413   echo "*** Warning: the OpenGL version you have installed relies on libpthread for"
1414   echo "*** thread-safety. To prevent crashes, OpenGL support has been removed."
1415   echo "*** A fix for glibc 2.1.3 that seems to work is included in this version of Wine,"
1416   echo "*** start configure with '--enable-opengl' to force OpenGL support."
1419 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "xyes"
1420 then
1421   echo
1422   echo "*** Warning: you explicitly linked in a thread-safe OpenGL version. If you"
1423   echo "*** experience unusual crashes on DirectDraw games, try first to disable OpenGL"
1424   echo "*** support before reporting bugs."
1427 if test "$wine_cv_warn_cups_h" = "yes"
1428 then
1429   echo
1430   echo "*** Note: You have cups runtime libraries, but no development"
1431   echo "*** libraries. Install the cups-devel package or whichever package"
1432   echo "*** contains cups.h to enable CUPS support in Wine."
1435 if test "$wine_cv_msg_freetype" = "yes"
1436 then
1437   echo
1438   echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1439   echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1440   echo "*** freetype-devel package (or its equivalent on your distribution) to"
1441   echo "*** enable Wine to use TrueType fonts."
1444 echo
1445 echo "Configure finished.  Do 'make depend && make' to compile Wine."
1446 echo
1448 dnl Local Variables:
1449 dnl comment-start: "dnl "
1450 dnl comment-end: ""
1451 dnl comment-start-skip: "\\bdnl\\b\\s *"
1452 dnl compile-command: "autoconf"
1453 dnl End: