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