More complete implementation of SHLWAPI_356.
[wine/multimedia.git] / configure.ac
blobf2d66801b8f398104997491cd2f9187cede81998
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         clone \
838         ecvt \
839         finite \
840         fpclass \
841         ftruncate64 \
842         getnetbyaddr \
843         getnetbyname \
844         getpagesize \
845         getprotobyname \
846         getprotobynumber \
847         getrlimit \
848         getservbyport \
849         getsockopt \
850         inet_network \
851         lseek64 \
852         lstat \
853         memmove \
854         mmap \
855         pread \
856         pwrite \
857         rfork \
858         select \
859         sendmsg \
860         settimeofday \
861         sigaltstack \
862         statfs \
863         strcasecmp \
864         strerror \
865         strncasecmp \
866         tcgetattr \
867         timegm \
868         usleep \
869         vfscanf \
870         wait4 \
871         waitpid \
874 dnl **** Check for header files ****
876 AC_CHECK_HEADERS(\
877         arpa/inet.h \
878         arpa/nameser.h \
879         elf.h \
880         float.h \
881         ieeefp.h \
882         libio.h \
883         libutil.h \
884         link.h \
885         linux/cdrom.h \
886         linux/input.h \
887         linux/joystick.h \
888         linux/serial.h \
889         linux/ucdrom.h \
890         net/if.h \
891         netdb.h \
892         netinet/in.h \
893         netinet/in_systm.h \
894         netinet/ip.h \
895         netinet/tcp.h \
896         pty.h \
897         resolv.h \
898         sched.h \
899         socket.h \
900         stdint.h \
901         strings.h \
902         sys/cdio.h \
903         sys/errno.h \
904         sys/file.h \
905         sys/filio.h \
906         sys/ipc.h \
907         sys/link.h \
908         sys/lwp.h \
909         sys/mman.h \
910         sys/modem.h \
911         sys/mount.h \
912         sys/msg.h \
913         sys/param.h \
914         sys/ptrace.h \
915         sys/reg.h \
916         sys/signal.h \
917         sys/shm.h \
918         sys/socket.h \
919         sys/sockio.h \
920         sys/statfs.h \
921         sys/strtio.h \
922         sys/syscall.h \
923         sys/user.h \
924         sys/wait.h \
925         sys/v86.h \
926         sys/v86intr.h \
927         sys/vfs.h \
928         sys/vm86.h \
929         syscall.h \
930         ucontext.h \
932 AC_HEADER_STAT()
934 dnl **** Check for types ****
936 AC_C_CONST
937 AC_C_INLINE
938 AC_TYPE_MODE_T
939 AC_TYPE_OFF_T
940 AC_TYPE_PID_T
941 AC_TYPE_SIZE_T
942 AC_CHECK_SIZEOF(long long,0)
944 AC_CACHE_CHECK([whether linux/input.h is for real],
945         wine_cv_linux_input_h,
946         AC_TRY_COMPILE([
947             #include <linux/input.h>
948         ] , [
949             int foo = EVIOCGBIT(EV_ABS,42);
950             int bar = BTN_PINKIE;
951             int fortytwo = 42;
952         ],
953         wine_cv_linux_input_h=yes,
954         wine_cv_linux_input_h=no,
955         no
956         )
957     )
958     if test "$wine_cv_linux_input_h" = "yes"
959     then
960         AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
961                   [Define if we have linux/input.h AND it contains the INPUT event API])
962     fi
964    
965 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
966         wine_cv_linux_gethostbyname_r_6,
967         AC_TRY_COMPILE([
968 #include <netdb.h>
969         ], [
970     char *name=NULL;
971     struct hostent he;
972     struct hostent *result;
973     char *buf=NULL;
974     int bufsize=0;
975     int res,errnr;
976     char *addr=NULL;
977     int addrlen=0;
978     int addrtype=0;
979     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
980     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
981     ],
982         wine_cv_linux_gethostbyname_r_6=yes,
983         wine_cv_linux_gethostbyname_r_6=no
984         )
985    )
986    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
987    then
988       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
989                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
990    fi
992 if test "$ac_cv_header_linux_joystick_h" = "yes"
993 then
994    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
995         wine_cv_linux_joystick_22_api,
996         AC_TRY_COMPILE([
997         #include <sys/ioctl.h>
998         #include <linux/joystick.h>
1000         struct js_event blub;
1001         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1002         #error "no 2.2 header"
1003         #endif
1004         ],/*empty*/,
1005         wine_cv_linux_joystick_22_api=yes,
1006         wine_cv_linux_joystick_22_api=no,
1007         wine_cv_linux_joystick_22_api=no
1008         )
1009    )
1010    if test "$wine_cv_linux_joystick_22_api" = "yes"
1011    then
1012       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1013                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1014    fi
1017 dnl **** statfs checks ****
1019 if test "$ac_cv_header_sys_vfs_h" = "yes"
1020 then
1021     AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1022                     wine_cv_sys_vfs_has_statfs,
1023         AC_TRY_COMPILE([
1024         #include <sys/types.h>
1025         #ifdef HAVE_SYS_PARAM_H
1026         # include <sys/param.h>
1027         #endif
1028         #include <sys/vfs.h>
1029         ],[
1030                 struct statfs stfs;
1032                 memset(&stfs,0,sizeof(stfs));
1033         ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1034         )
1035     )
1036     if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1037     then
1038       AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1039                 [Define if the struct statfs is defined by <sys/vfs.h>])
1040     fi
1043 if test "$ac_cv_header_sys_statfs_h" = "yes"
1044 then
1045     AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1046                     wine_cv_sys_statfs_has_statfs,
1047         AC_TRY_COMPILE([
1048         #include <sys/types.h>
1049         #ifdef HAVE_SYS_PARAM_H
1050         # include <sys/param.h>
1051         #endif
1052         #include <sys/statfs.h>
1053         ],[
1054                 struct statfs stfs;
1055         ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1056         )
1057     )
1058     if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1059     then
1060       AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1061                 [Define if the struct statfs is defined by <sys/statfs.h>])
1062     fi
1065 if test "$ac_cv_header_sys_mount_h" = "yes"
1066 then
1067     AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1068                     wine_cv_sys_mount_has_statfs,
1069         AC_TRY_COMPILE([
1070         #include <sys/types.h>
1071         #ifdef HAVE_SYS_PARAM_H
1072         # include <sys/param.h>
1073         #endif
1074         #include <sys/mount.h>
1075         ],[
1076                 struct statfs stfs;
1077         ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1078         )
1079     )
1080     if test "$wine_cv_sys_mount_has_statfs" = "yes"
1081     then
1082       AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1083                 [Define if the struct statfs is defined by <sys/mount.h>])
1084     fi
1087 dnl *** Check for some structure members
1089 dnl Macro to check if a structure contains a specified member
1090 dnl Usage: WINE_CHECK_STRUCT_MEMBER(struct,member,[includes,[action-if-found,[action-if-not-found]]])
1092 AC_DEFUN([WINE_CHECK_STRUCT_MEMBER],
1093 [AC_CACHE_CHECK([for $2 in struct $1], ac_cv_c_$1_$2,
1094  AC_TRY_COMPILE([$3],[struct $1 s; s.$2 = 0],ac_cv_c_$1_$2="yes",ac_cv_c_$1_$2="no"))
1095 AS_IF([ test "x$ac_cv_c_$1_$2" = "xyes"],[$4],[$5])
1098 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1100 WINE_CHECK_STRUCT_MEMBER(statfs,f_bfree,
1101 [#include <sys/types.h>
1102 #ifdef HAVE_SYS_PARAM_H
1103 # include <sys/param.h>
1104 #endif
1105 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1106 # include <sys/mount.h>
1107 #else
1108 # ifdef STATFS_DEFINED_BY_SYS_VFS
1109 #  include <sys/vfs.h>
1110 # else
1111 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1112 #   include <sys/statfs.h>
1113 #  endif
1114 # endif
1115 #endif],
1116     [AC_DEFINE(STATFS_HAS_BFREE, 1, [Define if the struct statfs has the member bfree])])
1118 WINE_CHECK_STRUCT_MEMBER(statfs,f_bavail,
1119 [#include <sys/types.h>
1120 #ifdef HAVE_SYS_PARAM_H
1121 # include <sys/param.h>
1122 #endif
1123 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1124 # include <sys/mount.h>
1125 #else
1126 # ifdef STATFS_DEFINED_BY_SYS_VFS
1127 #  include <sys/vfs.h>
1128 # else
1129 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1130 #   include <sys/statfs.h>
1131 #  endif
1132 # endif
1133 #endif],
1134     [AC_DEFINE(STATFS_HAS_BAVAIL, 1, [Define if the struct statfs has the member bavail])])
1136 dnl Check for file descriptor passing with msg_accrights
1137 WINE_CHECK_STRUCT_MEMBER(msghdr,msg_accrights,
1138 [#include <sys/types.h>
1139 #include <sys/socket.h>],
1140     [AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS, 1, [Define if struct msghdr contains msg_accrights])])
1142 dnl Check for the sa_len member in struct sockaddr
1143 WINE_CHECK_STRUCT_MEMBER(sockaddr,sa_len,
1144 [#include <sys/types.h>
1145 #include <sys/socket.h>],
1146     [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])])
1148 dnl Check for the sun_len member in struct sockaddr_un
1149 WINE_CHECK_STRUCT_MEMBER(sockaddr_un,sun_len,
1150 [#include <sys/types.h>
1151 #include <sys/socket.h>
1152 #include <sys/un.h>],
1153     [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains sun_len])])
1155 dnl *** check for the need to define __i386__
1157 case $target_cpu in
1158   *i[3456789]86* )
1159     AC_CACHE_CHECK([whether we need to define __i386__],ac_cv_cpp_def_i386,
1160       AC_EGREP_CPP(yes,[#ifndef __i386__
1162 #endif],
1163  ac_cv_cpp_def_i386="yes", ac_cv_cpp_def_i386="no"))
1164     ;;
1165 esac
1166 if test "$ac_cv_cpp_def_i386" = "yes"
1167 then
1168     CFLAGS="$CFLAGS -D__i386__"
1169     LINTFLAGS="$LINTFLAGS -D__i386__"
1172 dnl **** Generate output files ****
1174 dnl Macro to create non-existent directories from config.status
1175 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
1176 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
1177 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || (AC_MSG_NOTICE([creating $1]) && mkdir "$1")])])
1179 AH_TOP([#define __WINE_CONFIG_H])
1181 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1182 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1183 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1184 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1185 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1186 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1187 WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick)
1188 WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard)
1189 WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse)
1190 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1191 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1192 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1193 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1194 WINE_CONFIG_EXTRA_DIR(include/wine)
1196 AC_CONFIG_COMMANDS([include/wine/version.h],
1197 [AC_MSG_NOTICE([creating include/wine/version.h])
1198 cat >$tmp/version.h <<CEOF
1199 /* Generated automatically by configure; DO NOT EDIT! */
1200 #define WINE_RELEASE_INFO "Wine version $wine_version"
1201 CEOF
1202 if cmp -s $tmp/version.h include/wine/version.h 2>/dev/null; then
1203   AC_MSG_NOTICE([include/wine/version.h is unchanged])
1204   rm -f $tmp/version.h
1205 else
1206   rm -f include/wine/version.h
1207   mv $tmp/version.h include/wine/version.h
1208 fi],
1209 [wine_version=$PACKAGE_VERSION])
1211 MAKE_RULES=Make.rules
1212 AC_SUBST_FILE(MAKE_RULES)
1214 MAKE_DLL_RULES=dlls/Makedll.rules
1215 AC_SUBST_FILE(MAKE_DLL_RULES)
1217 MAKE_PROG_RULES=programs/Makeprog.rules
1218 AC_SUBST_FILE(MAKE_PROG_RULES)
1220 AC_CONFIG_FILES([
1221 Make.rules
1222 dlls/Makedll.rules
1223 programs/Makeprog.rules
1224 Makefile
1225 console/Makefile
1226 controls/Makefile
1227 debugger/Makefile
1228 dlls/Makefile
1229 dlls/advapi32/Makefile
1230 dlls/avicap32/Makefile
1231 dlls/avifil32/Makefile
1232 dlls/comctl32/Makefile
1233 dlls/commdlg/Makefile
1234 dlls/crtdll/Makefile
1235 dlls/crypt32/Makefile
1236 dlls/dciman32/Makefile
1237 dlls/ddraw/Makefile
1238 dlls/devenum/Makefile
1239 dlls/dinput/Makefile
1240 dlls/dplay/Makefile
1241 dlls/dplayx/Makefile
1242 dlls/dsound/Makefile
1243 dlls/gdi/Makefile
1244 dlls/glu32/Makefile
1245 dlls/icmp/Makefile
1246 dlls/imagehlp/Makefile
1247 dlls/imm32/Makefile
1248 dlls/kernel/Makefile
1249 dlls/lzexpand/Makefile
1250 dlls/mapi32/Makefile
1251 dlls/mpr/Makefile
1252 dlls/msacm/Makefile
1253 dlls/msdmo/Makefile
1254 dlls/msimg32/Makefile
1255 dlls/msnet32/Makefile
1256 dlls/msrle32/Makefile
1257 dlls/msvcrt/Makefile
1258 dlls/msvcrt20/Makefile
1259 dlls/msvideo/Makefile
1260 dlls/netapi32/Makefile
1261 dlls/ntdll/Makefile
1262 dlls/odbc32/Makefile
1263 dlls/ole32/Makefile
1264 dlls/oleaut32/Makefile
1265 dlls/olecli/Makefile
1266 dlls/oledlg/Makefile
1267 dlls/olepro32/Makefile
1268 dlls/olesvr/Makefile
1269 dlls/opengl32/Makefile
1270 dlls/psapi/Makefile
1271 dlls/qcap/Makefile
1272 dlls/quartz/Makefile
1273 dlls/rasapi32/Makefile
1274 dlls/richedit/Makefile
1275 dlls/rpcrt4/Makefile
1276 dlls/serialui/Makefile
1277 dlls/setupapi/Makefile
1278 dlls/shdocvw/Makefile
1279 dlls/shell32/Makefile
1280 dlls/shfolder/Makefile
1281 dlls/shlwapi/Makefile
1282 dlls/sti/Makefile
1283 dlls/tapi32/Makefile
1284 dlls/ttydrv/Makefile
1285 dlls/url/Makefile
1286 dlls/urlmon/Makefile
1287 dlls/user/Makefile
1288 dlls/version/Makefile
1289 dlls/win32s/Makefile
1290 dlls/winaspi/Makefile
1291 dlls/winedos/Makefile
1292 dlls/wineps/Makefile
1293 dlls/wininet/Makefile
1294 dlls/winmm/Makefile
1295 dlls/winmm/joystick/Makefile
1296 dlls/winmm/mcianim/Makefile
1297 dlls/winmm/mciavi/Makefile
1298 dlls/winmm/mcicda/Makefile
1299 dlls/winmm/mciseq/Makefile
1300 dlls/winmm/mciwave/Makefile
1301 dlls/winmm/midimap/Makefile
1302 dlls/winmm/wavemap/Makefile
1303 dlls/winmm/wineoss/Makefile
1304 dlls/winnls/Makefile
1305 dlls/winsock/Makefile
1306 dlls/winspool/Makefile
1307 dlls/wintrust/Makefile
1308 dlls/wow32/Makefile
1309 dlls/wsock32/Makefile
1310 dlls/x11drv/Makefile
1311 documentation/Makefile
1312 files/Makefile
1313 graphics/Makefile
1314 graphics/enhmetafiledrv/Makefile
1315 graphics/metafiledrv/Makefile
1316 graphics/win16drv/Makefile
1317 graphics/x11drv/Makefile
1318 if1632/Makefile
1319 include/Makefile
1320 library/Makefile
1321 libtest/Makefile
1322 loader/Makefile
1323 loader/ne/Makefile
1324 memory/Makefile
1325 misc/Makefile
1326 miscemu/Makefile
1327 msdos/Makefile
1328 objects/Makefile
1329 ole/Makefile
1330 programs/Makefile
1331 programs/avitools/Makefile
1332 programs/clock/Makefile
1333 programs/cmdlgtst/Makefile
1334 programs/control/Makefile
1335 programs/notepad/Makefile
1336 programs/osversioncheck/Makefile
1337 programs/progman/Makefile
1338 programs/regapi/Makefile
1339 programs/regtest/Makefile
1340 programs/uninstaller/Makefile
1341 programs/view/Makefile
1342 programs/wcmd/Makefile
1343 programs/wineconsole/Makefile
1344 programs/winemine/Makefile
1345 programs/winetest/Makefile
1346 programs/winhelp/Makefile
1347 programs/winver/Makefile
1348 relay32/Makefile
1349 scheduler/Makefile
1350 server/Makefile
1351 tools/Makefile
1352 tools/winapi/Makefile
1353 tools/winebuild/Makefile
1354 tools/winedump/Makefile
1355 tools/wmc/Makefile
1356 tools/wrc/Makefile
1357 tsx11/Makefile
1358 unicode/Makefile
1359 win32/Makefile
1360 windows/Makefile
1361 windows/x11drv/Makefile ])
1363 AC_OUTPUT
1365 if test "$have_x" = "no"
1366 then
1367   echo
1368   echo "*** Warning: X development files not found. Wine will be built without"
1369   echo "*** X support, which currently does not work, and would probably not be"
1370   echo "*** what you want anyway. You will need to install devel packages of"
1371   echo "*** Xlib/Xfree86 at the very least."
1374 if test "$ac_cv_lib_ncurses_resizeterm" = "no" -a "$ac_cv_lib_ncurses_waddch" = "yes"
1375 then
1376   echo
1377   echo "*** Warning: resizeterm not found in ncurses. Wine will be built without"
1378   echo "*** terminal resize support. Consider upgrading ncurses."
1381 if test "$wine_cv_libc_reentrant" = "no" 
1382 then
1383   echo
1384   echo "*** Warning: non-reentrant libc detected. Wine will be built without"
1385   echo "*** threading support. Consider upgrading libc to a more recent"
1386   echo "*** reentrant version of libc."
1389 if test "$wine_cv_opengl_version_OK" = "no"
1390 then
1391   echo
1392   echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1393   echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1396 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "x"
1397 then
1398   echo
1399   echo "*** Warning: the OpenGL version you have installed relies on libpthread for"
1400   echo "*** thread-safety. To prevent crashes, OpenGL support has been removed."
1401   echo "*** A fix for glibc 2.1.3 that seems to work is included in this version of Wine,"
1402   echo "*** start configure with '--enable-opengl' to force OpenGL support."
1405 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "xyes"
1406 then
1407   echo
1408   echo "*** Warning: you explicitly linked in a thread-safe OpenGL version. If you"
1409   echo "*** experience unusual crashes on DirectDraw games, try first to disable OpenGL"
1410   echo "*** support before reporting bugs."
1413 if test "$wine_cv_warn_cups_h" = "yes"
1414 then
1415   echo
1416   echo "*** Note: You have cups runtime libraries, but no development"
1417   echo "*** libraries. Install the cups-devel package or whichever package"
1418   echo "*** contains cups.h to enable CUPS support in Wine."
1421 if test "$wine_cv_msg_freetype" = "yes"
1422 then
1423   echo
1424   echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1425   echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1426   echo "*** freetype-devel package (or its equivalent on your distribution) to"
1427   echo "*** enable Wine to use TrueType fonts."
1430 echo
1431 echo "Configure finished.  Do 'make depend && make' to compile Wine."
1432 echo
1434 dnl Local Variables:
1435 dnl comment-start: "dnl "
1436 dnl comment-end: ""
1437 dnl comment-start-skip: "\\bdnl\\b\\s *"
1438 dnl compile-command: "autoconf"
1439 dnl End: