configure: Extend the current OpenGL/Direct3D warning code.
[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_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 -fshort-wchar
919   AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
920       [WINE_TRY_CFLAGS([-fshort-wchar],
921                       ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
922   if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
923   then
924       AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
925   fi
926
927   dnl Check for -fno-strict-aliasing
928   AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
929       [WINE_TRY_CFLAGS([-fno-strict-aliasing],
930                       ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
931   if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
932   then
933     EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
934   fi
935
936   dnl Check for -gstabs+ option
937   AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
938       [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
939   if test "$ac_cv_c_gcc_gstabs" = "yes"
940   then
941     EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
942   fi
943
944   dnl Check for -Wdeclaration-after-statement option
945   AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
946       [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
947   if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
948   then
949     EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
950   fi
951
952   dnl Check for noisy string.h
953   saved_CFLAGS="$CFLAGS"
954   CFLAGS="$CFLAGS -Wpointer-arith -Werror"
955   AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
956       AC_TRY_COMPILE([#include <string.h>],[],
957                      [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
958   CFLAGS="$saved_CFLAGS"
959   if test "$ac_cv_c_string_h_warnings" = "no"
960   then
961     EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
962   fi
963
964   AC_SUBST(BUILTINFLAG,"")
965   saved_CFLAGS="$CFLAGS"
966   CFLAGS="$CFLAGS -Werror"
967   AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
968       AC_TRY_COMPILE([],
969                      [int iswlower(unsigned short);],
970                      [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
971   CFLAGS="$saved_CFLAGS"
972   if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
973   then
974     BUILTINFLAG="-fno-builtin"
975   fi
976 fi
977
978 dnl **** Check how to define a function in assembly code ****
979
980 AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
981   WINE_TRY_ASM_LINK(
982       ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
983       ac_cv_asm_func_def=".def",
984     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
985       ac_cv_asm_func_def=".type @function",
986     [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
987       ac_cv_asm_func_def=".type 2",
988       ac_cv_asm_func_def="unknown")])]))
989
990 AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
991 case "$ac_cv_asm_func_def" in
992   ".def")
993      AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
994   ".type @function")
995      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
996   ".type 2")
997      AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
998   *)
999      AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
1000 esac
1001
1002 dnl **** Check for underscore on external symbols ****
1003
1004 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
1005     WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
1006                       [extern int ac_test;],
1007                       [if (ac_test) return 1],
1008                       ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
1009
1010 AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
1011 if test "$ac_cv_c_extern_prefix" = "yes"
1012 then
1013   AC_DEFINE([__ASM_NAME(name)], ["_" name])
1014 else
1015   AC_DEFINE([__ASM_NAME(name)], [name])
1016 fi
1017
1018 dnl **** Check for working dll ****
1019
1020 AC_SUBST(DLLEXT,"")
1021 AC_SUBST(DLLFLAGS,"-D_REENTRANT")
1022 AC_SUBST(LDSHARED,"")
1023 AC_SUBST(LDDLLFLAGS,"")
1024 AC_SUBST(LIBEXT,"so")
1025 AC_SUBST(IMPLIBEXT,"def")
1026
1027 case $host_os in
1028   cygwin*|mingw32*)
1029     AC_CHECK_TOOL(DLLTOOL,dlltool,false)
1030     AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
1031     if test "$DLLWRAP" = "false"; then
1032       LIBEXT="a"
1033     else
1034       dnl FIXME - check whether dllwrap works correctly...
1035       LIBEXT="dll"
1036     fi
1037     IMPLIBEXT="a"
1038     dnl We can't build 16-bit NE dlls
1039     WIN16_FILES=""
1040     WIN16_INSTALL=""
1041     ;;
1042   darwin*|macosx*)
1043     DLLEXT=".so"
1044     LIBEXT="dylib"
1045     DLLFLAGS="$DLLFLAGS -fPIC"
1046     LDDLLFLAGS="-bundle -multiply_defined suppress"
1047     LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME)"
1048     STRIP="$STRIP -u -r"
1049     dnl declare needed frameworks
1050     AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1051     AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
1052     AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7f000000"])
1053     if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
1054     then
1055         dnl CoreServices needed by AudioUnit
1056         AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
1057     fi
1058     case $host_cpu in
1059       *powerpc*)
1060         LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"  dnl FIXME
1061         ;;
1062     esac
1063     ;;
1064   *)
1065     DLLFLAGS="$DLLFLAGS -fPIC"
1066     DLLEXT=".so"
1067     AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
1068         [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-Bsymbolic],
1069                               ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
1070     if test "$ac_cv_c_dll_gnuelf" = "yes"
1071     then
1072       LDSHARED="\$(CC) -shared"
1073       LDDLLFLAGS="-shared -Wl,-Bsymbolic"
1074       AC_CACHE_CHECK([whether the linker accepts soname], ac_cv_c_sonames,
1075         [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
1076                          ac_cv_c_sonames="yes",ac_cv_c_sonames="no")])
1077       if test "$ac_cv_c_sonames" = "yes"
1078       then
1079         LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
1080       else
1081         AC_CACHE_CHECK([check to see if -h soname is an alternate], ac_cv_c_h_sonames,
1082           [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
1083                            ac_cv_c_h_sonames="yes",ac_cv_c_h_sonames="no")])
1084         if test "$ac_cv_c_h_sonames" = "yes"
1085         then
1086           LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"
1087         fi
1088       fi
1089
1090       AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1091         [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1092                          ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1093       if test "$ac_cv_c_dll_zdefs" = "yes"
1094       then
1095         LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
1096       fi
1097
1098       AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1099         [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1100                          ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1101       if test "$ac_cv_c_dll_init_fini" = "yes"
1102       then
1103         LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
1104       fi
1105
1106       AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1107         [echo '{ global: *; };' >conftest.map
1108          WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1109                          ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1110          rm -f conftest.map])
1111       if test "$ac_cv_c_ld_version_scripts" = "yes"
1112       then
1113         LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1114       fi
1115
1116       AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1117         [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1118                          ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1119       if test "$ac_cv_c_export_dynamic" = "yes"
1120       then
1121         AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
1122       fi
1123
1124       AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1125         [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1126                          ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1127       if test "$ac_cv_ld_rpath" = "yes"
1128       then
1129         AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
1130       fi
1131
1132       case $host_cpu in
1133         *i[[3456789]]86* | x86_64)
1134           AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1135             [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
1136                              ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
1137           if test "$ac_cv_ld_reloc_exec" = "yes"
1138           then
1139             LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
1140           fi
1141           ;;
1142       esac
1143
1144     else
1145       AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
1146           [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1147                                 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
1148       if test "$ac_cv_c_dll_unixware" = "yes"
1149       then
1150         LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
1151         LDDLLFLAGS="-Wl,-G,-B,symbolic"
1152
1153       else
1154         AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1155           [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1156         if test "$ac_cv_c_dll_hpux" = "yes"
1157         then
1158           LIBEXT="sl"
1159           DLLEXT=".sl"
1160           LDDLLFLAGS="-shared -fPIC"
1161           LDSHARED="\$(CC) -shared"
1162         fi
1163       fi
1164     fi
1165
1166     dnl Check for cross compiler to build test programs
1167     AC_SUBST(CROSSTEST,"")
1168     if test "$cross_compiling" = "no"
1169     then
1170       AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1171       AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1172       AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
1173       if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1174     fi
1175     ;;
1176 esac
1177
1178 if test "$LIBEXT" = "a"; then
1179   AC_MSG_ERROR(
1180 [could not find a way to build shared libraries.
1181 It is currently not possible to build Wine without shared library
1182 (.so) support to allow transparent switch between .so and .dll files.
1183 If you are using Linux, you will need a newer binutils.]
1184 )
1185 fi
1186
1187 case $build_os in
1188   cygwin*|mingw32*)
1189     AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\"") ;;
1190   darwin*|macosx*)
1191     AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\"") ;;
1192   *)
1193     AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\"") ;;
1194 esac
1195
1196 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
1197 case $host_os in
1198   mingw32*)
1199     AC_SUBST(CRTLIBS,"-lmsvcrt")
1200     AC_SUBST(SOCKETLIBS,"-lws2_32")
1201     ;;
1202 esac
1203
1204 AC_SUBST(MAIN_BINARY,"wine-pthread")  dnl Default value
1205 case $host_cpu in
1206   *i[[3456789]]86*)
1207     case $host_os in
1208       linux* | k*bsd*-gnu)
1209         AC_SUBST(MAIN_BINARY,"wine-glibc")
1210         AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
1211     esac
1212     ;;
1213 esac
1214
1215 dnl **** Get the soname for libraries that we load dynamically ****
1216
1217 if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
1218 then
1219   WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1220   WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
1221   WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1222   WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1223   WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
1224   WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
1225   WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
1226   WINE_GET_SONAME(dbus-1,dbus_error_init)
1227   WINE_GET_SONAME(hal,libhal_ctx_new)
1228   WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
1229   WINE_GET_SONAME(cups,cupsGetDefault)
1230   WINE_GET_SONAME(jack,jack_client_new)
1231   WINE_GET_SONAME(fontconfig,FcInit)
1232   WINE_GET_SONAME(ssl,SSL_library_init)
1233   WINE_GET_SONAME(crypto,BIO_new_socket)
1234   WINE_GET_SONAME(ncurses,waddch)
1235   WINE_GET_SONAME(curses,waddch)
1236   WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1237   WINE_GET_SONAME(ungif,DGifOpen)
1238   WINE_GET_SONAME(gif,DGifOpen)
1239   WINE_GET_SONAME(capi20,capi20_isinstalled)
1240 fi
1241
1242
1243 dnl **** Check for functions ****
1244
1245 AC_CHECK_FUNCS(\
1246         _pclose \
1247         _popen \
1248         _snprintf \
1249         _spawnvp \
1250         _stricmp \
1251         _strnicmp \
1252         _vsnprintf \
1253         asctime_r \
1254         chsize \
1255         clone \
1256         connect \
1257         dlopen \
1258         epoll_create \
1259         ffs \
1260         finite \
1261         fork \
1262         fpclass \
1263         fstatfs \
1264         fstatvfs \
1265         ftruncate \
1266         futimes \
1267         futimesat \
1268         getaddrinfo \
1269         gethostbyname \
1270         getnameinfo \
1271         getnetbyname \
1272         getopt_long \
1273         getpagesize \
1274         getprotobyname \
1275         getprotobynumber \
1276         getpwuid \
1277         getservbyport \
1278         gettid \
1279         gettimeofday \
1280         getuid \
1281         inet_aton \
1282         inet_network \
1283         kqueue \
1284         lstat \
1285         memmove \
1286         mmap \
1287         pclose \
1288         poll \
1289         popen \
1290         prctl \
1291         pread \
1292         pwrite \
1293         readlink \
1294         rfork \
1295         sched_yield \
1296         select \
1297         sendmsg \
1298         setrlimit \
1299         settimeofday \
1300         sigaltstack \
1301         sigprocmask \
1302         snprintf \
1303         spawnvp \
1304         statfs \
1305         statvfs \
1306         strcasecmp \
1307         strerror \
1308         strncasecmp \
1309         tcgetattr \
1310         timegm \
1311         usleep \
1312         vsnprintf \
1313         wait4 \
1314         waitpid \
1315 )
1316
1317 dnl Check for -ldl
1318 if test "$ac_cv_func_dlopen" = no
1319 then
1320     AC_CHECK_LIB(dl,dlopen,[AC_DEFINE(HAVE_DLOPEN,1) AC_SUBST(LIBDL,"-ldl")])
1321 fi
1322 WINE_CHECK_LIB_FUNCS(dladdr,[$LIBDL])
1323
1324 dnl Check for -lpoll for Mac OS X/Darwin
1325 if test "$ac_cv_func_poll" = no
1326 then
1327     AC_CHECK_LIB(poll,poll,[AC_DEFINE(HAVE_POLL,1) AC_SUBST(LIBPOLL,"-lpoll")])
1328 fi
1329
1330 dnl Check for -lnsl for Solaris
1331 if test "$ac_cv_func_gethostbyname" = no
1332 then
1333     AC_CHECK_LIB(nsl,gethostbyname)
1334 fi
1335
1336 dnl Check for -lsocket for Solaris
1337 if test "$ac_cv_func_connect" = no
1338 then
1339     AC_CHECK_LIB(socket,connect)
1340 fi
1341
1342 dnl Check for -lresolv for Solaris
1343 if test "$ac_cv_func_inet_aton" = no
1344 then
1345     AC_CHECK_LIB(resolv,inet_aton)
1346 fi
1347
1348 dnl **** Check for types ****
1349
1350 AC_C_CONST
1351 AC_C_INLINE
1352 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
1353 AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
1354 AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
1355
1356 AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1357 [#ifdef HAVE_LINUX_INPUT_H
1358 #include <linux/input.h>
1359 #endif])
1360
1361 AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1362                AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1363                            wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1364 if test "$wine_cv_have_sigaddset" = "yes"
1365 then
1366   AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1367 fi
1368
1369
1370 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1371         wine_cv_linux_gethostbyname_r_6,
1372         AC_TRY_LINK([
1373 #include <netdb.h>
1374         ], [
1375     char *name=NULL;
1376     struct hostent he;
1377     struct hostent *result;
1378     char *buf=NULL;
1379     int bufsize=0;
1380     int res,errnr;
1381     char *addr=NULL;
1382     int addrlen=0;
1383     int addrtype=0;
1384     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1385     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1386     ],
1387         wine_cv_linux_gethostbyname_r_6=yes,
1388         wine_cv_linux_gethostbyname_r_6=no
1389         )
1390    )
1391    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1392    then
1393       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1394                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1395    fi
1396
1397 if test "$ac_cv_header_linux_joystick_h" = "yes"
1398 then
1399    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1400         wine_cv_linux_joystick_22_api,
1401         AC_TRY_COMPILE([
1402         #include <sys/ioctl.h>
1403         #include <linux/joystick.h>
1404
1405         struct js_event blub;
1406         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1407         #error "no 2.2 header"
1408         #endif
1409         ],/*empty*/,
1410         wine_cv_linux_joystick_22_api=yes,
1411         wine_cv_linux_joystick_22_api=no,
1412         wine_cv_linux_joystick_22_api=no
1413         )
1414    )
1415    if test "$wine_cv_linux_joystick_22_api" = "yes"
1416    then
1417       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1418                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1419    fi
1420 fi
1421
1422 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1423
1424 dnl Check for statfs members
1425 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],,,
1426 [#include <sys/types.h>
1427 #ifdef HAVE_SYS_PARAM_H
1428 # include <sys/param.h>
1429 #endif
1430 #ifdef HAVE_SYS_MOUNT_H
1431 # include <sys/mount.h>
1432 #endif
1433 #ifdef HAVE_SYS_VFS_H
1434 # include <sys/vfs.h>
1435 #endif
1436 #ifdef HAVE_SYS_STATFS_H
1437 # include <sys/statfs.h>
1438 #endif])
1439
1440 AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1441 [#ifdef HAVE_SYS_STATVFS_H
1442 #include <sys/statvfs.h>
1443 #endif])
1444
1445 dnl Check for socket structure members
1446 AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
1447 [#include <sys/types.h>
1448 #ifdef HAVE_SYS_SOCKET_H
1449 # include <sys/socket.h>
1450 #endif
1451 #ifdef HAVE_SYS_UN_H
1452 # include <sys/un.h>
1453 #endif])
1454
1455 dnl Check for scsireq_t and sg_io_hdr_t members
1456 AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1457 [#include <sys/types.h>
1458 #ifdef HAVE_SCSI_SG_H
1459 #include <scsi/sg.h>
1460 #endif])
1461
1462 dnl Check for siginfo_t members
1463 AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
1464
1465 dnl Check for struct mtget members
1466 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
1467 [#include <sys/types.h>
1468 #ifdef HAVE_SYS_MTIO_H
1469 #include <sys/mtio.h>
1470 #endif])
1471
1472 dnl Check for struct option
1473 AC_CHECK_MEMBERS([struct option.name],,,
1474 [#ifdef HAVE_GETOPT_H
1475 #include <getopt.h>
1476 #endif])
1477
1478 dnl Check for stat.st_blocks
1479 AC_CHECK_MEMBERS([struct stat.st_blocks])
1480
1481 dnl Check for sin6_scope_id
1482 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1483 [#ifdef HAVE_SYS_TYPES_H
1484 #include <sys/types.h>
1485 #endif
1486 #ifdef HAVE_NETINET_IN_H
1487 #include <netinet/in.h>
1488 #endif])
1489
1490 dnl Check for ns_msg ptr member
1491 AC_CHECK_MEMBERS([ns_msg._msg_ptr],,,
1492 [#ifdef HAVE_SYS_TYPES_H
1493 #include <sys/types.h>
1494 #endif
1495 #ifdef HAVE_NETINET_IN_H
1496 # include <netinet/in.h>
1497 #endif
1498 #ifdef HAVE_ARPA_NAMESER_H
1499 # include <arpa/nameser.h>
1500 #endif])
1501
1502 dnl Check for the external timezone variables timezone and daylight
1503 AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1504                AC_TRY_LINK([#include <time.h>],[timezone;],
1505                            ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1506 if test "$ac_cv_have_timezone" = "yes"
1507 then
1508     AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1509 fi
1510 AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1511                AC_TRY_LINK([#include <time.h>],[daylight;],
1512                            ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1513 if test "$ac_cv_have_daylight" = "yes"
1514 then
1515     AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1516 fi
1517
1518 dnl *** check for the need to define platform-specific symbols
1519
1520 case $host_cpu in
1521   *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1522   *x86_64*)         WINE_CHECK_DEFINE([__x86_64__])
1523                     WINE_CHECK_DEFINE([_WIN64]) ;;
1524   *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
1525   *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
1526   *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
1527 esac
1528
1529 case $host_vendor in
1530   *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
1531 esac
1532
1533 dnl **** Generate output files ****
1534
1535 AH_TOP([#define __WINE_CONFIG_H])
1536
1537 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1538 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1539 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1540 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1541 WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
1542 WINE_CONFIG_EXTRA_DIR(include/wine)
1543
1544 MAKE_RULES=Make.rules
1545 AC_SUBST_FILE(MAKE_RULES)
1546
1547 MAKE_DLL_RULES=dlls/Makedll.rules
1548 AC_SUBST_FILE(MAKE_DLL_RULES)
1549
1550 MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1551 AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1552
1553 MAKE_TEST_RULES=dlls/Maketest.rules
1554 AC_SUBST_FILE(MAKE_TEST_RULES)
1555
1556 MAKE_PROG_RULES=programs/Makeprog.rules
1557 AC_SUBST_FILE(MAKE_PROG_RULES)
1558
1559 AC_CONFIG_FILES([
1560 Make.rules
1561 dlls/Makedll.rules
1562 dlls/Makeimplib.rules
1563 dlls/Maketest.rules
1564 programs/Makeprog.rules
1565 Makefile
1566 dlls/Makefile
1567 dlls/activeds/Makefile
1568 dlls/advapi32/Makefile
1569 dlls/advapi32/tests/Makefile
1570 dlls/advpack/Makefile
1571 dlls/advpack/tests/Makefile
1572 dlls/amstream/Makefile
1573 dlls/atl/Makefile
1574 dlls/avicap32/Makefile
1575 dlls/avifil32/Makefile
1576 dlls/cabinet/Makefile
1577 dlls/cabinet/tests/Makefile
1578 dlls/capi2032/Makefile
1579 dlls/cards/Makefile
1580 dlls/cfgmgr32/Makefile
1581 dlls/comcat/Makefile
1582 dlls/comcat/tests/Makefile
1583 dlls/comctl32/Makefile
1584 dlls/comctl32/tests/Makefile
1585 dlls/comdlg32/Makefile
1586 dlls/comdlg32/tests/Makefile
1587 dlls/compstui/Makefile
1588 dlls/crtdll/Makefile
1589 dlls/crypt32/Makefile
1590 dlls/crypt32/tests/Makefile
1591 dlls/cryptdll/Makefile
1592 dlls/cryptnet/Makefile
1593 dlls/ctl3d32/Makefile
1594 dlls/d3d8/Makefile
1595 dlls/d3d8/tests/Makefile
1596 dlls/d3d9/Makefile
1597 dlls/d3d9/tests/Makefile
1598 dlls/d3dim/Makefile
1599 dlls/d3drm/Makefile
1600 dlls/d3dx8/Makefile
1601 dlls/d3dxof/Makefile
1602 dlls/dbghelp/Makefile
1603 dlls/dciman32/Makefile
1604 dlls/ddraw/Makefile
1605 dlls/ddraw/tests/Makefile
1606 dlls/devenum/Makefile
1607 dlls/dinput/Makefile
1608 dlls/dinput/tests/Makefile
1609 dlls/dinput8/Makefile
1610 dlls/dmband/Makefile
1611 dlls/dmcompos/Makefile
1612 dlls/dmime/Makefile
1613 dlls/dmloader/Makefile
1614 dlls/dmscript/Makefile
1615 dlls/dmstyle/Makefile
1616 dlls/dmsynth/Makefile
1617 dlls/dmusic/Makefile
1618 dlls/dmusic32/Makefile
1619 dlls/dnsapi/Makefile
1620 dlls/dnsapi/tests/Makefile
1621 dlls/dplay/Makefile
1622 dlls/dplayx/Makefile
1623 dlls/dpnet/Makefile
1624 dlls/dpnhpast/Makefile
1625 dlls/dsound/Makefile
1626 dlls/dsound/tests/Makefile
1627 dlls/dswave/Makefile
1628 dlls/dxdiagn/Makefile
1629 dlls/dxerr8/Makefile
1630 dlls/dxerr9/Makefile
1631 dlls/dxguid/Makefile
1632 dlls/gdi/Makefile
1633 dlls/gdi/tests/Makefile
1634 dlls/glu32/Makefile
1635 dlls/glut32/Makefile
1636 dlls/gphoto2.ds/Makefile
1637 dlls/hhctrl.ocx/Makefile
1638 dlls/hid/Makefile
1639 dlls/hlink/Makefile
1640 dlls/hlink/tests/Makefile
1641 dlls/iccvid/Makefile
1642 dlls/icmp/Makefile
1643 dlls/ifsmgr.vxd/Makefile
1644 dlls/imaadp32.acm/Makefile
1645 dlls/imagehlp/Makefile
1646 dlls/imm32/Makefile
1647 dlls/infosoft/Makefile
1648 dlls/infosoft/tests/Makefile
1649 dlls/inseng/Makefile
1650 dlls/iphlpapi/Makefile
1651 dlls/iphlpapi/tests/Makefile
1652 dlls/itss/Makefile
1653 dlls/kernel/Makefile
1654 dlls/kernel/tests/Makefile
1655 dlls/lz32/Makefile
1656 dlls/lz32/tests/Makefile
1657 dlls/mapi32/Makefile
1658 dlls/mapi32/tests/Makefile
1659 dlls/mciavi32/Makefile
1660 dlls/mcicda/Makefile
1661 dlls/mciseq/Makefile
1662 dlls/mciwave/Makefile
1663 dlls/midimap/Makefile
1664 dlls/mlang/Makefile
1665 dlls/mlang/tests/Makefile
1666 dlls/mmdevldr.vxd/Makefile
1667 dlls/monodebg.vxd/Makefile
1668 dlls/mpr/Makefile
1669 dlls/mprapi/Makefile
1670 dlls/msacm32.drv/Makefile
1671 dlls/msacm32/Makefile
1672 dlls/msacm32/tests/Makefile
1673 dlls/msadp32.acm/Makefile
1674 dlls/mscms/Makefile
1675 dlls/mscms/tests/Makefile
1676 dlls/msdmo/Makefile
1677 dlls/msftedit/Makefile
1678 dlls/msg711.acm/Makefile
1679 dlls/mshtml/Makefile
1680 dlls/mshtml/tests/Makefile
1681 dlls/msi/Makefile
1682 dlls/msi/tests/Makefile
1683 dlls/msimg32/Makefile
1684 dlls/msisys.ocx/Makefile
1685 dlls/msnet32/Makefile
1686 dlls/msrle32/Makefile
1687 dlls/msvcrt/Makefile
1688 dlls/msvcrt/tests/Makefile
1689 dlls/msvcrt20/Makefile
1690 dlls/msvcrt40/Makefile
1691 dlls/msvcrtd/Makefile
1692 dlls/msvcrtd/tests/Makefile
1693 dlls/msvfw32/Makefile
1694 dlls/msvidc32/Makefile
1695 dlls/mswsock/Makefile
1696 dlls/msxml3/Makefile
1697 dlls/msxml3/tests/Makefile
1698 dlls/netapi32/Makefile
1699 dlls/netapi32/tests/Makefile
1700 dlls/newdev/Makefile
1701 dlls/ntdll/Makefile
1702 dlls/ntdll/tests/Makefile
1703 dlls/ntdsapi/Makefile
1704 dlls/objsel/Makefile
1705 dlls/odbc32/Makefile
1706 dlls/odbccp32/Makefile
1707 dlls/ole32/Makefile
1708 dlls/ole32/tests/Makefile
1709 dlls/oleacc/Makefile
1710 dlls/oleaut32/Makefile
1711 dlls/oleaut32/tests/Makefile
1712 dlls/olecli32/Makefile
1713 dlls/oledlg/Makefile
1714 dlls/olepro32/Makefile
1715 dlls/olesvr32/Makefile
1716 dlls/opengl32/Makefile
1717 dlls/powrprof/Makefile
1718 dlls/psapi/Makefile
1719 dlls/psapi/tests/Makefile
1720 dlls/pstorec/Makefile
1721 dlls/qcap/Makefile
1722 dlls/quartz/Makefile
1723 dlls/quartz/tests/Makefile
1724 dlls/query/Makefile
1725 dlls/rasapi32/Makefile
1726 dlls/riched20/Makefile
1727 dlls/riched20/tests/Makefile
1728 dlls/riched32/Makefile
1729 dlls/rpcrt4/Makefile
1730 dlls/rpcrt4/tests/Makefile
1731 dlls/rsabase/Makefile
1732 dlls/rsabase/tests/Makefile
1733 dlls/rsaenh/Makefile
1734 dlls/rsaenh/tests/Makefile
1735 dlls/sane.ds/Makefile
1736 dlls/secur32/Makefile
1737 dlls/secur32/tests/Makefile
1738 dlls/security/Makefile
1739 dlls/sensapi/Makefile
1740 dlls/serialui/Makefile
1741 dlls/setupapi/Makefile
1742 dlls/setupapi/tests/Makefile
1743 dlls/sfc/Makefile
1744 dlls/shdocvw/Makefile
1745 dlls/shdocvw/tests/Makefile
1746 dlls/shell32/Makefile
1747 dlls/shell32/tests/Makefile
1748 dlls/shfolder/Makefile
1749 dlls/shlwapi/Makefile
1750 dlls/shlwapi/tests/Makefile
1751 dlls/snmpapi/Makefile
1752 dlls/spoolss/Makefile
1753 dlls/stdole2.tlb/Makefile
1754 dlls/stdole32.tlb/Makefile
1755 dlls/sti/Makefile
1756 dlls/strmiids/Makefile
1757 dlls/tapi32/Makefile
1758 dlls/twain_32/Makefile
1759 dlls/unicows/Makefile
1760 dlls/url/Makefile
1761 dlls/urlmon/Makefile
1762 dlls/urlmon/tests/Makefile
1763 dlls/user/Makefile
1764 dlls/user/tests/Makefile
1765 dlls/userenv/Makefile
1766 dlls/usp10/Makefile
1767 dlls/usp10/tests/Makefile
1768 dlls/uuid/Makefile
1769 dlls/uxtheme/Makefile
1770 dlls/uxtheme/tests/Makefile
1771 dlls/vdhcp.vxd/Makefile
1772 dlls/vdmdbg/Makefile
1773 dlls/version/Makefile
1774 dlls/version/tests/Makefile
1775 dlls/vmm.vxd/Makefile
1776 dlls/vnbt.vxd/Makefile
1777 dlls/vnetbios.vxd/Makefile
1778 dlls/vtdapi.vxd/Makefile
1779 dlls/vwin32.vxd/Makefile
1780 dlls/w32skrnl/Makefile
1781 dlls/winecrt0/Makefile
1782 dlls/wined3d/Makefile
1783 dlls/winedos/Makefile
1784 dlls/winemp3.acm/Makefile
1785 dlls/wineps.drv/Makefile
1786 dlls/winex11.drv/Makefile
1787 dlls/wininet/Makefile
1788 dlls/wininet/tests/Makefile
1789 dlls/winmm/Makefile
1790 dlls/winmm/joystick/Makefile
1791 dlls/winmm/tests/Makefile
1792 dlls/winmm/winealsa/Makefile
1793 dlls/winmm/winearts/Makefile
1794 dlls/winmm/wineaudioio/Makefile
1795 dlls/winmm/winecoreaudio/Makefile
1796 dlls/winmm/wineesd/Makefile
1797 dlls/winmm/winejack/Makefile
1798 dlls/winmm/winenas/Makefile
1799 dlls/winmm/wineoss/Makefile
1800 dlls/winnls32/Makefile
1801 dlls/winspool.drv/Makefile
1802 dlls/winspool.drv/tests/Makefile
1803 dlls/wintab32/Makefile
1804 dlls/wintrust/Makefile
1805 dlls/wldap32/Makefile
1806 dlls/wnaspi32/Makefile
1807 dlls/wow32/Makefile
1808 dlls/ws2_32/Makefile
1809 dlls/ws2_32/tests/Makefile
1810 dlls/wsock32/Makefile
1811 dlls/wtsapi32/Makefile
1812 documentation/Makefile
1813 fonts/Makefile
1814 include/Makefile
1815 libs/Makefile
1816 libs/port/Makefile
1817 libs/wine/Makefile
1818 libs/wpp/Makefile
1819 loader/Makefile
1820 programs/Makefile
1821 programs/clock/Makefile
1822 programs/cmdlgtst/Makefile
1823 programs/control/Makefile
1824 programs/eject/Makefile
1825 programs/expand/Makefile
1826 programs/explorer/Makefile
1827 programs/hh/Makefile
1828 programs/icinfo/Makefile
1829 programs/iexplore/Makefile
1830 programs/msiexec/Makefile
1831 programs/notepad/Makefile
1832 programs/oleview/Makefile
1833 programs/progman/Makefile
1834 programs/regedit/Makefile
1835 programs/regsvr32/Makefile
1836 programs/rpcss/Makefile
1837 programs/rundll32/Makefile
1838 programs/start/Makefile
1839 programs/taskmgr/Makefile
1840 programs/uninstaller/Makefile
1841 programs/view/Makefile
1842 programs/wcmd/Makefile
1843 programs/wineboot/Makefile
1844 programs/winebrowser/Makefile
1845 programs/winecfg/Makefile
1846 programs/wineconsole/Makefile
1847 programs/winedbg/Makefile
1848 programs/winefile/Makefile
1849 programs/winemenubuilder/Makefile
1850 programs/winemine/Makefile
1851 programs/winepath/Makefile
1852 programs/winetest/Makefile
1853 programs/winevdm/Makefile
1854 programs/winhelp/Makefile
1855 programs/winver/Makefile
1856 programs/wordpad/Makefile
1857 server/Makefile
1858 tools/Makefile
1859 tools/widl/Makefile
1860 tools/winapi/Makefile
1861 tools/winebuild/Makefile
1862 tools/winedump/Makefile
1863 tools/winegcc/Makefile
1864 tools/wmc/Makefile
1865 tools/wrc/Makefile])
1866
1867 AC_OUTPUT
1868
1869 dnl **** Display messages about additional packages ***
1870
1871 if test "$verbose" = "yes"
1872 then
1873   dnl **** libcupsys-dev devel package ***
1874   if test "$ac_cv_header_cups_cups_h" != "yes"
1875   then
1876     echo >&2
1877     AC_MSG_NOTICE([libcups development files not found.])
1878     AC_MSG_NOTICE([Wine will be built without CUPS support.])
1879   fi
1880
1881   dnl **** libcurses devel package: see libncurses ***
1882   dnl **** libdbus-1 devel package ***
1883   dnl **** libdbus-1-dev is required for libhal-dev ***
1884
1885   dnl **** libgphoto2 devel package ***
1886   if test "$ac_cv_header_gphoto2_camera_h" != "yes"
1887   then
1888     echo >&2
1889     AC_MSG_NOTICE([libgphoto2 development files not found.])
1890     if test "$ac_cv_header_sane_sane_h" = "yes"
1891     then
1892       AC_MSG_NOTICE([Wine will be built with limited Digital Camera support. (twain_32.dll)])
1893     else
1894       AC_MSG_NOTICE([Wine will be built without Digital Camera support. (gphoto2.ds/twain_32.dll)])
1895     fi
1896   fi
1897
1898   dnl **** libhal devel package ***
1899   dnl **** libhal-dev depends on libdbus-1-dev ***
1900   if test "$ac_cv_header_hal_libhal_h" != "yes"
1901   then
1902     echo >&2
1903     AC_MSG_NOTICE([libhal development files not found.])
1904     AC_MSG_NOTICE([Wine will be built without dynamic device support. (explorer.exe)])
1905   fi
1906
1907   dnl **** libicu devel package ****
1908   if test "$ac_cv_header_unicode_ubidi_h" != "yes"
1909   then
1910     echo >&2
1911     AC_MSG_NOTICE([libicu development files not found.])
1912     AC_MSG_NOTICE([Wine will be built without bidi (Right to Left) support. (gdi32.dll)])
1913   fi
1914
1915   dnl **** liblcms devel package ****
1916   if test "$ac_cv_header_lcms_h" != "yes" -a "$ac_cv_header_lcms_lcms_h" != "yes"
1917   then
1918     echo >&2
1919     AC_MSG_NOTICE([liblcms development files not found.])
1920     AC_MSG_NOTICE([Wine will be built without Color Management support. (mscms.dll)])
1921   fi
1922
1923   dnl **** libldap devel package ****
1924   if test "$ac_cv_header_ldap_h" != "yes" -o "$ac_cv_header_lber_h" != "yes"
1925   then
1926     echo >&2
1927     AC_MSG_NOTICE([libldap (OpenLDAP) development files not found.])
1928     AC_MSG_NOTICE([Wine will be built without LDAP support. (wldap32.dll)])
1929   fi
1930
1931   dnl **** libncurses / libcurses devel package ***
1932   if test "x$with_curses" != "xno" -a "$ac_cv_header_ncurses_h" != "yes" -a "$ac_cv_header_curses_h" != "yes"
1933   then
1934     echo >&2
1935     AC_MSG_NOTICE([lib(n)curses development files not found.])
1936     AC_MSG_NOTICE([Wine will be built without (n)curses support. (wineconsole.exe)])
1937   fi
1938
1939   dnl **** libsane devel package ***
1940   if test "$ac_cv_header_sane_sane_h" != "yes"
1941   then
1942     echo >&2
1943     AC_MSG_NOTICE([libsane development files not found.])
1944     AC_MSG_NOTICE([Wine will be built without Scanner support. (sane.ds/twain_32.dll)])
1945   fi
1946
1947   dnl **** libungif devel package ***
1948   if test "$ac_cv_header_gif_lib_h" != "yes"
1949   then
1950     echo >&2
1951     AC_MSG_NOTICE([libungif development files not found.])
1952     AC_MSG_NOTICE([Wine will be built without GIF support. (oleaut32.dll)])
1953   fi
1954
1955   dnl **** libX11-dev includes Xlib.h and Xutil.h and depends on ***
1956   dnl **** x11proto-input-dev (extensions/XInput.h) and x11proto-kb-dev (XKBlib.h) ***
1957   if test "$have_x" = "yes"
1958   then
1959     dnl **** libX11 - extension: Xext ***
1960     if test "$ac_cv_header_X11_extensions_shape_h" != "yes" -o "$ac_cv_header_X11_extensions_XShm_h" != "yes"
1961     then
1962       echo >&2
1963       AC_MSG_NOTICE([libxext development files not found.])
1964       AC_MSG_NOTICE([Wine will be built without Shm / Shape support. (winex11.drv)])
1965     fi
1966
1967     dnl **** libX11 - extension: Xrandr ***
1968     if test "$ac_cv_header_X11_extensions_Xrandr_h" != "yes"
1969     then
1970       echo >&2
1971       AC_MSG_NOTICE([libXrandr development files not found.])
1972       AC_MSG_NOTICE([Wine will be built without Xrandr support. (winex11.drv)])
1973     fi
1974
1975     dnl **** libX11 - extension: Xrender ***
1976     if test "$ac_cv_header_X11_extensions_Xrender_h" != "yes"
1977     then
1978       echo >&2
1979       AC_MSG_NOTICE([libXrender development files not found.])
1980       AC_MSG_NOTICE([Wine will be built without Xrender support. (winex11.drv)])
1981     fi
1982
1983     dnl **** libX11 - extension: Xxf86vm ***
1984     if test "$ac_cv_header_X11_extensions_xf86vmode_h" != "yes"
1985     then
1986       echo >&2
1987       AC_MSG_NOTICE([libXxf86vm development files not found.])
1988       AC_MSG_NOTICE([Wine will be built without XFree86-VidMode support. (winex11.drv)])
1989     fi
1990   fi
1991
1992   dnl **** libxml2 devel package ***
1993   if test "$ac_cv_header_libxml_parser_h" != "yes"
1994   then
1995     echo >&2
1996     AC_MSG_NOTICE([libxml2 development files not found.])
1997     AC_MSG_NOTICE([Wine will be built without XML support. (msxml.dll)])
1998   fi
1999
2000   dnl **** libxslt devel package ***
2001   if test "$ac_cv_header_libxslt_pattern_h" != "yes" -o "$ac_cv_header_libxslt_transform_h" != "yes"
2002   then
2003     echo >&2
2004     AC_MSG_NOTICE([libxslt development files not found.])
2005     AC_MSG_NOTICE([Wine will be built without xslt support. (msxml.dll)])
2006   fi
2007 fi
2008
2009
2010 dnl **** Display warnings about important packages ***
2011 if test "$have_x" = "no"
2012 then
2013   echo >&2
2014   AC_MSG_WARN([X development files not found. Wine will be built without])
2015   AC_MSG_WARN([X support, which currently does not work, and probably])
2016   AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
2017   AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
2018 fi
2019
2020 if test "$wine_cv_opengl_headers_found" = "no" -o "$wine_cv_opengl_header_version_OK" = "no" -o "$wine_cv_opengl_libs_found" = "no"
2021 then
2022   echo >&2
2023   AC_MSG_WARN([Wine will be build without OpenGL or Direct3D support])
2024   AC_MSG_WARN([because something is wrong with the OpenGL setup:])
2025   if test "$wine_cv_opengl_headers_found" = "no"
2026   then
2027     AC_MSG_WARN([No OpenGL development headers were found])
2028   fi
2029   if test "$wine_cv_opengl_header_version_OK" = "no"
2030   then
2031     AC_MSG_WARN([Old Mesa headers detected. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
2032   fi
2033   if test "$wine_cv_opengl_libs_found" = "no"
2034   then
2035     AC_MSG_WARN([No OpenGL library found on this system.])
2036   fi
2037 fi
2038
2039 if test "$wine_cv_msg_freetype" = "yes"
2040 then
2041   echo >&2
2042   AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
2043   AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
2044   AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
2045   AC_MSG_WARN([to enable Wine to use TrueType fonts.])
2046 fi
2047
2048 if test -z "$FONTSSUBDIRS"
2049 then
2050   echo >&2
2051   if test "$FONTFORGE" = "false"
2052   then
2053     AC_MSG_WARN([FontForge is missing.])
2054   else
2055     AC_MSG_WARN([FreeType is missing.])
2056   fi
2057   AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
2058 fi
2059
2060 if test -z "$ALSALIBS" -a \
2061         -z "$ARTSC_LIBS" -a \
2062         -z "$AUDIOIOLIBS" -a \
2063         -z "$NASLIBS" -a \
2064         -z "$ESD_LIBS" -a \
2065         -z "$ac_cv_lib_soname_jack" -a \
2066         "$ac_cv_header_sys_soundcard_h" != "yes" -a \
2067         "$ac_cv_header_machine_soundcard_h" != "yes" -a \
2068         "$ac_cv_header_soundcard_h" != "yes"
2069 then
2070   echo >&2
2071   AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
2072   AC_MSG_WARN([The currently supported sound systems are:])
2073   AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
2074 fi
2075
2076 echo
2077 echo "Configure finished.  Do '${ac_make} depend && ${ac_make}' to compile Wine."
2078 echo
2079
2080 dnl Local Variables:
2081 dnl comment-start: "dnl "
2082 dnl comment-end: ""
2083 dnl comment-start-skip: "\\bdnl\\b\\s *"
2084 dnl compile-command: "autoconf && autoheader"
2085 dnl End: