configure: Probe more carefully for soname support, primarily for Solaris support.
[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`"
484     ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0`"
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`"
496     ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt`"
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`"
516     ac_hal_cflags="`$PKG_CONFIG --cflags hal`"
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 fi
545 AC_SUBST(CURSESLIBS)
546
547 dnl **** Check for SANE ****
548 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
549 AC_SUBST(SANELIBS,"")
550 AC_SUBST(SANEINCL,"")
551 if test "$sane_devel" != "no"
552 then
553     SANELIBS="`$sane_devel --libs`"
554     SANEINCL="`$sane_devel --cflags`"
555     ac_save_CPPFLAGS="$CPPFLAGS"
556     ac_save_LIBS="$LIBS"
557     CPPFLAGS="$CPPFLAGS $SANEINCL"
558     LIBS="$LIBS $SANELIBS"
559     AC_CHECK_HEADER(sane/sane.h,
560                     [AC_CHECK_LIB(sane,sane_open,
561                                   [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
562                                   [SANELIBS=""
563                                   SANEINCL=""])],
564                     [SANELIBS=""
565                     SANEINCL=""])
566     LIBS="$ac_save_LIBS"
567     CPPFLAGS="$ac_save_CPPFLAGS"
568 fi
569
570 dnl **** Check for libgphoto2 ****
571 AC_CHECK_PROG(gphoto2_devel,gphoto2-config,gphoto2-config,no)
572 AC_CHECK_PROG(gphoto2port_devel,gphoto2-port-config,gphoto2-port-config,no)
573 AC_SUBST(GPHOTO2LIBS,"")
574 AC_SUBST(GPHOTO2INCL,"")
575 if test "$gphoto2_devel" != "no" -a "$gphoto2port_devel" != "no"
576 then
577     GPHOTO2INCL="`$gphoto2_devel --cflags` `$gphoto2port_devel --cflags`"
578     GPHOTO2LIBS=""
579     for i in `$gphoto2_devel --libs` `$gphoto2port_devel --libs`
580     do
581       case "$i" in
582         -L/usr/lib|-L/usr/lib64) ;;
583         -L*|-l*) GPHOTO2LIBS="$GPHOTO2LIBS $i";;
584       esac
585     done
586     ac_save_CPPFLAGS="$CPPFLAGS"
587     ac_save_LIBS="$LIBS"
588     CPPFLAGS="$CPPFLAGS $GPHOTO2INCL"
589     LIBS="$LIBS $GPHOTO2LIBS"
590     AC_CHECK_HEADER(gphoto2-camera.h,
591                     [AC_CHECK_LIB(gphoto2,gp_camera_new,
592                                   [AC_DEFINE(HAVE_GPHOTO2, 1, [Define if we have libgphoto2 development environment])],
593                                   [GPHOTO2LIBS=""
594                                   GPHOTO2INCL=""])],
595                     [GPHOTO2LIBS=""
596                     GPHOTO2INCL=""])
597     LIBS="$ac_save_LIBS"
598     CPPFLAGS="$ac_save_CPPFLAGS"
599 fi
600
601 dnl **** Check for the ICU library ****
602 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
603 then
604     saved_libs="$LIBS"
605     for i in ${ICU_LIB_DIR-/usr/lib}/libsicu ${ICU_LIB_DIR-/usr/lib}/libicu
606     do
607         TEST_ICUUC_LIB="${ICUUC_LIB-${i}uc.a}"
608         TEST_ICUDATA_LIB="${ICUDATA_LIB-${i}data.a}"
609         AC_MSG_CHECKING(whether can link with ICU libraries $TEST_ICUUC_LIB and $TEST_ICUDATA_LIB)
610         LIBS="$saved_libs $TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s"
611         AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
612                     [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
613                      AC_SUBST(ICULIBS,"$TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s")
614                      AC_MSG_RESULT(yes)],
615                     [AC_MSG_RESULT(no)])
616     done
617     LIBS="$saved_libs"
618 fi
619
620 dnl **** Check for resolver library ***
621 AC_SUBST(RESOLVLIBS,"")
622 if test "$ac_cv_header_resolv_h" = "yes"
623 then
624     AC_CHECK_LIB(resolv, res_query,
625         [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
626          RESOLVLIBS="-lresolv"])
627 fi
628
629 dnl **** Check for LittleCMS ***
630 AC_SUBST(LCMSLIBS,"")
631 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
632 then
633     AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
634         [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
635          LCMSLIBS="-llcms"])
636 fi
637
638 dnl **** Check for OpenLDAP ***
639 AC_SUBST(LDAPLIBS,"")
640 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
641 then
642     AC_CHECK_LIB(ldap_r, ldap_initialize,
643         [AC_CHECK_LIB(lber, ber_init,
644             [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
645              LDAPLIBS="-lldap_r -llber"],,
646              [$LIBPTHREAD])],,
647              [$LIBPTHREAD])
648     WINE_CHECK_LIB_FUNCS(\
649         ldap_count_references \
650         ldap_first_reference \
651         ldap_next_reference \
652         ldap_parse_reference,
653         [$LDAPLIBS $LIBPTHREAD])
654 fi
655
656 dnl **** Check for FreeType 2 ****
657 AC_SUBST(FREETYPELIBS,"")
658 AC_SUBST(FREETYPEINCL,"")
659 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
660 if test "$ft_lib" = "no"
661 then
662     wine_cv_msg_freetype=no
663 else
664     AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
665     if test "$ft_devel" = "no"
666     then
667         AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
668         if test "$ft_devel2" = "freetype2-config"
669         then
670                 ft_devel=$ft_devel2
671         fi
672     fi
673     if test "$ft_devel" = "no"
674     then
675         wine_cv_msg_freetype=yes
676     else
677         FREETYPELIBS=`$ft_devel --libs`
678         FREETYPEINCL=`$ft_devel --cflags`
679         ac_save_CPPFLAGS="$CPPFLAGS"
680         CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
681         AC_CHECK_HEADERS(ft2build.h \
682                          freetype/freetype.h \
683                          freetype/ftglyph.h \
684                          freetype/tttables.h \
685                          freetype/ftnames.h \
686                          freetype/ftsnames.h \
687                          freetype/ttnameid.h \
688                          freetype/ftoutln.h \
689                          freetype/ftwinfnt.h \
690                          freetype/ftmodapi.h \
691                          freetype/internal/sfnt.h,,,
692                          [#if HAVE_FT2BUILD_H
693                           #include <ft2build.h>
694                           #endif])
695         AC_TRY_CPP([#include <ft2build.h>
696                     #include <freetype/fttrigon.h>],
697                     [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
698           [Define if you have the <freetype/fttrigon.h> header file.])
699                     wine_cv_fttrigon=yes],
700                     wine_cv_fttrigon=no)
701         AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
702         ac_save_CFLAGS="$CFLAGS"
703         CFLAGS="$CFLAGS $FREETYPELIBS"
704         AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
705         CFLAGS="$ac_save_CFLAGS"
706         CPPFLAGS="$ac_save_CPPFLAGS"
707         dnl Check that we have at least freetype/freetype.h
708         if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
709         then
710             AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
711             wine_cv_msg_freetype=no
712         else
713             FREETYPELIBS=""
714             FREETYPEINCL=""
715             wine_cv_msg_freetype=yes
716         fi
717     fi
718 fi
719
720 dnl Only build the fonts dir if we have both freetype and fontforge
721 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
722 then
723   AC_SUBST(FONTSSUBDIRS,"fonts")
724 fi
725
726 dnl **** Check for parport (currently Linux only) ****
727 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
728  AC_TRY_COMPILE(
729    [#include <linux/ppdev.h>],
730    [ioctl (1,PPCLAIM,0)],
731    [ac_cv_c_ppdev="yes"],
732    [ac_cv_c_ppdev="no"])
733  )
734 if test "$ac_cv_c_ppdev" = "yes"
735 then
736     AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
737 fi
738
739 dnl **** Check for va_copy ****
740 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
741  AC_TRY_LINK(
742    [#include <stdarg.h>],
743    [va_list ap1, ap2;
744     va_copy(ap1,ap2);
745    ],
746    [ac_cv_c_va_copy="yes"],
747    [ac_cv_c_va_copy="no"])
748  )
749 if test "$ac_cv_c_va_copy" = "yes"
750 then
751     AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
752 fi
753 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
754  AC_TRY_LINK(
755    [#include <stdarg.h>],
756    [va_list ap1, ap2;
757     __va_copy(ap1,ap2);
758    ],
759    [ac_cv_c___va_copy="yes"],
760    [ac_cv_c___va_copy="no"])
761  )
762 if test "$ac_cv_c___va_copy" = "yes"
763 then
764     AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
765 fi
766
767 dnl **** Check for sigsetjmp ****
768 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
769  AC_TRY_LINK(
770    [#include <setjmp.h>],
771    [sigjmp_buf buf;
772     sigsetjmp( buf, 1 );
773     siglongjmp( buf, 1 );],
774    [ac_cv_c_sigsetjmp="yes"],
775    [ac_cv_c_sigsetjmp="no"])
776  )
777 if test "$ac_cv_c_sigsetjmp" = "yes"
778 then
779     AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
780 fi
781
782 dnl **** Check for pthread_rwlock_t ****
783 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
784 #include <pthread.h>])
785
786 dnl **** Check for pthread functions ****
787 WINE_CHECK_LIB_FUNCS(\
788         pthread_getattr_np \
789         pthread_get_stackaddr_np \
790         pthread_get_stacksize_np,
791         [$LIBPTHREAD])
792
793 dnl **** Check for aRts Sound Server ****
794 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
795 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
796 then
797     ARTSC_CFLAGS=""
798     for i in `$ARTSCCONFIG --cflags`
799     do
800       case "$i" in
801         -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
802       esac
803     done
804     ARTSC_LIBS=""
805     for i in `$ARTSCCONFIG --libs`
806     do
807       case "$i" in
808         -L/usr/lib|-L/usr/lib64) ;;
809         -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
810       esac
811     done
812     save_CFLAGS="$CFLAGS"
813     CFLAGS="$CFLAGS $ARTSC_CFLAGS"
814     AC_CHECK_LIB(artsc,arts_init,
815         [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
816             [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
817             AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
818             AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
819             $ARTSC_LIBS)
820     CFLAGS="$save_CFLAGS"
821 fi
822
823 dnl **** Check for EsounD ****
824 AC_PATH_PROG(ESDCONFIG, esd-config)
825 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
826 then
827     ESD_CFLAGS=""
828     for i in `$ESDCONFIG --cflags`
829     do
830       case "$i" in
831         -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
832       esac
833     done
834     ESD_LIBS=`$ESDCONFIG --libs`
835     save_CFLAGS="$CFLAGS"
836     CFLAGS="$CFLAGS $ESD_CFLAGS"
837     AC_CHECK_LIB(esd,esd_open_sound,
838         [AC_SUBST(ESDLIBS, $ESD_LIBS)
839          AC_SUBST(ESDINCL, $ESD_CFLAGS)
840          AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
841     CFLAGS="$save_CFLAGS"
842 fi
843
844 dnl **** Check for ALSA 1.x ****
845 AC_SUBST(ALSALIBS,"")
846 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
847 then
848     AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
849         [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
850 #include <alsa/asoundlib.h>
851 #elif defined(HAVE_SYS_ASOUNDLIB_H)
852 #include <sys/asoundlib.h>
853 #endif],
854                         [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
855                         [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
856                          ALSALIBS="-lasound"])])
857 fi
858
859 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
860
861 AC_SUBST(AUDIOIOLIBS,"")
862 if test "$ac_cv_header_libaudioio_h" = "yes"
863 then
864     AC_CHECK_LIB(audioio,AudioIOGetVersion,
865                   [AUDIOIOLIBS="-laudioio"
866                    AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
867 fi
868
869 dnl **** Check for capi4linux ****
870
871 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
872 then
873     AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
874 fi
875
876 dnl **** Check for gcc specific options ****
877
878 AC_SUBST(EXTRACFLAGS,"")
879 if test "x${GCC}" = "xyes"
880 then
881   EXTRACFLAGS="-Wall -pipe"
882
883   dnl Check for strength-reduce bug
884   AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
885                   AC_TRY_RUN([
886 int     L[[4]] = {0,1,2,3};
887 int main(void) {
888   static int Array[[3]];
889   unsigned int B = 3;
890   int i;
891   for(i=0; i<B; i++) Array[[i]] = i - 3;
892   for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
893   L[[i]] = 4;
894
895   exit( Array[[1]] != -2 || L[[2]] != 3);
896 }],
897     ac_cv_c_gcc_strength_bug="no",
898     ac_cv_c_gcc_strength_bug="yes",
899     ac_cv_c_gcc_strength_bug="yes") )
900   if test "$ac_cv_c_gcc_strength_bug" = "yes"
901   then
902     EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
903   fi
904
905   dnl Check for -fshort-wchar
906   AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
907       [WINE_TRY_CFLAGS([-fshort-wchar],
908                       ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
909   if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
910   then
911       AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
912   fi
913
914   dnl Check for -fno-strict-aliasing
915   AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
916       [WINE_TRY_CFLAGS([-fno-strict-aliasing],
917                       ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
918   if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
919   then
920     EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
921   fi
922
923   dnl Check for -gstabs+ option
924   AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
925       [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
926   if test "$ac_cv_c_gcc_gstabs" = "yes"
927   then
928     EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
929   fi
930
931   dnl Check for -Wdeclaration-after-statement option
932   AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
933       [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
934   if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
935   then
936     EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
937   fi
938
939   dnl Check for noisy string.h
940   saved_CFLAGS="$CFLAGS"
941   CFLAGS="$CFLAGS -Wpointer-arith -Werror"
942   AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
943       AC_TRY_COMPILE([#include <string.h>],[],
944                      [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
945   CFLAGS="$saved_CFLAGS"
946   if test "$ac_cv_c_string_h_warnings" = "no"
947   then
948     EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
949   fi
950
951   AC_SUBST(BUILTINFLAG,"")
952   saved_CFLAGS="$CFLAGS"
953   CFLAGS="$CFLAGS -Werror"
954   AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
955       AC_TRY_COMPILE([],
956                      [int iswlower(unsigned short);],
957                      [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
958   CFLAGS="$saved_CFLAGS"
959   if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
960   then
961     BUILTINFLAG=""
962     for builtin in \
963       iswalnum iswalpha iswcntrl iswdigit iswgraph iswlower \
964       iswprint iswpunct iswspace iswupper iswxdigit towlower towupper
965     do
966       BUILTINFLAG="$BUILTINFLAG -fno-builtin-$builtin"
967     done
968   fi
969 fi
970
971 dnl **** Check how to define a function in assembly code ****
972
973 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
974   WINE_TRY_ASM_LINK(
975       ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
976       ac_cv_asm_func_def=".def",
977     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
978       ac_cv_asm_func_def=".type @function",
979     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
980       ac_cv_asm_func_def=".type 2",
981       ac_cv_asm_func_def="unknown")])]))
982
983 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
984 case "$ac_cv_asm_func_def" in
985   ".def")
986      AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
987   ".type @function")
988      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
989   ".type 2")
990      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
991   *)
992      AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
993 esac
994
995 dnl **** Check for underscore on external symbols ****
996
997 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
998     WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
999                       [extern int ac_test;],
1000                       [if (ac_test) return 1],
1001                       ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
1002
1003 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
1004 if test "$ac_cv_c_extern_prefix" = "yes"
1005 then
1006   AC_DEFINE([__ASM_NAME(name)], ["_" name])
1007 else
1008   AC_DEFINE([__ASM_NAME(name)], [name])
1009 fi
1010
1011 dnl **** Check for working dll ****
1012
1013 AC_SUBST(DLLEXT,"")
1014 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
1015 AC_SUBST(DLLIBS,"")
1016 AC_SUBST(LDSHARED,"")
1017 AC_SUBST(LDDLLFLAGS,"")
1018 AC_SUBST(LIBEXT,"so")
1019 AC_SUBST(IMPLIBEXT,"def")
1020
1021 case $host_os in
1022   cygwin*|mingw32*)
1023     AC_CHECK_TOOL(DLLTOOL,dlltool,false)
1024     AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
1025     if test "$DLLWRAP" = "false"; then
1026       LIBEXT="a"
1027     else
1028       dnl FIXME - check whether dllwrap works correctly...
1029       LIBEXT="dll"
1030     fi
1031     IMPLIBEXT="a"
1032     dnl We can't build 16-bit NE dlls
1033     WIN16_FILES=""
1034     WIN16_INSTALL=""
1035     ;;
1036   *)
1037     if test "$ac_cv_header_dlfcn_h" = "yes"
1038     then
1039         AC_CHECK_FUNCS(dlopen,,
1040             [AC_CHECK_LIB(dl,dlopen,
1041                          [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
1042                           DLLIBS="-ldl"],
1043                          [LIBEXT="a"])])
1044         WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
1045     else
1046         LIBEXT="a"
1047     fi
1048
1049     if test "$LIBEXT" = "so"
1050     then
1051       DLLFLAGS="$DLLFLAGS -fPIC"
1052       DLLEXT=".so"
1053       AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1054           [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-Bsymbolic],
1055                                 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1056       if test "$ac_cv_c_dll_gnuelf" = "yes"
1057       then
1058         LDSHARED="\$(CC) -shared"
1059         LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1060         AC_CACHE_CHECK([whether the linker accepts soname], ac_cv_c_sonames,
1061           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
1062                            ac_cv_c_sonames="yes",ac_cv_c_sonames="no")])
1063         if test "$ac_cv_c_sonames" = "yes"
1064         then
1065           LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1066         else
1067           AC_CACHE_CHECK([check to see if -h soname is an alternate], ac_cv_c_h_sonames,
1068             [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
1069                              ac_cv_c_h_sonames="yes",ac_cv_c_h_sonames="no")])
1070           if test "$ac_cv_c_h_sonames" = "yes"
1071           then
1072             LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"
1073           fi
1074         fi
1075
1076         AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1077           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1078                            ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1079         if test "$ac_cv_c_dll_zdefs" = "yes"
1080         then
1081           LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1082         fi
1083
1084         AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1085           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1086                            ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1087         if test "$ac_cv_c_dll_init_fini" = "yes"
1088         then
1089           LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1090         fi
1091
1092         AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1093           [echo '{ global: *; };' >conftest.map
1094            WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1095                            ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1096            rm -f conftest.map])
1097         if test "$ac_cv_c_ld_version_scripts" = "yes"
1098         then
1099           LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1100         fi
1101
1102         AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1103           [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1104                            ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1105         if test "$ac_cv_c_export_dynamic" = "yes"
1106         then
1107           AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1108         fi
1109
1110         AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1111           [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1112                            ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1113         if test "$ac_cv_ld_rpath" = "yes"
1114         then
1115           AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1116           AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
1117         fi
1118
1119         case $host_cpu in
1120           *i[[3456789]]86*)
1121             AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1122               [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1123                                ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1124             if test "$ac_cv_ld_reloc_exec" = "yes"
1125             then
1126               LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1127             fi
1128             ;;
1129         esac
1130
1131       else
1132         AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1133             [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1134                                   ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1135         if test "$ac_cv_c_dll_unixware" = "yes"
1136         then
1137           LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1138           LDDLLFLAGS="-Wl,-G,-B,symbolic"
1139
1140         else
1141           AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
1142             [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
1143           if test "$ac_cv_c_dll_macho" = "yes"
1144           then
1145             LIBEXT="dylib"
1146             LDDLLFLAGS="-bundle"
1147             LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME) \$(SOVERSION:%=-compatibility_version %)"
1148             STRIP="$STRIP -u -r"
1149             dnl declare needed frameworks
1150             AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1151             AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1152             AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7ffe0000"])
1153             if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
1154             then
1155                 dnl CoreServices needed by AudioUnit
1156                 AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
1157             fi
1158             case $host_cpu in
1159               *powerpc*)
1160                 CFLAGS="$CFLAGS -ffixed-r13"
1161                 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
1162                 ;;
1163             esac
1164
1165           else
1166             AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1167               [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1168             if test "$ac_cv_c_dll_hpux" = "yes"
1169             then
1170               LIBEXT="sl"
1171               DLLEXT=".sl"
1172               LDDLLFLAGS="-shared -fPIC"
1173               LDSHARED="\$(CC) -shared"
1174             fi
1175           fi
1176         fi
1177       fi
1178     fi
1179
1180     dnl Check for cross compiler to build test programs
1181     AC_SUBST(CROSSTEST,"")
1182     if test "$cross_compiling" = "no"
1183     then
1184       AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1185       AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1186       AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1187       if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1188     fi
1189     ;;
1190 esac
1191
1192 if test "$LIBEXT" = "a"; then
1193   AC_MSG_ERROR(
1194 [could not find a way to build shared libraries.
1195 It is currently not possible to build Wine without shared library
1196 (.so) support to allow transparent switch between .so and .dll files.
1197 If you are using Linux, you will need a newer binutils.]
1198 )
1199 fi
1200
1201 case $build_os in
1202   cygwin*|mingw32*)
1203     AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
1204   darwin*|macosx*)
1205     AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
1206   *)
1207     AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
1208 esac
1209
1210 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1211 case $host_os in
1212   mingw32*)
1213     AC_SUBST(CRTLIBS,"-lmsvcrt")
1214     AC_SUBST(SOCKETLIBS,"-lws2_32")
1215     ;;
1216 esac
1217
1218 case $host_cpu in
1219   *i[[3456789]]86*)
1220     case $host_os in
1221       linux* | k*bsd*-gnu)
1222         AC_SUBST(MAIN_BINARY,"wine-glibc")
1223         AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1224       darwin*|freebsd*)
1225         AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1226       *)
1227         AC_SUBST(MAIN_BINARY,"wine-kthread") ;;
1228     esac
1229     ;;
1230   *) AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
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   *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
1507   *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
1508   *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
1509 esac
1510
1511 case $host_vendor in
1512   *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1513 esac
1514
1515 dnl **** Generate output files ****
1516
1517 AH_TOP([#define __WINE_CONFIG_H])
1518
1519 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1520 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1521 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1522 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1523 WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
1524 WINE_CONFIG_EXTRA_DIR(include/wine)
1525
1526 MAKE_RULES=Make.rules
1527 AC_SUBST_FILE(MAKE_RULES)
1528
1529 MAKE_DLL_RULES=dlls/Makedll.rules
1530 AC_SUBST_FILE(MAKE_DLL_RULES)
1531
1532 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1533 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1534
1535 MAKE_TEST_RULES=dlls/Maketest.rules
1536 AC_SUBST_FILE(MAKE_TEST_RULES)
1537
1538 MAKE_LIB_RULES=libs/Makelib.rules
1539 AC_SUBST_FILE(MAKE_LIB_RULES)
1540
1541 MAKE_PROG_RULES=programs/Makeprog.rules
1542 AC_SUBST_FILE(MAKE_PROG_RULES)
1543
1544 AC_CONFIG_FILES([
1545 Make.rules
1546 dlls/Makedll.rules
1547 dlls/Makeimplib.rules
1548 dlls/Maketest.rules
1549 libs/Makelib.rules
1550 programs/Makeprog.rules
1551 Makefile
1552 dlls/Makefile
1553 dlls/activeds/Makefile
1554 dlls/advapi32/Makefile
1555 dlls/advapi32/tests/Makefile
1556 dlls/advpack/Makefile
1557 dlls/advpack/tests/Makefile
1558 dlls/amstream/Makefile
1559 dlls/atl/Makefile
1560 dlls/avicap32/Makefile
1561 dlls/avifil32/Makefile
1562 dlls/cabinet/Makefile
1563 dlls/cabinet/tests/Makefile
1564 dlls/capi2032/Makefile
1565 dlls/cards/Makefile
1566 dlls/cfgmgr32/Makefile
1567 dlls/comcat/Makefile
1568 dlls/comctl32/Makefile
1569 dlls/comctl32/tests/Makefile
1570 dlls/comdlg32/Makefile
1571 dlls/crtdll/Makefile
1572 dlls/crypt32/Makefile
1573 dlls/crypt32/tests/Makefile
1574 dlls/cryptdll/Makefile
1575 dlls/ctl3d32/Makefile
1576 dlls/d3d8/Makefile
1577 dlls/d3d8/tests/Makefile
1578 dlls/d3d9/Makefile
1579 dlls/d3d9/tests/Makefile
1580 dlls/d3dim/Makefile
1581 dlls/d3drm/Makefile
1582 dlls/d3dx8/Makefile
1583 dlls/d3dxof/Makefile
1584 dlls/dbghelp/Makefile
1585 dlls/dciman32/Makefile
1586 dlls/ddraw/Makefile
1587 dlls/ddraw/tests/Makefile
1588 dlls/devenum/Makefile
1589 dlls/dinput/Makefile
1590 dlls/dinput/tests/Makefile
1591 dlls/dinput8/Makefile
1592 dlls/dmband/Makefile
1593 dlls/dmcompos/Makefile
1594 dlls/dmime/Makefile
1595 dlls/dmloader/Makefile
1596 dlls/dmscript/Makefile
1597 dlls/dmstyle/Makefile
1598 dlls/dmsynth/Makefile
1599 dlls/dmusic/Makefile
1600 dlls/dmusic32/Makefile
1601 dlls/dnsapi/Makefile
1602 dlls/dnsapi/tests/Makefile
1603 dlls/dplay/Makefile
1604 dlls/dplayx/Makefile
1605 dlls/dpnet/Makefile
1606 dlls/dpnhpast/Makefile
1607 dlls/dsound/Makefile
1608 dlls/dsound/tests/Makefile
1609 dlls/dswave/Makefile
1610 dlls/dxdiagn/Makefile
1611 dlls/dxerr8/Makefile
1612 dlls/dxerr9/Makefile
1613 dlls/dxguid/Makefile
1614 dlls/gdi/Makefile
1615 dlls/gdi/tests/Makefile
1616 dlls/glu32/Makefile
1617 dlls/glut32/Makefile
1618 dlls/gphoto2.ds/Makefile
1619 dlls/hhctrl.ocx/Makefile
1620 dlls/hlink/Makefile
1621 dlls/iccvid/Makefile
1622 dlls/icmp/Makefile
1623 dlls/ifsmgr.vxd/Makefile
1624 dlls/inseng/Makefile
1625 dlls/imaadp32.acm/Makefile
1626 dlls/imagehlp/Makefile
1627 dlls/imm32/Makefile
1628 dlls/iphlpapi/Makefile
1629 dlls/iphlpapi/tests/Makefile
1630 dlls/itss/Makefile
1631 dlls/kernel/Makefile
1632 dlls/kernel/tests/Makefile
1633 dlls/lz32/Makefile
1634 dlls/lz32/tests/Makefile
1635 dlls/mapi32/Makefile
1636 dlls/mapi32/tests/Makefile
1637 dlls/mciavi32/Makefile
1638 dlls/mcicda/Makefile
1639 dlls/mciseq/Makefile
1640 dlls/mciwave/Makefile
1641 dlls/midimap/Makefile
1642 dlls/mlang/Makefile
1643 dlls/mlang/tests/Makefile
1644 dlls/mmdevldr.vxd/Makefile
1645 dlls/monodebg.vxd/Makefile
1646 dlls/mpr/Makefile
1647 dlls/mprapi/Makefile
1648 dlls/msacm32.drv/Makefile
1649 dlls/msacm32/Makefile
1650 dlls/msacm32/tests/Makefile
1651 dlls/msadp32.acm/Makefile
1652 dlls/mscms/Makefile
1653 dlls/mscms/tests/Makefile
1654 dlls/msdmo/Makefile
1655 dlls/msftedit/Makefile
1656 dlls/msg711.acm/Makefile
1657 dlls/mshtml/Makefile
1658 dlls/mshtml/tests/Makefile
1659 dlls/msi/Makefile
1660 dlls/msi/tests/Makefile
1661 dlls/msimg32/Makefile
1662 dlls/msisys.ocx/Makefile
1663 dlls/msnet32/Makefile
1664 dlls/msrle32/Makefile
1665 dlls/msvcrt/Makefile
1666 dlls/msvcrt/tests/Makefile
1667 dlls/msvcrt20/Makefile
1668 dlls/msvcrt40/Makefile
1669 dlls/msvcrtd/Makefile
1670 dlls/msvcrtd/tests/Makefile
1671 dlls/msvfw32/Makefile
1672 dlls/msvidc32/Makefile
1673 dlls/mswsock/Makefile
1674 dlls/msxml3/Makefile
1675 dlls/msxml3/tests/Makefile
1676 dlls/netapi32/Makefile
1677 dlls/netapi32/tests/Makefile
1678 dlls/newdev/Makefile
1679 dlls/ntdll/Makefile
1680 dlls/ntdll/tests/Makefile
1681 dlls/ntdsapi/Makefile
1682 dlls/objsel/Makefile
1683 dlls/odbc32/Makefile
1684 dlls/odbccp32/Makefile
1685 dlls/ole32/Makefile
1686 dlls/ole32/tests/Makefile
1687 dlls/oleacc/Makefile
1688 dlls/oleaut32/Makefile
1689 dlls/oleaut32/tests/Makefile
1690 dlls/olecli32/Makefile
1691 dlls/oledlg/Makefile
1692 dlls/olepro32/Makefile
1693 dlls/olesvr32/Makefile
1694 dlls/opengl32/Makefile
1695 dlls/powrprof/Makefile
1696 dlls/psapi/Makefile
1697 dlls/psapi/tests/Makefile
1698 dlls/qcap/Makefile
1699 dlls/quartz/Makefile
1700 dlls/quartz/tests/Makefile
1701 dlls/rasapi32/Makefile
1702 dlls/riched20/Makefile
1703 dlls/riched20/tests/Makefile
1704 dlls/riched32/Makefile
1705 dlls/rpcrt4/Makefile
1706 dlls/rpcrt4/tests/Makefile
1707 dlls/rsabase/Makefile
1708 dlls/rsabase/tests/Makefile
1709 dlls/rsaenh/Makefile
1710 dlls/rsaenh/tests/Makefile
1711 dlls/sane.ds/Makefile
1712 dlls/secur32/Makefile
1713 dlls/secur32/tests/Makefile
1714 dlls/security/Makefile
1715 dlls/sensapi/Makefile
1716 dlls/serialui/Makefile
1717 dlls/setupapi/Makefile
1718 dlls/setupapi/tests/Makefile
1719 dlls/sfc/Makefile
1720 dlls/shdocvw/Makefile
1721 dlls/shdocvw/tests/Makefile
1722 dlls/shell32/Makefile
1723 dlls/shell32/tests/Makefile
1724 dlls/shfolder/Makefile
1725 dlls/shlwapi/Makefile
1726 dlls/shlwapi/tests/Makefile
1727 dlls/snmpapi/Makefile
1728 dlls/spoolss/Makefile
1729 dlls/stdole2.tlb/Makefile
1730 dlls/stdole32.tlb/Makefile
1731 dlls/sti/Makefile
1732 dlls/strmiids/Makefile
1733 dlls/tapi32/Makefile
1734 dlls/twain_32/Makefile
1735 dlls/unicows/Makefile
1736 dlls/url/Makefile
1737 dlls/urlmon/Makefile
1738 dlls/urlmon/tests/Makefile
1739 dlls/user/Makefile
1740 dlls/user/tests/Makefile
1741 dlls/userenv/Makefile
1742 dlls/usp10/Makefile
1743 dlls/usp10/tests/Makefile
1744 dlls/uuid/Makefile
1745 dlls/uxtheme/Makefile
1746 dlls/uxtheme/tests/Makefile
1747 dlls/vdhcp.vxd/Makefile
1748 dlls/vdmdbg/Makefile
1749 dlls/version/Makefile
1750 dlls/version/tests/Makefile
1751 dlls/vmm.vxd/Makefile
1752 dlls/vnbt.vxd/Makefile
1753 dlls/vnetbios.vxd/Makefile
1754 dlls/vtdapi.vxd/Makefile
1755 dlls/vwin32.vxd/Makefile
1756 dlls/w32skrnl/Makefile
1757 dlls/winecrt0/Makefile
1758 dlls/wined3d/Makefile
1759 dlls/winedos/Makefile
1760 dlls/winemp3.acm/Makefile
1761 dlls/wineps.drv/Makefile
1762 dlls/winex11.drv/Makefile
1763 dlls/wininet/Makefile
1764 dlls/wininet/tests/Makefile
1765 dlls/winmm/Makefile
1766 dlls/winmm/joystick/Makefile
1767 dlls/winmm/tests/Makefile
1768 dlls/winmm/winealsa/Makefile
1769 dlls/winmm/winearts/Makefile
1770 dlls/winmm/wineaudioio/Makefile
1771 dlls/winmm/winecoreaudio/Makefile
1772 dlls/winmm/wineesd/Makefile
1773 dlls/winmm/winejack/Makefile
1774 dlls/winmm/winenas/Makefile
1775 dlls/winmm/wineoss/Makefile
1776 dlls/winnls32/Makefile
1777 dlls/winspool.drv/Makefile
1778 dlls/winspool.drv/tests/Makefile
1779 dlls/wintab32/Makefile
1780 dlls/wintrust/Makefile
1781 dlls/wldap32/Makefile
1782 dlls/wnaspi32/Makefile
1783 dlls/wow32/Makefile
1784 dlls/ws2_32/Makefile
1785 dlls/ws2_32/tests/Makefile
1786 dlls/wsock32/Makefile
1787 dlls/wtsapi32/Makefile
1788 documentation/Makefile
1789 fonts/Makefile
1790 include/Makefile
1791 libs/Makefile
1792 libs/port/Makefile
1793 libs/unicode/Makefile
1794 libs/wine/Makefile
1795 libs/wpp/Makefile
1796 loader/Makefile
1797 programs/Makefile
1798 programs/clock/Makefile
1799 programs/cmdlgtst/Makefile
1800 programs/control/Makefile
1801 programs/eject/Makefile
1802 programs/expand/Makefile
1803 programs/explorer/Makefile
1804 programs/hh/Makefile
1805 programs/icinfo/Makefile
1806 programs/iexplore/Makefile
1807 programs/msiexec/Makefile
1808 programs/notepad/Makefile
1809 programs/progman/Makefile
1810 programs/regedit/Makefile
1811 programs/regsvr32/Makefile
1812 programs/rpcss/Makefile
1813 programs/rundll32/Makefile
1814 programs/start/Makefile
1815 programs/taskmgr/Makefile
1816 programs/uninstaller/Makefile
1817 programs/view/Makefile
1818 programs/wcmd/Makefile
1819 programs/wineboot/Makefile
1820 programs/winebrowser/Makefile
1821 programs/winecfg/Makefile
1822 programs/wineconsole/Makefile
1823 programs/winedbg/Makefile
1824 programs/winefile/Makefile
1825 programs/winemenubuilder/Makefile
1826 programs/winemine/Makefile
1827 programs/winepath/Makefile
1828 programs/winetest/Makefile
1829 programs/winevdm/Makefile
1830 programs/winhelp/Makefile
1831 programs/winver/Makefile
1832 programs/wordpad/Makefile
1833 server/Makefile
1834 tools/Makefile
1835 tools/widl/Makefile
1836 tools/winapi/Makefile
1837 tools/winebuild/Makefile
1838 tools/winedump/Makefile
1839 tools/winegcc/Makefile
1840 tools/wmc/Makefile
1841 tools/wrc/Makefile])
1842
1843 AC_OUTPUT
1844
1845 exitcode=0
1846 if test "$have_x" = "no"
1847 then
1848   echo >&2
1849   AC_MSG_WARN([X development files not found. Wine will be built without])
1850   AC_MSG_WARN([X support, which currently does not work, and probably])
1851   AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
1852   AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
1853   exitcode=1
1854 fi
1855
1856 if test "$wine_cv_opengl_version_OK" = "no"
1857 then
1858   echo >&2
1859   AC_MSG_WARN([Old Mesa headers detected. Wine will be built without Direct3D])
1860   AC_MSG_WARN([support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
1861   exitcode=1
1862 fi
1863
1864 if test "$wine_cv_msg_freetype" = "yes"
1865 then
1866   echo >&2
1867   AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
1868   AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
1869   AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
1870   AC_MSG_WARN([to enable Wine to use TrueType fonts.])
1871   exitcode=1
1872 fi
1873
1874 if test -z "$FONTSSUBDIRS"
1875 then
1876   echo >&2
1877   if test "$FONTFORGE" = "false"
1878   then
1879     AC_MSG_WARN([FontForge is missing.])
1880   else
1881     AC_MSG_WARN([FreeType is missing.])
1882   fi
1883   AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
1884   exitcode=1
1885 fi
1886
1887 if test -z "$ALSALIBS" -a \
1888         -z "$ARTSC_LIBS" -a \
1889         -z "$AUDIOIOLIBS" -a \
1890         -z "$NASLIBS" -a \
1891         -z "$ESD_LIBS" -a \
1892         -z "$ac_cv_lib_soname_jack" -a \
1893         "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1894         "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1895         "$ac_cv_header_soundcard_h" != "yes"
1896 then
1897   echo >&2
1898   AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
1899   AC_MSG_WARN([The currently supported sound systems are:])
1900   AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
1901   exitcode=1
1902 fi
1903
1904 echo
1905 echo "Configure finished.  Do '${ac_make} depend && ${ac_make}' to compile Wine."
1906 echo
1907
1908 exit $exitcode
1909
1910 dnl Local Variables:
1911 dnl comment-start: "dnl "
1912 dnl comment-end: ""
1913 dnl comment-start-skip: "\\bdnl\\b\\s *"
1914 dnl compile-command: "autoconf && autoheader"
1915 dnl End: