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