blob: f852a0033ee872278139fb312e52a709c8233660 [file] [log] [blame]
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001dnl Process this file with autoconf to produce a configure script.
Alexandre Julliardf5818d22002-02-14 19:47:29 +00002dnl Original author: Michael Patra
3dnl See ChangeLog file for detailed change history.
4
5m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1]))
6
Vincent Béron82103fe2005-09-14 11:14:46 +00007AC_PREREQ(2.53b)
Alexandre Julliard875927f2004-01-02 01:55:29 +00008AC_INIT([Wine],WINE_VERSION,[wine-devel@winehq.org])
Alexandre Julliard7cae5582002-06-01 02:55:48 +00009AC_CONFIG_SRCDIR(server/atom.c)
Alexandre Julliardf5818d22002-02-14 19:47:29 +000010AC_CONFIG_HEADERS(include/config.h)
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +000011AC_CONFIG_AUX_DIR(tools)
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000012
Alexandre Julliardff8331e1995-09-18 11:19:54 +000013dnl **** Command-line arguments ****
14
Alexandre Julliardc728efc2002-10-02 02:34:09 +000015AC_ARG_ENABLE(win16, AC_HELP_STRING([--disable-win16],[do not include Win16 support]))
Alexandre Julliard2aa8e872004-10-08 23:39:16 +000016AC_ARG_ENABLE(win64, AC_HELP_STRING([--enable-win64], [build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
Alexandre Julliardb8074992002-11-21 21:51:24 +000017
18AC_ARG_WITH(opengl, AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
Alexandre Julliardfc01b722002-05-12 03:16:39 +000019AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses]))
20AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
Alexandre Julliarda11d7b11998-03-01 20:05:02 +000021
Alexandre Julliardfc01b722002-05-12 03:16:39 +000022AC_CANONICAL_HOST
Alexandre Julliard2aa8e872004-10-08 23:39:16 +000023case $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"
Alex Woodsbbcf9862005-02-10 19:09:08 +000030 host_cpu="i386"
Alexandre Julliard2aa8e872004-10-08 23:39:16 +000031 fi
32 ;;
33esac
34
Alexandre Julliard71440f32005-05-19 14:28:17 +000035dnl enable_win16 defaults to yes on x86, to no on other CPUs
36case $host_cpu in
37 *i[[3456789]]86*)
38 if test "x$enable_win16" != "xno"
39 then
40 enable_win16="yes"
41 fi
42 ;;
43esac
44
45AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
46AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
47if test "x$enable_win16" != "xyes"
48then
49 WIN16_FILES=""
50 WIN16_INSTALL=""
51fi
52
53dnl **** Check for some programs ****
54
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000055AC_PROG_MAKE_SET
56AC_PROG_CC
Dimitrie O. Paunf41c2b22004-03-02 02:23:26 +000057AC_PROG_CXX
Alexandre Julliarda631ef62004-03-03 20:30:46 +000058dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
59AC_CHECK_TOOL(CPPBIN,cpp,cpp)
Alexandre Julliardfc01b722002-05-12 03:16:39 +000060
61AC_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])
76AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
77
Alexandre Julliardff8331e1995-09-18 11:19:54 +000078AC_PATH_XTRA
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000079AC_PROG_LEX
Marcus Meissner5c5a6212002-01-22 18:28:25 +000080
Mike McCormackc068f672004-03-16 03:11:39 +000081dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
Marcus Meissner5c5a6212002-01-22 18:28:25 +000082dnl **** without one present.
Marcus Meissnerb53bb412000-07-23 13:41:51 +000083AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
84if test "$XLEX" = "none"
85then
Alexandre Julliardf5818d22002-02-14 19:47:29 +000086 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
Marcus Meissnerb53bb412000-07-23 13:41:51 +000087fi
Alexandre Julliardfc01b722002-05-12 03:16:39 +000088
Mike McCormackc068f672004-03-16 03:11:39 +000089dnl Check for bison
90AC_CHECK_PROGS(BISON,bison,none)
91if test "$BISON" = "none"
92then
93 AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
94fi
95
Alexandre Julliardc80c2902003-05-06 18:41:52 +000096AC_CHECK_TOOLS(AS,[gas as],as)
Alexandre Julliardeb5f89c2002-05-24 21:22:10 +000097AC_CHECK_TOOL(LD,ld,ld)
Alexandre Julliardfc01b722002-05-12 03:16:39 +000098AC_CHECK_TOOL(AR,ar,ar)
Alexandre Julliardff8331e1995-09-18 11:19:54 +000099AC_PROG_RANLIB
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000100AC_CHECK_TOOL(STRIP,strip,strip)
101AC_CHECK_TOOL(WINDRES,windres,false)
Alexandre Julliard641ee761997-08-04 16:34:36 +0000102AC_PROG_LN_S
Alexandre Julliarddf234a92002-05-22 02:10:39 +0000103WINE_PROG_LN
Alexandre Julliardc6264912004-08-16 20:09:37 +0000104AC_PROG_EGREP
Bill Medland91372b32002-04-20 21:00:42 +0000105AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
Alexandre Julliarde24bcc72002-12-24 00:35:19 +0000106AC_PROG_INSTALL
107dnl Prepend src dir to install path dir if it's a relative path
108case "$INSTALL" in
Alexandre Julliard8418d8f2002-12-24 02:39:47 +0000109 [[\\/$]]* | ?:[[\\/]]* ) ;;
Alexandre Julliarde24bcc72002-12-24 00:35:19 +0000110 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
111esac
Alexandre Julliard02e90081998-01-04 17:49:09 +0000112
Patrik Stridvalla9be64e1999-07-31 17:39:44 +0000113dnl Check for lint
114AC_CHECK_PROGS(LINT, lclint lint)
115if test "$LINT" = "lint"
116then
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'
119fi
120AC_SUBST(LINT)
121AC_SUBST(LINTFLAGS)
122
Huw Davies00acb5f2004-08-17 22:33:14 +0000123dnl Check for various programs
Huw Davies00acb5f2004-08-17 22:33:14 +0000124AC_CHECK_PROGS(FONTFORGE, fontforge, false)
Mike McCormack90c75bd2005-08-08 18:36:53 +0000125AC_CHECK_PROGS(PKG_CONFIG, pkg-config, false)
Dimitrie O. Paunb817a3c2003-10-09 04:33:20 +0000126
Alexandre Julliardadbb0982005-08-09 11:12:29 +0000127case $host_cpu in
128 *i[[3456789]]86*)
129 AC_CHECK_PROGS(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
130 ;;
131esac
132
Alexandre Julliard02e90081998-01-04 17:49:09 +0000133dnl **** Check for some libraries ****
134
Alexandre Julliardd37eb361997-07-20 16:23:21 +0000135dnl Check for -li386 for NetBSD and OpenBSD
Alexandre Julliard02e90081998-01-04 17:49:09 +0000136AC_CHECK_LIB(i386,i386_set_ldt)
Todd Vierlingecc76691998-12-15 17:49:02 +0000137dnl Check for -lossaudio for NetBSD
138AC_CHECK_LIB(ossaudio,_oss_ioctl)
Patrik Stridvallea584721998-11-01 16:22:07 +0000139dnl Check for -lnsl for Solaris
Ulrich Weigand2e8e2332000-12-27 18:49:08 +0000140AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
Ulrich Weigand715a55e1999-04-18 13:19:56 +0000141dnl Check for -lsocket for Solaris
Marcus Meissnerf070fda1999-04-24 12:02:14 +0000142AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
Francois Gouget3b943bc2002-04-01 21:05:15 +0000143dnl Check for -lresolv for Solaris
Alexandre Julliardc5552742002-04-03 20:24:44 +0000144AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000145dnl Check for -lxpg4 for FreeBSD
Satsuki Fujishima66fb6072001-03-19 19:19:59 +0000146AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
Pierre d'Herbemont794bf0f2003-11-25 03:31:26 +0000147dnl Check for -lpoll for Mac OS X/Darwin
148AC_CHECK_LIB(poll,poll)
Emmanuel Maillardbc21f442004-07-06 19:41:12 +0000149dnl Check for -lresolv for Mac OS X/Darwin
150AC_CHECK_LIB(resolv,res_9_init)
Alexandre Julliardf45325e2003-11-06 23:05:41 +0000151dnl Check for -lpthread
152AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
Alexandre Julliard3f510ad2002-01-01 01:13:03 +0000153
Alexandre Julliard82776022005-08-08 11:17:25 +0000154AC_SUBST(XLIB,"")
155AC_SUBST(XFILES,"")
156AC_SUBST(OPENGLFILES,"")
157AC_SUBST(GLU32FILES,"")
158AC_SUBST(OPENGL_LIBS,"")
Rein Klazes7ff12562004-11-09 20:16:35 +0000159
160dnl **** Check for header files ****
161
162AC_CHECK_HEADERS(\
Phil Krylov0f6c0392005-07-01 19:15:26 +0000163 IOKit/IOKitLib.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000164 alsa/asoundlib.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000165 arpa/inet.h \
166 arpa/nameser.h \
Maarten Lankhorst888eaae2005-04-27 09:46:25 +0000167 asm/types.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000168 capi20.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000169 cups/cups.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000170 curses.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000171 direct.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000172 dlfcn.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000173 elf.h \
174 float.h \
175 fontconfig/fontconfig.h \
176 getopt.h \
177 gif_lib.h \
178 ieeefp.h \
179 io.h \
180 jack/jack.h \
181 jpeglib.h \
Hans Leidekkerea524de2005-07-15 16:39:42 +0000182 lber.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000183 lcms.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000184 lcms/lcms.h \
Hans Leidekkerea524de2005-07-15 16:39:42 +0000185 ldap.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000186 libaudioio.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000187 link.h \
188 linux/cdrom.h \
189 linux/compiler.h \
190 linux/hdreg.h \
191 linux/input.h \
192 linux/ioctl.h \
193 linux/joystick.h \
194 linux/major.h \
195 linux/param.h \
196 linux/serial.h \
197 linux/ucdrom.h \
Emmanuel Maillard64c07782005-05-18 18:20:23 +0000198 mach/machine.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000199 machine/cpu.h \
Emmanuel Maillard64c07782005-05-18 18:20:23 +0000200 machine/limits.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000201 machine/soundcard.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000202 mntent.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000203 ncurses.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000204 netdb.h \
205 netinet/in.h \
206 netinet/in_systm.h \
207 netinet/tcp.h \
208 netinet/tcp_fsm.h \
Robert Shearman1e5153c2005-12-01 11:18:43 +0100209 openssl/err.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000210 openssl/ssl.h \
Steven Edwards57279182005-03-04 12:38:36 +0000211 poll.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000212 process.h \
213 pthread.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000214 pwd.h \
215 regex.h \
216 sched.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000217 scsi/scsi.h \
218 scsi/scsi_ioctl.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000219 scsi/sg.h \
220 soundcard.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000221 stdint.h \
222 strings.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000223 sys/asoundlib.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000224 sys/cdio.h \
225 sys/elf32.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000226 sys/epoll.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000227 sys/errno.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000228 sys/exec_elf.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000229 sys/filio.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000230 sys/ioctl.h \
231 sys/ipc.h \
Gerald Pfeiferebe04842005-08-22 09:33:37 +0000232 sys/limits.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000233 sys/link.h \
234 sys/lwp.h \
235 sys/mman.h \
236 sys/modem.h \
237 sys/msg.h \
Hans Leidekker0844b702006-01-26 13:23:08 +0100238 sys/mtio.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000239 sys/param.h \
240 sys/poll.h \
Alexandre Julliard9603ee02006-04-06 11:57:37 +0200241 sys/prctl.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000242 sys/ptrace.h \
243 sys/reg.h \
Mike McCormack0cd06262006-03-01 01:07:04 +0900244 sys/resource.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000245 sys/scsiio.h \
246 sys/shm.h \
247 sys/signal.h \
248 sys/socket.h \
249 sys/sockio.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000250 sys/soundcard.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000251 sys/statvfs.h \
252 sys/strtio.h \
253 sys/syscall.h \
254 sys/sysctl.h \
255 sys/time.h \
256 sys/times.h \
257 sys/uio.h \
258 sys/un.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000259 sys/vm86.h \
260 sys/wait.h \
261 syscall.h \
262 termios.h \
Alexandre Julliard73482142005-08-03 19:21:04 +0000263 unicode/ubidi.h \
Rein Klazes7ff12562004-11-09 20:16:35 +0000264 unistd.h \
265 utime.h \
266 valgrind/memcheck.h
267)
268AC_HEADER_STAT()
269
Hans Leidekker2d6d4e92006-04-09 18:36:01 +0200270dnl **** Checks for headers that depend on other ones ****
271
272AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
273 [#include <sys/types.h>
274 #if HAVE_SYS_PARAM_H
275 # include <sys/param.h>
276 #endif])
277
278AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
279 [#include <sys/types.h>
280 #if HAVE_SYS_SOCKET_H
281 # include <sys/socket.h>
282 #endif])
283
284AC_CHECK_HEADERS([resolv.h],,,
285 [#include <sys/types.h>
286 #if HAVE_SYS_SOCKET_H
287 # include <sys/socket.h>
288 #endif
289 #if HAVE_NETINET_IN_H
290 # include <netinet/in.h>
291 #endif
292 #if HAVE_ARPA_NAMESER_H
293 # include <arpa/nameser.h>
294 #endif])
295
296AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
297
298AC_CHECK_HEADERS([linux/ipx.h linux/videodev.h],,,
299[#ifdef HAVE_SYS_TIME_H
300#include <sys/time.h>
301#endif
302#include <sys/types.h>
303#ifdef HAVE_ASM_TYPES_H
304#include <asm/types.h>
305#endif])
306
Alexandre Julliardb079add2006-02-24 11:46:17 +0100307dnl Check for broken kernel header that doesn't define __user
308AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])
309
Rein Klazes7ff12562004-11-09 20:16:35 +0000310dnl **** Check for X11 ****
311
Patrik Stridvallea584721998-11-01 16:22:07 +0000312if test "$have_x" = "yes"
313then
Patrik Stridvall24110281999-02-04 10:09:54 +0000314 XLIB="-lXext -lX11"
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000315 ac_save_CPPFLAGS="$CPPFLAGS"
316 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
Patrik Stridvall24110281999-02-04 10:09:54 +0000317
Huw D M Daviesff453fc2001-09-14 01:04:25 +0000318 dnl *** All of the following tests require X11/Xlib.h
Alexandre Julliard73482142005-08-03 19:21:04 +0000319 AC_CHECK_HEADERS([X11/Xlib.h \
320 X11/XKBlib.h \
321 X11/Xutil.h \
322 X11/extensions/shape.h \
323 X11/extensions/XInput.h \
324 X11/extensions/XShm.h \
325 X11/extensions/Xrandr.h \
326 X11/extensions/Xrender.h \
327 X11/extensions/xf86dga.h \
328 X11/extensions/xf86vmode.h],,,
329[#ifdef HAVE_X11_XLIB_H
330# include <X11/Xlib.h>
331#endif
332#ifdef HAVE_X11_XUTIL_H
333# include <X11/Xutil.h>
334#endif])
Alexandre Julliard255b4862003-10-15 04:09:55 +0000335
Ove Kaavenc90fb252001-01-02 22:39:14 +0000336 dnl *** Check for X keyboard extension
Alexandre Julliard255b4862003-10-15 04:09:55 +0000337 if test "$ac_cv_header_X11_XKBlib_h" = "yes"
338 then
Ove Kaavenc90fb252001-01-02 22:39:14 +0000339 AC_CHECK_LIB(X11, XkbQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000340 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
Ove Kaavenc90fb252001-01-02 22:39:14 +0000341 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
Alexandre Julliard255b4862003-10-15 04:09:55 +0000342 fi
Ove Kaavenc90fb252001-01-02 22:39:14 +0000343
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000344 dnl *** Check for X Shm extension
Alexandre Julliard255b4862003-10-15 04:09:55 +0000345 if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
346 then
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000347 AC_CHECK_LIB(Xext, XShmQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000348 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000349 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
Alexandre Julliard255b4862003-10-15 04:09:55 +0000350 fi
Gregg Mattinson044b5c42002-07-19 03:16:51 +0000351
Francois Jacques5b6879c2000-07-28 23:04:54 +0000352 dnl *** Check for X shape extension
Alexandre Julliard255b4862003-10-15 04:09:55 +0000353 if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
354 then
Francois Jacques5b6879c2000-07-28 23:04:54 +0000355 AC_CHECK_LIB(Xext,XShapeQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000356 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
Francois Jacques5b6879c2000-07-28 23:04:54 +0000357 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
Alexandre Julliard255b4862003-10-15 04:09:55 +0000358 fi
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000359
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000360 dnl *** Check for XFree86 DGA / DGA 2.0 extension
Alexandre Julliard255b4862003-10-15 04:09:55 +0000361 if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
362 then
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000363 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
Huw Davies14de4812004-11-23 13:48:00 +0000364 [ AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000365 [Define if you have the Xxf86dga library version 2])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000366 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
Huw Davies14de4812004-11-23 13:48:00 +0000367 ],,
Alexandre Julliard255b4862003-10-15 04:09:55 +0000368 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
369 fi
Patrik Stridvall24110281999-02-04 10:09:54 +0000370
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000371 dnl *** Check for XFree86 VMODE extension
Alexandre Julliard255b4862003-10-15 04:09:55 +0000372 if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
373 then
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000374 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000375 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000376 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
377 ],,
Alexandre Julliard255b4862003-10-15 04:09:55 +0000378 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
379 fi
Lionel Ulmer3d2f32d2000-09-06 19:46:59 +0000380
Alex Pasadyn8f174bc2003-10-15 03:28:04 +0000381 dnl *** Check for X RandR extension
Alexandre Julliard255b4862003-10-15 04:09:55 +0000382 if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
383 then
Mike McCormackc7c9f932004-04-07 03:57:35 +0000384 AC_TRY_COMPILE([#include <X11/Xlib.h>
385#include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
386 [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
Alexandre Julliard255b4862003-10-15 04:09:55 +0000387 fi
Alex Pasadyn8f174bc2003-10-15 03:28:04 +0000388
Kevin Koltzau92ec21b2004-10-27 00:43:50 +0000389 dnl *** Check for Transform functions in Xrender
390 if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
391 then
392 AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
393 [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
394 [Define if Xrender has the XRenderSetPictureTransform function])],,
395 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
396 fi
Alexandre Julliard73482142005-08-03 19:21:04 +0000397 dnl *** End of X11/Xlib.h check
Lionel Ulmer5c085701999-02-28 19:48:53 +0000398
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000399 dnl Check for the presence of OpenGL
Alexandre Julliardb8074992002-11-21 21:51:24 +0000400 if test "x$with_opengl" != "xno"
Patrik Stridvall24110281999-02-04 10:09:54 +0000401 then
Huw Davies4eb45462006-03-07 13:55:35 +0000402 AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h GL/glu.h,,,
Alexandre Julliard73482142005-08-03 19:21:04 +0000403[#ifdef HAVE_GL_GLX_H
404# include <GL/glx.h>
405#endif])
Marcus Meissner22a969b2000-08-08 20:46:50 +0000406 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000407 then
408 dnl Check for some problems due to old Mesa versions
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000409 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000410 AC_TRY_COMPILE(
Lionel Ulmer48c08162000-01-05 01:51:02 +0000411 [#include <GL/gl.h>],
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000412 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000413 [wine_cv_opengl_version_OK="yes"],
414 [wine_cv_opengl_version_OK="no"]
Lionel Ulmer48c08162000-01-05 01:51:02 +0000415 )
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000416 )
417
Alexandre Julliardb8074992002-11-21 21:51:24 +0000418 if test "$wine_cv_opengl_version_OK" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000419 then
Andreas Mohr4eefb962000-08-01 00:27:35 +0000420 dnl Check for the presence of the library
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000421 AC_CHECK_LIB(GL,glXCreateContext,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000422 OPENGL_LIBS="-lGL"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000423 ,,
424 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
425
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000426 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000427 then
Lionel Ulmerbd8ede12000-10-12 20:45:58 +0000428 OPENGLFILES='$(OPENGLFILES)'
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000429 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
Anderson Lizardo5a2da4e2005-07-25 11:12:11 +0000430 else
431 if test -f /usr/X11R6/lib/libGL.a
432 then
433 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
434This prevents linking to OpenGL. Delete the file and restart configure.])
435 fi
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000436 fi
Anderson Lizardo5a2da4e2005-07-25 11:12:11 +0000437
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000438 dnl Check for GLU32 library.
Marcus Meissner6e9ab402001-08-08 23:21:16 +0000439 AC_CHECK_LIB(GLU,gluLookAt,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000440 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000441 GLU32FILES='$(GLU32FILES)']
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000442 ,,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000443 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000444 )
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000445 fi
Jacek Cabanef799c42003-12-02 04:11:09 +0000446
447 dnl Check for glut32 library.
448 AC_CHECK_LIB(glut,glutMainLoop,
Jacek Caban5e69f112003-12-03 20:26:43 +0000449 [AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
Jacek Cabanef799c42003-12-02 04:11:09 +0000450 AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
Jacek Caban5e69f112003-12-03 20:26:43 +0000451 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000452 fi
Patrik Stridvall24110281999-02-04 10:09:54 +0000453 fi
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000454
Francois Gouget6f670b12002-10-10 17:54:27 +0000455 dnl **** Check for NAS ****
456 AC_SUBST(NASLIBS,"")
457 AC_CHECK_HEADERS(audio/audiolib.h,
458 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
459 AC_CHECK_LIB(audio,AuCreateFlow,
460 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
461 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
462 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
463
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000464 CPPFLAGS="$ac_save_CPPFLAGS"
Patrik Stridvall2941a212000-04-25 20:34:22 +0000465 XFILES='$(XFILES)'
Patrik Stridvallea584721998-11-01 16:22:07 +0000466else
467 XLIB=""
468 X_CFLAGS=""
469 X_LIBS=""
470fi
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000471
Mike McCormackdcc2d6c2005-08-02 11:29:04 +0000472dnl **** Check for libxml2 ****
473
474AC_SUBST(XML2LIBS,"")
475AC_SUBST(XML2INCL,"")
Mike McCormackf3719a82005-09-03 09:39:38 +0000476AC_SUBST(XSLTLIBS,"")
477AC_SUBST(XSLTINCL,"")
Mike McCormack90c75bd2005-08-08 18:36:53 +0000478if test "$PKG_CONFIG" != "false"
479then
480 ac_save_CPPFLAGS="$CPPFLAGS"
481 ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0`"
482 ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0`"
483 CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
484 AC_CHECK_HEADERS(libxml/parser.h,
485 [AC_CHECK_LIB(xml2, xmlParseMemory,
486 [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
487 XML2LIBS="$ac_xml_libs"
Mike McCormack70adb8f2005-08-12 10:35:17 +0000488 XML2INCL="$ac_xml_cflags"],,$ac_xml_libs)
489 AC_CHECK_LIB(xml2, xmlReadMemory,
Mike McCormackf3719a82005-09-03 09:39:38 +0000490 [AC_DEFINE(HAVE_XMLREADMEMORY,1,[Define if libxml2 has the xmlReadMemory function])],,$ac_xml_libs)
491 ])
492 CPPFLAGS="$ac_save_CPPFLAGS"
493 ac_xslt_libs="`$PKG_CONFIG --libs libxslt`"
494 ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt`"
495 CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
Vincent Bérond7f64242005-09-15 09:39:09 +0000496 AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],
Mike McCormackf3719a82005-09-03 09:39:38 +0000497 [AC_CHECK_LIB(xslt, xsltCompilePattern,
498 [AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have the libxslt library])
499 XSLTLIBS="$ac_xslt_libs"
500 XSLTINCL="$ac_xslt_cflags"],,$ac_xslt_libs)
Vincent Bérond7f64242005-09-15 09:39:09 +0000501 ],,
502[#ifdef HAVE_LIBXSLT_PATTERN_H
503# include <libxslt/pattern.h>
504#endif])
Mike McCormack90c75bd2005-08-08 18:36:53 +0000505 CPPFLAGS="$ac_save_CPPFLAGS"
506fi
Mike McCormackdcc2d6c2005-08-02 11:29:04 +0000507
Alexandre Julliard00068982006-04-18 16:47:53 +0200508dnl **** Check for libhal ****
509AC_SUBST(HALINCL,"")
510if test "$PKG_CONFIG" != "false"
511then
512 ac_save_CPPFLAGS="$CPPFLAGS"
513 ac_hal_libs="`$PKG_CONFIG --libs hal`"
514 ac_hal_cflags="`$PKG_CONFIG --cflags hal`"
515 CPPFLAGS="$CPPFLAGS $ac_hal_cflags"
Alexandre Julliardb18b9f32006-04-18 19:10:59 +0200516 AC_CHECK_HEADERS([dbus/dbus.h hal/libhal.h])
517 if test "$ac_cv_header_dbus_dbus_h" = "yes" -a "$ac_cv_header_hal_libhal_h" = "yes"
518 then
519 AC_CHECK_LIB(hal, libhal_ctx_new,
520 [AC_CHECK_LIB(dbus-1, dbus_connection_close,
Alexandre Julliard00068982006-04-18 16:47:53 +0200521 [AC_DEFINE(HAVE_LIBHAL, 1, [Define if you have the hal library])
522 HALINCL="$ac_hal_cflags"],,$ac_hal_libs)])
Alexandre Julliardb18b9f32006-04-18 19:10:59 +0200523 fi
Alexandre Julliard00068982006-04-18 16:47:53 +0200524 CPPFLAGS="$ac_save_CPPFLAGS"
525fi
526
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000527dnl **** Check which curses lib to use ***
Alexandre Julliard48957682001-12-26 23:08:31 +0000528CURSESLIBS=""
Alexandre Julliardf5818d22002-02-14 19:47:29 +0000529if test "x$with_curses" != "xno"
Alexandre Julliard638f1691999-01-17 16:32:32 +0000530then
Alexandre Julliard73482142005-08-03 19:21:04 +0000531 if test "$ac_cv_header_ncurses_h" = "yes"
532 then
533 AC_CHECK_LIB(ncurses,waddch,
Alexandre Julliard48957682001-12-26 23:08:31 +0000534 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
Alexandre Julliard73482142005-08-03 19:21:04 +0000535 CURSESLIBS="-lncurses"])
536 elif test "$ac_cv_header_curses_h" = "yes"
537 then
538 AC_CHECK_LIB(curses,waddch,
539 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
540 CURSESLIBS="-lcurses"])
541 fi
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000542fi
Alexandre Julliard48957682001-12-26 23:08:31 +0000543AC_SUBST(CURSESLIBS)
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000544
Shi Quan He6b0720f2002-03-21 02:58:39 +0000545dnl **** Check for SANE ****
546AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
Alexandre Julliard82776022005-08-08 11:17:25 +0000547AC_SUBST(SANELIBS,"")
548AC_SUBST(SANEINCL,"")
549if test "$sane_devel" != "no"
Shi Quan He6b0720f2002-03-21 02:58:39 +0000550then
Shi Quan He6b0720f2002-03-21 02:58:39 +0000551 SANELIBS="`$sane_devel --libs`"
552 SANEINCL="`$sane_devel --cflags`"
553 ac_save_CPPFLAGS="$CPPFLAGS"
554 ac_save_LIBS="$LIBS"
555 CPPFLAGS="$CPPFLAGS $SANEINCL"
556 LIBS="$LIBS $SANELIBS"
Alexandre Julliard96328b32002-03-31 19:23:41 +0000557 AC_CHECK_HEADER(sane/sane.h,
558 [AC_CHECK_LIB(sane,sane_open,
559 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
560 [SANELIBS=""
561 SANEINCL=""])],
562 [SANELIBS=""
563 SANEINCL=""])
Shi Quan He6b0720f2002-03-21 02:58:39 +0000564 LIBS="$ac_save_LIBS"
565 CPPFLAGS="$ac_save_CPPFLAGS"
566fi
Shi Quan He6b0720f2002-03-21 02:58:39 +0000567
Alexandre Julliard4ee82902003-06-20 21:38:10 +0000568dnl **** Check for the ICU library ****
Alexandre Julliard4ee82902003-06-20 21:38:10 +0000569if test "$ac_cv_header_unicode_ubidi_h" = "yes"
570then
Marcus Meissnerbc624582004-01-18 22:15:46 +0000571 saved_libs="$LIBS"
572 ICU_LIB_DIR="${ICU_LIB_DIR-/usr/lib}"
Shachar Shemesh9f2627e2004-04-06 20:13:21 +0000573 ICUUC_LIB="${ICUUC_LIB-$ICU_LIB_DIR/libsicuuc.a}"
574 ICUDATA_LIB="${ICUDATA_LIB-$ICU_LIB_DIR/libsicudata.a}"
575 AC_MSG_CHECKING(whether can link with ICU libraries $ICUUC_LIB and $ICUDATA_LIB)
Marcus Meissnerbc624582004-01-18 22:15:46 +0000576 LIBS="$LIBS $ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s"
577 AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
578 [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
Shachar Shemesh9f2627e2004-04-06 20:13:21 +0000579 AC_SUBST(ICULIBS,"$ICUUC_LIB $ICUDATA_LIB -lstdc++ -lgcc_s")
580 AC_MSG_RESULT(yes)],
581 [AC_MSG_RESULT(no)])
Marcus Meissnerbc624582004-01-18 22:15:46 +0000582 LIBS="$saved_libs"
Alexandre Julliard4ee82902003-06-20 21:38:10 +0000583fi
584
Hans Leidekker2d6d4e92006-04-09 18:36:01 +0200585dnl **** Check for resolver library ***
586AC_SUBST(RESOLVLIBS,"")
587if test "$ac_cv_header_resolv_h" = "yes"
588then
589 AC_CHECK_LIB(resolv, res_query,
590 [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
591 RESOLVLIBS="-lresolv"])
592fi
593
Hans Leidekkerd3447022005-07-15 10:09:43 +0000594dnl **** Check for LittleCMS ***
595AC_SUBST(LCMSLIBS,"")
596if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
597then
598 AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
599 [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
600 LCMSLIBS="-llcms"])
601fi
602
Hans Leidekkerea524de2005-07-15 16:39:42 +0000603dnl **** Check for OpenLDAP ***
604AC_SUBST(LDAPLIBS,"")
605if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
606then
Hans Leidekkerecfc2c12005-11-29 17:35:09 +0100607 AC_CHECK_LIB(ldap_r, ldap_initialize,
Hans Leidekkerea524de2005-07-15 16:39:42 +0000608 [AC_CHECK_LIB(lber, ber_init,
609 [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
Hans Leidekkerecfc2c12005-11-29 17:35:09 +0100610 LDAPLIBS="-lldap_r -llber"],,
611 [$LIBPTHREAD])],,
612 [$LIBPTHREAD])
Alexandre Julliard2d1a6272006-02-11 20:54:06 +0100613 WINE_CHECK_LIB_FUNCS(\
Hans Leidekkerb2c62c92005-12-21 18:42:00 +0100614 ldap_count_references \
615 ldap_first_reference \
616 ldap_next_reference \
Alexandre Julliard2d1a6272006-02-11 20:54:06 +0100617 ldap_parse_reference,
618 [$LDAPLIBS $LIBPTHREAD])
Hans Leidekkerea524de2005-07-15 16:39:42 +0000619fi
620
Ian Pilcher563598d2001-05-16 20:56:05 +0000621dnl **** Check for FreeType 2 ****
Alexandre Julliard82776022005-08-08 11:17:25 +0000622AC_SUBST(FREETYPELIBS,"")
623AC_SUBST(FREETYPEINCL,"")
Dmitry Timoshkov8871a112001-11-06 22:26:53 +0000624AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
Ian Pilcher563598d2001-05-16 20:56:05 +0000625if test "$ft_lib" = "no"
626then
Ian Pilcher563598d2001-05-16 20:56:05 +0000627 wine_cv_msg_freetype=no
628else
Marcus Meissnerd28955d2001-05-31 21:35:15 +0000629 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
630 if test "$ft_devel" = "no"
631 then
632 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
633 if test "$ft_devel2" = "freetype2-config"
634 then
635 ft_devel=$ft_devel2
636 fi
637 fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000638 if test "$ft_devel" = "no"
639 then
Ian Pilcher563598d2001-05-16 20:56:05 +0000640 wine_cv_msg_freetype=yes
641 else
Huw Davies00acb5f2004-08-17 22:33:14 +0000642 FREETYPELIBS=`$ft_devel --libs`
Marcus Meissnerd28955d2001-05-31 21:35:15 +0000643 FREETYPEINCL=`$ft_devel --cflags`
Ian Pilcher40432fe2001-06-06 21:05:23 +0000644 ac_save_CPPFLAGS="$CPPFLAGS"
645 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
Rein Klazese617a9c2003-11-19 02:18:13 +0000646 AC_CHECK_HEADERS(ft2build.h \
647 freetype/freetype.h \
Ian Pilcher40432fe2001-06-06 21:05:23 +0000648 freetype/ftglyph.h \
649 freetype/tttables.h \
650 freetype/ftnames.h \
651 freetype/ftsnames.h \
Huw D M Davies814654e2001-09-12 20:21:06 +0000652 freetype/ttnameid.h \
Huw D M Davies4e2024e2001-10-23 20:06:32 +0000653 freetype/ftoutln.h \
Huw Daviesc2217182004-06-16 20:06:26 +0000654 freetype/ftwinfnt.h \
Huw Davies603d21c2006-01-24 10:57:35 +0100655 freetype/ftmodapi.h \
Rein Klazes9c269172003-11-20 04:17:33 +0000656 freetype/internal/sfnt.h,,,
657 [#if HAVE_FT2BUILD_H
658 #include <ft2build.h>
659 #endif])
Alexandre Julliard18d75732002-01-29 03:02:50 +0000660 AC_TRY_CPP([#include <ft2build.h>
661 #include <freetype/fttrigon.h>],
Huw D M Daviesc1d38132002-02-08 17:09:50 +0000662 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
663 [Define if you have the <freetype/fttrigon.h> header file.])
664 wine_cv_fttrigon=yes],
665 wine_cv_fttrigon=no)
Huw Daviesd8a6c272006-02-22 12:24:25 +0000666 AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
Huw Davies35bca772006-04-12 12:14:27 +0100667 ac_save_CFLAGS="$CFLAGS"
668 CFLAGS="$CFLAGS $FREETYPELIBS"
669 AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
670 CFLAGS="$ac_save_CFLAGS"
Ian Pilcher40432fe2001-06-06 21:05:23 +0000671 CPPFLAGS="$ac_save_CPPFLAGS"
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000672 dnl Check that we have at least freetype/freetype.h
Huw D M Daviesc1d38132002-02-08 17:09:50 +0000673 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000674 then
675 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
676 wine_cv_msg_freetype=no
677 else
Huw Davies00acb5f2004-08-17 22:33:14 +0000678 FREETYPELIBS=""
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000679 FREETYPEINCL=""
680 wine_cv_msg_freetype=yes
681 fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000682 fi
683fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000684
Huw Davies00acb5f2004-08-17 22:33:14 +0000685dnl Only build the fonts dir if we have both freetype and fontforge
686if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
687then
688 AC_SUBST(FONTSSUBDIRS,"fonts")
Mike McCormack8f6aa412006-04-04 13:36:51 +0900689 wine_cv_msg_fonts=no
690else
691 wine_cv_msg_fonts=yes
Huw Davies00acb5f2004-08-17 22:33:14 +0000692fi
693
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000694dnl **** Check for parport (currently Linux only) ****
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000695AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000696 AC_TRY_COMPILE(
697 [#include <linux/ppdev.h>],
698 [ioctl (1,PPCLAIM,0)],
699 [ac_cv_c_ppdev="yes"],
700 [ac_cv_c_ppdev="no"])
701 )
702if test "$ac_cv_c_ppdev" = "yes"
703then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000704 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000705fi
706
Marcus Meissner5ee517a2002-08-09 19:49:31 +0000707dnl **** Check for va_copy ****
708AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
709 AC_TRY_LINK(
710 [#include <stdarg.h>],
711 [va_list ap1, ap2;
712 va_copy(ap1,ap2);
713 ],
714 [ac_cv_c_va_copy="yes"],
715 [ac_cv_c_va_copy="no"])
716 )
717if test "$ac_cv_c_va_copy" = "yes"
718then
719 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
720fi
721AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
722 AC_TRY_LINK(
723 [#include <stdarg.h>],
724 [va_list ap1, ap2;
725 __va_copy(ap1,ap2);
726 ],
727 [ac_cv_c___va_copy="yes"],
728 [ac_cv_c___va_copy="no"])
729 )
730if test "$ac_cv_c___va_copy" = "yes"
731then
732 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
733fi
734
Alexandre Julliardb2d937d2003-11-12 03:16:00 +0000735dnl **** Check for sigsetjmp ****
736AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
737 AC_TRY_LINK(
738 [#include <setjmp.h>],
739 [sigjmp_buf buf;
740 sigsetjmp( buf, 1 );
741 siglongjmp( buf, 1 );],
742 [ac_cv_c_sigsetjmp="yes"],
743 [ac_cv_c_sigsetjmp="no"])
744 )
745if test "$ac_cv_c_sigsetjmp" = "yes"
746then
747 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
748fi
749
Alexandre Julliard80e34db2003-09-03 00:26:08 +0000750dnl **** Check for pthread_rwlock_t ****
751AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
752#include <pthread.h>])
753
Emmanuel Maillardd110e1f2004-07-21 03:06:03 +0000754dnl **** Check for pthread functions ****
Alexandre Julliard2d1a6272006-02-11 20:54:06 +0100755WINE_CHECK_LIB_FUNCS(\
Emmanuel Maillardd110e1f2004-07-21 03:06:03 +0000756 pthread_getattr_np \
757 pthread_get_stackaddr_np \
Alexandre Julliard2d1a6272006-02-11 20:54:06 +0100758 pthread_get_stacksize_np,
759 [$LIBPTHREAD])
Alexandre Julliard821ab862003-11-12 22:44:56 +0000760
Chris Morgan9b0ba7c2002-03-21 01:38:19 +0000761dnl **** Check for aRts Sound Server ****
762AC_PATH_PROG(ARTSCCONFIG, artsc-config)
Marcus Meissnerbc624582004-01-18 22:15:46 +0000763if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
Chris Morgan9b0ba7c2002-03-21 01:38:19 +0000764then
Alexandre Julliardb3b12cf2004-02-24 01:24:20 +0000765 ARTSC_CFLAGS=""
766 for i in `$ARTSCCONFIG --cflags`
767 do
768 case "$i" in
769 -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
770 esac
771 done
Alexandre Julliard197a7d02006-04-04 12:08:30 +0200772 ARTSC_LIBS=""
773 for i in `$ARTSCCONFIG --libs`
774 do
775 case "$i" in
776 -L/usr/lib|-L/usr/lib64) ;;
777 -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
778 esac
779 done
Marcus Meissnerbc624582004-01-18 22:15:46 +0000780 save_CFLAGS="$CFLAGS"
781 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
Jacek Caban6f8f4752005-03-28 09:58:45 +0000782 AC_CHECK_LIB(artsc,arts_init,
783 [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
784 [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
785 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
Vitaliy Margolen80816e92005-06-30 20:46:59 +0000786 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
787 $ARTSC_LIBS)
Marcus Meissnerbc624582004-01-18 22:15:46 +0000788 CFLAGS="$save_CFLAGS"
Chris Morgan9b0ba7c2002-03-21 01:38:19 +0000789fi
790
Peter Åstrand7a15eb92005-08-03 15:53:26 +0000791dnl **** Check for EsounD ****
792AC_PATH_PROG(ESDCONFIG, esd-config)
793if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
794then
795 ESD_CFLAGS=""
796 for i in `$ESDCONFIG --cflags`
797 do
798 case "$i" in
799 -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
800 esac
801 done
802 ESD_LIBS=`$ESDCONFIG --libs`
803 save_CFLAGS="$CFLAGS"
804 CFLAGS="$CFLAGS $ESD_CFLAGS"
805 AC_CHECK_LIB(esd,esd_open_sound,
806 [AC_SUBST(ESDLIBS, $ESD_LIBS)
807 AC_SUBST(ESDINCL, $ESD_CFLAGS)
808 AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
809 CFLAGS="$save_CFLAGS"
810fi
811
Vincent Béron151015f2005-01-10 13:26:33 +0000812dnl **** Check for ALSA 1.x ****
Alexandre Julliardf92b7c02002-06-28 18:31:01 +0000813AC_SUBST(ALSALIBS,"")
Marco Pietrobono0e79a412002-08-29 01:51:31 +0000814if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
Alexandre Julliardf92b7c02002-06-28 18:31:01 +0000815then
Vincent Béron151015f2005-01-10 13:26:33 +0000816 AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
817 [AC_TRY_COMPILE([#ifdef HAVE_ALSA_ASOUNDLIB_H
818#include <alsa/asoundlib.h>
819#elif defined(HAVE_SYS_ASOUNDLIB_H)
820#include <sys/asoundlib.h>
821#endif],
822 [int ret = snd_pcm_hw_params_get_access(NULL, NULL)],
823 [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
824 ALSALIBS="-lasound"])])
Alexandre Julliardf92b7c02002-06-28 18:31:01 +0000825fi
826
Robert Lunnon2a91e3f2002-08-01 18:22:38 +0000827dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
828
829AC_SUBST(AUDIOIOLIBS,"")
Alexandre Julliard73482142005-08-03 19:21:04 +0000830if test "$ac_cv_header_libaudioio_h" = "yes"
831then
832 AC_CHECK_LIB(audioio,AudioIOGetVersion,
Robert Lunnon2a91e3f2002-08-01 18:22:38 +0000833 [AUDIOIOLIBS="-laudioio"
Alexandre Julliard73482142005-08-03 19:21:04 +0000834 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
835fi
Robert Lunnon2a91e3f2002-08-01 18:22:38 +0000836
Alexandre Julliard00fdd9f2003-11-06 00:26:43 +0000837dnl **** Check for capi4linux ****
838
Alexandre Julliard73482142005-08-03 19:21:04 +0000839if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
840then
841 AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
842fi
Alexandre Julliard00fdd9f2003-11-06 00:26:43 +0000843
Mike McCormackc509bc42003-02-25 04:01:58 +0000844dnl **** Check for gcc specific options ****
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000845
Alexandre Julliardfc094232003-04-14 21:46:41 +0000846AC_SUBST(EXTRACFLAGS,"")
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000847if test "x${GCC}" = "xyes"
848then
Hans Leidekkerd17b2322004-01-06 21:37:44 +0000849 EXTRACFLAGS="-Wall -pipe"
Mike McCormackc509bc42003-02-25 04:01:58 +0000850
851 dnl Check for strength-reduce bug
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000852 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000853 AC_TRY_RUN([
Eric Pouech5aee80f2000-11-11 00:31:39 +0000854int L[[4]] = {0,1,2,3};
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000855int main(void) {
Alexandre Julliardd2e1c1a1996-03-09 16:12:43 +0000856 static int Array[[3]];
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000857 unsigned int B = 3;
858 int i;
Alexandre Julliardd2e1c1a1996-03-09 16:12:43 +0000859 for(i=0; i<B; i++) Array[[i]] = i - 3;
Eric Pouech5aee80f2000-11-11 00:31:39 +0000860 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
861 L[[i]] = 4;
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000862
Eric Pouech5aee80f2000-11-11 00:31:39 +0000863 exit( Array[[1]] != -2 || L[[2]] != 3);
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000864}],
865 ac_cv_c_gcc_strength_bug="no",
866 ac_cv_c_gcc_strength_bug="yes",
867 ac_cv_c_gcc_strength_bug="yes") )
868 if test "$ac_cv_c_gcc_strength_bug" = "yes"
869 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000870 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000871 fi
Alexandre Julliardf9b94cb2000-12-06 03:50:22 +0000872
Dimitrie O. Paunf41c2b22004-03-02 02:23:26 +0000873 dnl Check for -fshort-wchar
874 AC_CACHE_CHECK([for gcc -fshort-wchar support], ac_cv_c_gcc_fshort_wchar,
875 [WINE_TRY_CFLAGS([-fshort-wchar],
876 ac_cv_c_gcc_fshort_wchar="yes",ac_cv_c_gcc_fshort_wchar="no")])
877 if test "$ac_cv_c_gcc_fshort_wchar" = "yes"
878 then
879 AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar", [Specifies the compiler flag that forces a short wchar_t])
880 fi
881
Alexandre Julliardefca0f62003-07-24 00:09:51 +0000882 dnl Check for -fno-strict-aliasing
883 AC_CACHE_CHECK([for gcc -fno-strict-aliasing support], ac_cv_c_gcc_no_strict_aliasing,
884 [WINE_TRY_CFLAGS([-fno-strict-aliasing],
885 ac_cv_c_gcc_no_strict_aliasing="yes",ac_cv_c_gcc_no_strict_aliasing="no")])
886 if test "$ac_cv_c_gcc_no_strict_aliasing" = "yes"
887 then
888 EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
889 fi
890
Alexandre Julliard14bd1202003-01-09 00:42:26 +0000891 dnl Check for -gstabs+ option
892 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
893 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
894 if test "$ac_cv_c_gcc_gstabs" = "yes"
895 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000896 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
Alexandre Julliard14bd1202003-01-09 00:42:26 +0000897 fi
Mike McCormackc509bc42003-02-25 04:01:58 +0000898
Alexandre Julliardf8cb48b2005-09-12 10:14:00 +0000899 dnl Check for -Wdeclaration-after-statement option
900 AC_CACHE_CHECK([for gcc -Wdeclaration-after-statement support], ac_cv_c_gcc_decl_after_statement,
901 [WINE_TRY_CFLAGS([-Wdeclaration-after-statement],ac_cv_c_gcc_decl_after_statement="yes", ac_cv_c_gcc_decl_after_statement="no")])
902 if test "$ac_cv_c_gcc_decl_after_statement" = "yes"
903 then
904 EXTRACFLAGS="$EXTRACFLAGS -Wdeclaration-after-statement"
905 fi
906
Mike McCormackc509bc42003-02-25 04:01:58 +0000907 dnl Check for noisy string.h
Alexandre Julliard4d52d372003-03-24 19:33:20 +0000908 saved_CFLAGS="$CFLAGS"
Mike McCormackc509bc42003-02-25 04:01:58 +0000909 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
910 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
911 AC_TRY_COMPILE([#include <string.h>],[],
912 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
Alexandre Julliard4d52d372003-03-24 19:33:20 +0000913 CFLAGS="$saved_CFLAGS"
Mike McCormackc509bc42003-02-25 04:01:58 +0000914 if test "$ac_cv_c_string_h_warnings" = "no"
915 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000916 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
Mike McCormackc509bc42003-02-25 04:01:58 +0000917 fi
Mike McCormackb7443722005-08-11 17:12:18 +0000918
919 AC_SUBST(BUILTINFLAG,"")
920 saved_CFLAGS="$CFLAGS"
921 CFLAGS="$CFLAGS -Werror"
922 AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
923 AC_TRY_COMPILE([],
924 [int iswlower(unsigned short);],
925 [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
926 CFLAGS="$saved_CFLAGS"
927 if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
928 then
929 BUILTINFLAG=""
930 for builtin in \
931 iswalnum iswalpha iswcntrl iswdigit iswgraph iswlower \
932 iswprint iswpunct iswspace iswupper iswxdigit towlower towupper
933 do
934 BUILTINFLAG="$BUILTINFLAG -fno-builtin-$builtin"
935 done
936 fi
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000937fi
938
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000939dnl **** Check how to define a function in assembly code ****
Dimitrie O. Paunc77cbbc2000-11-27 23:32:55 +0000940
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000941AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
942 WINE_TRY_ASM_LINK(
943 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
944 ac_cv_asm_func_def=".def",
945 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
946 ac_cv_asm_func_def=".type @function",
947 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
948 ac_cv_asm_func_def=".type 2",
949 ac_cv_asm_func_def="unknown")])]))
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000950
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000951AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
952case "$ac_cv_asm_func_def" in
953 ".def")
954 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
955 ".type @function")
956 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
957 ".type 2")
958 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
959 *)
960 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
961esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +0000962
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000963dnl **** Check for underscore on external symbols ****
964
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000965AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000966 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
967 [extern int ac_test;],
968 [if (ac_test) return 1],
969 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
970
971AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000972if test "$ac_cv_c_extern_prefix" = "yes"
973then
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000974 AC_DEFINE([__ASM_NAME(name)], ["_" name])
975else
976 AC_DEFINE([__ASM_NAME(name)], [name])
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000977fi
978
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +0000979dnl **** Check for working dll ****
980
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000981AC_SUBST(DLLEXT,"")
Alexandre Julliardfc094232003-04-14 21:46:41 +0000982AC_SUBST(DLLFLAGS,"-D_REENTRANT")
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000983AC_SUBST(DLLIBS,"")
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000984AC_SUBST(LDSHARED,"")
Dimitrie O. Paunf41c2b22004-03-02 02:23:26 +0000985AC_SUBST(LDDLLFLAGS,"")
Alexandre Julliardada5e652002-12-12 22:03:14 +0000986AC_SUBST(LIBEXT,"so")
987AC_SUBST(IMPLIBEXT,"def")
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000988
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000989case $host_os in
990 cygwin*|mingw32*)
Alexandre Julliardada5e652002-12-12 22:03:14 +0000991 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000992 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
993 if test "$DLLWRAP" = "false"; then
994 LIBEXT="a"
995 else
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000996 dnl FIXME - check whether dllwrap works correctly...
997 LIBEXT="dll"
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000998 fi
Alexandre Julliardada5e652002-12-12 22:03:14 +0000999 IMPLIBEXT="a"
Alexandre Julliard56a4a762004-08-12 03:27:50 +00001000 dnl We can't build 16-bit NE dlls
1001 WIN16_FILES=""
1002 WIN16_INSTALL=""
Alexandre Julliardfa3a5362002-05-09 01:49:54 +00001003 ;;
1004 *)
Alexandre Julliard73482142005-08-03 19:21:04 +00001005 if test "$ac_cv_header_dlfcn_h" = "yes"
1006 then
1007 AC_CHECK_FUNCS(dlopen,,
Alexandre Julliardfa3a5362002-05-09 01:49:54 +00001008 [AC_CHECK_LIB(dl,dlopen,
1009 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
1010 DLLIBS="-ldl"],
Alexandre Julliard73482142005-08-03 19:21:04 +00001011 [LIBEXT="a"])])
Alexandre Julliard266c6092006-02-11 20:55:50 +01001012 WINE_CHECK_LIB_FUNCS(dladdr,[$DLLIBS])
Alexandre Julliard73482142005-08-03 19:21:04 +00001013 else
1014 LIBEXT="a"
1015 fi
Alexandre Julliardfa3a5362002-05-09 01:49:54 +00001016
1017 if test "$LIBEXT" = "so"
1018 then
Alexandre Julliardfc094232003-04-14 21:46:41 +00001019 DLLFLAGS="$DLLFLAGS -fPIC"
Alexandre Julliard7bf07d12002-08-03 00:25:59 +00001020 DLLEXT=".so"
Alexandre Julliard67e8dc62002-05-20 18:29:58 +00001021 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
Warren Baird421e8b92004-09-22 19:17:55 +00001022 [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
1023 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
Alexandre Julliard466ae142002-05-07 18:33:47 +00001024 if test "$ac_cv_c_dll_gnuelf" = "yes"
1025 then
1026 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
Dimitrie O. Paunf41c2b22004-03-02 02:23:26 +00001027 LDDLLFLAGS="-shared -Wl,-Bsymbolic"
Alexandre Julliardf2abe472002-11-21 04:13:35 +00001028 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
1029 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
1030 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
1031 if test "$ac_cv_c_dll_zdefs" = "yes"
1032 then
Dimitrie O. Paunf41c2b22004-03-02 02:23:26 +00001033 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
Alexandre Julliardf2abe472002-11-21 04:13:35 +00001034 fi
Alexandre Julliardc6d44be2003-11-22 00:08:26 +00001035
Alexandre Julliard36048242004-01-08 03:36:53 +00001036 AC_CACHE_CHECK([whether the linker accepts -init and -fini], ac_cv_c_dll_init_fini,
1037 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
1038 ac_cv_c_dll_init_fini="yes",ac_cv_c_dll_init_fini="no")])
1039 if test "$ac_cv_c_dll_init_fini" = "yes"
1040 then
Dimitrie O. Paunf41c2b22004-03-02 02:23:26 +00001041 LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"
Alexandre Julliard36048242004-01-08 03:36:53 +00001042 fi
1043
Alexandre Julliard440ff6d2004-02-12 22:54:00 +00001044 AC_CACHE_CHECK([whether the linker accepts version scripts], ac_cv_c_ld_version_scripts,
1045 [echo '{ global: *; };' >conftest.map
1046 WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
1047 ac_cv_c_ld_version_scripts="yes",ac_cv_c_ld_version_scripts="no")
1048 rm -f conftest.map])
1049 if test "$ac_cv_c_ld_version_scripts" = "yes"
1050 then
1051 LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
1052 fi
1053
Alexandre Julliardef2d04d2003-11-17 20:07:55 +00001054 AC_CACHE_CHECK([whether the linker accepts --export-dynamic], ac_cv_c_export_dynamic,
1055 [WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
1056 ac_cv_c_export_dynamic="yes",ac_cv_c_export_dynamic="no")])
1057 if test "$ac_cv_c_export_dynamic" = "yes"
1058 then
Alexandre Julliardc6d44be2003-11-22 00:08:26 +00001059 AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])
Alexandre Julliardef2d04d2003-11-17 20:07:55 +00001060 fi
Alexandre Julliardc6d44be2003-11-22 00:08:26 +00001061
Alexandre Julliard5ed59012006-02-20 11:20:47 +01001062 AC_CACHE_CHECK([whether the linker accepts --rpath], ac_cv_ld_rpath,
1063 [WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
1064 ac_cv_ld_rpath="yes",ac_cv_ld_rpath="no")])
1065 if test "$ac_cv_ld_rpath" = "yes"
1066 then
1067 AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
Alexandre Julliard1fd32cf2006-03-20 22:08:26 +01001068 AC_SUBST(LDDLLRPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(dlldir) \$(libdir)\`"])
Alexandre Julliard5ed59012006-02-20 11:20:47 +01001069 fi
1070
Alexandre Julliardc6d44be2003-11-22 00:08:26 +00001071 case $host_cpu in
1072 *i[[3456789]]86*)
Alexandre Julliard5729f582005-06-17 10:22:46 +00001073 AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
1074 [WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
Alexandre Julliardb1abca82004-05-28 20:59:22 +00001075 ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
Alexandre Julliardc6d44be2003-11-22 00:08:26 +00001076 if test "$ac_cv_ld_reloc_exec" = "yes"
1077 then
Alexandre Julliard5729f582005-06-17 10:22:46 +00001078 LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"
Alexandre Julliardc6d44be2003-11-22 00:08:26 +00001079 fi
1080 ;;
1081 esac
1082
Alexandre Julliard466ae142002-05-07 18:33:47 +00001083 else
Alexandre Julliard67e8dc62002-05-20 18:29:58 +00001084 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
Warren Baird421e8b92004-09-22 19:17:55 +00001085 [WINE_TRY_SHLIB_FLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
1086 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
Alexandre Julliard466ae142002-05-07 18:33:47 +00001087 if test "$ac_cv_c_dll_unixware" = "yes"
1088 then
1089 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
Dimitrie O. Paunf41c2b22004-03-02 02:23:26 +00001090 LDDLLFLAGS="-Wl,-G,-B,symbolic"
Pierre d'Herbemont794bf0f2003-11-25 03:31:26 +00001091
1092 else
1093 AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
Warren Baird421e8b92004-09-22 19:17:55 +00001094 [WINE_TRY_SHLIB_FLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
Pierre d'Herbemont794bf0f2003-11-25 03:31:26 +00001095 if test "$ac_cv_c_dll_macho" = "yes"
1096 then
1097 LIBEXT="dylib"
Alexandre Julliard495bf512005-09-15 09:48:18 +00001098 LDDLLFLAGS="-bundle"
Pierre d'Herbemont794bf0f2003-11-25 03:31:26 +00001099 LDSHARED="\$(CC) -dynamiclib"
Emmanuel Maillard46718f82004-07-22 19:48:41 +00001100 STRIP="$STRIP -u -r"
Alexandre Julliard495bf512005-09-15 09:48:18 +00001101 dnl declare needed frameworks
1102 AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
1103 AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
Emmanuel Maillardaaae6602006-02-15 13:52:02 +01001104 AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,0x7ffe0000"])
Alexandre Julliard495bf512005-09-15 09:48:18 +00001105 case $host_cpu in
Alexandre Julliard495bf512005-09-15 09:48:18 +00001106 *powerpc*)
1107 CFLAGS="$CFLAGS -ffixed-r13"
1108 LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"
Alexandre Julliard495bf512005-09-15 09:48:18 +00001109 ;;
1110 esac
1111
Warren Baird421e8b92004-09-22 19:17:55 +00001112 else
1113 AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
1114 [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
1115 if test "$ac_cv_c_dll_hpux" = "yes"
1116 then
1117 LIBEXT="sl"
Warren Baird1023fe32004-10-19 21:37:09 +00001118 DLLEXT=".sl"
1119 LDDLLFLAGS="-shared -fPIC"
Warren Baird421e8b92004-09-22 19:17:55 +00001120 LDSHARED="\$(CC) -shared"
1121 fi
Pierre d'Herbemont794bf0f2003-11-25 03:31:26 +00001122 fi
Alexandre Julliard466ae142002-05-07 18:33:47 +00001123 fi
1124 fi
Alexandre Julliardfa3a5362002-05-09 01:49:54 +00001125 fi
Alexandre Julliardc3c587e2002-09-06 19:46:00 +00001126
1127 dnl Check for cross compiler to build test programs
1128 AC_SUBST(CROSSTEST,"")
1129 if test "$cross_compiling" = "no"
1130 then
Kevin Koltzaud3444562004-04-15 00:01:05 +00001131 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw-gcc,false)
1132 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw-dlltool,false)
1133 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw-windres,false)
Alexandre Julliardc3c587e2002-09-06 19:46:00 +00001134 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
1135 fi
Alexandre Julliardfa3a5362002-05-09 01:49:54 +00001136 ;;
1137esac
Alexandre Julliard0adad952000-01-26 01:45:58 +00001138
Hidenori Takeshimad48ca942000-12-22 22:28:00 +00001139if test "$LIBEXT" = "a"; then
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001140 AC_MSG_ERROR(
1141[could not find a way to build shared libraries.
1142It is currently not possible to build Wine without shared library
1143(.so) support to allow transparent switch between .so and .dll files.
1144If you are using Linux, you will need a newer binutils.]
1145)
Hidenori Takeshimad48ca942000-12-22 22:28:00 +00001146fi
1147
Alexandre Julliardfc01b722002-05-12 03:16:39 +00001148case $build_os in
1149 cygwin*|mingw32*)
Alexandre Julliard7ab9a712003-03-21 05:06:48 +00001150 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
Pierre d'Herbemont794bf0f2003-11-25 03:31:26 +00001151 darwin*|macosx*)
1152 AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
Alexandre Julliardfc01b722002-05-12 03:16:39 +00001153 *)
Alexandre Julliard7ab9a712003-03-21 05:06:48 +00001154 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
Alexandre Julliardfc01b722002-05-12 03:16:39 +00001155esac
1156
Steven Edwardsc91ae452004-09-03 18:57:19 +00001157dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
Alexandre Julliard7bf07d12002-08-03 00:25:59 +00001158case $host_os in
1159 mingw32*)
Steven Edwardsc91ae452004-09-03 18:57:19 +00001160 AC_SUBST(CRTLIBS,"-lmsvcrt")
1161 AC_SUBST(SOCKETLIBS,"-lws2_32")
1162 ;;
Alexandre Julliard546839f2003-11-11 00:48:21 +00001163esac
1164
Alexandre Julliard2cdfd4d2006-02-18 15:03:51 +01001165case $host_cpu in
1166 *i[[3456789]]86*)
1167 case $host_os in
1168 linux* | k*bsd*-gnu)
1169 AC_SUBST(MAIN_BINARY,"wine-glibc")
1170 AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
Gerald Pfeifera82e2452006-04-16 17:21:49 +02001171 darwin*|freebsd*)
Alexandre Julliard2cdfd4d2006-02-18 15:03:51 +01001172 AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
1173 *)
1174 AC_SUBST(MAIN_BINARY,"wine-kthread") ;;
1175 esac
Alexandre Julliard546839f2003-11-11 00:48:21 +00001176 ;;
Alexandre Julliard2cdfd4d2006-02-18 15:03:51 +01001177 *) AC_SUBST(MAIN_BINARY,"wine-pthread") ;;
Alexandre Julliard7bf07d12002-08-03 00:25:59 +00001178esac
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +00001179
Alexandre Julliard67e8dc62002-05-20 18:29:58 +00001180dnl **** Get the soname for libraries that we load dynamically ****
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001181
Pierre d'Herbemont197b5e32004-06-14 19:34:42 +00001182if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
Alexandre Julliard598412e2001-01-17 20:22:22 +00001183then
Alexandre Julliard67e8dc62002-05-20 18:29:58 +00001184 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
1185 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
Aric Stewart2eebf3c2004-01-09 00:03:00 +00001186 WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
Alexandre Julliard67e8dc62002-05-20 18:29:58 +00001187 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
Mike McCormackc7c9f932004-04-07 03:57:35 +00001188 WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
Alexandre Julliard67e8dc62002-05-20 18:29:58 +00001189 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +00001190 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
Alexandre Julliard00068982006-04-18 16:47:53 +02001191 WINE_GET_SONAME(dbus-1,dbus_error_init)
1192 WINE_GET_SONAME(hal,libhal_ctx_new)
Christian Costaeac96b52004-07-30 18:54:32 +00001193 WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
Marcus Meissnerf061f762002-11-12 02:22:24 +00001194 WINE_GET_SONAME(cups,cupsGetDefault)
Chris Morgan4691b182002-12-13 02:26:18 +00001195 WINE_GET_SONAME(jack,jack_client_new)
Alexandre Julliard79994692003-11-13 20:58:55 +00001196 WINE_GET_SONAME(fontconfig,FcInit)
David Hammerton852c7ae2003-06-20 23:26:56 +00001197 WINE_GET_SONAME(ssl,SSL_library_init)
1198 WINE_GET_SONAME(crypto,BIO_new_socket)
Mike McCormack9557d1b2003-08-20 04:19:01 +00001199 WINE_GET_SONAME(ncurses,waddch)
1200 WINE_GET_SONAME(curses,waddch)
Huw Daviese82dfab2004-08-04 19:10:26 +00001201 WINE_GET_SONAME(jpeg,jpeg_start_decompress)
1202 WINE_GET_SONAME(ungif,DGifOpen)
Marcus Meissner00cf13a2004-09-14 19:27:58 +00001203 WINE_GET_SONAME(gif,DGifOpen)
Marcus Meissner67d3afb2005-01-07 15:33:02 +00001204 WINE_GET_SONAME(capi20,capi20_isinstalled)
Alexandre Julliard598412e2001-01-17 20:22:22 +00001205fi
Alexandre Julliard67e8dc62002-05-20 18:29:58 +00001206
1207
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001208dnl **** Check for functions ****
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001209
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001210AC_CHECK_FUNCS(\
1211 _lwp_create \
Alexandre Julliard6f7a2042003-04-01 04:39:35 +00001212 _lwp_self \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001213 _pclose \
1214 _popen \
Steven Edwards0a8e15a2002-05-10 01:33:40 +00001215 _snprintf \
Alexandre Julliardc45bbad2003-04-01 00:12:02 +00001216 _spawnvp \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001217 _stricmp \
1218 _strnicmp \
Steven Edwardsbe514b92003-01-14 19:35:03 +00001219 _vsnprintf \
Alexandre Julliardf9e5b0f2006-01-14 17:22:03 +01001220 asctime_r \
Steven Edwardsb9627c12002-05-05 21:03:44 +00001221 chsize \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001222 clone \
Alexandre Julliard969f57c2004-09-23 04:48:24 +00001223 epoll_create \
Hans Leidekkerc3de6ef2004-10-19 23:53:26 +00001224 ffs \
Jon Griffithsd6deb6d2000-11-27 01:37:28 +00001225 finite \
Hans Leidekkerbed38422004-10-14 03:08:57 +00001226 fork \
Jon Griffithsd6deb6d2000-11-27 01:37:28 +00001227 fpclass \
Alexandre Julliarde77c9be2004-04-06 03:33:25 +00001228 fstatfs \
1229 fstatvfs \
Steven Edwardsb9627c12002-05-05 21:03:44 +00001230 ftruncate \
Alexandre Julliarda1fe8b42004-03-27 01:48:52 +00001231 futimes \
Robert Lunnonc0cb4d32005-05-07 14:53:38 +00001232 futimesat \
Marcus Meissner7a6fdea2005-11-17 12:58:35 +00001233 getaddrinfo \
Hans Leidekkerc0e6bb22006-02-20 14:16:38 +01001234 getnameinfo \
Patrik Stridvallb9010211999-11-13 22:23:35 +00001235 getnetbyname \
Dimitrie O. Paun647c1a32002-12-10 19:16:24 +00001236 getopt_long \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001237 getpagesize \
Patrik Stridvallb9010211999-11-13 22:23:35 +00001238 getprotobyname \
1239 getprotobynumber \
Alexandre Julliard142dab82002-07-01 18:17:30 +00001240 getpwuid \
Patrik Stridvallb9010211999-11-13 22:23:35 +00001241 getservbyport \
Alexandre Julliardb2d937d2003-11-12 03:16:00 +00001242 gettid \
Alexandre Julliard8d7b8e52003-03-23 20:11:45 +00001243 gettimeofday \
Steven Edwardse7c3ab12004-10-04 20:45:49 +00001244 getuid \
Patrik Stridvallb9010211999-11-13 22:23:35 +00001245 inet_network \
Alexandre Julliard27bb3112000-11-29 17:48:06 +00001246 lstat \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001247 memmove \
Hidenori Takeshimaa85b0a62000-11-25 23:54:12 +00001248 mmap \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001249 pclose \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001250 popen \
Alexandre Julliard9603ee02006-04-06 11:57:37 +02001251 prctl \
Steven Edwardsb9627c12002-05-05 21:03:44 +00001252 pread \
Alexandre Julliardf1a0de92002-01-07 21:00:27 +00001253 pwrite \
Alexandre Julliarde2930742004-01-08 05:07:05 +00001254 readlink \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001255 rfork \
Jeremy White08c0f692004-10-09 02:26:29 +00001256 sched_yield \
Patrik Stridvallb9010211999-11-13 22:23:35 +00001257 select \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001258 sendmsg \
Patrik Stridvallb9010211999-11-13 22:23:35 +00001259 settimeofday \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001260 sigaltstack \
Paul Millar10a6c562004-12-07 17:19:54 +00001261 sigprocmask \
Steven Edwards0a8e15a2002-05-10 01:33:40 +00001262 snprintf \
Pavel Roskin7add08a2003-09-24 18:54:40 +00001263 spawnvp \
Patrik Stridvallb9010211999-11-13 22:23:35 +00001264 statfs \
Alexandre Julliard13af4892004-03-05 21:03:46 +00001265 statvfs \
Alexandre Julliard3b96efc1999-09-04 14:36:02 +00001266 strcasecmp \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001267 strerror \
Alexandre Julliard3b96efc1999-09-04 14:36:02 +00001268 strncasecmp \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001269 tcgetattr \
1270 timegm \
1271 usleep \
Steven Edwardsbe514b92003-01-14 19:35:03 +00001272 vsnprintf \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001273 wait4 \
1274 waitpid \
1275)
1276
Maarten Lankhorst888eaae2005-04-27 09:46:25 +00001277
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001278dnl **** Check for types ****
1279
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001280AC_C_CONST
1281AC_C_INLINE
Alexandre Julliard60a8fcf2004-09-16 20:34:27 +00001282AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
Paul Millar10a6c562004-12-07 17:19:54 +00001283AC_CHECK_TYPES([sigset_t],,,[#include <signal.h>])
Gerald Pfeiferb8b15f32005-07-10 17:42:46 +00001284AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
Alexandre Julliardc7c217b1998-04-13 12:21:30 +00001285
Daniel Remenake491e8f2005-07-29 14:18:58 +00001286AC_CHECK_MEMBERS([struct ff_effect.direction],,,
1287[#ifdef HAVE_LINUX_INPUT_H
1288#include <linux/input.h>
1289#endif])
1290
Paul Millar10a6c562004-12-07 17:19:54 +00001291AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
1292 AC_TRY_LINK([#include <signal.h>],[sigset_t set; sigaddset(&set,SIGTERM);],
1293 wine_cv_have_sigaddset=yes,wine_cv_have_sigaddset=no))
1294if test "$wine_cv_have_sigaddset" = "yes"
1295then
1296 AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
1297fi
1298
Alexandre Julliard7cae5582002-06-01 02:55:48 +00001299
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001300AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
Rein Klazesff7a61f2000-09-24 19:41:57 +00001301 wine_cv_linux_gethostbyname_r_6,
Marcus Meissnerdfd315b2004-01-02 03:53:57 +00001302 AC_TRY_LINK([
Rein Klazesff7a61f2000-09-24 19:41:57 +00001303#include <netdb.h>
1304 ], [
1305 char *name=NULL;
1306 struct hostent he;
1307 struct hostent *result;
1308 char *buf=NULL;
1309 int bufsize=0;
1310 int res,errnr;
1311 char *addr=NULL;
1312 int addrlen=0;
1313 int addrtype=0;
1314 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1315 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1316 ],
1317 wine_cv_linux_gethostbyname_r_6=yes,
1318 wine_cv_linux_gethostbyname_r_6=no
1319 )
1320 )
1321 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1322 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001323 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1324 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
Rein Klazesff7a61f2000-09-24 19:41:57 +00001325 fi
1326
Marcus Meissner028e9a11999-08-04 15:07:56 +00001327if test "$ac_cv_header_linux_joystick_h" = "yes"
1328then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001329 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
Marcus Meissner028e9a11999-08-04 15:07:56 +00001330 wine_cv_linux_joystick_22_api,
1331 AC_TRY_COMPILE([
1332 #include <sys/ioctl.h>
1333 #include <linux/joystick.h>
1334
1335 struct js_event blub;
Marcus Meissner605a9c31999-11-04 02:04:01 +00001336 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1337 #error "no 2.2 header"
1338 #endif
Marcus Meissner028e9a11999-08-04 15:07:56 +00001339 ],/*empty*/,
1340 wine_cv_linux_joystick_22_api=yes,
1341 wine_cv_linux_joystick_22_api=no,
1342 wine_cv_linux_joystick_22_api=no
1343 )
1344 )
Rein Klazes87d224a2000-04-24 17:33:49 +00001345 if test "$wine_cv_linux_joystick_22_api" = "yes"
Marcus Meissner028e9a11999-08-04 15:07:56 +00001346 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001347 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1348 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
Marcus Meissner028e9a11999-08-04 15:07:56 +00001349 fi
1350fi
1351
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001352dnl **** FIXME: what about mixed cases, where we need two of them? ***
1353
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001354dnl Check for statfs members
Alexandre Julliardb859a682004-03-07 03:16:43 +00001355AC_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],,,
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001356[#include <sys/types.h>
1357#ifdef HAVE_SYS_PARAM_H
1358# include <sys/param.h>
1359#endif
Robert Millan55b74482006-02-06 21:53:27 +01001360#ifdef HAVE_SYS_MOUNT_H
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001361# include <sys/mount.h>
Robert Millan55b74482006-02-06 21:53:27 +01001362#endif
1363#ifdef HAVE_SYS_VFS_H
1364# include <sys/vfs.h>
1365#endif
1366#ifdef HAVE_SYS_STATFS_H
1367# include <sys/statfs.h>
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001368#endif])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001369
Alexandre Julliard13af4892004-03-05 21:03:46 +00001370AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
1371[#ifdef HAVE_SYS_STATVFS_H
1372#include <sys/statvfs.h>
1373#endif])
1374
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001375dnl Check for socket structure members
1376AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001377[#include <sys/types.h>
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001378#ifdef HAVE_SYS_SOCKET_H
1379# include <sys/socket.h>
1380#endif
1381#ifdef HAVE_SYS_UN_H
1382# include <sys/un.h>
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001383#endif])
1384
Dmitry Timoshkovea64a362005-06-27 12:07:49 +00001385dnl Check for scsireq_t and sg_io_hdr_t members
1386AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
1387[#include <sys/types.h>
1388#ifdef HAVE_SCSI_SG_H
1389#include <scsi/sg.h>
1390#endif])
1391
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001392dnl Check for siginfo_t members
1393AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
Juergen Lock2d33ab92000-02-13 16:03:29 +00001394
Gerald Pfeifer36bdc642006-02-05 13:51:03 +01001395dnl Check for struct mtget members
Gerald Pfeifer571d9fb2006-02-06 20:59:44 +01001396AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
Phil Krylov368dab32006-02-11 20:26:33 +01001397[#include <sys/types.h>
1398#ifdef HAVE_SYS_MTIO_H
Gerald Pfeifer36bdc642006-02-05 13:51:03 +01001399#include <sys/mtio.h>
1400#endif])
1401
Alexandre Julliarddb89a542003-04-20 02:56:14 +00001402dnl Check for struct option
1403AC_CHECK_MEMBERS([struct option.name],,,
1404[#ifdef HAVE_GETOPT_H
1405#include <getopt.h>
1406#endif])
1407
Pavel Roskind6507192003-10-03 03:28:40 +00001408dnl Check for stat.st_blocks
1409AC_CHECK_MEMBERS([struct stat.st_blocks])
1410
Vitaly Lipatov40a6a742006-02-20 15:33:09 +03001411dnl Check for sin6_scope_id
1412AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
1413[#ifdef HAVE_SYS_TYPES_H
1414#include <sys/types.h>
1415#endif
1416#ifdef HAVE_NETINET_IN_H
1417#include <netinet/in.h>
1418#endif])
1419
Phil Krylov6618b032005-05-24 11:52:46 +00001420dnl Check for the external timezone variables timezone and daylight
1421AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
1422 AC_TRY_LINK([#include <time.h>],[timezone;],
1423 ac_cv_have_timezone="yes", ac_cv_have_timezone="no"))
1424if test "$ac_cv_have_timezone" = "yes"
1425then
1426 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
1427fi
1428AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
1429 AC_TRY_LINK([#include <time.h>],[daylight;],
1430 ac_cv_have_daylight="yes", ac_cv_have_daylight="no"))
1431if test "$ac_cv_have_daylight" = "yes"
1432then
1433 AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
1434fi
1435
Alexandre Julliard05783b52002-12-11 00:21:55 +00001436dnl *** check for the need to define platform-specific symbols
Alexandre Julliard51d46ba1999-05-08 16:05:27 +00001437
Alexandre Julliardfc01b722002-05-12 03:16:39 +00001438case $host_cpu in
Alexandre Julliard05783b52002-12-11 00:21:55 +00001439 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
Alexandre Julliarde3be5642005-09-09 09:30:02 +00001440 *x86_64*) WINE_CHECK_DEFINE([__x86_64__]) ;;
Alexandre Julliard05783b52002-12-11 00:21:55 +00001441 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1442 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
Pierre d'Herbemontb64b7de2003-07-16 23:37:22 +00001443 *powerpc*) WINE_CHECK_DEFINE([__powerpc__]) ;;
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001444esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001445
1446case $host_vendor in
Alexandre Julliard05783b52002-12-11 00:21:55 +00001447 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001448esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001449
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001450dnl **** Generate output files ****
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001451
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001452AH_TOP([#define __WINE_CONFIG_H])
1453
Alexandre Julliard89118562002-03-27 21:13:40 +00001454WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1455WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001456WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001457WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1458WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1459WINE_CONFIG_EXTRA_DIR(include/wine)
1460
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001461MAKE_RULES=Make.rules
Alexandre Julliardff8331e1995-09-18 11:19:54 +00001462AC_SUBST_FILE(MAKE_RULES)
1463
Alexandre Julliardd0edc5f2000-03-04 22:31:27 +00001464MAKE_DLL_RULES=dlls/Makedll.rules
1465AC_SUBST_FILE(MAKE_DLL_RULES)
1466
Alexandre Julliard633b12d2005-08-25 12:14:13 +00001467MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
1468AC_SUBST_FILE(MAKE_IMPLIB_RULES)
1469
Alexandre Julliardedeee892002-08-09 01:22:40 +00001470MAKE_TEST_RULES=dlls/Maketest.rules
1471AC_SUBST_FILE(MAKE_TEST_RULES)
1472
Alexandre Julliard117436e2003-05-01 00:39:29 +00001473MAKE_LIB_RULES=libs/Makelib.rules
1474AC_SUBST_FILE(MAKE_LIB_RULES)
1475
Alexandre Julliard626f4252000-11-10 23:35:20 +00001476MAKE_PROG_RULES=programs/Makeprog.rules
1477AC_SUBST_FILE(MAKE_PROG_RULES)
1478
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001479AC_CONFIG_FILES([
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001480Make.rules
Alexandre Julliard626f4252000-11-10 23:35:20 +00001481dlls/Makedll.rules
Alexandre Julliard633b12d2005-08-25 12:14:13 +00001482dlls/Makeimplib.rules
Alexandre Julliardedeee892002-08-09 01:22:40 +00001483dlls/Maketest.rules
Alexandre Julliard117436e2003-05-01 00:39:29 +00001484libs/Makelib.rules
Alexandre Julliard626f4252000-11-10 23:35:20 +00001485programs/Makeprog.rules
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001486Makefile
Alexandre Julliard85ed45e1998-08-22 19:03:56 +00001487dlls/Makefile
Detlef Riekenberg29056632005-06-13 11:47:46 +00001488dlls/activeds/Makefile
Juergen Schmiedf7b0de31999-01-03 12:48:29 +00001489dlls/advapi32/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001490dlls/advapi32/tests/Makefile
Huw Davies20313b82004-09-27 20:39:40 +00001491dlls/advpack/Makefile
Robert Reif97199822005-01-20 20:03:13 +00001492dlls/advpack/tests/Makefile
Christian Costa76b77872004-03-09 01:29:56 +00001493dlls/amstream/Makefile
Aric Stewart4bd374f2004-07-06 21:01:18 +00001494dlls/atl/Makefile
Hidenori Takeshima1c53a7f2001-11-06 00:41:05 +00001495dlls/avicap32/Makefile
Marcus Meissnerb3d1a221999-03-13 18:07:44 +00001496dlls/avifil32/Makefile
Patrik Stridvalld1447fa2002-11-19 00:47:12 +00001497dlls/cabinet/Makefile
James Hawkinsca0246f2006-01-10 12:14:47 +01001498dlls/cabinet/tests/Makefile
Alexandre Julliard00fdd9f2003-11-06 00:26:43 +00001499dlls/capi2032/Makefile
Sami Nopanen9063cef2004-03-15 20:26:42 +00001500dlls/cards/Makefile
Mike McCormackb107b922003-10-31 03:38:07 +00001501dlls/cfgmgr32/Makefile
John K. Hohm34909c22002-05-14 21:50:56 +00001502dlls/comcat/Makefile
Alexandre Julliarda0d77311998-09-13 16:32:00 +00001503dlls/comctl32/Makefile
Uwe Bonnes2c4fd422003-05-15 23:58:48 +00001504dlls/comctl32/tests/Makefile
Alexandre Julliardca1e72a2006-04-10 17:00:03 +02001505dlls/comdlg32/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001506dlls/crtdll/Makefile
Travis Michielsen0f21ee82002-01-10 19:41:11 +00001507dlls/crypt32/Makefile
Kees Cook255541a2005-05-24 09:58:26 +00001508dlls/crypt32/tests/Makefile
Ulrich Czekallac173f6a2005-01-24 19:07:16 +00001509dlls/cryptdll/Makefile
Alexandre Julliard7bd53d72006-02-14 17:08:59 +01001510dlls/ctl3d32/Makefile
Sylvain Petreolle3a99d8b2002-06-25 23:23:03 +00001511dlls/d3d8/Makefile
Alexandre Julliardaa1bdc42003-07-01 01:11:13 +00001512dlls/d3d9/Makefile
H. Verbeetc26ad822005-12-09 14:53:28 +01001513dlls/d3d9/tests/Makefile
Enrico Horneaae7052003-01-24 01:08:15 +00001514dlls/d3dim/Makefile
Ivan Leo Murray-Smith8f14eb02004-05-18 00:54:12 +00001515dlls/d3drm/Makefile
Raphael Junqueirae31ae922002-12-17 01:15:15 +00001516dlls/d3dx8/Makefile
Christian Costa7590fe52004-06-03 00:03:23 +00001517dlls/d3dxof/Makefile
Eric Pouech800864a2004-04-05 22:21:27 +00001518dlls/dbghelp/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001519dlls/dciman32/Makefile
Alexandre Julliardddce6522000-03-17 16:58:10 +00001520dlls/ddraw/Makefile
Sami Aariof22a4722003-11-18 00:12:00 +00001521dlls/ddraw/tests/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001522dlls/devenum/Makefile
Alexandre Julliardddce6522000-03-17 16:58:10 +00001523dlls/dinput/Makefile
Robert Reif8bffed52005-05-11 12:05:17 +00001524dlls/dinput/tests/Makefile
Ove Kaavend2d08f02002-06-14 00:39:44 +00001525dlls/dinput8/Makefile
Rok Mandeljc3dec4c52003-04-08 03:56:04 +00001526dlls/dmband/Makefile
1527dlls/dmcompos/Makefile
1528dlls/dmime/Makefile
1529dlls/dmloader/Makefile
1530dlls/dmscript/Makefile
1531dlls/dmstyle/Makefile
1532dlls/dmsynth/Makefile
Rok Mandeljc2d04be72003-03-21 00:42:38 +00001533dlls/dmusic/Makefile
Rok Mandeljc3dec4c52003-04-08 03:56:04 +00001534dlls/dmusic32/Makefile
Hans Leidekker6b1dded2006-04-09 18:35:43 +02001535dlls/dnsapi/Makefile
Hans Leidekker975899a2006-04-09 18:35:56 +02001536dlls/dnsapi/tests/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001537dlls/dplay/Makefile
Peter Hunnisett22b861c1999-09-28 16:35:32 +00001538dlls/dplayx/Makefile
Raphael Junqueira5f3f2142004-04-07 20:39:00 +00001539dlls/dpnet/Makefile
Rok Mandeljc3dec4c52003-04-08 03:56:04 +00001540dlls/dpnhpast/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001541dlls/dsound/Makefile
Francois Gougetd523a452002-12-05 19:19:41 +00001542dlls/dsound/tests/Makefile
Rok Mandeljc0382ea12004-01-20 00:21:40 +00001543dlls/dswave/Makefile
Raphael Junqueira033ae922004-04-16 00:26:14 +00001544dlls/dxdiagn/Makefile
Robert Reifcc02d952004-03-09 23:25:57 +00001545dlls/dxerr8/Makefile
1546dlls/dxerr9/Makefile
Alexandre Julliardc3eac432004-01-26 21:29:05 +00001547dlls/dxguid/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001548dlls/gdi/Makefile
Patrik Stridvall928ecb42002-10-02 19:58:27 +00001549dlls/gdi/tests/Makefile
Marcus Meissnerb63ab442001-06-08 19:02:57 +00001550dlls/glu32/Makefile
Jacek Cabanef799c42003-12-02 04:11:09 +00001551dlls/glut32/Makefile
Krzysztof Foltman9bca6902004-04-22 03:45:00 +00001552dlls/hhctrl.ocx/Makefile
Alexandre Julliard0a106bf2004-01-15 04:56:18 +00001553dlls/iccvid/Makefile
Francois Gougetedf3e431999-11-07 21:22:17 +00001554dlls/icmp/Makefile
Alexandre Julliarda21cf072004-02-20 01:18:43 +00001555dlls/ifsmgr.vxd/Makefile
Alexandre Julliardff0d1092006-03-27 23:17:19 +02001556dlls/imaadp32.acm/Makefile
Patrik Stridvall8295c861998-10-11 17:09:05 +00001557dlls/imagehlp/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001558dlls/imm32/Makefile
Juan Lang38fa5ad2003-05-13 03:32:20 +00001559dlls/iphlpapi/Makefile
Juan Lange6f491a2004-01-07 01:08:55 +00001560dlls/iphlpapi/tests/Makefile
Alexandre Julliard5f6e3c82004-08-24 21:00:15 +00001561dlls/itss/Makefile
Dimitrie O. Paun36b5b6b2000-06-03 00:07:44 +00001562dlls/kernel/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001563dlls/kernel/tests/Makefile
Alexandre Julliard556242b2006-02-28 12:54:48 +01001564dlls/lz32/Makefile
1565dlls/lz32/tests/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001566dlls/mapi32/Makefile
Jon Griffiths4ec0d3b2004-04-23 23:30:00 +00001567dlls/mapi32/tests/Makefile
Rémi Assaillyc6e294d2005-08-23 19:52:30 +00001568dlls/mciavi32/Makefile
Rémi Assailly5df5e402005-08-17 12:15:35 +00001569dlls/mcicda/Makefile
1570dlls/mciseq/Makefile
Rémi Assaillyf9f5eaa2005-07-21 11:31:56 +00001571dlls/midimap/Makefile
Alexandre Julliard94a9d332004-08-04 18:33:06 +00001572dlls/mlang/Makefile
1573dlls/mlang/tests/Makefile
Alexandre Julliarda21cf072004-02-20 01:18:43 +00001574dlls/mmdevldr.vxd/Makefile
1575dlls/monodebg.vxd/Makefile
Ulrich Weigandbb1984e1999-08-07 14:32:33 +00001576dlls/mpr/Makefile
Dmitry Timoshkovd30975d2006-04-27 20:52:12 +09001577dlls/mprapi/Makefile
Alexandre Julliardc4fde652006-04-10 16:55:04 +02001578dlls/msacm32/Makefile
1579dlls/msacm32/tests/Makefile
Alexandre Julliard3fa4fc52006-03-27 23:18:08 +02001580dlls/msadp32.acm/Makefile
Hans Leidekker51647572004-09-22 04:08:38 +00001581dlls/mscms/Makefile
Hans Leidekker081b2502004-10-07 19:12:41 +00001582dlls/mscms/tests/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001583dlls/msdmo/Makefile
Stefan Leichter3600b042006-02-22 19:17:48 +01001584dlls/msftedit/Makefile
Alexandre Julliard66a5c732006-03-27 23:18:48 +02001585dlls/msg711.acm/Makefile
Mike McCormackaa1c2a32003-09-08 19:32:14 +00001586dlls/mshtml/Makefile
Jacek Caban51bb3f62005-06-27 11:19:49 +00001587dlls/mshtml/tests/Makefile
Mike McCormack6386edc2003-08-13 01:27:48 +00001588dlls/msi/Makefile
Mike McCormack23b291a2005-01-05 13:26:34 +00001589dlls/msi/tests/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001590dlls/msimg32/Makefile
Mike McCormackf6be0442002-04-08 23:56:14 +00001591dlls/msisys/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001592dlls/msnet32/Makefile
Alexandre Julliard7ba8fba2004-02-27 21:51:12 +00001593dlls/msrle32/Makefile
Jon Griffiths1db20bf2001-01-10 23:59:25 +00001594dlls/msvcrt/Makefile
Uwe Bonnesa768fa32002-10-30 23:49:03 +00001595dlls/msvcrt/tests/Makefile
Aric Stewartc2a5ebc2002-01-29 18:09:46 +00001596dlls/msvcrt20/Makefile
Mike McCormackd0779462004-01-12 22:12:27 +00001597dlls/msvcrt40/Makefile
Adam Gundy19a15132003-04-04 19:37:57 +00001598dlls/msvcrtd/Makefile
Patrik Stridvall5c4420f2004-05-18 01:05:36 +00001599dlls/msvcrtd/tests/Makefile
Alexandre Julliardac3be952006-03-15 10:04:53 +01001600dlls/msvfw32/Makefile
Mike McCormack4cc64c82004-01-23 05:00:37 +00001601dlls/msvidc32/Makefile
André Johansen2123c132003-08-02 00:52:02 +00001602dlls/mswsock/Makefile
Mike McCormackdcc2d6c2005-08-02 11:29:04 +00001603dlls/msxml3/Makefile
Mike McCormackcab04352005-08-12 11:25:05 +00001604dlls/msxml3/tests/Makefile
Mike McCormack2e40b962001-11-06 17:52:36 +00001605dlls/netapi32/Makefile
Andriy Palamarchukb812c902002-09-11 02:35:17 +00001606dlls/netapi32/tests/Makefile
Ulrich Czekalla9655a5f2003-12-30 22:19:30 +00001607dlls/newdev/Makefile
Marcus Meissner51505b11998-11-01 14:00:21 +00001608dlls/ntdll/Makefile
Jon Griffiths1da29712002-08-15 22:08:40 +00001609dlls/ntdll/tests/Makefile
Thomas Weidenmueller96e052b2005-07-26 11:30:42 +00001610dlls/objsel/Makefile
Alexandre Julliard8551f8c1999-12-11 23:56:46 +00001611dlls/odbc32/Makefile
Mike McCormackb5c63ed2005-05-16 19:42:47 +00001612dlls/odbccp32/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001613dlls/ole32/Makefile
Mike McCormack06b80462004-08-11 00:17:52 +00001614dlls/ole32/tests/Makefile
Eric Pouech5caccaf2003-06-23 03:43:00 +00001615dlls/oleacc/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001616dlls/oleaut32/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001617dlls/oleaut32/tests/Makefile
Alexandre Julliardf15db162006-02-14 16:57:23 +01001618dlls/olecli32/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001619dlls/oledlg/Makefile
Sean Langley58c71d42000-02-07 16:26:56 +00001620dlls/olepro32/Makefile
Alexandre Julliard743741d2006-02-14 17:05:32 +01001621dlls/olesvr32/Makefile
Lionel Ulmerbedf40b2000-05-12 20:18:14 +00001622dlls/opengl32/Makefile
Benjamin Cutler250a8ae2005-04-20 19:15:31 +00001623dlls/powrprof/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001624dlls/psapi/Makefile
Stefan Leichter0d4fff42004-06-15 20:23:47 +00001625dlls/psapi/tests/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001626dlls/qcap/Makefile
Hidenori Takeshimab7d4b4e2001-07-02 18:57:22 +00001627dlls/quartz/Makefile
Christian Costae3a288f2004-08-16 21:14:28 +00001628dlls/quartz/tests/Makefile
Marcus Meissner30ef8771998-12-11 13:26:26 +00001629dlls/rasapi32/Makefile
Krzysztof Foltmand488f3f2005-03-05 11:19:14 +00001630dlls/riched20/Makefile
Thomas Kho482ab272006-02-11 18:39:07 +01001631dlls/riched20/tests/Makefile
Alexandre Julliardb4f553f2006-04-10 17:09:08 +02001632dlls/riched32/Makefile
Huw D M Davies10b1b232000-07-15 19:53:50 +00001633dlls/rpcrt4/Makefile
Greg Turnerac89cc22002-10-07 21:54:07 +00001634dlls/rpcrt4/tests/Makefile
Mike McCormackb6de3042004-02-13 20:47:07 +00001635dlls/rsabase/Makefile
Michael Jungb4b0c242004-07-30 00:06:54 +00001636dlls/rsabase/tests/Makefile
Michael Jung64dce8a2004-11-04 21:15:32 +00001637dlls/rsaenh/Makefile
1638dlls/rsaenh/tests/Makefile
Marcus Meissner125efed2006-05-08 20:05:42 +02001639dlls/sane.ds/Makefile
Juan Lang3ed89c32004-03-02 04:57:35 +00001640dlls/secur32/Makefile
Kai Blin84fb7912005-08-03 13:08:49 +00001641dlls/secur32/tests/Makefile
Robert Shearman3dea0972006-01-05 14:39:41 +01001642dlls/security/Makefile
Steven Edwards160e6472005-01-28 11:41:23 +00001643dlls/sensapi/Makefile
Mike McCormackdc2461e2000-07-15 21:35:55 +00001644dlls/serialui/Makefile
Francois Jacquesdf5e5792000-07-08 18:27:03 +00001645dlls/setupapi/Makefile
Steven Edwards331e09c2005-09-21 14:16:05 +00001646dlls/setupapi/tests/Makefile
Detlef Riekenbergaa318d12006-02-14 16:53:03 +01001647dlls/sfc/Makefile
John R. Sheetsbc80a3b2001-01-11 22:32:44 +00001648dlls/shdocvw/Makefile
Michael Jung7a48f832005-10-31 14:13:14 +00001649dlls/shdocvw/tests/Makefile
Alexandre Julliard85ed45e1998-08-22 19:03:56 +00001650dlls/shell32/Makefile
Andriy Palamarchuk5b5bea02002-08-27 01:34:33 +00001651dlls/shell32/tests/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001652dlls/shfolder/Makefile
1653dlls/shlwapi/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001654dlls/shlwapi/tests/Makefile
Patrik Stridvall4c692b92002-04-29 18:43:35 +00001655dlls/snmpapi/Makefile
Detlef Riekenberg717d18c2006-03-29 21:49:52 +02001656dlls/spoolss/Makefile
Huw Daviesa30c1b92005-07-20 17:52:04 +00001657dlls/stdole2.tlb/Makefile
Huw Davies40468462005-01-28 14:13:08 +00001658dlls/stdole32.tlb/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001659dlls/sti/Makefile
Francois Gougeta8963892004-08-19 19:31:20 +00001660dlls/strmiids/Makefile
Andreas Mohr5aa96c11999-03-14 12:34:25 +00001661dlls/tapi32/Makefile
Alexandre Julliard1404dc82006-04-10 17:29:18 +02001662dlls/twain_32/Makefile
Alexandre Julliard46321f42003-11-27 01:10:26 +00001663dlls/unicows/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001664dlls/url/Makefile
Alexandre Julliard819fa8c2000-04-11 20:07:00 +00001665dlls/urlmon/Makefile
Patrik Stridvall9398d9c2002-11-12 01:13:10 +00001666dlls/urlmon/tests/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001667dlls/user/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001668dlls/user/tests/Makefile
Steven Edwards54508df2005-07-27 11:02:52 +00001669dlls/usp10/Makefile
Jeff Latimer29ff53c2006-02-14 17:38:20 +01001670dlls/usp10/tests/Makefile
Alexandre Julliardc3eac432004-01-26 21:29:05 +00001671dlls/uuid/Makefile
Kevin Koltzau0af4fb92003-10-04 03:48:11 +00001672dlls/uxtheme/Makefile
Alexandre Julliarda21cf072004-02-20 01:18:43 +00001673dlls/vdhcp.vxd/Makefile
Sami Aario78f12242004-04-07 19:41:21 +00001674dlls/vdmdbg/Makefile
Ulrich Weigandd43a46a1999-01-31 10:11:04 +00001675dlls/version/Makefile
Stefan Leichter09733db2004-04-05 22:54:03 +00001676dlls/version/tests/Makefile
Alexandre Julliard6c8147b2004-02-21 04:13:56 +00001677dlls/vmm.vxd/Makefile
Juan Lange9ed2f32004-03-01 23:35:25 +00001678dlls/vnbt.vxd/Makefile
Alexandre Julliarda21cf072004-02-20 01:18:43 +00001679dlls/vnetbios.vxd/Makefile
1680dlls/vtdapi.vxd/Makefile
1681dlls/vwin32.vxd/Makefile
Alexandre Julliard1a909d12006-03-15 10:01:56 +01001682dlls/w32skrnl/Makefile
Alexandre Julliard71ae2d72005-08-25 11:41:05 +00001683dlls/winecrt0/Makefile
Alexandre Julliardc3eac432004-01-26 21:29:05 +00001684dlls/wined3d/Makefile
Ove Kaavene5557b32000-12-26 00:22:45 +00001685dlls/winedos/Makefile
Alexandre Julliard25d13402006-03-27 23:19:50 +02001686dlls/winemp3.acm/Makefile
Dimitrie O. Paun84bde6a2000-05-30 20:27:23 +00001687dlls/wineps/Makefile
Alexandre Julliard819fa8c2000-04-11 20:07:00 +00001688dlls/wininet/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001689dlls/wininet/tests/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001690dlls/winmm/Makefile
Eric Pouech2a3b0a12000-02-26 13:14:04 +00001691dlls/winmm/joystick/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001692dlls/winmm/mciwave/Makefile
Francois Gouget4ce28372002-11-04 23:47:49 +00001693dlls/winmm/tests/Makefile
Eric Pouechabe72271999-10-31 02:23:49 +00001694dlls/winmm/wavemap/Makefile
Eric Pouecha120ce02002-06-28 17:40:16 +00001695dlls/winmm/winealsa/Makefile
Chris Morgan9b0ba7c2002-03-21 01:38:19 +00001696dlls/winmm/winearts/Makefile
Robert Lunnon2a91e3f2002-08-01 18:22:38 +00001697dlls/winmm/wineaudioio/Makefile
Peter Åstrand7a15eb92005-08-03 15:53:26 +00001698dlls/winmm/wineesd/Makefile
Chris Morgan4691b182002-12-13 02:26:18 +00001699dlls/winmm/winejack/Makefile
Alexandre Julliardc3eac432004-01-26 21:29:05 +00001700dlls/winmm/winenas/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001701dlls/winmm/wineoss/Makefile
Alexandre Julliard1b329012006-02-28 13:02:42 +01001702dlls/winnls32/Makefile
Huw D M Daviese39b6761999-05-17 16:20:51 +00001703dlls/winspool/Makefile
Stefan Leichter88b11062003-01-15 00:50:48 +00001704dlls/winspool/tests/Makefile
Patrik Stridvall5caddc72002-12-17 01:49:16 +00001705dlls/wintab32/Makefile
Rein Klazes2a4c68b2001-04-16 19:36:12 +00001706dlls/wintrust/Makefile
Hans Leidekker8d63dfb2005-07-13 11:56:15 +00001707dlls/wldap32/Makefile
Alexandre Julliard071f5f22006-02-28 12:59:52 +01001708dlls/wnaspi32/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001709dlls/wow32/Makefile
Alexandre Julliardaf781f32006-03-15 09:57:30 +01001710dlls/ws2_32/Makefile
1711dlls/ws2_32/tests/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001712dlls/wsock32/Makefile
Ulrich Czekalla04f63462005-01-24 19:42:02 +00001713dlls/wtsapi32/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001714dlls/x11drv/Makefile
Alexandre Julliardd37eb361997-07-20 16:23:21 +00001715documentation/Makefile
Huw Davies00acb5f2004-08-17 22:33:14 +00001716fonts/Makefile
James Juranc70dc831999-02-13 12:18:33 +00001717include/Makefile
Alexandre Julliard6a9fe362003-03-19 22:09:16 +00001718libs/Makefile
1719libs/port/Makefile
Alexandre Julliard7ab9a712003-03-21 05:06:48 +00001720libs/unicode/Makefile
Alexandre Julliard2d1c7902003-03-22 20:40:48 +00001721libs/wine/Makefile
Alexandre Julliarde1a9b102003-05-01 03:16:21 +00001722libs/wpp/Makefile
Alexandre Julliard357c7402003-11-06 01:17:56 +00001723loader/Makefile
Alexandre Julliard02ed4c21996-03-02 19:34:10 +00001724programs/Makefile
Alexandre Julliarda11d7b11998-03-01 20:05:02 +00001725programs/clock/Makefile
Eric Williams30008a01999-02-05 17:40:47 +00001726programs/cmdlgtst/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001727programs/control/Makefile
Alexandre Julliard5f963332005-10-31 21:10:38 +00001728programs/eject/Makefile
Alexandre Julliardacfda142002-05-20 19:18:16 +00001729programs/expand/Makefile
Aric Stewart6bd16252005-11-16 11:45:51 +00001730programs/explorer/Makefile
Jacek Caban88313292005-07-12 20:41:52 +00001731programs/hh/Makefile
Marcus Meissner40af0c82006-03-22 13:31:54 +01001732programs/icinfo/Makefile
Mike McCormack5a5b35c2006-04-04 23:46:10 +09001733programs/iexplore/Makefile
Vincent Béron34966892004-07-19 19:44:07 +00001734programs/msiexec/Makefile
Alexandre Julliard44ed71f1997-12-21 19:17:50 +00001735programs/notepad/Makefile
Alexandre Julliard02ed4c21996-03-02 19:34:10 +00001736programs/progman/Makefile
Andriy Palamarchuk4e2e1762002-04-11 23:58:40 +00001737programs/regedit/Makefile
Andriy Palamarchuk2f0d85c2002-04-29 23:47:39 +00001738programs/regsvr32/Makefile
Alexandre Julliardd77294a2002-12-02 21:17:04 +00001739programs/rpcss/Makefile
Alberto Massari15e8e0a2002-11-15 01:41:20 +00001740programs/rundll32/Makefile
Dan Kegelba02ae42003-01-21 20:14:36 +00001741programs/start/Makefile
Eric Pouechd6b348f2004-03-23 01:19:54 +00001742programs/taskmgr/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001743programs/uninstaller/Makefile
Alexandre Julliarda11d7b11998-03-01 20:05:02 +00001744programs/view/Makefile
Dave Pickles74f440e1999-06-06 15:24:04 +00001745programs/wcmd/Makefile
Shachar Shemesh175d0592003-01-04 02:52:05 +00001746programs/wineboot/Makefile
Chris Morgand888d362004-01-06 20:49:58 +00001747programs/winebrowser/Makefile
Dimitrie O. Paun82ce2cc2003-03-31 19:41:55 +00001748programs/winecfg/Makefile
Eric Pouech0b83d4c2001-11-23 23:04:58 +00001749programs/wineconsole/Makefile
Alexandre Julliardf264bd32002-09-13 17:54:27 +00001750programs/winedbg/Makefile
Alexandre Julliard65a42162002-06-04 21:29:40 +00001751programs/winefile/Makefile
Mike McCormack88090b42003-05-21 18:50:53 +00001752programs/winemenubuilder/Makefile
Joshua Thielena3f23802000-03-15 19:06:39 +00001753programs/winemine/Makefile
Mike Wetherell0d8a9fa2002-05-05 20:31:54 +00001754programs/winepath/Makefile
Alexandre Julliard9f71bd92003-12-04 02:01:39 +00001755programs/winetest/Makefile
Alexandre Julliardfedc4112003-04-27 00:47:58 +00001756programs/winevdm/Makefile
Alexandre Julliard1285c2f1996-05-06 16:06:24 +00001757programs/winhelp/Makefile
Alexandre Julliarde658d821997-11-30 17:45:40 +00001758programs/winver/Makefile
Krzysztof Foltman07bcfbd2006-02-14 14:48:29 +01001759programs/wordpad/Makefile
Alexandre Julliard642d3131998-07-12 19:29:36 +00001760server/Makefile
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001761tools/Makefile
Alexandre Julliard7d4ee772002-07-16 03:20:45 +00001762tools/widl/Makefile
Patrik Stridvall647ac512001-07-30 20:21:34 +00001763tools/winapi/Makefile
Alexandre Julliarde482eeb2000-06-23 20:15:35 +00001764tools/winebuild/Makefile
Eric Pouechd786a122001-09-07 16:04:38 +00001765tools/winedump/Makefile
Alexandre Julliard280661c2003-09-11 21:27:58 +00001766tools/winegcc/Makefile
Bertho Stultiens30855912000-06-13 04:34:41 +00001767tools/wmc/Makefile
Alexandre Julliard7ab9a712003-03-21 05:06:48 +00001768tools/wrc/Makefile])
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001769
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001770AC_OUTPUT
1771
Mike McCormack8d6b9aa2006-04-17 18:16:10 +09001772exitcode=0
Ove Kaaven8b4431f1999-01-23 13:59:11 +00001773if test "$have_x" = "no"
1774then
1775 echo
1776 echo "*** Warning: X development files not found. Wine will be built without"
1777 echo "*** X support, which currently does not work, and would probably not be"
1778 echo "*** what you want anyway. You will need to install devel packages of"
Alexandre Julliard18e4b5e2002-01-04 18:52:40 +00001779 echo "*** Xlib/Xfree86 at the very least."
Mike McCormack8d6b9aa2006-04-17 18:16:10 +09001780 exitcode=1
Ove Kaaven8b4431f1999-01-23 13:59:11 +00001781fi
1782
Lionel Ulmerbedf40b2000-05-12 20:18:14 +00001783if test "$wine_cv_opengl_version_OK" = "no"
Lionel Ulmer5c085701999-02-28 19:48:53 +00001784then
1785 echo
1786 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
Lionel Ulmer5eee0bf2000-03-24 21:20:33 +00001787 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
Mike McCormack8d6b9aa2006-04-17 18:16:10 +09001788 exitcode=1
Lionel Ulmer5eee0bf2000-03-24 21:20:33 +00001789fi
1790
Ian Pilcher563598d2001-05-16 20:56:05 +00001791if test "$wine_cv_msg_freetype" = "yes"
1792then
1793 echo
1794 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001795 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1796 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1797 echo "*** enable Wine to use TrueType fonts."
Mike McCormack8d6b9aa2006-04-17 18:16:10 +09001798 exitcode=1
Ian Pilcher563598d2001-05-16 20:56:05 +00001799fi
1800
Mike McCormack8f6aa412006-04-04 13:36:51 +09001801if test "$wine_cv_msg_fonts" = "yes"
1802then
1803 echo
1804 echo "*** Warning: Freetype or Fontforge is missing."
1805 echo "*** Fonts will not be built. Dialog text may be invisible or unaligned."
Mike McCormack8d6b9aa2006-04-17 18:16:10 +09001806 exitcode=1
Mike McCormack8f6aa412006-04-04 13:36:51 +09001807fi
1808
Alexandre Julliard82776022005-08-08 11:17:25 +00001809if test -z "$ALSALIBS" -a \
1810 -z "$ARTSC_LIBS" -a \
1811 -z "$AUDIOIOLIBS" -a \
1812 -z "$NASLIBS" -a \
1813 -z "$ESD_LIBS" -a \
1814 -z "$ac_cv_lib_soname_jack" -a \
1815 "$ac_cv_header_sys_soundcard_h" != "yes" -a \
1816 "$ac_cv_header_machine_soundcard_h" != "yes" -a \
1817 "$ac_cv_header_soundcard_h" != "yes"
Francois Gouget99d026f2005-03-19 17:08:18 +00001818then
Mike McCormack8d6b9aa2006-04-17 18:16:10 +09001819 echo "*** No sound system was found. Windows applications will be silent."
1820 echo "*** The currently supported sound systems are:"
1821 echo "*** ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS"
1822 exitcode=1
Francois Gouget99d026f2005-03-19 17:08:18 +00001823fi
1824
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001825echo
Vincent Béron5606d102004-08-19 00:03:45 +00001826echo "Configure finished. Do '${ac_make} depend && ${ac_make}' to compile Wine."
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001827echo
1828
Mike McCormack8d6b9aa2006-04-17 18:16:10 +09001829exit $exitcode
1830
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001831dnl Local Variables:
1832dnl comment-start: "dnl "
1833dnl comment-end: ""
1834dnl comment-start-skip: "\\bdnl\\b\\s *"
Alexandre Julliard506fe442006-03-20 22:08:35 +01001835dnl compile-command: "autoconf && autoheader"
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001836dnl End: