ntdll: Make sure to not unmap anything from reserved areas
[wine] / configure.ac
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.
4
5 m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1]))
6
7 AC_PREREQ(2.53b)
8 AC_INIT([Wine],WINE_VERSION,[wine-devel@winehq.org])
9 AC_CONFIG_SRCDIR(server/atom.c)
10 AC_CONFIG_HEADERS(include/config.h)
11 AC_CONFIG_AUX_DIR(tools)
12
13 dnl **** Command-line arguments ****
14
15 AC_ARG_ENABLE(win16, AC_HELP_STRING([--disable-win16],[do not include Win16 support]))
16 AC_ARG_ENABLE(win64, AC_HELP_STRING([--enable-win64], [build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
17
18 AC_ARG_WITH(opengl,    AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
19 AC_ARG_WITH(curses,    AC_HELP_STRING([--without-curses],[do not use curses]))
20 AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
21
22 AC_CANONICAL_HOST
23 case $host in
24   x86_64*linux*)
25     if test "x$enable_win64" != "xyes"
26     then
27       test -n "$CC" || CC="gcc -m32"
28       test -n "$LD" || LD="ld -m elf_i386"
29       test -n "$AS" || AS="as --32"
30       host_cpu="i386"
31     fi
32     ;;
33 esac
34
35 dnl enable_win16 defaults to yes on x86, to no on other CPUs
36 case $host_cpu in
37   *i[[3456789]]86*)
38     if test "x$enable_win16" != "xno" 
39     then
40       enable_win16="yes"
41     fi
42     ;;
43 esac
44    
45 AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
46 AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
47 if test "x$enable_win16" != "xyes"
48 then
49   WIN16_FILES=""
50   WIN16_INSTALL=""
51 fi
52
53 dnl **** Check for some programs ****
54
55 AC_PROG_MAKE_SET
56 AC_PROG_CC
57 AC_PROG_CXX
58 dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
59 AC_CHECK_TOOL(CPPBIN,cpp,cpp)
60
61 AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
62   [if test -z "$with_wine_tools"; then
63      if test "$cross_compiling" = "yes"; then
64        AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
65      else
66        wine_cv_toolsdir="\$(TOPOBJDIR)"
67      fi
68    elif test -d "$with_wine_tools/tools/winebuild"; then
69      case $with_wine_tools in
70        /*) wine_cv_toolsdir="$with_wine_tools" ;;
71        *)  wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
72      esac
73    else
74      AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
75    fi])
76 AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
77
78 AC_PATH_XTRA
79 AC_PROG_LEX
80
81 dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
82 dnl **** without one present.
83 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
84 if test "$XLEX" = "none"
85 then
86   AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
87 fi
88
89 dnl Check for bison
90 AC_CHECK_PROGS(BISON,bison,none)
91 if test "$BISON" = "none"
92 then
93   AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
94 fi
95
96 AC_CHECK_TOOLS(AS,[gas as],as)
97 AC_CHECK_TOOL(LD,ld,ld)
98 AC_CHECK_TOOL(AR,ar,ar)
99 AC_PROG_RANLIB
100 AC_CHECK_TOOL(STRIP,strip,strip)
101 AC_CHECK_TOOL(WINDRES,windres,false)
102 AC_PROG_LN_S
103 WINE_PROG_LN
104 AC_PROG_EGREP
105 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
106 AC_PROG_INSTALL
107 dnl Prepend src dir to install path dir if it's a relative path
108 case "$INSTALL" in
109   [[\\/$]]* | ?:[[\\/]]* ) ;;
110   *)  INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
111 esac
112
113 dnl Check for lint
114 AC_CHECK_PROGS(LINT, lclint lint)
115 if test "$LINT" = "lint"
116 then
117   LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
118   dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
119 fi
120 AC_SUBST(LINT)
121 AC_SUBST(LINTFLAGS)
122
123 dnl Check for various programs
124 AC_CHECK_PROGS(FONTFORGE, fontforge, false)
125 AC_CHECK_PROGS(PKG_CONFIG, pkg-config, false)
126
127 case $host_cpu in
128   *i[[3456789]]86*)
129     AC_CHECK_PROGS(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
130     ;;
131 esac
132
133 dnl **** Check for some libraries ****
134
135 dnl Check for -li386 for NetBSD and OpenBSD
136 AC_CHECK_LIB(i386,i386_set_ldt)
137 dnl Check for -lossaudio for NetBSD
138 AC_CHECK_LIB(ossaudio,_oss_ioctl)
139 dnl Check for -lnsl for Solaris
140 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
141 dnl Check for -lsocket for Solaris
142 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
143 dnl Check for -lresolv for Solaris
144 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
145 dnl Check for -lxpg4 for FreeBSD
146 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
147 dnl Check for -lpoll for Mac OS X/Darwin
148 AC_CHECK_LIB(poll,poll)
149 dnl Check for -lresolv for Mac OS X/Darwin
150 AC_CHECK_LIB(resolv,res_9_init)
151 dnl Check for -lpthread
152 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
153
154 AC_SUBST(XLIB,"")
155 AC_SUBST(XFILES,"")
156 AC_SUBST(OPENGLFILES,"")
157 AC_SUBST(GLU32FILES,"")
158 AC_SUBST(OPENGL_LIBS,"")
159
160 dnl **** Check for header files ****
161
162 AC_CHECK_HEADERS(\
163         AudioUnit/AudioUnit.h \
164         CoreAudio/CoreAudio.h \
165         IOKit/IOKitLib.h \
166         alsa/asoundlib.h \
167         arpa/inet.h \
168         arpa/nameser.h \
169         asm/types.h \
170         capi20.h \
171         cups/cups.h \
172         curses.h \
173         direct.h \
174         dlfcn.h \
175         elf.h \
176         float.h \
177         fontconfig/fontconfig.h \
178         getopt.h \
179         gif_lib.h \
180         ieeefp.h \
181         io.h \
182         jack/jack.h \
183         jpeglib.h \
184         lber.h \
185         lcms.h \
186         lcms/lcms.h \
187         ldap.h \
188         libaudioio.h \
189         link.h \
190         linux/cdrom.h \
191         linux/compiler.h \
192         linux/hdreg.h \
193         linux/input.h \
194         linux/ioctl.h \
195         linux/joystick.h \
196         linux/major.h \
197         linux/param.h \
198         linux/serial.h \
199         linux/ucdrom.h \
200         mach/machine.h \
201         machine/cpu.h \
202         machine/limits.h \
203         machine/soundcard.h \
204         mntent.h \
205         ncurses.h \
206         netdb.h \
207         netinet/in.h \
208         netinet/in_systm.h \
209         netinet/tcp.h \
210         netinet/tcp_fsm.h \
211         openssl/err.h \
212         openssl/ssl.h \
213         poll.h \
214         process.h \
215         pthread.h \
216         pwd.h \
217         regex.h \
218         sched.h \
219         scsi/scsi.h \
220         scsi/scsi_ioctl.h \
221         scsi/sg.h \
222         soundcard.h \
223         stdint.h \
224         strings.h \
225         sys/asoundlib.h \
226         sys/cdio.h \
227         sys/elf32.h \
228         sys/epoll.h \
229         sys/errno.h \
230         sys/exec_elf.h \
231         sys/filio.h \
232         sys/ioctl.h \
233         sys/ipc.h \
234         sys/limits.h \
235         sys/link.h \
236         sys/lwp.h \
237         sys/mman.h \
238         sys/modem.h \
239         sys/msg.h \
240         sys/mtio.h \
241         sys/param.h \
242         sys/poll.h \
243         sys/prctl.h \
244         sys/ptrace.h \
245         sys/reg.h \
246         sys/resource.h \
247         sys/scsiio.h \
248         sys/shm.h \
249         sys/signal.h \
250         sys/socket.h \
251         sys/sockio.h \
252         sys/soundcard.h \
253         sys/statvfs.h \
254         sys/strtio.h \
255         sys/syscall.h \
256         sys/sysctl.h \
257         sys/time.h \
258         sys/times.h \
259         sys/uio.h \
260         sys/un.h \
261         sys/vm86.h \
262         sys/wait.h \
263         syscall.h \
264         termios.h \
265         unicode/ubidi.h \
266         unistd.h \
267         utime.h \
268         valgrind/memcheck.h
269 )
270 AC_HEADER_STAT()
271
272 dnl **** Checks for headers that depend on other ones ****
273
274 AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
275     [#include <sys/types.h>
276      #if HAVE_SYS_PARAM_H
277      # include <sys/param.h>
278      #endif])
279
280 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
281     [#include <sys/types.h>
282      #if HAVE_SYS_SOCKET_H
283      # include <sys/socket.h>
284      #endif])
285
286 AC_CHECK_HEADERS([resolv.h],,,
287     [#include <sys/types.h>
288      #if HAVE_SYS_SOCKET_H
289      # include <sys/socket.h>
290      #endif
291      #if HAVE_NETINET_IN_H
292      # include <netinet/in.h>
293      #endif
294      #if HAVE_ARPA_NAMESER_H
295      # include <arpa/nameser.h>
296      #endif])
297
298 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
299
300 AC_CHECK_HEADERS([linux/ipx.h linux/videodev.h],,,
301 [#ifdef HAVE_SYS_TIME_H
302 #include <sys/time.h>
303 #endif
304 #include <sys/types.h>
305 #ifdef HAVE_ASM_TYPES_H
306 #include <asm/types.h>
307 #endif])
308
309 dnl Check for broken kernel header that doesn't define __user
310 AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])
311
312 dnl **** Check for X11 ****
313
314 if test "$have_x" = "yes"
315 then
316     XLIB="-lXext -lX11"
317     ac_save_CPPFLAGS="$CPPFLAGS"
318     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
319
320     dnl *** All of the following tests require X11/Xlib.h
321     AC_CHECK_HEADERS([X11/Xlib.h \
322                       X11/XKBlib.h \
323                       X11/Xutil.h \
324                       X11/extensions/shape.h \
325                       X11/extensions/XInput.h \
326                       X11/extensions/XShm.h \
327                       X11/extensions/Xrandr.h \
328                       X11/extensions/Xrender.h \
329                       X11/extensions/xf86dga.h \
330                       X11/extensions/xf86vmode.h],,,
331 [#ifdef HAVE_X11_XLIB_H
332 # include <X11/Xlib.h>
333 #endif
334 #ifdef HAVE_X11_XUTIL_H
335 # include <X11/Xutil.h>
336 #endif])
337
338         dnl *** Check for X keyboard extension
339         if test "$ac_cv_header_X11_XKBlib_h" = "yes"
340         then
341               AC_CHECK_LIB(X11, XkbQueryExtension,
342               AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
343               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
344         fi
345
346         dnl *** Check for X Shm extension
347         if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
348         then
349               AC_CHECK_LIB(Xext, XShmQueryExtension,
350               AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
351               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
352         fi
353
354         dnl *** Check for X shape extension
355         if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
356         then
357               AC_CHECK_LIB(Xext,XShapeQueryExtension,
358               AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
359               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
360         fi
361
362         dnl *** Check for XFree86 DGA / DGA 2.0 extension
363         if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
364         then
365               AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
366                 [ AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
367                             [Define if you have the Xxf86dga library version 2])
368                   X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
369                 ],,
370                 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
371         fi
372
373         dnl *** Check for XFree86 VMODE extension
374         if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
375         then
376                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
377                   [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
378                      X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
379                   ],,
380                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
381         fi
382
383         dnl *** Check for X RandR extension
384         if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
385         then
386                 AC_TRY_COMPILE([#include <X11/Xlib.h>
387 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
388                   [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
389         fi
390
391         dnl *** Check for Transform functions in Xrender
392         if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
393         then
394               AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
395                 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
396                  [Define if Xrender has the XRenderSetPictureTransform function])],,
397                 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
398         fi
399     dnl *** End of X11/Xlib.h check
400
401     dnl Check for the presence of OpenGL
402     if test "x$with_opengl" != "xno"
403     then
404         AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h GL/glu.h,,,
405 [#ifdef HAVE_GL_GLX_H
406 # include <GL/glx.h>
407 #endif])
408         if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
409         then
410             dnl Check for some problems due to old Mesa versions
411             AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
412               AC_TRY_COMPILE(
413                 [#include <GL/gl.h>],
414                 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
415                 [wine_cv_opengl_version_OK="yes"],
416                 [wine_cv_opengl_version_OK="no"]
417               )
418             )
419
420             if test "$wine_cv_opengl_version_OK" = "yes"
421             then
422                 dnl Check for the presence of the library
423                 AC_CHECK_LIB(GL,glXCreateContext,
424                              OPENGL_LIBS="-lGL"
425                              ,,
426                              $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
427
428                 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
429                 then
430                         OPENGLFILES='$(OPENGLFILES)'
431                         AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
432                 else
433                     if test -f /usr/X11R6/lib/libGL.a
434                     then 
435                        AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
436 This prevents linking to OpenGL. Delete the file and restart configure.])
437                     fi
438                 fi
439
440                 dnl Check for GLU32 library.
441                 AC_CHECK_LIB(GLU,gluLookAt,
442                              [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
443                              GLU32FILES='$(GLU32FILES)']
444                              ,,
445                              $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
446                 )
447              fi
448
449              dnl Check for glut32 library.
450              AC_CHECK_LIB(glut,glutMainLoop,
451                        [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
452                         AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
453                         $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
454          fi
455     fi
456
457     dnl **** Check for NAS ****
458     AC_SUBST(NASLIBS,"")
459     AC_CHECK_HEADERS(audio/audiolib.h,
460          [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
461           AC_CHECK_LIB(audio,AuCreateFlow,
462                        [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
463                         NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
464                        [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
465
466     CPPFLAGS="$ac_save_CPPFLAGS"
467     XFILES='$(XFILES)'
468 else
469     XLIB=""
470     X_CFLAGS=""
471     X_LIBS=""
472 fi
473
474 dnl **** Check for libxml2 ****
475
476 AC_SUBST(XML2LIBS,"")
477 AC_SUBST(XML2INCL,"")
478 AC_SUBST(XSLTLIBS,"")
479 AC_SUBST(XSLTINCL,"")
480 if test "$PKG_CONFIG" != "false"
481 then
482     ac_save_CPPFLAGS="$CPPFLAGS"
483     ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0 2>/dev/null`"
484     ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0 2>/dev/null`"
485     CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
486     AC_CHECK_HEADERS(libxml/parser.h,
487         [AC_CHECK_LIB(xml2, xmlParseMemory,
488             [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
489              XML2LIBS="$ac_xml_libs"
490              XML2INCL="$ac_xml_cflags"],,$ac_xml_libs)
491          AC_CHECK_LIB(xml2, xmlReadMemory,
492             [AC_DEFINE(HAVE_XMLREADMEMORY,1,[Define if libxml2 has the xmlReadMemory function])],,$ac_xml_libs)
493         ])
494     CPPFLAGS="$ac_save_CPPFLAGS"
495     ac_xslt_libs="`$PKG_CONFIG --libs libxslt 2>/dev/null`"
496     ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt 2>/dev/null`"
497     CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
498     AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],
499         [AC_CHECK_LIB(xslt, xsltCompilePattern,
500             [AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have the libxslt library])
501              XSLTLIBS="$ac_xslt_libs"
502              XSLTINCL="$ac_xslt_cflags"],,$ac_xslt_libs)
503         ],,
504 [#ifdef HAVE_LIBXSLT_PATTERN_H
505 # include <libxslt/pattern.h>
506 #endif])
507     CPPFLAGS="$ac_save_CPPFLAGS"
508 fi
509
510 dnl **** Check for libhal ****
511 AC_SUBST(HALINCL,"")
512 if test "$PKG_CONFIG" != "false"
513 then
514     ac_save_CPPFLAGS="$CPPFLAGS"
515     ac_hal_libs="`$PKG_CONFIG --libs hal 2>/dev/null`"
516     ac_hal_cflags="`$PKG_CONFIG --cflags hal 2>/dev/null`"
517     CPPFLAGS="$CPPFLAGS $ac_hal_cflags"
518     AC_CHECK_HEADERS([dbus/dbus.h hal/libhal.h])
519     if test "$ac_cv_header_dbus_dbus_h" = "yes" -a "$ac_cv_header_hal_libhal_h" = "yes"
520     then
521         AC_CHECK_LIB(hal, libhal_ctx_new,
522           [AC_CHECK_LIB(dbus-1, dbus_connection_close,
523             [AC_DEFINE(HAVE_LIBHAL, 1, [Define if you have the hal library])
524              HALINCL="$ac_hal_cflags"],,$ac_hal_libs)])
525     fi
526     CPPFLAGS="$ac_save_CPPFLAGS"
527 fi
528
529 dnl **** Check which curses lib to use ***
530 CURSESLIBS=""
531 if test "x$with_curses" != "xno"
532 then
533     if test "$ac_cv_header_ncurses_h" = "yes"
534     then
535         AC_CHECK_LIB(ncurses,waddch,
536             [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
537              CURSESLIBS="-lncurses"])
538     elif test "$ac_cv_header_curses_h" = "yes"
539     then
540         AC_CHECK_LIB(curses,waddch,
541             [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
542              CURSESLIBS="-lcurses"])
543     fi
544     ac_save_LIBS="$LIBS"
545     LIBS="$LIBS $CURSESLIBS"
546     AC_CHECK_FUNCS(mousemask)
547     LIBS="$ac_save_LIBS"
548 fi
549 AC_SUBST(CURSESLIBS)
550
551 dnl **** Check for SANE ****
552 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
553 AC_SUBST(SANELIBS,"")
554 AC_SUBST(SANEINCL,"")
555 if test "$sane_devel" != "no"
556 then
557     SANELIBS="`$sane_devel --libs`"
558     SANEINCL="`$sane_devel --cflags`"
559     ac_save_CPPFLAGS="$CPPFLAGS"
560     ac_save_LIBS="$LIBS"
561     CPPFLAGS="$CPPFLAGS $SANEINCL"
562     LIBS="$LIBS $SANELIBS"
563     AC_CHECK_HEADER(sane/sane.h,
564                     [AC_CHECK_LIB(sane,sane_open,
565                                   [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
566                                   [SANELIBS=""
567                                   SANEINCL=""])],
568                     [SANELIBS=""
569                     SANEINCL=""])
570     LIBS="$ac_save_LIBS"
571     CPPFLAGS="$ac_save_CPPFLAGS"
572 fi
573
574 dnl **** Check for libgphoto2 ****
575 AC_CHECK_PROG(gphoto2_devel,gphoto2-config,gphoto2-config,no)
576 AC_CHECK_PROG(gphoto2port_devel,gphoto2-port-config,gphoto2-port-config,no)
577 AC_SUBST(GPHOTO2LIBS,"")
578 AC_SUBST(GPHOTO2INCL,"")
579 if test "$gphoto2_devel" != "no" -a "$gphoto2port_devel" != "no"
580 then
581     GPHOTO2INCL="`$gphoto2_devel --cflags` `$gphoto2port_devel --cflags`"
582     GPHOTO2LIBS=""
583     for i in `$gphoto2_devel --libs` `$gphoto2port_devel --libs`
584     do
585       case "$i" in
586         -L/usr/lib|-L/usr/lib64) ;;
587         -L*|-l*) GPHOTO2LIBS="$GPHOTO2LIBS $i";;
588       esac
589     done
590     ac_save_CPPFLAGS="$CPPFLAGS"
591     ac_save_LIBS="$LIBS"
592     CPPFLAGS="$CPPFLAGS $GPHOTO2INCL"
593     LIBS="$LIBS $GPHOTO2LIBS"
594     AC_CHECK_HEADER(gphoto2-camera.h,
595                     [AC_CHECK_LIB(gphoto2,gp_camera_new,
596                                   [AC_DEFINE(HAVE_GPHOTO2, 1, [Define if we have libgphoto2 development environment])],
597                                   [GPHOTO2LIBS=""
598                                   GPHOTO2INCL=""])],
599                     [GPHOTO2LIBS=""
600                     GPHOTO2INCL=""])
601     LIBS="$ac_save_LIBS"
602     CPPFLAGS="$ac_save_CPPFLAGS"
603 fi
604
605 dnl **** Check for the ICU library ****
606 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
607 then
608     saved_libs="$LIBS"
609     for i in ${ICU_LIB_DIR-/usr/lib}/libsicu ${ICU_LIB_DIR-/usr/lib}/libicu
610     do
611         TEST_ICUUC_LIB="${ICUUC_LIB-${i}uc.a}"
612         TEST_ICUDATA_LIB="${ICUDATA_LIB-${i}data.a}"
613         AC_MSG_CHECKING(whether can link with ICU libraries $TEST_ICUUC_LIB and $TEST_ICUDATA_LIB)
614         LIBS="$saved_libs $TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s"
615         AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
616                     [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
617                      AC_SUBST(ICULIBS,"$TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s")
618                      AC_MSG_RESULT(yes)],
619                     [AC_MSG_RESULT(no)])
620     done
621     LIBS="$saved_libs"
622 fi
623
624 dnl **** Check for resolver library ***
625 AC_SUBST(RESOLVLIBS,"")
626 if test "$ac_cv_header_resolv_h" = "yes"
627 then
628     AC_CHECK_LIB(resolv, res_query,
629         [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
630          RESOLVLIBS="-lresolv"])
631 fi
632
633 dnl **** Check for LittleCMS ***
634 AC_SUBST(LCMSLIBS,"")
635 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
636 then
637     AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
638         [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
639          LCMSLIBS="-llcms"])
640 fi
641
642 dnl **** Check for OpenLDAP ***
643 AC_SUBST(LDAPLIBS,"")
644 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
645 then
646     AC_CHECK_LIB(ldap_r, ldap_initialize,
647         [AC_CHECK_LIB(lber, ber_init,
648             [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
649              LDAPLIBS="-lldap_r -llber"],,
650              [$LIBPTHREAD])],,
651              [$LIBPTHREAD])
652     WINE_CHECK_LIB_FUNCS(\
653         ldap_count_references \
654         ldap_first_reference \
655         ldap_next_reference \
656         ldap_parse_reference,
657         [$LDAPLIBS $LIBPTHREAD])
658 fi
659
660 dnl **** Check for FreeType 2 ****
661 AC_SUBST(FREETYPELIBS,"")
662 AC_SUBST(FREETYPEINCL,"")
663 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
664 if test "$ft_lib" = "no"
665 then
666     wine_cv_msg_freetype=no
667 else
668     AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
669     if test "$ft_devel" = "no"
670     then
671         AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
672         if test "$ft_devel2" = "freetype2-config"
673         then
674                 ft_devel=$ft_devel2
675         fi
676     fi
677     if test "$ft_devel" = "no"
678     then
679         wine_cv_msg_freetype=yes
680     else
681         FREETYPELIBS=`$ft_devel --libs`
682         FREETYPEINCL=`$ft_devel --cflags`
683         ac_save_CPPFLAGS="$CPPFLAGS"
684         CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
685         AC_CHECK_HEADERS(ft2build.h \
686                          freetype/freetype.h \
687                          freetype/ftglyph.h \
688                          freetype/tttables.h \
689                          freetype/ftnames.h \
690                          freetype/ftsnames.h \
691                          freetype/ttnameid.h \
692                          freetype/ftoutln.h \
693                          freetype/ftwinfnt.h \
694                          freetype/ftmodapi.h \
695                          freetype/internal/sfnt.h,,,
696                          [#if HAVE_FT2BUILD_H
697                           #include <ft2build.h>
698                           #endif])
699         AC_TRY_CPP([#include <ft2build.h>
700                     #include <freetype/fttrigon.h>],
701                     [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
702           [Define if you have the <freetype/fttrigon.h> header file.])
703                     wine_cv_fttrigon=yes],
704                     wine_cv_fttrigon=no)
705         AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
706         ac_save_CFLAGS="$CFLAGS"
707         CFLAGS="$CFLAGS $FREETYPELIBS"
708         AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
709         CFLAGS="$ac_save_CFLAGS"
710         CPPFLAGS="$ac_save_CPPFLAGS"
711         dnl Check that we have at least freetype/freetype.h
712         if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
713         then
714             AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
715             wine_cv_msg_freetype=no
716         else
717             FREETYPELIBS=""
718             FREETYPEINCL=""
719             wine_cv_msg_freetype=yes
720         fi
721     fi
722 fi
723
724 dnl Only build the fonts dir if we have both freetype and fontforge
725 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
726 then
727   AC_SUBST(FONTSSUBDIRS,"fonts")
728 fi
729
730 dnl **** Check for parport (currently Linux only) ****
731 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
732  AC_TRY_COMPILE(
733    [#include <linux/ppdev.h>],
734    [ioctl (1,PPCLAIM,0)],
735    [ac_cv_c_ppdev="yes"],
736    [ac_cv_c_ppdev="no"])
737  )
738 if test "$ac_cv_c_ppdev" = "yes"
739 then
740     AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
741 fi
742
743 dnl **** Check for va_copy ****
744 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
745  AC_TRY_LINK(
746    [#include <stdarg.h>],
747    [va_list ap1, ap2;
748     va_copy(ap1,ap2);
749    ],
750    [ac_cv_c_va_copy="yes"],
751    [ac_cv_c_va_copy="no"])
752  )
753 if test "$ac_cv_c_va_copy" = "yes"
754 then
755     AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
756 fi
757 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
758  AC_TRY_LINK(
759    [#include <stdarg.h>],
760    [va_list ap1, ap2;
761     __va_copy(ap1,ap2);
762    ],
763    [ac_cv_c___va_copy="yes"],
764    [ac_cv_c___va_copy="no"])
765  )
766 if test "$ac_cv_c___va_copy" = "yes"
767 then
768     AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
769 fi
770
771 dnl **** Check for sigsetjmp ****
772 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
773  AC_TRY_LINK(
774    [#include <setjmp.h>],
775    [sigjmp_buf buf;
776     sigsetjmp( buf, 1 );
777     siglongjmp( buf, 1 );],
778    [ac_cv_c_sigsetjmp="yes"],
779    [ac_cv_c_sigsetjmp="no"])
780  )
781 if test "$ac_cv_c_sigsetjmp" = "yes"
782 then
783     AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
784 fi
785
786 dnl **** Check for pthread_rwlock_t ****
787 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
788 #include <pthread.h>])
789
790 dnl **** Check for pthread functions ****
791 WINE_CHECK_LIB_FUNCS(\
792         pthread_getattr_np \
793         pthread_get_stackaddr_np \
794         pthread_get_stacksize_np,
795         [$LIBPTHREAD])
796
797 dnl **** Check for aRts Sound Server ****
798 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
799 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
800 then
801     ARTSC_CFLAGS=""
802     for i in `$ARTSCCONFIG --cflags`
803     do
804       case "$i" in
805         -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
806       esac
807     done
808     ARTSC_LIBS=""
809     for i in `$ARTSCCONFIG --libs`
810     do
811       case "$i" in
812         -L/usr/lib|-L/usr/lib64) ;;
813         -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
814       esac
815     done
816     save_CFLAGS="$CFLAGS"
817     CFLAGS="$CFLAGS $ARTSC_CFLAGS"
818     AC_CHECK_LIB(artsc,arts_init,
819         [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
820             [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
821             AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
822             AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
823             $ARTSC_LIBS)
824     CFLAGS="$save_CFLAGS"
825 fi
826
827 dnl **** Check for EsounD ****
828 AC_PATH_PROG(ESDCONFIG, esd-config)
829 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
830 then
831     ESD_CFLAGS=""
832     for i in `$ESDCONFIG --cflags`
833     do
834       case "$i" in
835         -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
836       esac
837     done
838     ESD_LIBS=`$ESDCONFIG --libs`
839     save_CFLAGS="$CFLAGS"
840     CFLAGS="$CFLAGS $ESD_CFLAGS"
841     AC_CHECK_LIB(esd,esd_open_sound,
842         [AC_SUBST(ESDLIBS, $ESD_LIBS)
843          AC_SUBST(ESDINCL, $ESD_CFLAGS)
844          AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
845     CFLAGS="$save_CFLAGS"
846 fi
847
848 dnl **** Check for ALSA 1.x ****
849 AC_SUBST(ALSALIBS,"")
850 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
851 then
852     AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
853         [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
854 #include <alsa/asoundlib.h>
855 #elif defined(HAVE_SYS_ASOUNDLIB_H)
856 #include <sys/asoundlib.h>
857 #endif],
858                         [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
859                         [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
860                          ALSALIBS="-lasound"])])
861 fi
862
863 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
864
865 AC_SUBST(AUDIOIOLIBS,"")
866 if test "$ac_cv_header_libaudioio_h" = "yes"
867 then
868     AC_CHECK_LIB(audioio,AudioIOGetVersion,
869                   [AUDIOIOLIBS="-laudioio"
870                    AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
871 fi
872
873 dnl **** Check for capi4linux ****
874
875 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
876 then
877     AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
878 fi
879
880 dnl **** Check for gcc specific options ****
881
882 AC_SUBST(EXTRACFLAGS,"")
883 if test "x${GCC}" = "xyes"
884 then
885   EXTRACFLAGS="-Wall -pipe"
886
887   dnl Check for strength-reduce bug
888   AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
889                   AC_TRY_RUN([
890 int     L[[4]] = {0,1,2,3};
891 int main(void) {
892   static int Array[[3]];
893   unsigned int B = 3;
894   int i;
895   for(i=0; i<B; i++) Array[[i]] = i - 3;
896   for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
897   L[[i]] = 4;
898
899   exit( Array[[1]] != -2 || L[[2]] != 3);
900 }],
901     ac_cv_c_gcc_strength_bug="no",
902     ac_cv_c_gcc_strength_bug="yes",
903     ac_cv_c_gcc_strength_bug="yes") )
904   if test "$ac_cv_c_gcc_strength_bug" = "yes"
905   then
906     EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
907   fi
908
909   dnl Check for -fshort-wchar
910   AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
911       [WINE_TRY_CFLAGS([-fshort-wchar],
912                       ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
913   if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
914   then
915       AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
916   fi
917
918   dnl Check for -fno-strict-aliasing
919   AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
920       [WINE_TRY_CFLAGS([-fno-strict-aliasing],
921                       ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
922   if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
923   then
924     EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
925   fi
926
927   dnl Check for -gstabs+ option
928   AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
929       [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
930   if test "$ac_cv_c_gcc_gstabs" = "yes"
931   then
932     EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
933   fi
934
935   dnl Check for -Wdeclaration-after-statement option
936   AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
937       [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
938   if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
939   then
940     EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
941   fi
942
943   dnl Check for noisy string.h
944   saved_CFLAGS="$CFLAGS"
945   CFLAGS="$CFLAGS -Wpointer-arith -Werror"
946   AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
947       AC_TRY_COMPILE([#include <string.h>],[],
948                      [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
949   CFLAGS="$saved_CFLAGS"
950   if test "$ac_cv_c_string_h_warnings" = "no"
951   then
952     EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
953   fi
954
955   AC_SUBST(BUILTINFLAG,"")
956   saved_CFLAGS="$CFLAGS"
957   CFLAGS="$CFLAGS -Werror"
958   AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
959       AC_TRY_COMPILE([],
960                      [int iswlower(unsigned short);],
961                      [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
962   CFLAGS="$saved_CFLAGS"
963   if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
964   then
965     BUILTINFLAG=""
966     for builtin in \
967       iswalnum iswalpha iswcntrl iswdigit iswgraph iswlower \
968       iswprint iswpunct iswspace iswupper iswxdigit towlower towupper
969     do
970       BUILTINFLAG="$BUILTINFLAG -fno-builtin-$builtin"
971     done
972   fi
973 fi
974
975 dnl **** Check how to define a function in assembly code ****
976
977 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
978   WINE_TRY_ASM_LINK(
979       ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
980       ac_cv_asm_func_def=".def",
981     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
982       ac_cv_asm_func_def=".type @function",
983     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
984       ac_cv_asm_func_def=".type 2",
985       ac_cv_asm_func_def="unknown")])]))
986
987 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
988 case "$ac_cv_asm_func_def" in
989   ".def")
990      AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
991   ".type @function")
992      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
993   ".type 2")
994      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
995   *)
996      AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
997 esac
998
999 dnl **** Check for underscore on external symbols ****
1000
1001 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
1002     WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
1003                       [extern int ac_test;],
1004                       [if (ac_test) return 1],
1005                       ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
1006
1007 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
1008 if test "$ac_cv_c_extern_prefix" = "yes"
1009 then
1010   AC_DEFINE([__ASM_NAME(name)], ["_" name])
1011 else
1012   AC_DEFINE([__ASM_NAME(name)], [name])
1013 fi
1014
1015 dnl **** Check for working dll ****
1016
1017 AC_SUBST(DLLEXT,"")
1018 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
1019 AC_SUBST(DLLIBS,"")
1020 AC_SUBST(LDSHARED,"")
1021 AC_SUBST(LDDLLFLAGS,"")
1022 AC_SUBST(LIBEXT,"so")
1023 AC_SUBST(IMPLIBEXT,"def")
1024
1025 case $host_os in
1026   cygwin*|mingw32*)
1027     AC_CHECK_TOOL(DLLTOOL,dlltool,false)
1028     AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
1029     if test "$DLLWRAP" = "false"; then
1030       LIBEXT="a"
1031     else
1032       dnl FIXME - check whether dllwrap works correctly...
1033       LIBEXT="dll"
1034     fi
1035     IMPLIBEXT="a"
1036     dnl We can't build 16-bit NE dlls
1037     WIN16_FILES=""
1038     WIN16_INSTALL=""
1039     ;;
1040   *)
1041     if test "$ac_cv_header_dlfcn_h" = "yes"
1042     then
1043         AC_CHECK_FUNCS(dlopen,,
1044             [AC_CHECK_LIB(dl,dlopen,
1045                          [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
1046                           DLLIBS="-ldl"],
1047                          [LIBEXT="a"])])
1048         WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
1049     else
1050         LIBEXT="a"
1051     fi
1052
1053     if test "$LIBEXT" = "so"
1054     then
1055       DLLFLAGS="$DLLFLAGS -fPIC"
1056       DLLEXT=".so"
1057       AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1058           [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-Bsymbolic],
1059                                 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1060       if test "$ac_cv_c_dll_gnuelf" = "yes"
1061       then
1062         LDSHARED="\$(CC) -shared"
1063         LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1064         AC_CACHE_CHECK([whether the linker accepts soname], ac_cv_c_sonames,
1065           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
1066                            ac_cv_c_sonames="yes",ac_cv_c_sonames="no")])
1067         if test "$ac_cv_c_sonames" = "yes"
1068         then
1069           LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1070         else
1071           AC_CACHE_CHECK([check to see if -h soname is an alternate], ac_cv_c_h_sonames,
1072             [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
1073                              ac_cv_c_h_sonames="yes",ac_cv_c_h_sonames="no")])
1074           if test "$ac_cv_c_h_sonames" = "yes"
1075           then
1076             LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"
1077           fi
1078         fi
1079
1080         AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1081           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1082                            ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1083         if test "$ac_cv_c_dll_zdefs" = "yes"
1084         then
1085           LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1086         fi
1087
1088         AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1089           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1090                            ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1091         if test "$ac_cv_c_dll_init_fini" = "yes"
1092         then
1093           LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1094         fi
1095
1096         AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1097           [echo '{ global: *; };' >conftest.map
1098            WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1099                            ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1100            rm -f conftest.map])
1101         if test "$ac_cv_c_ld_version_scripts" = "yes"
1102         then
1103           LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1104         fi
1105
1106         AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1107           [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1108                            ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1109         if test "$ac_cv_c_export_dynamic" = "yes"
1110         then
1111           AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1112         fi
1113
1114         AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1115           [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1116                            ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1117         if test "$ac_cv_ld_rpath" = "yes"
1118         then
1119           AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1120           AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
1121         fi
1122
1123         case $host_cpu in
1124           *i[[3456789]]86* | x86_64)
1125             AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1126               [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1127                                ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1128             if test "$ac_cv_ld_reloc_exec" = "yes"
1129             then
1130               LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1131             fi
1132             ;;
1133         esac
1134
1135       else
1136         AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1137             [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1138                                   ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1139         if test "$ac_cv_c_dll_unixware" = "yes"
1140         then
1141           LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1142           LDDLLFLAGS="-Wl,-G,-B,symbolic"
1143
1144         else
1145           AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1146             [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1147           if test "$ac_cv_c_dll_macho" = "yes"
1148           then
1149             LIBEXT="dylib"
1150             LDDLLFLAGS="-bundle"
1151             LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME) \$(SOVERSION:%=-compatibility_version %)"
1152             STRIP="$STRIP -u -r"
1153             dnl declare needed frameworks
1154             AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1155             AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1156             AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7ffe0000"])
1157             if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
1158             then
1159                 dnl CoreServices needed by AudioUnit
1160                 AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
1161             fi
1162             case $host_cpu in
1163               *powerpc*)
1164                 CFLAGS="$CFLAGS -ffixed-r13"
1165                 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
1166                 ;;
1167             esac
1168
1169           else
1170             AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1171               [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1172             if test "$ac_cv_c_dll_hpux" = "yes"
1173             then
1174               LIBEXT="sl"
1175               DLLEXT=".sl"
1176               LDDLLFLAGS="-shared -fPIC"
1177               LDSHARED="\$(CC) -shared"
1178             fi
1179           fi
1180         fi
1181       fi
1182     fi
1183
1184     dnl Check for cross compiler to build test programs
1185     AC_SUBST(CROSSTEST,"")
1186     if test "$cross_compiling" = "no"
1187     then
1188       AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1189       AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1190       AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1191       if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1192     fi
1193     ;;
1194 esac
1195
1196 if test "$LIBEXT" = "a"; then
1197   AC_MSG_ERROR(
1198 [could not find a way to build shared libraries.
1199 It is currently not possible to build Wine without shared library
1200 (.so) support to allow transparent switch between .so and .dll files.
1201 If you are using Linux, you will need a newer binutils.]
1202 )
1203 fi
1204
1205 case $build_os in
1206   cygwin*|mingw32*)
1207     AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\"") ;;
1208   darwin*|macosx*)
1209     AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\"") ;;
1210   *)
1211     AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\"") ;;
1212 esac
1213
1214 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1215 case $host_os in
1216   mingw32*)
1217     AC_SUBST(CRTLIBS,"-lmsvcrt")
1218     AC_SUBST(SOCKETLIBS,"-lws2_32")
1219     ;;
1220 esac
1221
1222 AC_SUBST(MAIN_BINARY,"wine-pthread")  dnl Default value
1223 case $host_cpu in
1224   *i[[3456789]]86*)
1225     case $host_os in
1226       linux* | k*bsd*-gnu)
1227         AC_SUBST(MAIN_BINARY,"wine-glibc")
1228         AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1229     esac
1230     ;;
1231 esac
1232
1233 dnl **** Get the soname for libraries that we load dynamically ****
1234
1235 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1236 then
1237   WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1238   WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1239   WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1240   WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1241   WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1242   WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1243   WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1244   WINE_GET_SONAME(dbus-1,dbus_error_init)
1245   WINE_GET_SONAME(hal,libhal_ctx_new)
1246   WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1247   WINE_GET_SONAME(cups,cupsGetDefault)
1248   WINE_GET_SONAME(jack,jack_client_new)
1249   WINE_GET_SONAME(fontconfig,FcInit)
1250   WINE_GET_SONAME(ssl,SSL_library_init)
1251   WINE_GET_SONAME(crypto,BIO_new_socket)
1252   WINE_GET_SONAME(ncurses,waddch)
1253   WINE_GET_SONAME(curses,waddch)
1254   WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1255   WINE_GET_SONAME(ungif,DGifOpen)
1256   WINE_GET_SONAME(gif,DGifOpen)
1257   WINE_GET_SONAME(capi20,capi20_isinstalled)
1258 fi
1259
1260
1261 dnl **** Check for functions ****
1262
1263 AC_CHECK_FUNCS(\
1264         _lwp_create \
1265         _lwp_self \
1266         _pclose \
1267         _popen \
1268         _snprintf \
1269         _spawnvp \
1270         _stricmp \
1271         _strnicmp \
1272         _vsnprintf \
1273         asctime_r \
1274         chsize \
1275         clone \
1276         epoll_create \
1277         ffs \
1278         finite \
1279         fork \
1280         fpclass \
1281         fstatfs \
1282         fstatvfs \
1283         ftruncate \
1284         futimes \
1285         futimesat \
1286         getaddrinfo \
1287         getnameinfo \
1288         getnetbyname \
1289         getopt_long \
1290         getpagesize \
1291         getprotobyname \
1292         getprotobynumber \
1293         getpwuid \
1294         getservbyport \
1295         gettid \
1296         gettimeofday \
1297         getuid \
1298         inet_network \
1299         lstat \
1300         memmove \
1301         mmap \
1302         pclose \
1303         popen \
1304         prctl \
1305         pread \
1306         pwrite \
1307         readlink \
1308         rfork \
1309         sched_yield \
1310         select \
1311         sendmsg \
1312         settimeofday \
1313         sigaltstack \
1314         sigprocmask \
1315         snprintf \
1316         spawnvp \
1317         statfs \
1318         statvfs \
1319         strcasecmp \
1320         strerror \
1321         strncasecmp \
1322         tcgetattr \
1323         timegm \
1324         usleep \
1325         vsnprintf \
1326         wait4 \
1327         waitpid \
1328 )
1329
1330
1331 dnl **** Check for types ****
1332
1333 AC_C_CONST
1334 AC_C_INLINE
1335 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1336 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1337 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1338
1339 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1340 [#ifdef HAVE_LINUX_INPUT_H
1341 #include <linux/input.h>
1342 #endif])
1343
1344 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1345                AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1346                            wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1347 if test "$wine_cv_have_sigaddset" = "yes"
1348 then
1349   AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1350 fi
1351
1352
1353 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1354         wine_cv_linux_gethostbyname_r_6,
1355         AC_TRY_LINK([
1356 #include <netdb.h>
1357         ], [
1358     char *name=NULL;
1359     struct hostent he;
1360     struct hostent *result;
1361     char *buf=NULL;
1362     int bufsize=0;
1363     int res,errnr;
1364     char *addr=NULL;
1365     int addrlen=0;
1366     int addrtype=0;
1367     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1368     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1369     ],
1370         wine_cv_linux_gethostbyname_r_6=yes,
1371         wine_cv_linux_gethostbyname_r_6=no
1372         )
1373    )
1374    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1375    then
1376       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1377                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1378    fi
1379
1380 if test "$ac_cv_header_linux_joystick_h" = "yes"
1381 then
1382    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1383         wine_cv_linux_joystick_22_api,
1384         AC_TRY_COMPILE([
1385         #include <sys/ioctl.h>
1386         #include <linux/joystick.h>
1387
1388         struct js_event blub;
1389         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1390         #error "no 2.2 header"
1391         #endif
1392         ],/*empty*/,
1393         wine_cv_linux_joystick_22_api=yes,
1394         wine_cv_linux_joystick_22_api=no,
1395         wine_cv_linux_joystick_22_api=no
1396         )
1397    )
1398    if test "$wine_cv_linux_joystick_22_api" = "yes"
1399    then
1400       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1401                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1402    fi
1403 fi
1404
1405 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1406
1407 dnl Check for statfs members
1408 AC_CHECK_MEMBERS([struct statfs.f_bfree, struct statfs.f_bavail, struct statfs.f_frsize, struct statfs.f_ffree, struct statfs.f_favail, struct statfs.f_namelen],,,
1409 [#include <sys/types.h>
1410 #ifdef HAVE_SYS_PARAM_H
1411 # include <sys/param.h>
1412 #endif
1413 #ifdef HAVE_SYS_MOUNT_H
1414 # include <sys/mount.h>
1415 #endif
1416 #ifdef HAVE_SYS_VFS_H
1417 # include <sys/vfs.h>
1418 #endif
1419 #ifdef HAVE_SYS_STATFS_H
1420 # include <sys/statfs.h>
1421 #endif])
1422
1423 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1424 [#ifdef HAVE_SYS_STATVFS_H
1425 #include <sys/statvfs.h>
1426 #endif])
1427
1428 dnl Check for socket structure members
1429 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1430 [#include <sys/types.h>
1431 #ifdef HAVE_SYS_SOCKET_H
1432 # include <sys/socket.h>
1433 #endif
1434 #ifdef HAVE_SYS_UN_H
1435 # include <sys/un.h>
1436 #endif])
1437
1438 dnl Check for scsireq_t and sg_io_hdr_t members
1439 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1440 [#include <sys/types.h>
1441 #ifdef HAVE_SCSI_SG_H
1442 #include <scsi/sg.h>
1443 #endif])
1444
1445 dnl Check for siginfo_t members
1446 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1447
1448 dnl Check for struct mtget members
1449 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1450 [#include <sys/types.h>
1451 #ifdef HAVE_SYS_MTIO_H
1452 #include <sys/mtio.h>
1453 #endif])
1454
1455 dnl Check for struct option
1456 AC_CHECK_MEMBERS([struct option.name],,,
1457 [#ifdef HAVE_GETOPT_H
1458 #include <getopt.h>
1459 #endif])
1460
1461 dnl Check for stat.st_blocks
1462 AC_CHECK_MEMBERS([struct stat.st_blocks])
1463
1464 dnl Check for sin6_scope_id
1465 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1466 [#ifdef HAVE_SYS_TYPES_H
1467 #include <sys/types.h>
1468 #endif
1469 #ifdef HAVE_NETINET_IN_H
1470 #include <netinet/in.h>
1471 #endif])
1472
1473 dnl Check for ns_msg ptr member
1474 AC_CHECK_MEMBERS([ns_msg._msg_ptr],,,
1475 [#ifdef HAVE_SYS_TYPES_H
1476 #include <sys/types.h>
1477 #endif
1478 #ifdef HAVE_NETINET_IN_H
1479 # include <netinet/in.h>
1480 #endif
1481 #ifdef HAVE_ARPA_NAMESER_H
1482 # include <arpa/nameser.h>
1483 #endif])
1484
1485 dnl Check for the external timezone variables timezone and daylight
1486 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1487                AC_TRY_LINK([#include <time.h>],[timezone;],
1488                            ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1489 if test "$ac_cv_have_timezone" = "yes"
1490 then
1491     AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1492 fi
1493 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1494                AC_TRY_LINK([#include <time.h>],[daylight;],
1495                            ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1496 if test "$ac_cv_have_daylight" = "yes"
1497 then
1498     AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1499 fi
1500
1501 dnl *** check for the need to define platform-specific symbols
1502
1503 case $host_cpu in
1504   *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1505   *x86_64*)         WINE_CHECK_DEFINE([__x86_64__])
1506                     WINE_CHECK_DEFINE([_WIN64]) ;;
1507   *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
1508   *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
1509   *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
1510 esac
1511
1512 case $host_vendor in
1513   *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1514 esac
1515
1516 dnl **** Generate output files ****
1517
1518 AH_TOP([#define __WINE_CONFIG_H])
1519
1520 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1521 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1522 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1523 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1524 WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
1525 WINE_CONFIG_EXTRA_DIR(include/wine)
1526
1527 MAKE_RULES=Make.rules
1528 AC_SUBST_FILE(MAKE_RULES)
1529
1530 MAKE_DLL_RULES=dlls/Makedll.rules
1531 AC_SUBST_FILE(MAKE_DLL_RULES)
1532
1533 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1534 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1535
1536 MAKE_TEST_RULES=dlls/Maketest.rules
1537 AC_SUBST_FILE(MAKE_TEST_RULES)
1538
1539 MAKE_LIB_RULES=libs/Makelib.rules
1540 AC_SUBST_FILE(MAKE_LIB_RULES)
1541
1542 MAKE_PROG_RULES=programs/Makeprog.rules
1543 AC_SUBST_FILE(MAKE_PROG_RULES)
1544
1545 AC_CONFIG_FILES([
1546 Make.rules
1547 dlls/Makedll.rules
1548 dlls/Makeimplib.rules
1549 dlls/Maketest.rules
1550 libs/Makelib.rules
1551 programs/Makeprog.rules
1552 Makefile
1553 dlls/Makefile
1554 dlls/activeds/Makefile
1555 dlls/advapi32/Makefile
1556 dlls/advapi32/tests/Makefile
1557 dlls/advpack/Makefile
1558 dlls/advpack/tests/Makefile
1559 dlls/amstream/Makefile
1560 dlls/atl/Makefile
1561 dlls/avicap32/Makefile
1562 dlls/avifil32/Makefile
1563 dlls/cabinet/Makefile
1564 dlls/cabinet/tests/Makefile
1565 dlls/capi2032/Makefile
1566 dlls/cards/Makefile
1567 dlls/cfgmgr32/Makefile
1568 dlls/comcat/Makefile
1569 dlls/comctl32/Makefile
1570 dlls/comctl32/tests/Makefile
1571 dlls/comdlg32/Makefile
1572 dlls/comdlg32/tests/Makefile
1573 dlls/compstui/Makefile
1574 dlls/crtdll/Makefile
1575 dlls/crypt32/Makefile
1576 dlls/crypt32/tests/Makefile
1577 dlls/cryptdll/Makefile
1578 dlls/cryptnet/Makefile
1579 dlls/ctl3d32/Makefile
1580 dlls/d3d8/Makefile
1581 dlls/d3d8/tests/Makefile
1582 dlls/d3d9/Makefile
1583 dlls/d3d9/tests/Makefile
1584 dlls/d3dim/Makefile
1585 dlls/d3drm/Makefile
1586 dlls/d3dx8/Makefile
1587 dlls/d3dxof/Makefile
1588 dlls/dbghelp/Makefile
1589 dlls/dciman32/Makefile
1590 dlls/ddraw/Makefile
1591 dlls/ddraw/tests/Makefile
1592 dlls/devenum/Makefile
1593 dlls/dinput/Makefile
1594 dlls/dinput/tests/Makefile
1595 dlls/dinput8/Makefile
1596 dlls/dmband/Makefile
1597 dlls/dmcompos/Makefile
1598 dlls/dmime/Makefile
1599 dlls/dmloader/Makefile
1600 dlls/dmscript/Makefile
1601 dlls/dmstyle/Makefile
1602 dlls/dmsynth/Makefile
1603 dlls/dmusic/Makefile
1604 dlls/dmusic32/Makefile
1605 dlls/dnsapi/Makefile
1606 dlls/dnsapi/tests/Makefile
1607 dlls/dplay/Makefile
1608 dlls/dplayx/Makefile
1609 dlls/dpnet/Makefile
1610 dlls/dpnhpast/Makefile
1611 dlls/dsound/Makefile
1612 dlls/dsound/tests/Makefile
1613 dlls/dswave/Makefile
1614 dlls/dxdiagn/Makefile
1615 dlls/dxerr8/Makefile
1616 dlls/dxerr9/Makefile
1617 dlls/dxguid/Makefile
1618 dlls/gdi/Makefile
1619 dlls/gdi/tests/Makefile
1620 dlls/glu32/Makefile
1621 dlls/glut32/Makefile
1622 dlls/gphoto2.ds/Makefile
1623 dlls/hhctrl.ocx/Makefile
1624 dlls/hlink/Makefile
1625 dlls/iccvid/Makefile
1626 dlls/icmp/Makefile
1627 dlls/ifsmgr.vxd/Makefile
1628 dlls/imaadp32.acm/Makefile
1629 dlls/imagehlp/Makefile
1630 dlls/imm32/Makefile
1631 dlls/infosoft/Makefile
1632 dlls/inseng/Makefile
1633 dlls/iphlpapi/Makefile
1634 dlls/iphlpapi/tests/Makefile
1635 dlls/itss/Makefile
1636 dlls/kernel/Makefile
1637 dlls/kernel/tests/Makefile
1638 dlls/lz32/Makefile
1639 dlls/lz32/tests/Makefile
1640 dlls/mapi32/Makefile
1641 dlls/mapi32/tests/Makefile
1642 dlls/mciavi32/Makefile
1643 dlls/mcicda/Makefile
1644 dlls/mciseq/Makefile
1645 dlls/mciwave/Makefile
1646 dlls/midimap/Makefile
1647 dlls/mlang/Makefile
1648 dlls/mlang/tests/Makefile
1649 dlls/mmdevldr.vxd/Makefile
1650 dlls/monodebg.vxd/Makefile
1651 dlls/mpr/Makefile
1652 dlls/mprapi/Makefile
1653 dlls/msacm32.drv/Makefile
1654 dlls/msacm32/Makefile
1655 dlls/msacm32/tests/Makefile
1656 dlls/msadp32.acm/Makefile
1657 dlls/mscms/Makefile
1658 dlls/mscms/tests/Makefile
1659 dlls/msdmo/Makefile
1660 dlls/msftedit/Makefile
1661 dlls/msg711.acm/Makefile
1662 dlls/mshtml/Makefile
1663 dlls/mshtml/tests/Makefile
1664 dlls/msi/Makefile
1665 dlls/msi/tests/Makefile
1666 dlls/msimg32/Makefile
1667 dlls/msisys.ocx/Makefile
1668 dlls/msnet32/Makefile
1669 dlls/msrle32/Makefile
1670 dlls/msvcrt/Makefile
1671 dlls/msvcrt/tests/Makefile
1672 dlls/msvcrt20/Makefile
1673 dlls/msvcrt40/Makefile
1674 dlls/msvcrtd/Makefile
1675 dlls/msvcrtd/tests/Makefile
1676 dlls/msvfw32/Makefile
1677 dlls/msvidc32/Makefile
1678 dlls/mswsock/Makefile
1679 dlls/msxml3/Makefile
1680 dlls/msxml3/tests/Makefile
1681 dlls/netapi32/Makefile
1682 dlls/netapi32/tests/Makefile
1683 dlls/newdev/Makefile
1684 dlls/ntdll/Makefile
1685 dlls/ntdll/tests/Makefile
1686 dlls/ntdsapi/Makefile
1687 dlls/objsel/Makefile
1688 dlls/odbc32/Makefile
1689 dlls/odbccp32/Makefile
1690 dlls/ole32/Makefile
1691 dlls/ole32/tests/Makefile
1692 dlls/oleacc/Makefile
1693 dlls/oleaut32/Makefile
1694 dlls/oleaut32/tests/Makefile
1695 dlls/olecli32/Makefile
1696 dlls/oledlg/Makefile
1697 dlls/olepro32/Makefile
1698 dlls/olesvr32/Makefile
1699 dlls/opengl32/Makefile
1700 dlls/powrprof/Makefile
1701 dlls/psapi/Makefile
1702 dlls/psapi/tests/Makefile
1703 dlls/qcap/Makefile
1704 dlls/quartz/Makefile
1705 dlls/quartz/tests/Makefile
1706 dlls/query/Makefile
1707 dlls/rasapi32/Makefile
1708 dlls/riched20/Makefile
1709 dlls/riched20/tests/Makefile
1710 dlls/riched32/Makefile
1711 dlls/rpcrt4/Makefile
1712 dlls/rpcrt4/tests/Makefile
1713 dlls/rsabase/Makefile
1714 dlls/rsabase/tests/Makefile
1715 dlls/rsaenh/Makefile
1716 dlls/rsaenh/tests/Makefile
1717 dlls/sane.ds/Makefile
1718 dlls/secur32/Makefile
1719 dlls/secur32/tests/Makefile
1720 dlls/security/Makefile
1721 dlls/sensapi/Makefile
1722 dlls/serialui/Makefile
1723 dlls/setupapi/Makefile
1724 dlls/setupapi/tests/Makefile
1725 dlls/sfc/Makefile
1726 dlls/shdocvw/Makefile
1727 dlls/shdocvw/tests/Makefile
1728 dlls/shell32/Makefile
1729 dlls/shell32/tests/Makefile
1730 dlls/shfolder/Makefile
1731 dlls/shlwapi/Makefile
1732 dlls/shlwapi/tests/Makefile
1733 dlls/snmpapi/Makefile
1734 dlls/spoolss/Makefile
1735 dlls/stdole2.tlb/Makefile
1736 dlls/stdole32.tlb/Makefile
1737 dlls/sti/Makefile
1738 dlls/strmiids/Makefile
1739 dlls/tapi32/Makefile
1740 dlls/twain_32/Makefile
1741 dlls/unicows/Makefile
1742 dlls/url/Makefile
1743 dlls/urlmon/Makefile
1744 dlls/urlmon/tests/Makefile
1745 dlls/user/Makefile
1746 dlls/user/tests/Makefile
1747 dlls/userenv/Makefile
1748 dlls/usp10/Makefile
1749 dlls/usp10/tests/Makefile
1750 dlls/uuid/Makefile
1751 dlls/uxtheme/Makefile
1752 dlls/uxtheme/tests/Makefile
1753 dlls/vdhcp.vxd/Makefile
1754 dlls/vdmdbg/Makefile
1755 dlls/version/Makefile
1756 dlls/version/tests/Makefile
1757 dlls/vmm.vxd/Makefile
1758 dlls/vnbt.vxd/Makefile
1759 dlls/vnetbios.vxd/Makefile
1760 dlls/vtdapi.vxd/Makefile
1761 dlls/vwin32.vxd/Makefile
1762 dlls/w32skrnl/Makefile
1763 dlls/winecrt0/Makefile
1764 dlls/wined3d/Makefile
1765 dlls/winedos/Makefile
1766 dlls/winemp3.acm/Makefile
1767 dlls/wineps.drv/Makefile
1768 dlls/winex11.drv/Makefile
1769 dlls/wininet/Makefile
1770 dlls/wininet/tests/Makefile
1771 dlls/winmm/Makefile
1772 dlls/winmm/joystick/Makefile
1773 dlls/winmm/tests/Makefile
1774 dlls/winmm/winealsa/Makefile
1775 dlls/winmm/winearts/Makefile
1776 dlls/winmm/wineaudioio/Makefile
1777 dlls/winmm/winecoreaudio/Makefile
1778 dlls/winmm/wineesd/Makefile
1779 dlls/winmm/winejack/Makefile
1780 dlls/winmm/winenas/Makefile
1781 dlls/winmm/wineoss/Makefile
1782 dlls/winnls32/Makefile
1783 dlls/winspool.drv/Makefile
1784 dlls/winspool.drv/tests/Makefile
1785 dlls/wintab32/Makefile
1786 dlls/wintrust/Makefile
1787 dlls/wldap32/Makefile
1788 dlls/wnaspi32/Makefile
1789 dlls/wow32/Makefile
1790 dlls/ws2_32/Makefile
1791 dlls/ws2_32/tests/Makefile
1792 dlls/wsock32/Makefile
1793 dlls/wtsapi32/Makefile
1794 documentation/Makefile
1795 fonts/Makefile
1796 include/Makefile
1797 libs/Makefile
1798 libs/port/Makefile
1799 libs/wine/Makefile
1800 libs/wpp/Makefile
1801 loader/Makefile
1802 programs/Makefile
1803 programs/clock/Makefile
1804 programs/cmdlgtst/Makefile
1805 programs/control/Makefile
1806 programs/eject/Makefile
1807 programs/expand/Makefile
1808 programs/explorer/Makefile
1809 programs/hh/Makefile
1810 programs/icinfo/Makefile
1811 programs/iexplore/Makefile
1812 programs/msiexec/Makefile
1813 programs/notepad/Makefile
1814 programs/oleview/Makefile
1815 programs/progman/Makefile
1816 programs/regedit/Makefile
1817 programs/regsvr32/Makefile
1818 programs/rpcss/Makefile
1819 programs/rundll32/Makefile
1820 programs/start/Makefile
1821 programs/taskmgr/Makefile
1822 programs/uninstaller/Makefile
1823 programs/view/Makefile
1824 programs/wcmd/Makefile
1825 programs/wineboot/Makefile
1826 programs/winebrowser/Makefile
1827 programs/winecfg/Makefile
1828 programs/wineconsole/Makefile
1829 programs/winedbg/Makefile
1830 programs/winefile/Makefile
1831 programs/winemenubuilder/Makefile
1832 programs/winemine/Makefile
1833 programs/winepath/Makefile
1834 programs/winetest/Makefile
1835 programs/winevdm/Makefile
1836 programs/winhelp/Makefile
1837 programs/winver/Makefile
1838 programs/wordpad/Makefile
1839 server/Makefile
1840 tools/Makefile
1841 tools/widl/Makefile
1842 tools/winapi/Makefile
1843 tools/winebuild/Makefile
1844 tools/winedump/Makefile
1845 tools/winegcc/Makefile
1846 tools/wmc/Makefile
1847 tools/wrc/Makefile])
1848
1849 AC_OUTPUT
1850
1851 exitcode=0
1852 if test "$have_x" = "no"
1853 then
1854   echo >&2
1855   AC_MSG_WARN([X development files not found. Wine will be built without])
1856   AC_MSG_WARN([X support, which currently does not work, and probably])
1857   AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
1858   AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
1859   exitcode=1
1860 fi
1861
1862 if test "$wine_cv_opengl_version_OK" = "no"
1863 then
1864   echo >&2
1865   AC_MSG_WARN([Old Mesa headers detected. Wine will be built without Direct3D])
1866   AC_MSG_WARN([support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
1867   exitcode=1
1868 fi
1869
1870 if test "$wine_cv_msg_freetype" = "yes"
1871 then
1872   echo >&2
1873   AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
1874   AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
1875   AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
1876   AC_MSG_WARN([to enable Wine to use TrueType fonts.])
1877   exitcode=1
1878 fi
1879
1880 if test -z "$FONTSSUBDIRS"
1881 then
1882   echo >&2
1883   if test "$FONTFORGE" = "false"
1884   then
1885     AC_MSG_WARN([FontForge is missing.])
1886   else
1887     AC_MSG_WARN([FreeType is missing.])
1888   fi
1889   AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
1890   exitcode=1
1891 fi
1892
1893 if test -z "$ALSALIBS" -a \
1894         -z "$ARTSC_LIBS" -a \
1895         -z "$AUDIOIOLIBS" -a \
1896         -z "$NASLIBS" -a \
1897         -z "$ESD_LIBS" -a \
1898         -z "$ac_cv_lib_soname_jack" -a \
1899         "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1900         "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1901         "$ac_cv_header_soundcard_h" != "yes"
1902 then
1903   echo >&2
1904   AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
1905   AC_MSG_WARN([The currently supported sound systems are:])
1906   AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
1907   exitcode=1
1908 fi
1909
1910 echo
1911 echo "Configure finished.  Do '${ac_make} depend && ${ac_make}' to compile Wine."
1912 echo
1913
1914 exit $exitcode
1915
1916 dnl Local Variables:
1917 dnl comment-start: "dnl "
1918 dnl comment-end: ""
1919 dnl comment-start-skip: "\\bdnl\\b\\s *"
1920 dnl compile-command: "autoconf && autoheader"
1921 dnl End: