configure.ac: Display a hint when CAPI is not supported.
[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         gif_lib.h \
170         ieeefp.h \
171         io.h \
172         jack/jack.h \
173         jpeglib.h \
174         lber.h \
175         lcms.h \
176         lcms/lcms.h \
177         ldap.h \
178         libaudioio.h \
179         link.h \
180         linux/cdrom.h \
181         linux/compiler.h \
182         linux/hdreg.h \
183         linux/input.h \
184         linux/ioctl.h \
185         linux/joystick.h \
186         linux/major.h \
187         linux/param.h \
188         linux/serial.h \
189         linux/ucdrom.h \
190         mach/machine.h \
191         machine/cpu.h \
192         machine/limits.h \
193         machine/soundcard.h \
194         mntent.h \
195         ncurses.h \
196         netdb.h \
197         netinet/in.h \
198         netinet/in_systm.h \
199         netinet/tcp.h \
200         netinet/tcp_fsm.h \
201         openssl/err.h \
202         openssl/ssl.h \
203         poll.h \
204         process.h \
205         pthread.h \
206         pwd.h \
207         regex.h \
208         sched.h \
209         scsi/scsi.h \
210         scsi/scsi_ioctl.h \
211         scsi/sg.h \
212         soundcard.h \
213         stdint.h \
214         strings.h \
215         sys/asoundlib.h \
216         sys/cdio.h \
217         sys/elf32.h \
218         sys/epoll.h \
219         sys/errno.h \
220         sys/event.h \
221         sys/exec_elf.h \
222         sys/filio.h \
223         sys/ioctl.h \
224         sys/ipc.h \
225         sys/limits.h \
226         sys/link.h \
227         sys/lwp.h \
228         sys/mman.h \
229         sys/modem.h \
230         sys/msg.h \
231         sys/mtio.h \
232         sys/param.h \
233         sys/poll.h \
234         sys/prctl.h \
235         sys/ptrace.h \
236         sys/reg.h \
237         sys/resource.h \
238         sys/scsiio.h \
239         sys/shm.h \
240         sys/signal.h \
241         sys/socket.h \
242         sys/sockio.h \
243         sys/soundcard.h \
244         sys/statvfs.h \
245         sys/strtio.h \
246         sys/syscall.h \
247         sys/sysctl.h \
248         sys/time.h \
249         sys/times.h \
250         sys/uio.h \
251         sys/un.h \
252         sys/vm86.h \
253         sys/wait.h \
254         syscall.h \
255         termios.h \
256         unicode/ubidi.h \
257         unistd.h \
258         utime.h \
259         valgrind/memcheck.h
260 )
261 AC_HEADER_STAT()
262
263 dnl **** Checks for headers that depend on other ones ****
264
265 AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
266     [#include <sys/types.h>
267      #if HAVE_SYS_PARAM_H
268      # include <sys/param.h>
269      #endif])
270
271 AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
272     [#include <sys/types.h>
273      #if HAVE_SYS_SOCKET_H
274      # include <sys/socket.h>
275      #endif])
276
277 AC_CHECK_HEADERS([linux/ipx.h],,,
278     [#include <sys/types.h>
279      #ifdef HAVE_ASM_TYPES_H
280      # include <asm/types.h>
281      #endif
282      #if HAVE_SYS_SOCKET_H
283      # include <sys/socket.h>
284      #endif])
285
286 AC_CHECK_HEADERS([resolv.h],,,
287     [#include <sys/types.h>
288      #if HAVE_SYS_SOCKET_H
289      # include <sys/socket.h>
290      #endif
291      #if HAVE_NETINET_IN_H
292      # include <netinet/in.h>
293      #endif
294      #if HAVE_ARPA_NAMESER_H
295      # include <arpa/nameser.h>
296      #endif])
297
298 AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
299
300 AC_CHECK_HEADERS([pthread_np.h],,,
301 [#ifdef HAVE_PTHREAD_H
302 #include <pthread.h>
303 #endif])
304
305 AC_CHECK_HEADERS([linux/videodev.h],,,
306 [#ifdef HAVE_SYS_TIME_H
307 #include <sys/time.h>
308 #endif
309 #include <sys/types.h>
310 #ifdef HAVE_ASM_TYPES_H
311 #include <asm/types.h>
312 #endif])
313
314 dnl Check for broken kernel header that doesn't define __user
315 AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])
316
317 dnl **** Check for X11 ****
318
319 if test "$have_x" = "yes"
320 then
321     XLIB="-lXext -lX11"
322     ac_save_CPPFLAGS="$CPPFLAGS"
323     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
324
325     dnl *** All of the following tests require X11/Xlib.h
326     AC_CHECK_HEADERS([X11/Xlib.h \
327                       X11/XKBlib.h \
328                       X11/Xutil.h \
329                       X11/extensions/shape.h \
330                       X11/extensions/XInput.h \
331                       X11/extensions/XShm.h \
332                       X11/extensions/Xrandr.h \
333                       X11/extensions/Xrender.h \
334                       X11/extensions/xf86vmode.h],,,
335 [#ifdef HAVE_X11_XLIB_H
336 # include <X11/Xlib.h>
337 #endif
338 #ifdef HAVE_X11_XUTIL_H
339 # include <X11/Xutil.h>
340 #endif])
341
342         dnl *** Check for X keyboard extension
343         if test "$ac_cv_header_X11_XKBlib_h" = "yes"
344         then
345               AC_CHECK_LIB(X11, XkbQueryExtension,
346               AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
347               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
348         fi
349
350         dnl *** Check for X Shm extension
351         if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
352         then
353               AC_CHECK_LIB(Xext, XShmQueryExtension,
354               AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
355               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
356         fi
357
358         dnl *** Check for X shape extension
359         if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
360         then
361               AC_CHECK_LIB(Xext,XShapeQueryExtension,
362               AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
363               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
364         fi
365
366         dnl *** Check for XFree86 VMODE extension
367         if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
368         then
369                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
370                   [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
371                      X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
372                   ],,
373                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
374         fi
375
376         dnl *** Check for X RandR extension
377         if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
378         then
379                 AC_TRY_COMPILE([#include <X11/Xlib.h>
380 #include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
381                   [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
382         fi
383
384         dnl *** Check for Transform functions in Xrender
385         if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
386         then
387               AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
388                 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
389                  [Define if Xrender has the XRenderSetPictureTransform function])],,
390                 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
391         fi
392     dnl *** End of X11/Xlib.h check
393
394     dnl Check for the presence of OpenGL
395     if test "x$with_opengl" != "xno"
396     then
397         AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h GL/glu.h,,,
398 [#ifdef HAVE_GL_GLX_H
399 # include <GL/glx.h>
400 #endif])
401         if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
402         then
403             dnl Check for some problems due to old Mesa versions
404             AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_header_version_OK,
405               AC_TRY_COMPILE(
406                 [#include <GL/gl.h>],
407                 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
408                 [wine_cv_opengl_header_version_OK="yes"],
409                 [wine_cv_opengl_header_version_OK="no"]
410               )
411             )
412
413             if test "$wine_cv_opengl_header_version_OK" = "yes"
414             then
415                 dnl Check for the presence of the library
416                 AC_CHECK_LIB(GL,glXCreateContext,
417                              OPENGL_LIBS="-lGL"
418                              ,,
419                              $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
420
421                 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
422                 then
423                         OPENGLFILES='$(OPENGLFILES)'
424                         AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
425                 else
426                     if test -f /usr/X11R6/lib/libGL.a
427                     then 
428                        AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
429 This prevents linking to OpenGL. Delete the file and restart configure.])
430                     else
431                         dnl The compile test most likely failed because no libGL.so was found
432                         wine_cv_opengl_libs_found="no"
433                     fi
434                 fi
435
436                 dnl Check for GLU32 library.
437                 AC_CHECK_LIB(GLU,gluLookAt,
438                              [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
439                              GLU32FILES='$(GLU32FILES)']
440                              ,,
441                              $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
442                 )
443              fi
444
445              dnl Check for glut32 library.
446              AC_CHECK_LIB(glut,glutMainLoop,
447                        [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
448                         AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
449                         $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
450          else
451              wine_cv_opengl_headers_found="no"
452          fi
453     fi
454     dnl **** Check for NAS ****
455     AC_SUBST(NASLIBS,"")
456     AC_CHECK_HEADERS(audio/audiolib.h,
457          [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
458           AC_CHECK_LIB(audio,AuCreateFlow,
459                        [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
460                         NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
461                        [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
462
463     CPPFLAGS="$ac_save_CPPFLAGS"
464     XFILES='$(XFILES)'
465 else
466     XLIB=""
467     X_CFLAGS=""
468     X_LIBS=""
469 fi
470
471 dnl **** Check for libxml2 ****
472
473 AC_SUBST(XML2LIBS,"")
474 AC_SUBST(XML2INCL,"")
475 AC_SUBST(XSLTLIBS,"")
476 AC_SUBST(XSLTINCL,"")
477 if test "$PKG_CONFIG" != "false"
478 then
479     ac_save_CPPFLAGS="$CPPFLAGS"
480     ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0 2>/dev/null`"
481     ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0 2>/dev/null`"
482     CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
483     AC_CHECK_HEADERS(libxml/parser.h,
484         [AC_CHECK_LIB(xml2, xmlParseMemory,
485             [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
486              XML2LIBS="$ac_xml_libs"
487              XML2INCL="$ac_xml_cflags"],,$ac_xml_libs)
488          AC_CHECK_LIB(xml2, xmlReadMemory,
489             [AC_DEFINE(HAVE_XMLREADMEMORY,1,[Define if libxml2 has the xmlReadMemory function])],,$ac_xml_libs)
490         ])
491     CPPFLAGS="$ac_save_CPPFLAGS"
492     ac_xslt_libs="`$PKG_CONFIG --libs libxslt 2>/dev/null`"
493     ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt 2>/dev/null`"
494     CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
495     AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],
496         [AC_CHECK_LIB(xslt, xsltCompilePattern,
497             [AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have the libxslt library])
498              XSLTLIBS="$ac_xslt_libs"
499              XSLTINCL="$ac_xslt_cflags"],,$ac_xslt_libs)
500         ],,
501 [#ifdef HAVE_LIBXSLT_PATTERN_H
502 # include <libxslt/pattern.h>
503 #endif])
504     CPPFLAGS="$ac_save_CPPFLAGS"
505 fi
506
507 dnl **** Check for libhal ****
508 AC_SUBST(HALINCL,"")
509 if test "$PKG_CONFIG" != "false"
510 then
511     ac_save_CPPFLAGS="$CPPFLAGS"
512     ac_hal_libs="`$PKG_CONFIG --libs hal 2>/dev/null`"
513     ac_hal_cflags="`$PKG_CONFIG --cflags hal 2>/dev/null`"
514     CPPFLAGS="$CPPFLAGS $ac_hal_cflags"
515     AC_CHECK_HEADERS([dbus/dbus.h hal/libhal.h])
516     if test "$ac_cv_header_dbus_dbus_h" = "yes" -a "$ac_cv_header_hal_libhal_h" = "yes"
517     then
518         AC_CHECK_LIB(hal, libhal_ctx_new,
519           [AC_CHECK_LIB(dbus-1, dbus_connection_close,
520             [AC_DEFINE(HAVE_LIBHAL, 1, [Define if you have the hal library])
521              HALINCL="$ac_hal_cflags"],,$ac_hal_libs)])
522     fi
523     CPPFLAGS="$ac_save_CPPFLAGS"
524 fi
525
526 dnl **** Check which curses lib to use ***
527 CURSESLIBS=""
528 if test "x$with_curses" != "xno"
529 then
530     if test "$ac_cv_header_ncurses_h" = "yes"
531     then
532         AC_CHECK_LIB(ncurses,waddch,
533             [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
534              CURSESLIBS="-lncurses"])
535     elif test "$ac_cv_header_curses_h" = "yes"
536     then
537         AC_CHECK_LIB(curses,waddch,
538             [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
539              CURSESLIBS="-lcurses"])
540     fi
541     ac_save_LIBS="$LIBS"
542     LIBS="$LIBS $CURSESLIBS"
543     AC_CHECK_FUNCS(mousemask)
544     LIBS="$ac_save_LIBS"
545 fi
546 AC_SUBST(CURSESLIBS)
547
548 dnl **** Check for SANE ****
549 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
550 AC_SUBST(SANELIBS,"")
551 AC_SUBST(SANEINCL,"")
552 if test "$sane_devel" != "no"
553 then
554     SANELIBS="`$sane_devel --libs`"
555     SANEINCL="`$sane_devel --cflags`"
556     ac_save_CPPFLAGS="$CPPFLAGS"
557     ac_save_LIBS="$LIBS"
558     CPPFLAGS="$CPPFLAGS $SANEINCL"
559     LIBS="$LIBS $SANELIBS"
560     AC_CHECK_HEADER(sane/sane.h,
561                     [AC_CHECK_LIB(sane,sane_open,
562                                   [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
563                                   [SANELIBS=""
564                                   SANEINCL=""])],
565                     [SANELIBS=""
566                     SANEINCL=""])
567     LIBS="$ac_save_LIBS"
568     CPPFLAGS="$ac_save_CPPFLAGS"
569 fi
570
571 dnl **** Check for libgphoto2 ****
572 AC_CHECK_PROG(gphoto2_devel,gphoto2-config,gphoto2-config,no)
573 AC_CHECK_PROG(gphoto2port_devel,gphoto2-port-config,gphoto2-port-config,no)
574 AC_SUBST(GPHOTO2LIBS,"")
575 AC_SUBST(GPHOTO2INCL,"")
576 if test "$gphoto2_devel" != "no" -a "$gphoto2port_devel" != "no"
577 then
578     GPHOTO2INCL="`$gphoto2_devel --cflags` `$gphoto2port_devel --cflags`"
579     GPHOTO2LIBS=""
580     for i in `$gphoto2_devel --libs` `$gphoto2port_devel --libs`
581     do
582       case "$i" in
583         -L/usr/lib|-L/usr/lib64) ;;
584         -L*|-l*) GPHOTO2LIBS="$GPHOTO2LIBS $i";;
585       esac
586     done
587     ac_save_CPPFLAGS="$CPPFLAGS"
588     ac_save_LIBS="$LIBS"
589     CPPFLAGS="$CPPFLAGS $GPHOTO2INCL"
590     LIBS="$LIBS $GPHOTO2LIBS"
591     AC_CHECK_HEADER(gphoto2-camera.h,
592                     [AC_CHECK_LIB(gphoto2,gp_camera_new,
593                                   [AC_DEFINE(HAVE_GPHOTO2, 1, [Define if we have libgphoto2 development environment])],
594                                   [GPHOTO2LIBS=""
595                                   GPHOTO2INCL=""])],
596                     [GPHOTO2LIBS=""
597                     GPHOTO2INCL=""])
598     LIBS="$ac_save_LIBS"
599     CPPFLAGS="$ac_save_CPPFLAGS"
600 fi
601
602 dnl **** Check for the ICU library ****
603 if test "$ac_cv_header_unicode_ubidi_h" = "yes"
604 then
605     saved_libs="$LIBS"
606     for i in ${ICU_LIB_DIR-/usr/lib}/libsicu ${ICU_LIB_DIR-/usr/lib}/libicu
607     do
608         TEST_ICUUC_LIB="${ICUUC_LIB-${i}uc.a}"
609         TEST_ICUDATA_LIB="${ICUDATA_LIB-${i}data.a}"
610         AC_MSG_CHECKING(whether can link with ICU libraries $TEST_ICUUC_LIB and $TEST_ICUDATA_LIB)
611         LIBS="$saved_libs $TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s"
612         AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
613                     [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
614                      AC_SUBST(ICULIBS,"$TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s")
615                      AC_MSG_RESULT(yes)],
616                     [AC_MSG_RESULT(no)])
617     done
618     LIBS="$saved_libs"
619 fi
620
621 dnl **** Check for resolver library ***
622 AC_SUBST(RESOLVLIBS,"")
623 if test "$ac_cv_header_resolv_h" = "yes"
624 then
625     AC_CHECK_LIB(resolv, res_query,
626         [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
627          RESOLVLIBS="-lresolv"])
628 fi
629
630 dnl **** Check for LittleCMS ***
631 AC_SUBST(LCMSLIBS,"")
632 if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
633 then
634     AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
635         [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
636          LCMSLIBS="-llcms"])
637 fi
638
639 dnl **** Check for OpenLDAP ***
640 AC_SUBST(LDAPLIBS,"")
641 if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
642 then
643     AC_CHECK_LIB(ldap_r, ldap_initialize,
644         [AC_CHECK_LIB(lber, ber_init,
645             [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
646              LDAPLIBS="-lldap_r -llber"],,
647              [$LIBPTHREAD])],,
648              [$LIBPTHREAD])
649     WINE_CHECK_LIB_FUNCS(\
650         ldap_count_references \
651         ldap_first_reference \
652         ldap_next_reference \
653         ldap_parse_reference,
654         [$LDAPLIBS $LIBPTHREAD])
655 fi
656
657 dnl **** Check for FreeType 2 ****
658 AC_SUBST(FREETYPELIBS,"")
659 AC_SUBST(FREETYPEINCL,"")
660 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
661 if test "$ft_devel" = "no"
662 then
663     AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
664     if test "$ft_devel2" = "freetype2-config"
665     then
666         ft_devel=$ft_devel2
667     fi
668 fi
669
670 if test "$ft_devel" = "no"
671 then
672     wine_cv_msg_freetype=yes
673 else
674     FREETYPELIBS=`$ft_devel --libs`
675     FREETYPEINCL=`$ft_devel --cflags`
676     AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$FREETYPELIBS)
677     if test "$ft_lib" = "no"
678     then
679         wine_cv_msg_freetype=yes
680         FREETYPELIBS=""
681         FREETYPEINCL=""
682     else
683         ac_save_CPPFLAGS="$CPPFLAGS"
684         CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
685         AC_CHECK_HEADERS(ft2build.h \
686                          freetype/freetype.h \
687                          freetype/ftglyph.h \
688                          freetype/tttables.h \
689                          freetype/ftnames.h \
690                          freetype/ftsnames.h \
691                          freetype/ttnameid.h \
692                          freetype/ftoutln.h \
693                          freetype/ftwinfnt.h \
694                          freetype/ftmodapi.h \
695                          freetype/internal/sfnt.h,,,
696                          [#if HAVE_FT2BUILD_H
697                           #include <ft2build.h>
698                           #endif])
699         AC_TRY_CPP([#include <ft2build.h>
700                     #include <freetype/fttrigon.h>],
701                     [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
702           [Define if you have the <freetype/fttrigon.h> header file.])
703                     wine_cv_fttrigon=yes],
704                     wine_cv_fttrigon=no)
705         AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
706         ac_save_CFLAGS="$CFLAGS"
707         CFLAGS="$CFLAGS $FREETYPELIBS"
708         AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
709         CFLAGS="$ac_save_CFLAGS"
710         CPPFLAGS="$ac_save_CPPFLAGS"
711         dnl Check that we have at least freetype/freetype.h
712         if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
713         then
714             AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
715             wine_cv_msg_freetype=no
716         else
717             FREETYPELIBS=""
718             FREETYPEINCL=""
719             wine_cv_msg_freetype=yes
720         fi
721     fi
722 fi
723
724 dnl Only build the fonts dir if we have both freetype and fontforge
725 if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
726 then
727   AC_SUBST(FONTSSUBDIRS,"fonts")
728 fi
729
730 dnl **** Check for parport (currently Linux only) ****
731 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
732  AC_TRY_COMPILE(
733    [#include <linux/ppdev.h>],
734    [ioctl (1,PPCLAIM,0)],
735    [ac_cv_c_ppdev="yes"],
736    [ac_cv_c_ppdev="no"])
737  )
738 if test "$ac_cv_c_ppdev" = "yes"
739 then
740     AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
741 fi
742
743 dnl **** Check for va_copy ****
744 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
745  AC_TRY_LINK(
746    [#include <stdarg.h>],
747    [va_list ap1, ap2;
748     va_copy(ap1,ap2);
749    ],
750    [ac_cv_c_va_copy="yes"],
751    [ac_cv_c_va_copy="no"])
752  )
753 if test "$ac_cv_c_va_copy" = "yes"
754 then
755     AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
756 fi
757 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
758  AC_TRY_LINK(
759    [#include <stdarg.h>],
760    [va_list ap1, ap2;
761     __va_copy(ap1,ap2);
762    ],
763    [ac_cv_c___va_copy="yes"],
764    [ac_cv_c___va_copy="no"])
765  )
766 if test "$ac_cv_c___va_copy" = "yes"
767 then
768     AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
769 fi
770
771 dnl **** Check for sigsetjmp ****
772 AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
773  AC_TRY_LINK(
774    [#include <setjmp.h>],
775    [sigjmp_buf buf;
776     sigsetjmp( buf, 1 );
777     siglongjmp( buf, 1 );],
778    [ac_cv_c_sigsetjmp="yes"],
779    [ac_cv_c_sigsetjmp="no"])
780  )
781 if test "$ac_cv_c_sigsetjmp" = "yes"
782 then
783     AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
784 fi
785
786 dnl **** Check for pthread_rwlock_t ****
787 AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
788 #include <pthread.h>])
789
790 dnl **** Check for pthread functions ****
791 WINE_CHECK_LIB_FUNCS(\
792         pthread_attr_get_np \
793         pthread_getattr_np \
794         pthread_get_stackaddr_np \
795         pthread_get_stacksize_np,
796         [$LIBPTHREAD])
797
798 dnl **** Check for aRts Sound Server ****
799 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
800 if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
801 then
802     ARTSC_CFLAGS=""
803     for i in `$ARTSCCONFIG --cflags`
804     do
805       case "$i" in
806         -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
807       esac
808     done
809     ARTSC_LIBS=""
810     for i in `$ARTSCCONFIG --libs`
811     do
812       case "$i" in
813         -L/usr/lib|-L/usr/lib64) ;;
814         -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
815       esac
816     done
817     save_CFLAGS="$CFLAGS"
818     CFLAGS="$CFLAGS $ARTSC_CFLAGS"
819     AC_CHECK_LIB(artsc,arts_init,
820         [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
821             [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
822             AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
823             AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
824             $ARTSC_LIBS)
825     CFLAGS="$save_CFLAGS"
826 fi
827
828 dnl **** Check for EsounD ****
829 AC_PATH_PROG(ESDCONFIG, esd-config)
830 if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
831 then
832     ESD_CFLAGS=""
833     for i in `$ESDCONFIG --cflags`
834     do
835       case "$i" in
836         -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
837       esac
838     done
839     ESD_LIBS=`$ESDCONFIG --libs`
840     save_CFLAGS="$CFLAGS"
841     CFLAGS="$CFLAGS $ESD_CFLAGS"
842     AC_CHECK_LIB(esd,esd_open_sound,
843         [AC_SUBST(ESDLIBS, $ESD_LIBS)
844          AC_SUBST(ESDINCL, $ESD_CFLAGS)
845          AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
846     CFLAGS="$save_CFLAGS"
847 fi
848
849 dnl **** Check for ALSA 1.x ****
850 AC_SUBST(ALSALIBS,"")
851 if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
852 then
853     AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
854         [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
855 #include <alsa/asoundlib.h>
856 #elif defined(HAVE_SYS_ASOUNDLIB_H)
857 #include <sys/asoundlib.h>
858 #endif],
859                         [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
860                         [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
861                          ALSALIBS="-lasound"])])
862 fi
863
864 dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
865
866 AC_SUBST(AUDIOIOLIBS,"")
867 if test "$ac_cv_header_libaudioio_h" = "yes"
868 then
869     AC_CHECK_LIB(audioio,AudioIOGetVersion,
870                   [AUDIOIOLIBS="-laudioio"
871                    AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
872 fi
873
874 dnl **** Check for capi4linux ****
875
876 if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
877 then
878     AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
879 fi
880
881 dnl **** Check for gif header usability ****
882
883 if test "$ac_cv_header_gif_lib_h" = "yes"
884 then
885     AC_TRY_COMPILE([#include <gif_lib.h>],[static typeof(DGifOpen) * func;],
886         AC_DEFINE(HAVE_GIF, 1, [Define if you have usable GIF headers]))
887 fi
888
889 dnl **** Check for gcc specific options ****
890
891 AC_SUBST(EXTRACFLAGS,"")
892 if test "x${GCC}" = "xyes"
893 then
894   EXTRACFLAGS="-Wall -pipe"
895
896   dnl Check for strength-reduce bug
897   AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
898                   AC_TRY_RUN([
899 int     L[[4]] = {0,1,2,3};
900 int main(void) {
901   static int Array[[3]];
902   unsigned int B = 3;
903   int i;
904   for(i=0; i<B; i++) Array[[i]] = i - 3;
905   for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
906   L[[i]] = 4;
907
908   exit( Array[[1]] != -2 || L[[2]] != 3);
909 }],
910     ac_cv_c_gcc_strength_bug="no",
911     ac_cv_c_gcc_strength_bug="yes",
912     ac_cv_c_gcc_strength_bug="yes") )
913   if test "$ac_cv_c_gcc_strength_bug" = "yes"
914   then
915     EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
916   fi
917
918   dnl Check for some compiler flags
919
920   WINE_TRY_CFLAGS([-fshort-wchar],
921                   [AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar",
922                              [Specifies the compiler flag that forces a short wchar_t])])
923   WINE_TRY_CFLAGS([-fno-strict-aliasing])
924   WINE_TRY_CFLAGS([-gstabs+])
925   WINE_TRY_CFLAGS([-Wdeclaration-after-statement])
926   WINE_TRY_CFLAGS([-Wwrite-strings])
927
928   dnl Check for noisy string.h
929   saved_CFLAGS="$CFLAGS"
930   CFLAGS="$CFLAGS -Wpointer-arith -Werror"
931   AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
932       AC_TRY_COMPILE([#include <string.h>],[],
933                      [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
934   CFLAGS="$saved_CFLAGS"
935   if test "$ac_cv_c_string_h_warnings" = "no"
936   then
937     EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
938   fi
939
940   AC_SUBST(BUILTINFLAG,"")
941   saved_CFLAGS="$CFLAGS"
942   CFLAGS="$CFLAGS -Werror"
943   AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
944       AC_TRY_COMPILE([],
945                      [int iswlower(unsigned short);],
946                      [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
947   CFLAGS="$saved_CFLAGS"
948   if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
949   then
950     BUILTINFLAG="-fno-builtin"
951   fi
952 fi
953
954 dnl **** Check how to define a function in assembly code ****
955
956 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
957   WINE_TRY_ASM_LINK(
958       ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
959       ac_cv_asm_func_def=".def",
960     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
961       ac_cv_asm_func_def=".type @function",
962     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
963       ac_cv_asm_func_def=".type 2",
964       ac_cv_asm_func_def="unknown")])]))
965
966 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
967 case "$ac_cv_asm_func_def" in
968   ".def")
969      AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
970   ".type @function")
971      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
972   ".type 2")
973      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
974   *)
975      AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
976 esac
977
978 dnl **** Check for underscore on external symbols ****
979
980 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
981     WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
982                       [extern int ac_test;],
983                       [if (ac_test) return 1],
984                       ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
985
986 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
987 if test "$ac_cv_c_extern_prefix" = "yes"
988 then
989   AC_DEFINE([__ASM_NAME(name)], ["_" name])
990 else
991   AC_DEFINE([__ASM_NAME(name)], [name])
992 fi
993
994 dnl **** Check for working dll ****
995
996 AC_SUBST(DLLEXT,"")
997 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
998 AC_SUBST(LDSHARED,"")
999 AC_SUBST(LDDLLFLAGS,"")
1000 AC_SUBST(LIBEXT,"so")
1001 AC_SUBST(IMPLIBEXT,"def")
1002 AC_SUBST(LIBWINE_LDFLAGS,"")
1003
1004 case $host_os in
1005   cygwin*|mingw32*)
1006     AC_CHECK_TOOL(DLLTOOL,dlltool,false)
1007     AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
1008     if test "$DLLWRAP" = "false"; then
1009       LIBEXT="a"
1010     else
1011       dnl FIXME - check whether dllwrap works correctly...
1012       LIBEXT="dll"
1013     fi
1014     IMPLIBEXT="a"
1015     dnl We can't build 16-bit NE dlls
1016     WIN16_FILES=""
1017     WIN16_INSTALL=""
1018     ;;
1019   darwin*|macosx*)
1020     DLLEXT=".so"
1021     LIBEXT="dylib"
1022     DLLFLAGS="$DLLFLAGS -fPIC"
1023     LDDLLFLAGS="-bundle -multiply_defined suppress"
1024     LIBWINE_LDFLAGS="-multiply_defined suppress"
1025     LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME)"
1026     STRIP="$STRIP -u -r"
1027     dnl declare needed frameworks
1028     AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1029     AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1030     AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7f000000"])
1031     if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
1032     then
1033         dnl CoreServices needed by AudioUnit
1034         AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
1035     fi
1036     case $host_cpu in
1037       *powerpc*)
1038         LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"  dnl FIXME
1039         ;;
1040     esac
1041     ;;
1042   *)
1043     DLLFLAGS="$DLLFLAGS -fPIC"
1044     DLLEXT=".so"
1045     AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1046         [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-Bsymbolic],
1047                               ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1048     if test "$ac_cv_c_dll_gnuelf" = "yes"
1049     then
1050       LDSHARED="\$(CC) -shared"
1051       LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1052       WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
1053                       [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"],
1054                       [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
1055                                        [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"])])
1056
1057       WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs], [LDDLLFLAGS="$LDDLLFLAGS,-z,defs"])
1058
1059       WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1060                       [LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"])
1061
1062       echo '{ global: *; };' >conftest.map
1063       WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1064                       [LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"])
1065       rm -f conftest.map
1066
1067       WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1068                       [AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])])
1069
1070       WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1071                       [LIBWINE_LDFLAGS="-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1072
1073       case $host_cpu in
1074         *i[[3456789]]86* | x86_64)
1075           WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1076                           [LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"])
1077           ;;
1078       esac
1079
1080     else
1081       AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1082           [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1083                                 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1084       if test "$ac_cv_c_dll_unixware" = "yes"
1085       then
1086         LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1087         LDDLLFLAGS="-Wl,-G,-B,symbolic"
1088
1089       else
1090         AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1091           [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1092         if test "$ac_cv_c_dll_hpux" = "yes"
1093         then
1094           LIBEXT="sl"
1095           DLLEXT=".sl"
1096           LDDLLFLAGS="-shared -fPIC"
1097           LDSHARED="\$(CC) -shared"
1098         fi
1099       fi
1100     fi
1101
1102     dnl Check for cross compiler to build test programs
1103     AC_SUBST(CROSSTEST,"")
1104     if test "$cross_compiling" = "no"
1105     then
1106       AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1107       AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1108       AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,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(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1159   WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1160   WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1161   WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1162   WINE_GET_SONAME(dbus-1,dbus_error_init)
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(ungif,DGifOpen)
1174   WINE_GET_SONAME(gif,DGifOpen)
1175   WINE_GET_SONAME(capi20,capi20_isinstalled)
1176 fi
1177
1178
1179 dnl **** Check for functions ****
1180
1181 AC_CHECK_FUNCS(\
1182         _pclose \
1183         _popen \
1184         _snprintf \
1185         _spawnvp \
1186         _stricmp \
1187         _strnicmp \
1188         _vsnprintf \
1189         asctime_r \
1190         chsize \
1191         clone \
1192         connect \
1193         dlopen \
1194         epoll_create \
1195         ffs \
1196         finite \
1197         fork \
1198         fpclass \
1199         fstatfs \
1200         fstatvfs \
1201         ftruncate \
1202         futimes \
1203         futimesat \
1204         getaddrinfo \
1205         gethostbyname \
1206         getnameinfo \
1207         getnetbyname \
1208         getopt_long \
1209         getpagesize \
1210         getprotobyname \
1211         getprotobynumber \
1212         getpwuid \
1213         getservbyport \
1214         gettid \
1215         gettimeofday \
1216         getuid \
1217         inet_aton \
1218         inet_network \
1219         kqueue \
1220         lstat \
1221         memmove \
1222         mmap \
1223         pclose \
1224         poll \
1225         popen \
1226         prctl \
1227         pread \
1228         pwrite \
1229         readlink \
1230         rfork \
1231         sched_yield \
1232         select \
1233         sendmsg \
1234         setrlimit \
1235         settimeofday \
1236         sigaltstack \
1237         sigprocmask \
1238         snprintf \
1239         spawnvp \
1240         statfs \
1241         statvfs \
1242         strcasecmp \
1243         strerror \
1244         strncasecmp \
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                     WINE_CHECK_DEFINE([_WIN64]) ;;
1460   *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
1461   *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
1462   *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
1463 esac
1464
1465 case $host_vendor in
1466   *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1467 esac
1468
1469 dnl **** Generate output files ****
1470
1471 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/kernel/messages)
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/kernel/Makefile
1590 dlls/kernel/tests/Makefile
1591 dlls/lz32/Makefile
1592 dlls/lz32/tests/Makefile
1593 dlls/mapi32/Makefile
1594 dlls/mapi32/tests/Makefile
1595 dlls/mciavi32/Makefile
1596 dlls/mcicda/Makefile
1597 dlls/mciseq/Makefile
1598 dlls/mciwave/Makefile
1599 dlls/midimap/Makefile
1600 dlls/mlang/Makefile
1601 dlls/mlang/tests/Makefile
1602 dlls/mmdevldr.vxd/Makefile
1603 dlls/monodebg.vxd/Makefile
1604 dlls/mpr/Makefile
1605 dlls/mprapi/Makefile
1606 dlls/msacm32.drv/Makefile
1607 dlls/msacm32/Makefile
1608 dlls/msacm32/tests/Makefile
1609 dlls/msadp32.acm/Makefile
1610 dlls/mscms/Makefile
1611 dlls/mscms/tests/Makefile
1612 dlls/msdmo/Makefile
1613 dlls/msftedit/Makefile
1614 dlls/msg711.acm/Makefile
1615 dlls/mshtml/Makefile
1616 dlls/mshtml/tests/Makefile
1617 dlls/msi/Makefile
1618 dlls/msi/tests/Makefile
1619 dlls/msimg32/Makefile
1620 dlls/msisys.ocx/Makefile
1621 dlls/msnet32/Makefile
1622 dlls/msrle32/Makefile
1623 dlls/msvcrt/Makefile
1624 dlls/msvcrt/tests/Makefile
1625 dlls/msvcrt20/Makefile
1626 dlls/msvcrt40/Makefile
1627 dlls/msvcrtd/Makefile
1628 dlls/msvcrtd/tests/Makefile
1629 dlls/msvfw32/Makefile
1630 dlls/msvidc32/Makefile
1631 dlls/mswsock/Makefile
1632 dlls/msxml3/Makefile
1633 dlls/msxml3/tests/Makefile
1634 dlls/netapi32/Makefile
1635 dlls/netapi32/tests/Makefile
1636 dlls/newdev/Makefile
1637 dlls/ntdll/Makefile
1638 dlls/ntdll/tests/Makefile
1639 dlls/ntdsapi/Makefile
1640 dlls/objsel/Makefile
1641 dlls/odbc32/Makefile
1642 dlls/odbccp32/Makefile
1643 dlls/ole32/Makefile
1644 dlls/ole32/tests/Makefile
1645 dlls/oleacc/Makefile
1646 dlls/oleaut32/Makefile
1647 dlls/oleaut32/tests/Makefile
1648 dlls/olecli32/Makefile
1649 dlls/oledlg/Makefile
1650 dlls/olepro32/Makefile
1651 dlls/olesvr32/Makefile
1652 dlls/opengl32/Makefile
1653 dlls/powrprof/Makefile
1654 dlls/psapi/Makefile
1655 dlls/psapi/tests/Makefile
1656 dlls/pstorec/Makefile
1657 dlls/qcap/Makefile
1658 dlls/quartz/Makefile
1659 dlls/quartz/tests/Makefile
1660 dlls/query/Makefile
1661 dlls/rasapi32/Makefile
1662 dlls/riched20/Makefile
1663 dlls/riched20/tests/Makefile
1664 dlls/riched32/Makefile
1665 dlls/rpcrt4/Makefile
1666 dlls/rpcrt4/tests/Makefile
1667 dlls/rsabase/Makefile
1668 dlls/rsabase/tests/Makefile
1669 dlls/rsaenh/Makefile
1670 dlls/rsaenh/tests/Makefile
1671 dlls/sane.ds/Makefile
1672 dlls/secur32/Makefile
1673 dlls/secur32/tests/Makefile
1674 dlls/security/Makefile
1675 dlls/sensapi/Makefile
1676 dlls/serialui/Makefile
1677 dlls/setupapi/Makefile
1678 dlls/setupapi/tests/Makefile
1679 dlls/sfc/Makefile
1680 dlls/shdocvw/Makefile
1681 dlls/shdocvw/tests/Makefile
1682 dlls/shell32/Makefile
1683 dlls/shell32/tests/Makefile
1684 dlls/shfolder/Makefile
1685 dlls/shlwapi/Makefile
1686 dlls/shlwapi/tests/Makefile
1687 dlls/snmpapi/Makefile
1688 dlls/spoolss/Makefile
1689 dlls/stdole2.tlb/Makefile
1690 dlls/stdole32.tlb/Makefile
1691 dlls/sti/Makefile
1692 dlls/strmiids/Makefile
1693 dlls/tapi32/Makefile
1694 dlls/twain_32/Makefile
1695 dlls/unicows/Makefile
1696 dlls/url/Makefile
1697 dlls/urlmon/Makefile
1698 dlls/urlmon/tests/Makefile
1699 dlls/user/Makefile
1700 dlls/user/tests/Makefile
1701 dlls/userenv/Makefile
1702 dlls/usp10/Makefile
1703 dlls/usp10/tests/Makefile
1704 dlls/uuid/Makefile
1705 dlls/uxtheme/Makefile
1706 dlls/uxtheme/tests/Makefile
1707 dlls/vdhcp.vxd/Makefile
1708 dlls/vdmdbg/Makefile
1709 dlls/version/Makefile
1710 dlls/version/tests/Makefile
1711 dlls/vmm.vxd/Makefile
1712 dlls/vnbt.vxd/Makefile
1713 dlls/vnetbios.vxd/Makefile
1714 dlls/vtdapi.vxd/Makefile
1715 dlls/vwin32.vxd/Makefile
1716 dlls/w32skrnl/Makefile
1717 dlls/winecrt0/Makefile
1718 dlls/wined3d/Makefile
1719 dlls/winedos/Makefile
1720 dlls/winemp3.acm/Makefile
1721 dlls/wineps.drv/Makefile
1722 dlls/winex11.drv/Makefile
1723 dlls/wininet/Makefile
1724 dlls/wininet/tests/Makefile
1725 dlls/winmm/Makefile
1726 dlls/winmm/joystick/Makefile
1727 dlls/winmm/tests/Makefile
1728 dlls/winmm/winealsa/Makefile
1729 dlls/winmm/winearts/Makefile
1730 dlls/winmm/wineaudioio/Makefile
1731 dlls/winmm/winecoreaudio/Makefile
1732 dlls/winmm/wineesd/Makefile
1733 dlls/winmm/winejack/Makefile
1734 dlls/winmm/winenas/Makefile
1735 dlls/winmm/wineoss/Makefile
1736 dlls/winnls32/Makefile
1737 dlls/winspool.drv/Makefile
1738 dlls/winspool.drv/tests/Makefile
1739 dlls/wintab32/Makefile
1740 dlls/wintrust/Makefile
1741 dlls/wintrust/tests/Makefile
1742 dlls/wldap32/Makefile
1743 dlls/wnaspi32/Makefile
1744 dlls/wow32/Makefile
1745 dlls/ws2_32/Makefile
1746 dlls/ws2_32/tests/Makefile
1747 dlls/wsock32/Makefile
1748 dlls/wtsapi32/Makefile
1749 documentation/Makefile
1750 fonts/Makefile
1751 include/Makefile
1752 libs/Makefile
1753 libs/port/Makefile
1754 libs/wine/Makefile
1755 libs/wpp/Makefile
1756 loader/Makefile
1757 programs/Makefile
1758 programs/clock/Makefile
1759 programs/cmd/Makefile
1760 programs/cmdlgtst/Makefile
1761 programs/control/Makefile
1762 programs/eject/Makefile
1763 programs/expand/Makefile
1764 programs/explorer/Makefile
1765 programs/hh/Makefile
1766 programs/icinfo/Makefile
1767 programs/iexplore/Makefile
1768 programs/msiexec/Makefile
1769 programs/notepad/Makefile
1770 programs/oleview/Makefile
1771 programs/progman/Makefile
1772 programs/regedit/Makefile
1773 programs/regsvr32/Makefile
1774 programs/rpcss/Makefile
1775 programs/rundll32/Makefile
1776 programs/start/Makefile
1777 programs/taskmgr/Makefile
1778 programs/uninstaller/Makefile
1779 programs/view/Makefile
1780 programs/wineboot/Makefile
1781 programs/winebrowser/Makefile
1782 programs/winecfg/Makefile
1783 programs/wineconsole/Makefile
1784 programs/winedbg/Makefile
1785 programs/winefile/Makefile
1786 programs/winemenubuilder/Makefile
1787 programs/winemine/Makefile
1788 programs/winepath/Makefile
1789 programs/winetest/Makefile
1790 programs/winevdm/Makefile
1791 programs/winhelp/Makefile
1792 programs/winver/Makefile
1793 programs/wordpad/Makefile
1794 server/Makefile
1795 tools/Makefile
1796 tools/widl/Makefile
1797 tools/winebuild/Makefile
1798 tools/winedump/Makefile
1799 tools/winegcc/Makefile
1800 tools/wmc/Makefile
1801 tools/wrc/Makefile])
1802
1803 AC_OUTPUT
1804
1805 dnl **** Display messages about additional packages ***
1806
1807 if test "$verbose" = "yes"
1808 then
1809   dnl **** libcapi20-dev devel package ***
1810   if test "$ac_cv_header_capi20_h" != "yes" -o "$ac_cv_header_linux_capi_h" != "yes"
1811   then
1812     echo >&2
1813     AC_MSG_NOTICE([libcapi20 development files not found.])
1814     AC_MSG_NOTICE([Wine will be built without ISDN support. (capi2032.dll)])
1815   fi
1816
1817   dnl **** libcupsys-dev devel package ***
1818   if test "$ac_cv_header_cups_cups_h" != "yes"
1819   then
1820     echo >&2
1821     AC_MSG_NOTICE([libcups development files not found.])
1822     AC_MSG_NOTICE([Wine will be built without CUPS support.])
1823   fi
1824
1825   dnl **** libcurses devel package: see libncurses ***
1826   dnl **** libdbus-1 devel package ***
1827   dnl **** libdbus-1-dev is required for libhal-dev ***
1828
1829   dnl **** libgphoto2 devel package ***
1830   if test "$ac_cv_header_gphoto2_camera_h" != "yes"
1831   then
1832     echo >&2
1833     AC_MSG_NOTICE([libgphoto2 development files not found.])
1834     if test "$ac_cv_header_sane_sane_h" = "yes"
1835     then
1836       AC_MSG_NOTICE([Wine will be built with limited Digital Camera support. (twain_32.dll)])
1837     else
1838       AC_MSG_NOTICE([Wine will be built without Digital Camera support. (gphoto2.ds/twain_32.dll)])
1839     fi
1840   fi
1841
1842   dnl **** libhal devel package ***
1843   dnl **** libhal-dev depends on libdbus-1-dev ***
1844   if test "$ac_cv_header_hal_libhal_h" != "yes"
1845   then
1846     echo >&2
1847     AC_MSG_NOTICE([libhal development files not found.])
1848     AC_MSG_NOTICE([Wine will be built without dynamic device support. (explorer.exe)])
1849   fi
1850
1851   dnl **** libicu devel package ****
1852   if test "$ac_cv_header_unicode_ubidi_h" != "yes"
1853   then
1854     echo >&2
1855     AC_MSG_NOTICE([libicu development files not found.])
1856     AC_MSG_NOTICE([Wine will be built without bidi (Right to Left) support. (gdi32.dll)])
1857   fi
1858
1859   dnl **** liblcms devel package ****
1860   if test "$ac_cv_header_lcms_h" != "yes" -a "$ac_cv_header_lcms_lcms_h" != "yes"
1861   then
1862     echo >&2
1863     AC_MSG_NOTICE([liblcms development files not found.])
1864     AC_MSG_NOTICE([Wine will be built without Color Management support. (mscms.dll)])
1865   fi
1866
1867   dnl **** libldap devel package ****
1868   if test "$ac_cv_header_ldap_h" != "yes" -o "$ac_cv_header_lber_h" != "yes"
1869   then
1870     echo >&2
1871     AC_MSG_NOTICE([libldap (OpenLDAP) development files not found.])
1872     AC_MSG_NOTICE([Wine will be built without LDAP support. (wldap32.dll)])
1873   fi
1874
1875   dnl **** libncurses / libcurses devel package ***
1876   if test "x$with_curses" != "xno" -a "$ac_cv_header_ncurses_h" != "yes" -a "$ac_cv_header_curses_h" != "yes"
1877   then
1878     echo >&2
1879     AC_MSG_NOTICE([lib(n)curses development files not found.])
1880     AC_MSG_NOTICE([Wine will be built without (n)curses support. (wineconsole.exe)])
1881   fi
1882
1883   dnl **** libsane devel package ***
1884   if test "$ac_cv_header_sane_sane_h" != "yes"
1885   then
1886     echo >&2
1887     AC_MSG_NOTICE([libsane development files not found.])
1888     AC_MSG_NOTICE([Wine will be built without Scanner support. (sane.ds/twain_32.dll)])
1889   fi
1890
1891   dnl **** libungif devel package ***
1892   if test "$ac_cv_header_gif_lib_h" != "yes"
1893   then
1894     echo >&2
1895     AC_MSG_NOTICE([libungif development files not found.])
1896     AC_MSG_NOTICE([Wine will be built without GIF support. (oleaut32.dll)])
1897   fi
1898
1899   dnl **** libX11-dev includes Xlib.h and Xutil.h and depends on ***
1900   dnl **** x11proto-input-dev (extensions/XInput.h) and x11proto-kb-dev (XKBlib.h) ***
1901   if test "$have_x" = "yes"
1902   then
1903     dnl **** libX11 - extension: Xext ***
1904     if test "$ac_cv_header_X11_extensions_shape_h" != "yes" -o "$ac_cv_header_X11_extensions_XShm_h" != "yes"
1905     then
1906       echo >&2
1907       AC_MSG_NOTICE([libxext development files not found.])
1908       AC_MSG_NOTICE([Wine will be built without Shm / Shape support. (winex11.drv)])
1909     fi
1910
1911     dnl **** libX11 - extension: Xrandr ***
1912     if test "$ac_cv_header_X11_extensions_Xrandr_h" != "yes"
1913     then
1914       echo >&2
1915       AC_MSG_NOTICE([libXrandr development files not found.])
1916       AC_MSG_NOTICE([Wine will be built without Xrandr support. (winex11.drv)])
1917     fi
1918
1919     dnl **** libX11 - extension: Xrender ***
1920     if test "$ac_cv_header_X11_extensions_Xrender_h" != "yes"
1921     then
1922       echo >&2
1923       AC_MSG_NOTICE([libXrender development files not found.])
1924       AC_MSG_NOTICE([Wine will be built without Xrender support. (winex11.drv)])
1925     fi
1926
1927     dnl **** libX11 - extension: Xxf86vm ***
1928     if test "$ac_cv_header_X11_extensions_xf86vmode_h" != "yes"
1929     then
1930       echo >&2
1931       AC_MSG_NOTICE([libXxf86vm development files not found.])
1932       AC_MSG_NOTICE([Wine will be built without XFree86-VidMode support. (winex11.drv)])
1933     fi
1934   fi
1935
1936   dnl **** libxml2 devel package ***
1937   if test "$ac_cv_header_libxml_parser_h" != "yes"
1938   then
1939     echo >&2
1940     AC_MSG_NOTICE([libxml2 development files not found.])
1941     AC_MSG_NOTICE([Wine will be built without XML support. (msxml.dll)])
1942   fi
1943
1944   dnl **** libxslt devel package ***
1945   if test "$ac_cv_header_libxslt_pattern_h" != "yes" -o "$ac_cv_header_libxslt_transform_h" != "yes"
1946   then
1947     echo >&2
1948     AC_MSG_NOTICE([libxslt development files not found.])
1949     AC_MSG_NOTICE([Wine will be built without xslt support. (msxml.dll)])
1950   fi
1951 fi
1952
1953
1954 dnl **** Display warnings about important packages ***
1955 if test "$have_x" = "no"
1956 then
1957   echo >&2
1958   AC_MSG_WARN([X development files not found. Wine will be built without])
1959   AC_MSG_WARN([X support, which currently does not work, and probably])
1960   AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
1961   AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
1962 fi
1963
1964 if test "$wine_cv_opengl_headers_found" = "no" -o "$wine_cv_opengl_header_version_OK" = "no" -o "$wine_cv_opengl_libs_found" = "no"
1965 then
1966   echo >&2
1967   AC_MSG_WARN([Wine will be build without OpenGL or Direct3D support])
1968   AC_MSG_WARN([because something is wrong with the OpenGL setup:])
1969   if test "$wine_cv_opengl_headers_found" = "no"
1970   then
1971     AC_MSG_WARN([No OpenGL development headers were found])
1972   fi
1973   if test "$wine_cv_opengl_header_version_OK" = "no"
1974   then
1975     AC_MSG_WARN([Old Mesa headers detected. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
1976   fi
1977   if test "$wine_cv_opengl_libs_found" = "no"
1978   then
1979     AC_MSG_WARN([No OpenGL library found on this system.])
1980   fi
1981 fi
1982
1983 if test "$wine_cv_msg_freetype" = "yes"
1984 then
1985   echo >&2
1986   AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
1987   AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
1988   AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
1989   AC_MSG_WARN([to enable Wine to use TrueType fonts.])
1990 fi
1991
1992 if test -z "$FONTSSUBDIRS"
1993 then
1994   echo >&2
1995   if test "$FONTFORGE" = "false"
1996   then
1997     AC_MSG_WARN([FontForge is missing.])
1998   else
1999     AC_MSG_WARN([FreeType is missing.])
2000   fi
2001   AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
2002 fi
2003
2004 if test -z "$ALSALIBS" -a \
2005         -z "$ARTSC_LIBS" -a \
2006         -z "$AUDIOIOLIBS" -a \
2007         -z "$NASLIBS" -a \
2008         -z "$ESD_LIBS" -a \
2009         -z "$ac_cv_lib_soname_jack" -a \
2010         "$ac_cv_header_sys_soundcard_h" != "yes" -a \
2011         "$ac_cv_header_machine_soundcard_h" != "yes" -a \
2012         "$ac_cv_header_soundcard_h" != "yes"
2013 then
2014   echo >&2
2015   AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
2016   AC_MSG_WARN([The currently supported sound systems are:])
2017   AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
2018 fi
2019
2020 echo
2021 echo "Configure finished.  Do '${ac_make} depend && ${ac_make}' to compile Wine."
2022 echo
2023
2024 dnl Local Variables:
2025 dnl comment-start: "dnl "
2026 dnl comment-end: ""
2027 dnl comment-start-skip: "\\bdnl\\b\\s *"
2028 dnl compile-command: "autoconf && autoheader"
2029 dnl End: