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