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