configure: Use the correct ar tool when building Mingw import libraries.
[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(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
20
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
33
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=""
50 fi
51
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
60
61 dnl **** Check for some programs ****
62
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)
68
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)
85
86 AC_PATH_XTRA
87 AC_PROG_LEX
88
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.])
95 fi
96
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.])
102 fi
103
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
120
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'
127 fi
128 AC_SUBST(LINT)
129 AC_SUBST(LINTFLAGS)
130
131 dnl Check for various programs
132 AC_CHECK_PROGS(FONTFORGE, fontforge, false)
133 AC_CHECK_PROGS(PKG_CONFIG, pkg-config, false)
134
135 case $host_cpu in
136   *i[[3456789]]86*)
137     AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
138     ;;
139 esac
140
141 dnl **** Check for some libraries ****
142
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"))
151
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,"")
158
159 dnl **** Check for header files ****
160
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
271 )
272 AC_HEADER_STAT()
273
274 dnl **** Checks for headers that depend on other ones ****
275
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])
281
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])
287
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])
296
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])
308
309 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
310
311 AC_CHECK_HEADERS([pthread_np.h],,,
312 [#ifdef HAVE_PTHREAD_H
313 #include <pthread.h>
314 #endif])
315
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])
324
325 dnl Check for broken kernel header that doesn't define __user
326 AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])
327
328 dnl **** Check for X11 ****
329
330 if test "$have_x" = "yes"
331 then
332     XLIB="-lXext -lX11"
333     ac_save_CPPFLAGS="$CPPFLAGS"
334     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
335
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])
353
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
361
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
369
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
377
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
387
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
395
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
404
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
412
413     dnl *** End of X11/Xlib.h check
414
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             )
433
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)
443
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])])
464
465     CPPFLAGS="$ac_save_CPPFLAGS"
466     XFILES='$(XFILES)'
467 else
468     XLIB=""
469     X_CFLAGS=""
470     X_LIBS=""
471 fi
472
473 dnl **** Check for libxml2 ****
474
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"
509 fi
510
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"
528 fi
529
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"])
538 fi
539 ac_save_LIBS="$LIBS"
540 LIBS="$LIBS $CURSESLIBS"
541 AC_CHECK_FUNCS(mousemask)
542 LIBS="$ac_save_LIBS"
543
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"
565 fi
566
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"
596 fi
597
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"
615 fi
616
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"])
624 fi
625
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"])
633 fi
634
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])
651 fi
652
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
664 fi
665
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
718 fi
719
720 dnl Only build the fonts dir if we have both freetype and fontforge
721 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
722 then
723   AC_SUBST(FONTSSUBDIRS,"fonts")
724 fi
725
726 dnl **** Check for parport (currently Linux only) ****
727 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
728  AC_TRY_COMPILE(
729    [#include <linux/ppdev.h>],
730    [ioctl (1,PPCLAIM,0)],
731    [ac_cv_c_ppdev="yes"],
732    [ac_cv_c_ppdev="no"])
733  )
734 if test "$ac_cv_c_ppdev" = "yes"
735 then
736     AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
737 fi
738
739 dnl **** Check for va_copy ****
740 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
741  AC_TRY_LINK(
742    [#include <stdarg.h>],
743    [va_list ap1, ap2;
744     va_copy(ap1,ap2);
745    ],
746    [ac_cv_c_va_copy="yes"],
747    [ac_cv_c_va_copy="no"])
748  )
749 if test "$ac_cv_c_va_copy" = "yes"
750 then
751     AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
752 fi
753 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
754  AC_TRY_LINK(
755    [#include <stdarg.h>],
756    [va_list ap1, ap2;
757     __va_copy(ap1,ap2);
758    ],
759    [ac_cv_c___va_copy="yes"],
760    [ac_cv_c___va_copy="no"])
761  )
762 if test "$ac_cv_c___va_copy" = "yes"
763 then
764     AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
765 fi
766
767 dnl **** Check for sigsetjmp ****
768 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
769  AC_TRY_LINK(
770    [#include <setjmp.h>],
771    [sigjmp_buf buf;
772     sigsetjmp( buf, 1 );
773     siglongjmp( buf, 1 );],
774    [ac_cv_c_sigsetjmp="yes"],
775    [ac_cv_c_sigsetjmp="no"])
776  )
777 if test "$ac_cv_c_sigsetjmp" = "yes"
778 then
779     AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
780 fi
781
782 dnl **** Check for pthread_rwlock_t ****
783 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
784 #include <pthread.h>])
785
786 dnl **** Check for pthread functions ****
787 WINE_CHECK_LIB_FUNCS(\
788         pthread_attr_get_np \
789         pthread_getattr_np \
790         pthread_get_stackaddr_np \
791         pthread_get_stacksize_np,
792         [$LIBPTHREAD])
793
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"
822 fi
823
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"
843 fi
844
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"])])
858 fi
859
860 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
861
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])])
868 fi
869
870 dnl **** Check for capi4linux ****
871
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])])
875 fi
876
877 dnl **** Check for gcc specific options ****
878
879 AC_SUBST(EXTRACFLAGS,"")
880 if test "x${GCC}" = "xyes"
881 then
882   EXTRACFLAGS="-Wall -pipe"
883
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;
895
896   exit( Array[[1]] != -2 || L[[2]] != 3);
897 }],
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
905
906   dnl Check for some compiler flags
907
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])
914
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
926
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
939 fi
940
941 dnl **** Check how to define a function in assembly code ****
942
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")])]))
952
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
964
965 dnl **** Check for underscore on external symbols ****
966
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"))
972
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])
979 fi
980
981 dnl **** Check for working dll ****
982
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,"")
990
991 case $host_os in
992   cygwin*|mingw32*)
993     AC_CHECK_TOOL(DLLTOOL,dlltool,false)
994     AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
995     AC_CHECK_TOOL(MINGWAR,ar,false)
996     if test "$DLLWRAP" = "false"; then
997       LIBEXT="a"
998     else
999       dnl FIXME - check whether dllwrap works correctly...
1000       LIBEXT="dll"
1001     fi
1002     IMPLIBEXT="a"
1003     dnl We can't build 16-bit NE dlls
1004     WIN16_FILES=""
1005     WIN16_INSTALL=""
1006     ;;
1007   darwin*|macosx*)
1008     DLLEXT=".so"
1009     LIBEXT="dylib"
1010     DLLFLAGS="$DLLFLAGS -fPIC"
1011     LDDLLFLAGS="-bundle -multiply_defined suppress"
1012     LIBWINE_LDFLAGS="-multiply_defined suppress"
1013     LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME)"
1014     STRIP="$STRIP -u -r"
1015     dnl declare needed frameworks
1016     AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1017     AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1018     AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7f000000"])
1019     if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes"
1020     then
1021         dnl DiskArbitration API is not public on Darwin < 8.0, use it only if header found
1022         AC_SUBST(DISKARBITRATIONLIB,"-framework DiskArbitration -framework CoreFoundation")
1023     fi
1024     if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
1025     then
1026         dnl CoreServices needed by AudioUnit
1027         AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
1028     fi
1029     case $host_cpu in
1030       *powerpc*)
1031         LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"  dnl FIXME
1032         ;;
1033     esac
1034     dnl Enable quartz driver on Mac OS X
1035     if test "$ac_cv_header_Carbon_Carbon_h" = "yes"
1036     then
1037         AC_SUBST(CARBONLIB,"-framework Carbon")
1038         QUARTZFILES='$(QUARTZFILES)'
1039     fi
1040     ;;
1041   *)
1042     DLLFLAGS="$DLLFLAGS -fPIC"
1043     DLLEXT=".so"
1044     AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1045         [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-Bsymbolic],
1046                               ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1047     if test "$ac_cv_c_dll_gnuelf" = "yes"
1048     then
1049       LDSHARED="\$(CC) -shared"
1050       LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1051       WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
1052                       [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"],
1053                       [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
1054                                        [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"])])
1055
1056       WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs], [LDDLLFLAGS="$LDDLLFLAGS,-z,defs"])
1057
1058       WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1059                       [LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"])
1060
1061       echo '{ global: *; };' >conftest.map
1062       WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1063                       [LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"])
1064       rm -f conftest.map
1065
1066       WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1067                       [AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])])
1068
1069       WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1070                       [LIBWINE_LDFLAGS="-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1071
1072       case $host_cpu in
1073         *i[[3456789]]86* | x86_64)
1074           WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1075                           [LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"])
1076           ;;
1077       esac
1078
1079     else
1080       AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1081           [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1082                                 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1083       if test "$ac_cv_c_dll_unixware" = "yes"
1084       then
1085         LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1086         LDDLLFLAGS="-Wl,-G,-B,symbolic"
1087
1088       else
1089         AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1090           [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1091         if test "$ac_cv_c_dll_hpux" = "yes"
1092         then
1093           LIBEXT="sl"
1094           DLLEXT=".sl"
1095           LDDLLFLAGS="-shared -fPIC"
1096           LDSHARED="\$(CC) -shared"
1097         fi
1098       fi
1099     fi
1100
1101     dnl Check for cross compiler to build test programs
1102     AC_SUBST(CROSSTEST,"")
1103     if test "$cross_compiling" = "no"
1104     then
1105       WINE_CHECK_MINGW_PROG(CROSSCC,gcc,false)
1106       WINE_CHECK_MINGW_PROG(DLLTOOL,dlltool,false)
1107       WINE_CHECK_MINGW_PROG(CROSSWINDRES,windres,false)
1108       WINE_CHECK_MINGW_PROG(MINGWAR,ar,false)
1109       if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1110     fi
1111     ;;
1112 esac
1113
1114 if test "$LIBEXT" = "a"; then
1115   AC_MSG_ERROR(
1116 [could not find a way to build shared libraries.
1117 It is currently not possible to build Wine without shared library
1118 (.so) support to allow transparent switch between .so and .dll files.
1119 If you are using Linux, you will need a newer binutils.]
1120 )
1121 fi
1122
1123 case $build_os in
1124   cygwin*|mingw32*)
1125     AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\"") ;;
1126   darwin*|macosx*)
1127     AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\"") ;;
1128   *)
1129     AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\"") ;;
1130 esac
1131
1132 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1133 case $host_os in
1134   mingw32*)
1135     AC_SUBST(CRTLIBS,"-lmsvcrt")
1136     AC_SUBST(SOCKETLIBS,"-lws2_32")
1137     ;;
1138 esac
1139
1140 AC_SUBST(MAIN_BINARY,"wine-pthread")  dnl Default value
1141 case $host_cpu in
1142   *i[[3456789]]86*)
1143     case $host_os in
1144       linux* | k*bsd*-gnu)
1145         AC_SUBST(MAIN_BINARY,"wine-glibc")
1146         AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1147     esac
1148     ;;
1149 esac
1150
1151 dnl **** Get the soname for libraries that we load dynamically ****
1152
1153 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1154 then
1155   WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1156   WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1157   WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1158   WINE_GET_SONAME(Xinerama,XineramaQueryScreens,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1159   WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1160   WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1161   WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1162   WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1163   WINE_GET_SONAME(hal,libhal_ctx_new)
1164   WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1165   WINE_GET_SONAME(cups,cupsGetDefault)
1166   WINE_GET_SONAME(jack,jack_client_new)
1167   WINE_GET_SONAME(fontconfig,FcInit)
1168   WINE_GET_SONAME(ssl,SSL_library_init)
1169   WINE_GET_SONAME(crypto,BIO_new_socket)
1170   WINE_GET_SONAME(ncurses,waddch)
1171   WINE_GET_SONAME(curses,waddch)
1172   WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1173   WINE_GET_SONAME(capi20,capi20_isinstalled)
1174 fi
1175
1176
1177 dnl **** Check for functions ****
1178
1179 AC_CHECK_FUNCS(\
1180         _pclose \
1181         _popen \
1182         _snprintf \
1183         _spawnvp \
1184         _stricmp \
1185         _strnicmp \
1186         _vsnprintf \
1187         asctime_r \
1188         chsize \
1189         clone \
1190         connect \
1191         dlopen \
1192         epoll_create \
1193         ffs \
1194         finite \
1195         fork \
1196         fpclass \
1197         fstatfs \
1198         fstatvfs \
1199         ftruncate \
1200         futimes \
1201         futimesat \
1202         getaddrinfo \
1203         getdirentries \
1204         gethostbyname \
1205         getnameinfo \
1206         getnetbyname \
1207         getopt_long \
1208         getpagesize \
1209         getprotobyname \
1210         getprotobynumber \
1211         getpwuid \
1212         getservbyport \
1213         gettid \
1214         gettimeofday \
1215         getuid \
1216         inet_aton \
1217         inet_network \
1218         kqueue \
1219         lstat \
1220         memmove \
1221         mmap \
1222         pclose \
1223         poll \
1224         popen \
1225         prctl \
1226         pread \
1227         pwrite \
1228         readlink \
1229         rfork \
1230         sched_yield \
1231         select \
1232         sendmsg \
1233         setrlimit \
1234         settimeofday \
1235         sigaltstack \
1236         sigprocmask \
1237         snprintf \
1238         spawnvp \
1239         statfs \
1240         statvfs \
1241         strcasecmp \
1242         strerror \
1243         strncasecmp \
1244         strtold \
1245         tcgetattr \
1246         timegm \
1247         usleep \
1248         vsnprintf \
1249         wait4 \
1250         waitpid \
1251 )
1252
1253 dnl Check for -ldl
1254 if test "$ac_cv_func_dlopen" = no
1255 then
1256     AC_CHECK_LIB(dl,dlopen,[AC_DEFINE(HAVE_DLOPEN,1) AC_SUBST(LIBDL,"-ldl")])
1257 fi
1258 WINE_CHECK_LIB_FUNCS(dladdr,[$LIBDL])
1259
1260 dnl Check for -lpoll for Mac OS X/Darwin
1261 if test "$ac_cv_func_poll" = no
1262 then
1263     AC_CHECK_LIB(poll,poll,[AC_DEFINE(HAVE_POLL,1) AC_SUBST(LIBPOLL,"-lpoll")])
1264 fi
1265
1266 dnl Check for -lnsl for Solaris
1267 if test "$ac_cv_func_gethostbyname" = no
1268 then
1269     AC_CHECK_LIB(nsl,gethostbyname)
1270 fi
1271
1272 dnl Check for -lsocket for Solaris
1273 if test "$ac_cv_func_connect" = no
1274 then
1275     AC_CHECK_LIB(socket,connect)
1276 fi
1277
1278 dnl Check for -lresolv for Solaris
1279 if test "$ac_cv_func_inet_aton" = no
1280 then
1281     AC_CHECK_LIB(resolv,inet_aton)
1282 fi
1283
1284 dnl **** Check for types ****
1285
1286 AC_C_CONST
1287 AC_C_INLINE
1288 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1289 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1290 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1291
1292 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1293 [#ifdef HAVE_LINUX_INPUT_H
1294 #include <linux/input.h>
1295 #endif])
1296
1297 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1298                AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1299                            wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1300 if test "$wine_cv_have_sigaddset" = "yes"
1301 then
1302   AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1303 fi
1304
1305
1306 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1307         wine_cv_linux_gethostbyname_r_6,
1308         AC_TRY_LINK([
1309 #include <netdb.h>
1310         ], [
1311     char *name=NULL;
1312     struct hostent he;
1313     struct hostent *result;
1314     char *buf=NULL;
1315     int bufsize=0;
1316     int res,errnr;
1317     char *addr=NULL;
1318     int addrlen=0;
1319     int addrtype=0;
1320     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1321     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1322     ],
1323         wine_cv_linux_gethostbyname_r_6=yes,
1324         wine_cv_linux_gethostbyname_r_6=no
1325         )
1326    )
1327    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1328    then
1329       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1330                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1331    fi
1332
1333 if test "$ac_cv_header_linux_joystick_h" = "yes"
1334 then
1335    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1336         wine_cv_linux_joystick_22_api,
1337         AC_TRY_COMPILE([
1338         #include <sys/ioctl.h>
1339         #include <linux/joystick.h>
1340
1341         struct js_event blub;
1342         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1343         #error "no 2.2 header"
1344         #endif
1345         ],/*empty*/,
1346         wine_cv_linux_joystick_22_api=yes,
1347         wine_cv_linux_joystick_22_api=no,
1348         wine_cv_linux_joystick_22_api=no
1349         )
1350    )
1351    if test "$wine_cv_linux_joystick_22_api" = "yes"
1352    then
1353       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1354                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1355    fi
1356 fi
1357
1358 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1359
1360 dnl Check for statfs members
1361 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],,,
1362 [#include <sys/types.h>
1363 #ifdef HAVE_SYS_PARAM_H
1364 # include <sys/param.h>
1365 #endif
1366 #ifdef HAVE_SYS_MOUNT_H
1367 # include <sys/mount.h>
1368 #endif
1369 #ifdef HAVE_SYS_VFS_H
1370 # include <sys/vfs.h>
1371 #endif
1372 #ifdef HAVE_SYS_STATFS_H
1373 # include <sys/statfs.h>
1374 #endif])
1375
1376 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1377 [#ifdef HAVE_SYS_STATVFS_H
1378 #include <sys/statvfs.h>
1379 #endif])
1380
1381 dnl Check for socket structure members
1382 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1383 [#include <sys/types.h>
1384 #ifdef HAVE_SYS_SOCKET_H
1385 # include <sys/socket.h>
1386 #endif
1387 #ifdef HAVE_SYS_UN_H
1388 # include <sys/un.h>
1389 #endif])
1390
1391 dnl Check for scsireq_t and sg_io_hdr_t members
1392 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1393 [#include <sys/types.h>
1394 #ifdef HAVE_SCSI_SG_H
1395 #include <scsi/sg.h>
1396 #endif])
1397
1398 dnl Check for siginfo_t members
1399 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1400
1401 dnl Check for struct mtget members
1402 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1403 [#include <sys/types.h>
1404 #ifdef HAVE_SYS_MTIO_H
1405 #include <sys/mtio.h>
1406 #endif])
1407
1408 dnl Check for struct option
1409 AC_CHECK_MEMBERS([struct option.name],,,
1410 [#ifdef HAVE_GETOPT_H
1411 #include <getopt.h>
1412 #endif])
1413
1414 dnl Check for stat.st_blocks
1415 AC_CHECK_MEMBERS([struct stat.st_blocks])
1416
1417 dnl Check for sin6_scope_id
1418 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1419 [#ifdef HAVE_SYS_TYPES_H
1420 #include <sys/types.h>
1421 #endif
1422 #ifdef HAVE_NETINET_IN_H
1423 #include <netinet/in.h>
1424 #endif])
1425
1426 dnl Check for ns_msg ptr member
1427 AC_CHECK_MEMBERS([ns_msg._msg_ptr],,,
1428 [#ifdef HAVE_SYS_TYPES_H
1429 #include <sys/types.h>
1430 #endif
1431 #ifdef HAVE_NETINET_IN_H
1432 # include <netinet/in.h>
1433 #endif
1434 #ifdef HAVE_ARPA_NAMESER_H
1435 # include <arpa/nameser.h>
1436 #endif])
1437
1438 dnl Check for the external timezone variables timezone and daylight
1439 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1440                AC_TRY_LINK([#include <time.h>],[timezone = 1],
1441                            ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1442 if test "$ac_cv_have_timezone" = "yes"
1443 then
1444     AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1445 fi
1446 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1447                AC_TRY_LINK([#include <time.h>],[daylight = 1],
1448                            ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1449 if test "$ac_cv_have_daylight" = "yes"
1450 then
1451     AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1452 fi
1453
1454 dnl *** check for the need to define platform-specific symbols
1455
1456 case $host_cpu in
1457   *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1458   *x86_64*)         WINE_CHECK_DEFINE([__x86_64__]) ;;
1459   *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
1460   *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
1461   *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
1462 esac
1463
1464 case $host_vendor in
1465   *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1466 esac
1467
1468 dnl **** Generate output files ****
1469
1470 dnl autoconf versions before 2.59d need backslashes to escape newlines in subst variables
1471 AC_SUBST(DEPENDENCIES,m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2.59d]), -1,
1472 ["### Dependencies:\\
1473 \\
1474 .INIT: Makefile\\
1475 .BEGIN: Makefile\\
1476 Makefile: dummy\\
1477         -\$(MAKEDEP) -C\$(SRCDIR) -S\$(TOPSRCDIR) -T\$(TOPOBJDIR) \$(EXTRAINCL) \$(DEPEND_SRCS)\\
1478 \\
1479 \$(ALL_OBJS): \$(IDL_H_SRCS:.idl=.h)\\
1480 \$(IDL_GEN_C_SRCS:.c=.o): \$(IDL_GEN_C_SRCS)\\
1481 \$(LEX_SRCS:.l=.yy.o): \$(LEX_SRCS:.l=.yy.c)\\
1482 \$(BISON_SRCS:.y=.tab.o): \$(BISON_SRCS:.y=.tab.c)"],
1483 ["### Dependencies:
1484
1485 .INIT: Makefile
1486 .BEGIN: Makefile
1487 Makefile: dummy
1488         -\$(MAKEDEP) -C\$(SRCDIR) -S\$(TOPSRCDIR) -T\$(TOPOBJDIR) \$(EXTRAINCL) \$(DEPEND_SRCS)
1489
1490 \$(ALL_OBJS): \$(IDL_H_SRCS:.idl=.h)
1491 \$(IDL_GEN_C_SRCS:.c=.o): \$(IDL_GEN_C_SRCS)
1492 \$(LEX_SRCS:.l=.yy.o): \$(LEX_SRCS:.l=.yy.c)
1493 \$(BISON_SRCS:.y=.tab.o): \$(BISON_SRCS:.y=.tab.c)"]))
1494
1495 AH_TOP([#define __WINE_CONFIG_H])
1496
1497 AC_CONFIG_COMMANDS([include/stamp-h], [echo timestamp > include/stamp-h])
1498
1499 WINE_CONFIG_EXTRA_DIR(dlls/gdi32/enhmfdrv)
1500 WINE_CONFIG_EXTRA_DIR(dlls/gdi32/mfdrv)
1501 WINE_CONFIG_EXTRA_DIR(dlls/kernel32/nls)
1502 WINE_CONFIG_EXTRA_DIR(dlls/user32/resources)
1503 WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
1504 WINE_CONFIG_EXTRA_DIR(include/wine)
1505
1506 MAKE_RULES=Make.rules
1507 AC_SUBST_FILE(MAKE_RULES)
1508
1509 MAKE_DLL_RULES=dlls/Makedll.rules
1510 AC_SUBST_FILE(MAKE_DLL_RULES)
1511
1512 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1513 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1514
1515 MAKE_TEST_RULES=dlls/Maketest.rules
1516 AC_SUBST_FILE(MAKE_TEST_RULES)
1517
1518 MAKE_PROG_RULES=programs/Makeprog.rules
1519 AC_SUBST_FILE(MAKE_PROG_RULES)
1520
1521 AC_CONFIG_FILES([
1522 Make.rules
1523 dlls/Makedll.rules
1524 dlls/Makeimplib.rules
1525 dlls/Maketest.rules
1526 programs/Makeprog.rules
1527 Makefile
1528 dlls/Makefile
1529 dlls/activeds/Makefile
1530 dlls/advapi32/Makefile
1531 dlls/advapi32/tests/Makefile
1532 dlls/advpack/Makefile
1533 dlls/advpack/tests/Makefile
1534 dlls/amstream/Makefile
1535 dlls/atl/Makefile
1536 dlls/avicap32/Makefile
1537 dlls/avifil32/Makefile
1538 dlls/cabinet/Makefile
1539 dlls/cabinet/tests/Makefile
1540 dlls/capi2032/Makefile
1541 dlls/cards/Makefile
1542 dlls/cfgmgr32/Makefile
1543 dlls/clusapi/Makefile
1544 dlls/comcat/Makefile
1545 dlls/comcat/tests/Makefile
1546 dlls/comctl32/Makefile
1547 dlls/comctl32/tests/Makefile
1548 dlls/comdlg32/Makefile
1549 dlls/comdlg32/tests/Makefile
1550 dlls/compstui/Makefile
1551 dlls/crtdll/Makefile
1552 dlls/crypt32/Makefile
1553 dlls/crypt32/tests/Makefile
1554 dlls/cryptdll/Makefile
1555 dlls/cryptnet/Makefile
1556 dlls/ctl3d32/Makefile
1557 dlls/d3d8/Makefile
1558 dlls/d3d8/tests/Makefile
1559 dlls/d3d9/Makefile
1560 dlls/d3d9/tests/Makefile
1561 dlls/d3dim/Makefile
1562 dlls/d3drm/Makefile
1563 dlls/d3dx8/Makefile
1564 dlls/d3dxof/Makefile
1565 dlls/dbghelp/Makefile
1566 dlls/dciman32/Makefile
1567 dlls/ddraw/Makefile
1568 dlls/ddraw/tests/Makefile
1569 dlls/ddrawex/Makefile
1570 dlls/devenum/Makefile
1571 dlls/dinput/Makefile
1572 dlls/dinput/tests/Makefile
1573 dlls/dinput8/Makefile
1574 dlls/dmband/Makefile
1575 dlls/dmcompos/Makefile
1576 dlls/dmime/Makefile
1577 dlls/dmloader/Makefile
1578 dlls/dmscript/Makefile
1579 dlls/dmstyle/Makefile
1580 dlls/dmsynth/Makefile
1581 dlls/dmusic/Makefile
1582 dlls/dmusic32/Makefile
1583 dlls/dnsapi/Makefile
1584 dlls/dnsapi/tests/Makefile
1585 dlls/dplay/Makefile
1586 dlls/dplayx/Makefile
1587 dlls/dpnet/Makefile
1588 dlls/dpnhpast/Makefile
1589 dlls/dsound/Makefile
1590 dlls/dsound/tests/Makefile
1591 dlls/dswave/Makefile
1592 dlls/dxdiagn/Makefile
1593 dlls/dxerr8/Makefile
1594 dlls/dxerr9/Makefile
1595 dlls/dxguid/Makefile
1596 dlls/gdi32/Makefile
1597 dlls/gdi32/tests/Makefile
1598 dlls/glu32/Makefile
1599 dlls/gphoto2.ds/Makefile
1600 dlls/hhctrl.ocx/Makefile
1601 dlls/hid/Makefile
1602 dlls/hlink/Makefile
1603 dlls/hlink/tests/Makefile
1604 dlls/iccvid/Makefile
1605 dlls/icmp/Makefile
1606 dlls/ifsmgr.vxd/Makefile
1607 dlls/imaadp32.acm/Makefile
1608 dlls/imagehlp/Makefile
1609 dlls/imm32/Makefile
1610 dlls/infosoft/Makefile
1611 dlls/infosoft/tests/Makefile
1612 dlls/inseng/Makefile
1613 dlls/iphlpapi/Makefile
1614 dlls/iphlpapi/tests/Makefile
1615 dlls/itss/Makefile
1616 dlls/itss/tests/Makefile
1617 dlls/kernel32/Makefile
1618 dlls/kernel32/tests/Makefile
1619 dlls/localspl/Makefile
1620 dlls/localspl/tests/Makefile
1621 dlls/lz32/Makefile
1622 dlls/lz32/tests/Makefile
1623 dlls/mapi32/Makefile
1624 dlls/mapi32/tests/Makefile
1625 dlls/mciavi32/Makefile
1626 dlls/mcicda/Makefile
1627 dlls/mciseq/Makefile
1628 dlls/mciwave/Makefile
1629 dlls/midimap/Makefile
1630 dlls/mlang/Makefile
1631 dlls/mlang/tests/Makefile
1632 dlls/mmdevldr.vxd/Makefile
1633 dlls/monodebg.vxd/Makefile
1634 dlls/mpr/Makefile
1635 dlls/mprapi/Makefile
1636 dlls/msacm32.drv/Makefile
1637 dlls/msacm32/Makefile
1638 dlls/msacm32/tests/Makefile
1639 dlls/msadp32.acm/Makefile
1640 dlls/mscms/Makefile
1641 dlls/mscms/tests/Makefile
1642 dlls/mscoree/Makefile
1643 dlls/msdmo/Makefile
1644 dlls/msftedit/Makefile
1645 dlls/msg711.acm/Makefile
1646 dlls/mshtml/Makefile
1647 dlls/mshtml/tests/Makefile
1648 dlls/msi/Makefile
1649 dlls/msi/tests/Makefile
1650 dlls/msimg32/Makefile
1651 dlls/msisys.ocx/Makefile
1652 dlls/msnet32/Makefile
1653 dlls/msrle32/Makefile
1654 dlls/msvcrt/Makefile
1655 dlls/msvcrt/tests/Makefile
1656 dlls/msvcrt20/Makefile
1657 dlls/msvcrt40/Makefile
1658 dlls/msvcrtd/Makefile
1659 dlls/msvcrtd/tests/Makefile
1660 dlls/msvfw32/Makefile
1661 dlls/msvidc32/Makefile
1662 dlls/mswsock/Makefile
1663 dlls/msxml3/Makefile
1664 dlls/msxml3/tests/Makefile
1665 dlls/nddeapi/Makefile
1666 dlls/netapi32/Makefile
1667 dlls/netapi32/tests/Makefile
1668 dlls/newdev/Makefile
1669 dlls/ntdll/Makefile
1670 dlls/ntdll/tests/Makefile
1671 dlls/ntdsapi/Makefile
1672 dlls/objsel/Makefile
1673 dlls/odbc32/Makefile
1674 dlls/odbccp32/Makefile
1675 dlls/ole32/Makefile
1676 dlls/ole32/tests/Makefile
1677 dlls/oleacc/Makefile
1678 dlls/oleaut32/Makefile
1679 dlls/oleaut32/tests/Makefile
1680 dlls/olecli32/Makefile
1681 dlls/oledlg/Makefile
1682 dlls/olepro32/Makefile
1683 dlls/olesvr32/Makefile
1684 dlls/opengl32/Makefile
1685 dlls/powrprof/Makefile
1686 dlls/psapi/Makefile
1687 dlls/psapi/tests/Makefile
1688 dlls/pstorec/Makefile
1689 dlls/qcap/Makefile
1690 dlls/quartz/Makefile
1691 dlls/quartz/tests/Makefile
1692 dlls/query/Makefile
1693 dlls/rasapi32/Makefile
1694 dlls/resutils/Makefile
1695 dlls/riched20/Makefile
1696 dlls/riched20/tests/Makefile
1697 dlls/riched32/Makefile
1698 dlls/rpcrt4/Makefile
1699 dlls/rpcrt4/tests/Makefile
1700 dlls/rsabase/Makefile
1701 dlls/rsabase/tests/Makefile
1702 dlls/rsaenh/Makefile
1703 dlls/rsaenh/tests/Makefile
1704 dlls/sane.ds/Makefile
1705 dlls/secur32/Makefile
1706 dlls/secur32/tests/Makefile
1707 dlls/security/Makefile
1708 dlls/sensapi/Makefile
1709 dlls/serialui/Makefile
1710 dlls/setupapi/Makefile
1711 dlls/setupapi/tests/Makefile
1712 dlls/sfc/Makefile
1713 dlls/shdoclc/Makefile
1714 dlls/shdocvw/Makefile
1715 dlls/shdocvw/tests/Makefile
1716 dlls/shell32/Makefile
1717 dlls/shell32/tests/Makefile
1718 dlls/shfolder/Makefile
1719 dlls/shlwapi/Makefile
1720 dlls/shlwapi/tests/Makefile
1721 dlls/snmpapi/Makefile
1722 dlls/spoolss/Makefile
1723 dlls/stdole2.tlb/Makefile
1724 dlls/stdole32.tlb/Makefile
1725 dlls/sti/Makefile
1726 dlls/strmiids/Makefile
1727 dlls/svrapi/Makefile
1728 dlls/tapi32/Makefile
1729 dlls/twain_32/Makefile
1730 dlls/unicows/Makefile
1731 dlls/url/Makefile
1732 dlls/urlmon/Makefile
1733 dlls/urlmon/tests/Makefile
1734 dlls/user32/Makefile
1735 dlls/user32/tests/Makefile
1736 dlls/userenv/Makefile
1737 dlls/usp10/Makefile
1738 dlls/usp10/tests/Makefile
1739 dlls/uuid/Makefile
1740 dlls/uxtheme/Makefile
1741 dlls/uxtheme/tests/Makefile
1742 dlls/vdhcp.vxd/Makefile
1743 dlls/vdmdbg/Makefile
1744 dlls/version/Makefile
1745 dlls/version/tests/Makefile
1746 dlls/vmm.vxd/Makefile
1747 dlls/vnbt.vxd/Makefile
1748 dlls/vnetbios.vxd/Makefile
1749 dlls/vtdapi.vxd/Makefile
1750 dlls/vwin32.vxd/Makefile
1751 dlls/w32skrnl/Makefile
1752 dlls/winecrt0/Makefile
1753 dlls/wined3d/Makefile
1754 dlls/winedos/Makefile
1755 dlls/winejoystick.drv/Makefile
1756 dlls/winemp3.acm/Makefile
1757 dlls/wineps.drv/Makefile
1758 dlls/winequartz.drv/Makefile
1759 dlls/winex11.drv/Makefile
1760 dlls/wininet/Makefile
1761 dlls/wininet/tests/Makefile
1762 dlls/winmm/Makefile
1763 dlls/winmm/tests/Makefile
1764 dlls/winmm/winealsa/Makefile
1765 dlls/winmm/winearts/Makefile
1766 dlls/winmm/wineaudioio/Makefile
1767 dlls/winmm/winecoreaudio/Makefile
1768 dlls/winmm/wineesd/Makefile
1769 dlls/winmm/winejack/Makefile
1770 dlls/winmm/winenas/Makefile
1771 dlls/winmm/wineoss/Makefile
1772 dlls/winnls32/Makefile
1773 dlls/winspool.drv/Makefile
1774 dlls/winspool.drv/tests/Makefile
1775 dlls/wintab32/Makefile
1776 dlls/wintrust/Makefile
1777 dlls/wintrust/tests/Makefile
1778 dlls/wldap32/Makefile
1779 dlls/wnaspi32/Makefile
1780 dlls/wow32/Makefile
1781 dlls/ws2_32/Makefile
1782 dlls/ws2_32/tests/Makefile
1783 dlls/wsock32/Makefile
1784 dlls/wtsapi32/Makefile
1785 documentation/Makefile
1786 fonts/Makefile
1787 include/Makefile
1788 libs/Makefile
1789 libs/port/Makefile
1790 libs/wine/Makefile
1791 libs/wpp/Makefile
1792 loader/Makefile
1793 programs/Makefile
1794 programs/clock/Makefile
1795 programs/cmd/Makefile
1796 programs/cmdlgtst/Makefile
1797 programs/control/Makefile
1798 programs/eject/Makefile
1799 programs/expand/Makefile
1800 programs/explorer/Makefile
1801 programs/hh/Makefile
1802 programs/icinfo/Makefile
1803 programs/iexplore/Makefile
1804 programs/msiexec/Makefile
1805 programs/notepad/Makefile
1806 programs/oleview/Makefile
1807 programs/progman/Makefile
1808 programs/regedit/Makefile
1809 programs/regsvr32/Makefile
1810 programs/rpcss/Makefile
1811 programs/rundll32/Makefile
1812 programs/start/Makefile
1813 programs/taskmgr/Makefile
1814 programs/uninstaller/Makefile
1815 programs/view/Makefile
1816 programs/wineboot/Makefile
1817 programs/winebrowser/Makefile
1818 programs/winecfg/Makefile
1819 programs/wineconsole/Makefile
1820 programs/winedbg/Makefile
1821 programs/winefile/Makefile
1822 programs/winemenubuilder/Makefile
1823 programs/winemine/Makefile
1824 programs/winepath/Makefile
1825 programs/winetest/Makefile
1826 programs/winevdm/Makefile
1827 programs/winhelp/Makefile
1828 programs/winver/Makefile
1829 programs/wordpad/Makefile
1830 server/Makefile
1831 tools/Makefile
1832 tools/widl/Makefile
1833 tools/winebuild/Makefile
1834 tools/winedump/Makefile
1835 tools/winegcc/Makefile
1836 tools/wmc/Makefile
1837 tools/wrc/Makefile])
1838
1839 AC_OUTPUT
1840
1841 dnl **** Display messages about additional packages ***
1842
1843 if test "$no_create" = "yes"
1844 then
1845   exit 0
1846 fi
1847
1848 if test "$verbose" = "yes"
1849 then
1850   dnl **** libcapi20-dev devel package ***
1851   if test "$ac_cv_header_capi20_h" != "yes" -o "$ac_cv_header_linux_capi_h" != "yes"
1852   then
1853     echo >&2
1854     AC_MSG_NOTICE([libcapi20 development files not found.])
1855     AC_MSG_NOTICE([Wine will be built without ISDN support. (capi2032.dll)])
1856   fi
1857
1858   dnl **** libcupsys-dev devel package ***
1859   if test "$ac_cv_header_cups_cups_h" != "yes"
1860   then
1861     echo >&2
1862     AC_MSG_NOTICE([libcups development files not found.])
1863     AC_MSG_NOTICE([Wine will be built without CUPS support.])
1864   fi
1865
1866   dnl **** libcurses devel package: see libncurses ***
1867   dnl **** libdbus-1 devel package ***
1868   dnl **** libdbus-1-dev is required for libhal-dev ***
1869
1870   dnl **** libgphoto2 devel package ***
1871   if test "$ac_cv_header_gphoto2_camera_h" != "yes"
1872   then
1873     echo >&2
1874     AC_MSG_NOTICE([libgphoto2 development files not found.])
1875     if test "$ac_cv_header_sane_sane_h" = "yes"
1876     then
1877       AC_MSG_NOTICE([Wine will be built with limited Digital Camera support. (twain_32.dll)])
1878     else
1879       AC_MSG_NOTICE([Wine will be built without Digital Camera support. (gphoto2.ds/twain_32.dll)])
1880     fi
1881   fi
1882
1883   dnl **** libhal devel package ***
1884   dnl **** libhal-dev depends on libdbus-1-dev ***
1885   if test "$ac_cv_header_hal_libhal_h" != "yes"
1886   then
1887     echo >&2
1888     AC_MSG_NOTICE([libhal development files not found.])
1889     AC_MSG_NOTICE([Wine will be built without dynamic device support. (explorer.exe)])
1890   fi
1891
1892   dnl **** libicu devel package ****
1893   if test "$ac_cv_header_unicode_ubidi_h" != "yes"
1894   then
1895     echo >&2
1896     AC_MSG_NOTICE([libicu development files not found.])
1897     AC_MSG_NOTICE([Wine will be built without bidi (Right to Left) support. (gdi32.dll)])
1898   fi
1899
1900   dnl **** liblcms devel package ****
1901   if test "$ac_cv_header_lcms_h" != "yes" -a "$ac_cv_header_lcms_lcms_h" != "yes"
1902   then
1903     echo >&2
1904     AC_MSG_NOTICE([liblcms development files not found.])
1905     AC_MSG_NOTICE([Wine will be built without Color Management support. (mscms.dll)])
1906   fi
1907
1908   dnl **** libldap devel package ****
1909   if test "$ac_cv_header_ldap_h" != "yes" -o "$ac_cv_header_lber_h" != "yes"
1910   then
1911     echo >&2
1912     AC_MSG_NOTICE([libldap (OpenLDAP) development files not found.])
1913     AC_MSG_NOTICE([Wine will be built without LDAP support. (wldap32.dll)])
1914   fi
1915
1916   dnl **** libncurses / libcurses devel package ***
1917   if test "x$with_curses" != "xno" -a "$ac_cv_header_ncurses_h" != "yes" -a "$ac_cv_header_curses_h" != "yes"
1918   then
1919     echo >&2
1920     AC_MSG_NOTICE([lib(n)curses development files not found.])
1921     AC_MSG_NOTICE([Wine will be built without (n)curses support. (wineconsole.exe)])
1922   fi
1923
1924   dnl **** libsane devel package ***
1925   if test "$ac_cv_header_sane_sane_h" != "yes"
1926   then
1927     echo >&2
1928     AC_MSG_NOTICE([libsane development files not found.])
1929     AC_MSG_NOTICE([Wine will be built without Scanner support. (sane.ds/twain_32.dll)])
1930   fi
1931
1932   dnl **** libX11-dev includes Xlib.h and Xutil.h and depends on ***
1933   dnl **** x11proto-input-dev (extensions/XInput.h) and x11proto-kb-dev (XKBlib.h) ***
1934   if test "$have_x" = "yes"
1935   then
1936     dnl **** libX11 - extension: Xext ***
1937     if test "$ac_cv_header_X11_extensions_shape_h" != "yes" -o "$ac_cv_header_X11_extensions_XShm_h" != "yes"
1938     then
1939       echo >&2
1940       AC_MSG_NOTICE([libxext development files not found.])
1941       AC_MSG_NOTICE([Wine will be built without Shm / Shape support. (winex11.drv)])
1942     fi
1943
1944     dnl **** libX11 - extension: Xrandr ***
1945     if test "$ac_cv_header_X11_extensions_Xrandr_h" != "yes"
1946     then
1947       echo >&2
1948       AC_MSG_NOTICE([libXrandr development files not found.])
1949       AC_MSG_NOTICE([Wine will be built without Xrandr support. (winex11.drv)])
1950     fi
1951
1952     dnl **** libX11 - extension: Xrender ***
1953     if test "$ac_cv_header_X11_extensions_Xrender_h" != "yes"
1954     then
1955       echo >&2
1956       AC_MSG_NOTICE([libXrender development files not found.])
1957       AC_MSG_NOTICE([Wine will be built without Xrender support. (winex11.drv)])
1958     fi
1959
1960     dnl **** libX11 - extension: Xxf86vm ***
1961     if test "$ac_cv_header_X11_extensions_xf86vmode_h" != "yes"
1962     then
1963       echo >&2
1964       AC_MSG_NOTICE([libXxf86vm development files not found.])
1965       AC_MSG_NOTICE([Wine will be built without XFree86-VidMode support. (winex11.drv)])
1966     fi
1967   fi
1968
1969   dnl **** libxml2 devel package ***
1970   if test "$ac_cv_header_libxml_parser_h" != "yes"
1971   then
1972     echo >&2
1973     AC_MSG_NOTICE([libxml2 development files not found.])
1974     AC_MSG_NOTICE([Wine will be built without XML support. (msxml.dll)])
1975   fi
1976
1977   dnl **** libxslt devel package ***
1978   if test "$ac_cv_header_libxslt_pattern_h" != "yes" -o "$ac_cv_header_libxslt_transform_h" != "yes"
1979   then
1980     echo >&2
1981     AC_MSG_NOTICE([libxslt development files not found.])
1982     AC_MSG_NOTICE([Wine will be built without xslt support. (msxml.dll)])
1983   fi
1984 fi
1985
1986
1987 dnl **** Display warnings about important packages ***
1988 if test "$have_x" = "no"
1989 then
1990   echo >&2
1991   AC_MSG_WARN([X development files not found. Wine will be built without])
1992   AC_MSG_WARN([X support, which currently does not work, and probably])
1993   AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
1994   AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
1995 fi
1996
1997 if test -z "$OPENGLFILES"
1998 then
1999   echo >&2
2000   AC_MSG_WARN([Wine will be build without OpenGL or Direct3D support])
2001   AC_MSG_WARN([because something is wrong with the OpenGL setup:])
2002   if test "$wine_cv_opengl_headers_found" = "no"
2003   then
2004     AC_MSG_WARN([No OpenGL development headers were found])
2005   fi
2006   if test "$wine_cv_opengl_header_version_OK" = "no"
2007   then
2008     AC_MSG_WARN([Old Mesa headers detected. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
2009   elif test "$ac_cv_lib_GL_glXCreateContext" = "no"
2010   then
2011      if test -f /usr/X11R6/lib/libGL.a
2012      then 
2013         AC_MSG_WARN([/usr/X11R6/lib/libGL.a is present on your system.
2014 This probably prevents linking to OpenGL. Try deleting the file and restarting configure.])
2015      else
2016         AC_MSG_WARN([No OpenGL library found on this system.])
2017      fi
2018   fi
2019 fi
2020
2021 if test "$wine_cv_msg_freetype" = "yes"
2022 then
2023   echo >&2
2024   AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
2025   AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
2026   AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
2027   AC_MSG_WARN([to enable Wine to use TrueType fonts.])
2028 fi
2029
2030 if test -z "$FONTSSUBDIRS"
2031 then
2032   echo >&2
2033   if test "$FONTFORGE" = "false"
2034   then
2035     AC_MSG_WARN([FontForge is missing.])
2036   else
2037     AC_MSG_WARN([FreeType is missing.])
2038   fi
2039   AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
2040 fi
2041
2042 if test -z "$ALSALIBS" -a \
2043         -z "$ARTSC_LIBS" -a \
2044         -z "$AUDIOIOLIBS" -a \
2045         -z "$NASLIBS" -a \
2046         -z "$ESD_LIBS" -a \
2047         -z "$ac_cv_lib_soname_jack" -a \
2048         "$ac_cv_header_sys_soundcard_h" != "yes" -a \
2049         "$ac_cv_header_machine_soundcard_h" != "yes" -a \
2050         "$ac_cv_header_soundcard_h" != "yes"
2051 then
2052   echo >&2
2053   AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
2054   AC_MSG_WARN([The currently supported sound systems are:])
2055   AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
2056 fi
2057
2058 echo
2059 echo "Configure finished.  Do '${ac_make} depend && ${ac_make}' to compile Wine."
2060 echo
2061
2062 dnl Local Variables:
2063 dnl comment-start: "dnl "
2064 dnl comment-end: ""
2065 dnl comment-start-skip: "\\bdnl\\b\\s *"
2066 dnl compile-command: "autoconf && autoheader"
2067 dnl End: