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