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