kernel: Check for an exe which is always present in a system dir.
[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 AC_SUBST(MAIN_BINARY,"wine-pthread")  dnl Default value
1219 case $host_cpu in
1220   *i[[3456789]]86*)
1221     case $host_os in
1222       linux* | k*bsd*-gnu)
1223         AC_SUBST(MAIN_BINARY,"wine-glibc")
1224         AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1225     esac
1226     ;;
1227 esac
1228
1229 dnl **** Get the soname for libraries that we load dynamically ****
1230
1231 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1232 then
1233   WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1234   WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1235   WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1236   WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1237   WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1238   WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1239   WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1240   WINE_GET_SONAME(dbus-1,dbus_error_init)
1241   WINE_GET_SONAME(hal,libhal_ctx_new)
1242   WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1243   WINE_GET_SONAME(cups,cupsGetDefault)
1244   WINE_GET_SONAME(jack,jack_client_new)
1245   WINE_GET_SONAME(fontconfig,FcInit)
1246   WINE_GET_SONAME(ssl,SSL_library_init)
1247   WINE_GET_SONAME(crypto,BIO_new_socket)
1248   WINE_GET_SONAME(ncurses,waddch)
1249   WINE_GET_SONAME(curses,waddch)
1250   WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1251   WINE_GET_SONAME(ungif,DGifOpen)
1252   WINE_GET_SONAME(gif,DGifOpen)
1253   WINE_GET_SONAME(capi20,capi20_isinstalled)
1254 fi
1255
1256
1257 dnl **** Check for functions ****
1258
1259 AC_CHECK_FUNCS(\
1260         _lwp_create \
1261         _lwp_self \
1262         _pclose \
1263         _popen \
1264         _snprintf \
1265         _spawnvp \
1266         _stricmp \
1267         _strnicmp \
1268         _vsnprintf \
1269         asctime_r \
1270         chsize \
1271         clone \
1272         epoll_create \
1273         ffs \
1274         finite \
1275         fork \
1276         fpclass \
1277         fstatfs \
1278         fstatvfs \
1279         ftruncate \
1280         futimes \
1281         futimesat \
1282         getaddrinfo \
1283         getnameinfo \
1284         getnetbyname \
1285         getopt_long \
1286         getpagesize \
1287         getprotobyname \
1288         getprotobynumber \
1289         getpwuid \
1290         getservbyport \
1291         gettid \
1292         gettimeofday \
1293         getuid \
1294         inet_network \
1295         lstat \
1296         memmove \
1297         mmap \
1298         pclose \
1299         popen \
1300         prctl \
1301         pread \
1302         pwrite \
1303         readlink \
1304         rfork \
1305         sched_yield \
1306         select \
1307         sendmsg \
1308         settimeofday \
1309         sigaltstack \
1310         sigprocmask \
1311         snprintf \
1312         spawnvp \
1313         statfs \
1314         statvfs \
1315         strcasecmp \
1316         strerror \
1317         strncasecmp \
1318         tcgetattr \
1319         timegm \
1320         usleep \
1321         vsnprintf \
1322         wait4 \
1323         waitpid \
1324 )
1325
1326
1327 dnl **** Check for types ****
1328
1329 AC_C_CONST
1330 AC_C_INLINE
1331 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1332 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1333 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1334
1335 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1336 [#ifdef HAVE_LINUX_INPUT_H
1337 #include <linux/input.h>
1338 #endif])
1339
1340 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1341                AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1342                            wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1343 if test "$wine_cv_have_sigaddset" = "yes"
1344 then
1345   AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1346 fi
1347
1348
1349 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1350         wine_cv_linux_gethostbyname_r_6,
1351         AC_TRY_LINK([
1352 #include <netdb.h>
1353         ], [
1354     char *name=NULL;
1355     struct hostent he;
1356     struct hostent *result;
1357     char *buf=NULL;
1358     int bufsize=0;
1359     int res,errnr;
1360     char *addr=NULL;
1361     int addrlen=0;
1362     int addrtype=0;
1363     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1364     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1365     ],
1366         wine_cv_linux_gethostbyname_r_6=yes,
1367         wine_cv_linux_gethostbyname_r_6=no
1368         )
1369    )
1370    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1371    then
1372       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1373                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1374    fi
1375
1376 if test "$ac_cv_header_linux_joystick_h" = "yes"
1377 then
1378    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1379         wine_cv_linux_joystick_22_api,
1380         AC_TRY_COMPILE([
1381         #include <sys/ioctl.h>
1382         #include <linux/joystick.h>
1383
1384         struct js_event blub;
1385         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1386         #error "no 2.2 header"
1387         #endif
1388         ],/*empty*/,
1389         wine_cv_linux_joystick_22_api=yes,
1390         wine_cv_linux_joystick_22_api=no,
1391         wine_cv_linux_joystick_22_api=no
1392         )
1393    )
1394    if test "$wine_cv_linux_joystick_22_api" = "yes"
1395    then
1396       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1397                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1398    fi
1399 fi
1400
1401 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1402
1403 dnl Check for statfs members
1404 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],,,
1405 [#include <sys/types.h>
1406 #ifdef HAVE_SYS_PARAM_H
1407 # include <sys/param.h>
1408 #endif
1409 #ifdef HAVE_SYS_MOUNT_H
1410 # include <sys/mount.h>
1411 #endif
1412 #ifdef HAVE_SYS_VFS_H
1413 # include <sys/vfs.h>
1414 #endif
1415 #ifdef HAVE_SYS_STATFS_H
1416 # include <sys/statfs.h>
1417 #endif])
1418
1419 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1420 [#ifdef HAVE_SYS_STATVFS_H
1421 #include <sys/statvfs.h>
1422 #endif])
1423
1424 dnl Check for socket structure members
1425 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1426 [#include <sys/types.h>
1427 #ifdef HAVE_SYS_SOCKET_H
1428 # include <sys/socket.h>
1429 #endif
1430 #ifdef HAVE_SYS_UN_H
1431 # include <sys/un.h>
1432 #endif])
1433
1434 dnl Check for scsireq_t and sg_io_hdr_t members
1435 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1436 [#include <sys/types.h>
1437 #ifdef HAVE_SCSI_SG_H
1438 #include <scsi/sg.h>
1439 #endif])
1440
1441 dnl Check for siginfo_t members
1442 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1443
1444 dnl Check for struct mtget members
1445 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1446 [#include <sys/types.h>
1447 #ifdef HAVE_SYS_MTIO_H
1448 #include <sys/mtio.h>
1449 #endif])
1450
1451 dnl Check for struct option
1452 AC_CHECK_MEMBERS([struct option.name],,,
1453 [#ifdef HAVE_GETOPT_H
1454 #include <getopt.h>
1455 #endif])
1456
1457 dnl Check for stat.st_blocks
1458 AC_CHECK_MEMBERS([struct stat.st_blocks])
1459
1460 dnl Check for sin6_scope_id
1461 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1462 [#ifdef HAVE_SYS_TYPES_H
1463 #include <sys/types.h>
1464 #endif
1465 #ifdef HAVE_NETINET_IN_H
1466 #include <netinet/in.h>
1467 #endif])
1468
1469 dnl Check for ns_msg ptr member
1470 AC_CHECK_MEMBERS([ns_msg._msg_ptr],,,
1471 [#ifdef HAVE_SYS_TYPES_H
1472 #include <sys/types.h>
1473 #endif
1474 #ifdef HAVE_NETINET_IN_H
1475 # include <netinet/in.h>
1476 #endif
1477 #ifdef HAVE_ARPA_NAMESER_H
1478 # include <arpa/nameser.h>
1479 #endif])
1480
1481 dnl Check for the external timezone variables timezone and daylight
1482 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1483                AC_TRY_LINK([#include <time.h>],[timezone;],
1484                            ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1485 if test "$ac_cv_have_timezone" = "yes"
1486 then
1487     AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1488 fi
1489 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1490                AC_TRY_LINK([#include <time.h>],[daylight;],
1491                            ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1492 if test "$ac_cv_have_daylight" = "yes"
1493 then
1494     AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1495 fi
1496
1497 dnl *** check for the need to define platform-specific symbols
1498
1499 case $host_cpu in
1500   *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1501   *x86_64*)         WINE_CHECK_DEFINE([__x86_64__]) ;;
1502   *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
1503   *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
1504   *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
1505 esac
1506
1507 case $host_vendor in
1508   *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1509 esac
1510
1511 dnl **** Generate output files ****
1512
1513 AH_TOP([#define __WINE_CONFIG_H])
1514
1515 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1516 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1517 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1518 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1519 WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
1520 WINE_CONFIG_EXTRA_DIR(include/wine)
1521
1522 MAKE_RULES=Make.rules
1523 AC_SUBST_FILE(MAKE_RULES)
1524
1525 MAKE_DLL_RULES=dlls/Makedll.rules
1526 AC_SUBST_FILE(MAKE_DLL_RULES)
1527
1528 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1529 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1530
1531 MAKE_TEST_RULES=dlls/Maketest.rules
1532 AC_SUBST_FILE(MAKE_TEST_RULES)
1533
1534 MAKE_LIB_RULES=libs/Makelib.rules
1535 AC_SUBST_FILE(MAKE_LIB_RULES)
1536
1537 MAKE_PROG_RULES=programs/Makeprog.rules
1538 AC_SUBST_FILE(MAKE_PROG_RULES)
1539
1540 AC_CONFIG_FILES([
1541 Make.rules
1542 dlls/Makedll.rules
1543 dlls/Makeimplib.rules
1544 dlls/Maketest.rules
1545 libs/Makelib.rules
1546 programs/Makeprog.rules
1547 Makefile
1548 dlls/Makefile
1549 dlls/activeds/Makefile
1550 dlls/advapi32/Makefile
1551 dlls/advapi32/tests/Makefile
1552 dlls/advpack/Makefile
1553 dlls/advpack/tests/Makefile
1554 dlls/amstream/Makefile
1555 dlls/atl/Makefile
1556 dlls/avicap32/Makefile
1557 dlls/avifil32/Makefile
1558 dlls/cabinet/Makefile
1559 dlls/cabinet/tests/Makefile
1560 dlls/capi2032/Makefile
1561 dlls/cards/Makefile
1562 dlls/cfgmgr32/Makefile
1563 dlls/comcat/Makefile
1564 dlls/comctl32/Makefile
1565 dlls/comctl32/tests/Makefile
1566 dlls/comdlg32/Makefile
1567 dlls/compstui/Makefile
1568 dlls/crtdll/Makefile
1569 dlls/crypt32/Makefile
1570 dlls/crypt32/tests/Makefile
1571 dlls/cryptdll/Makefile
1572 dlls/ctl3d32/Makefile
1573 dlls/d3d8/Makefile
1574 dlls/d3d8/tests/Makefile
1575 dlls/d3d9/Makefile
1576 dlls/d3d9/tests/Makefile
1577 dlls/d3dim/Makefile
1578 dlls/d3drm/Makefile
1579 dlls/d3dx8/Makefile
1580 dlls/d3dxof/Makefile
1581 dlls/dbghelp/Makefile
1582 dlls/dciman32/Makefile
1583 dlls/ddraw/Makefile
1584 dlls/ddraw/tests/Makefile
1585 dlls/devenum/Makefile
1586 dlls/dinput/Makefile
1587 dlls/dinput/tests/Makefile
1588 dlls/dinput8/Makefile
1589 dlls/dmband/Makefile
1590 dlls/dmcompos/Makefile
1591 dlls/dmime/Makefile
1592 dlls/dmloader/Makefile
1593 dlls/dmscript/Makefile
1594 dlls/dmstyle/Makefile
1595 dlls/dmsynth/Makefile
1596 dlls/dmusic/Makefile
1597 dlls/dmusic32/Makefile
1598 dlls/dnsapi/Makefile
1599 dlls/dnsapi/tests/Makefile
1600 dlls/dplay/Makefile
1601 dlls/dplayx/Makefile
1602 dlls/dpnet/Makefile
1603 dlls/dpnhpast/Makefile
1604 dlls/dsound/Makefile
1605 dlls/dsound/tests/Makefile
1606 dlls/dswave/Makefile
1607 dlls/dxdiagn/Makefile
1608 dlls/dxerr8/Makefile
1609 dlls/dxerr9/Makefile
1610 dlls/dxguid/Makefile
1611 dlls/gdi/Makefile
1612 dlls/gdi/tests/Makefile
1613 dlls/glu32/Makefile
1614 dlls/glut32/Makefile
1615 dlls/gphoto2.ds/Makefile
1616 dlls/hhctrl.ocx/Makefile
1617 dlls/hlink/Makefile
1618 dlls/iccvid/Makefile
1619 dlls/icmp/Makefile
1620 dlls/ifsmgr.vxd/Makefile
1621 dlls/inseng/Makefile
1622 dlls/imaadp32.acm/Makefile
1623 dlls/imagehlp/Makefile
1624 dlls/imm32/Makefile
1625 dlls/iphlpapi/Makefile
1626 dlls/iphlpapi/tests/Makefile
1627 dlls/itss/Makefile
1628 dlls/kernel/Makefile
1629 dlls/kernel/tests/Makefile
1630 dlls/lz32/Makefile
1631 dlls/lz32/tests/Makefile
1632 dlls/mapi32/Makefile
1633 dlls/mapi32/tests/Makefile
1634 dlls/mciavi32/Makefile
1635 dlls/mcicda/Makefile
1636 dlls/mciseq/Makefile
1637 dlls/mciwave/Makefile
1638 dlls/midimap/Makefile
1639 dlls/mlang/Makefile
1640 dlls/mlang/tests/Makefile
1641 dlls/mmdevldr.vxd/Makefile
1642 dlls/monodebg.vxd/Makefile
1643 dlls/mpr/Makefile
1644 dlls/mprapi/Makefile
1645 dlls/msacm32.drv/Makefile
1646 dlls/msacm32/Makefile
1647 dlls/msacm32/tests/Makefile
1648 dlls/msadp32.acm/Makefile
1649 dlls/mscms/Makefile
1650 dlls/mscms/tests/Makefile
1651 dlls/msdmo/Makefile
1652 dlls/msftedit/Makefile
1653 dlls/msg711.acm/Makefile
1654 dlls/mshtml/Makefile
1655 dlls/mshtml/tests/Makefile
1656 dlls/msi/Makefile
1657 dlls/msi/tests/Makefile
1658 dlls/msimg32/Makefile
1659 dlls/msisys.ocx/Makefile
1660 dlls/msnet32/Makefile
1661 dlls/msrle32/Makefile
1662 dlls/msvcrt/Makefile
1663 dlls/msvcrt/tests/Makefile
1664 dlls/msvcrt20/Makefile
1665 dlls/msvcrt40/Makefile
1666 dlls/msvcrtd/Makefile
1667 dlls/msvcrtd/tests/Makefile
1668 dlls/msvfw32/Makefile
1669 dlls/msvidc32/Makefile
1670 dlls/mswsock/Makefile
1671 dlls/msxml3/Makefile
1672 dlls/msxml3/tests/Makefile
1673 dlls/netapi32/Makefile
1674 dlls/netapi32/tests/Makefile
1675 dlls/newdev/Makefile
1676 dlls/ntdll/Makefile
1677 dlls/ntdll/tests/Makefile
1678 dlls/ntdsapi/Makefile
1679 dlls/objsel/Makefile
1680 dlls/odbc32/Makefile
1681 dlls/odbccp32/Makefile
1682 dlls/ole32/Makefile
1683 dlls/ole32/tests/Makefile
1684 dlls/oleacc/Makefile
1685 dlls/oleaut32/Makefile
1686 dlls/oleaut32/tests/Makefile
1687 dlls/olecli32/Makefile
1688 dlls/oledlg/Makefile
1689 dlls/olepro32/Makefile
1690 dlls/olesvr32/Makefile
1691 dlls/opengl32/Makefile
1692 dlls/powrprof/Makefile
1693 dlls/psapi/Makefile
1694 dlls/psapi/tests/Makefile
1695 dlls/qcap/Makefile
1696 dlls/quartz/Makefile
1697 dlls/quartz/tests/Makefile
1698 dlls/rasapi32/Makefile
1699 dlls/riched20/Makefile
1700 dlls/riched20/tests/Makefile
1701 dlls/riched32/Makefile
1702 dlls/rpcrt4/Makefile
1703 dlls/rpcrt4/tests/Makefile
1704 dlls/rsabase/Makefile
1705 dlls/rsabase/tests/Makefile
1706 dlls/rsaenh/Makefile
1707 dlls/rsaenh/tests/Makefile
1708 dlls/sane.ds/Makefile
1709 dlls/secur32/Makefile
1710 dlls/secur32/tests/Makefile
1711 dlls/security/Makefile
1712 dlls/sensapi/Makefile
1713 dlls/serialui/Makefile
1714 dlls/setupapi/Makefile
1715 dlls/setupapi/tests/Makefile
1716 dlls/sfc/Makefile
1717 dlls/shdocvw/Makefile
1718 dlls/shdocvw/tests/Makefile
1719 dlls/shell32/Makefile
1720 dlls/shell32/tests/Makefile
1721 dlls/shfolder/Makefile
1722 dlls/shlwapi/Makefile
1723 dlls/shlwapi/tests/Makefile
1724 dlls/snmpapi/Makefile
1725 dlls/spoolss/Makefile
1726 dlls/stdole2.tlb/Makefile
1727 dlls/stdole32.tlb/Makefile
1728 dlls/sti/Makefile
1729 dlls/strmiids/Makefile
1730 dlls/tapi32/Makefile
1731 dlls/twain_32/Makefile
1732 dlls/unicows/Makefile
1733 dlls/url/Makefile
1734 dlls/urlmon/Makefile
1735 dlls/urlmon/tests/Makefile
1736 dlls/user/Makefile
1737 dlls/user/tests/Makefile
1738 dlls/userenv/Makefile
1739 dlls/usp10/Makefile
1740 dlls/usp10/tests/Makefile
1741 dlls/uuid/Makefile
1742 dlls/uxtheme/Makefile
1743 dlls/uxtheme/tests/Makefile
1744 dlls/vdhcp.vxd/Makefile
1745 dlls/vdmdbg/Makefile
1746 dlls/version/Makefile
1747 dlls/version/tests/Makefile
1748 dlls/vmm.vxd/Makefile
1749 dlls/vnbt.vxd/Makefile
1750 dlls/vnetbios.vxd/Makefile
1751 dlls/vtdapi.vxd/Makefile
1752 dlls/vwin32.vxd/Makefile
1753 dlls/w32skrnl/Makefile
1754 dlls/winecrt0/Makefile
1755 dlls/wined3d/Makefile
1756 dlls/winedos/Makefile
1757 dlls/winemp3.acm/Makefile
1758 dlls/wineps.drv/Makefile
1759 dlls/winex11.drv/Makefile
1760 dlls/wininet/Makefile
1761 dlls/wininet/tests/Makefile
1762 dlls/winmm/Makefile
1763 dlls/winmm/joystick/Makefile
1764 dlls/winmm/tests/Makefile
1765 dlls/winmm/winealsa/Makefile
1766 dlls/winmm/winearts/Makefile
1767 dlls/winmm/wineaudioio/Makefile
1768 dlls/winmm/winecoreaudio/Makefile
1769 dlls/winmm/wineesd/Makefile
1770 dlls/winmm/winejack/Makefile
1771 dlls/winmm/winenas/Makefile
1772 dlls/winmm/wineoss/Makefile
1773 dlls/winnls32/Makefile
1774 dlls/winspool.drv/Makefile
1775 dlls/winspool.drv/tests/Makefile
1776 dlls/wintab32/Makefile
1777 dlls/wintrust/Makefile
1778 dlls/wldap32/Makefile
1779 dlls/wnaspi32/Makefile
1780 dlls/wow32/Makefile
1781 dlls/ws2_32/Makefile
1782 dlls/ws2_32/tests/Makefile
1783 dlls/wsock32/Makefile
1784 dlls/wtsapi32/Makefile
1785 documentation/Makefile
1786 fonts/Makefile
1787 include/Makefile
1788 libs/Makefile
1789 libs/port/Makefile
1790 libs/unicode/Makefile
1791 libs/wine/Makefile
1792 libs/wpp/Makefile
1793 loader/Makefile
1794 programs/Makefile
1795 programs/clock/Makefile
1796 programs/cmdlgtst/Makefile
1797 programs/control/Makefile
1798 programs/eject/Makefile
1799 programs/expand/Makefile
1800 programs/explorer/Makefile
1801 programs/hh/Makefile
1802 programs/icinfo/Makefile
1803 programs/iexplore/Makefile
1804 programs/msiexec/Makefile
1805 programs/notepad/Makefile
1806 programs/progman/Makefile
1807 programs/regedit/Makefile
1808 programs/regsvr32/Makefile
1809 programs/rpcss/Makefile
1810 programs/rundll32/Makefile
1811 programs/start/Makefile
1812 programs/taskmgr/Makefile
1813 programs/uninstaller/Makefile
1814 programs/view/Makefile
1815 programs/wcmd/Makefile
1816 programs/wineboot/Makefile
1817 programs/winebrowser/Makefile
1818 programs/winecfg/Makefile
1819 programs/wineconsole/Makefile
1820 programs/winedbg/Makefile
1821 programs/winefile/Makefile
1822 programs/winemenubuilder/Makefile
1823 programs/winemine/Makefile
1824 programs/winepath/Makefile
1825 programs/winetest/Makefile
1826 programs/winevdm/Makefile
1827 programs/winhelp/Makefile
1828 programs/winver/Makefile
1829 programs/wordpad/Makefile
1830 server/Makefile
1831 tools/Makefile
1832 tools/widl/Makefile
1833 tools/winapi/Makefile
1834 tools/winebuild/Makefile
1835 tools/winedump/Makefile
1836 tools/winegcc/Makefile
1837 tools/wmc/Makefile
1838 tools/wrc/Makefile])
1839
1840 AC_OUTPUT
1841
1842 exitcode=0
1843 if test "$have_x" = "no"
1844 then
1845   echo >&2
1846   AC_MSG_WARN([X development files not found. Wine will be built without])
1847   AC_MSG_WARN([X support, which currently does not work, and probably])
1848   AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
1849   AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
1850   exitcode=1
1851 fi
1852
1853 if test "$wine_cv_opengl_version_OK" = "no"
1854 then
1855   echo >&2
1856   AC_MSG_WARN([Old Mesa headers detected. Wine will be built without Direct3D])
1857   AC_MSG_WARN([support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
1858   exitcode=1
1859 fi
1860
1861 if test "$wine_cv_msg_freetype" = "yes"
1862 then
1863   echo >&2
1864   AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
1865   AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
1866   AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
1867   AC_MSG_WARN([to enable Wine to use TrueType fonts.])
1868   exitcode=1
1869 fi
1870
1871 if test -z "$FONTSSUBDIRS"
1872 then
1873   echo >&2
1874   if test "$FONTFORGE" = "false"
1875   then
1876     AC_MSG_WARN([FontForge is missing.])
1877   else
1878     AC_MSG_WARN([FreeType is missing.])
1879   fi
1880   AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
1881   exitcode=1
1882 fi
1883
1884 if test -z "$ALSALIBS" -a \
1885         -z "$ARTSC_LIBS" -a \
1886         -z "$AUDIOIOLIBS" -a \
1887         -z "$NASLIBS" -a \
1888         -z "$ESD_LIBS" -a \
1889         -z "$ac_cv_lib_soname_jack" -a \
1890         "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1891         "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1892         "$ac_cv_header_soundcard_h" != "yes"
1893 then
1894   echo >&2
1895   AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
1896   AC_MSG_WARN([The currently supported sound systems are:])
1897   AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
1898   exitcode=1
1899 fi
1900
1901 echo
1902 echo "Configure finished.  Do '${ac_make} depend && ${ac_make}' to compile Wine."
1903 echo
1904
1905 exit $exitcode
1906
1907 dnl Local Variables:
1908 dnl comment-start: "dnl "
1909 dnl comment-end: ""
1910 dnl comment-start-skip: "\\bdnl\\b\\s *"
1911 dnl compile-command: "autoconf && autoheader"
1912 dnl End: