blob: 80f74389baa9b7469adb8b8f1bafe0ab23e2d33b [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
Alexandre Julliarddaa28862002-04-11 21:54:01 +00007AC_PREREQ(2.53)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00008AC_INIT([Wine],WINE_VERSION)
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 Julliardf5818d22002-02-14 19:47:29 +000016AC_ARG_ENABLE(debug, AC_HELP_STRING([--disable-debug],[compile out all debugging messages]))
17AC_ARG_ENABLE(trace, AC_HELP_STRING([--disable-trace],[compile out TRACE messages]))
Alexandre Julliardb8074992002-11-21 21:51:24 +000018
19AC_ARG_WITH(opengl, AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
Alexandre Julliardfc01b722002-05-12 03:16:39 +000020AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses]))
Alexandre Julliard6a9cea92003-04-03 02:54:54 +000021AC_ARG_WITH(nptl, AC_HELP_STRING([--with-nptl],[use glibc NPTL threading support]))
Alexandre Julliardfc01b722002-05-12 03:16:39 +000022AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
Alexandre Julliarda11d7b11998-03-01 20:05:02 +000023
Alexandre Julliardc728efc2002-10-02 02:34:09 +000024AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
25AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
26if test "x$enable_win16" = "xno"
27then
28 WIN16_FILES=""
29 WIN16_INSTALL=""
30fi
Alexandre Julliardf5818d22002-02-14 19:47:29 +000031if test "x$enable_debug" = "xno"
Alexandre Julliardf90efa91998-06-14 15:24:15 +000032then
Alexandre Julliardf5818d22002-02-14 19:47:29 +000033 AC_DEFINE(NO_DEBUG_MSGS,1,[Define to disable all debug messages.])
Alexandre Julliarded2f19a2001-06-27 21:42:00 +000034fi
Alexandre Julliardf5818d22002-02-14 19:47:29 +000035if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
Alexandre Julliarded2f19a2001-06-27 21:42:00 +000036then
Alexandre Julliardf5818d22002-02-14 19:47:29 +000037 AC_DEFINE(NO_TRACE_MSGS,1,[Define to disable trace messages.])
Alexandre Julliardf90efa91998-06-14 15:24:15 +000038fi
Alexandre Julliard6a9cea92003-04-03 02:54:54 +000039if test "x$with_nptl" = "xyes"
40then
41 AC_DEFINE(HAVE_NPTL,1,[Define to use glibc NPTL threading support.])
42 AC_SUBST(LIBPTHREAD,"-lpthread")
43fi
Alexandre Julliardf90efa91998-06-14 15:24:15 +000044
Alexandre Julliard02e90081998-01-04 17:49:09 +000045dnl **** Check for some programs ****
Alexandre Julliardff8331e1995-09-18 11:19:54 +000046
Alexandre Julliardfc01b722002-05-12 03:16:39 +000047AC_CANONICAL_HOST
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000048AC_PROG_MAKE_SET
49AC_PROG_CC
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +000050AC_PROG_CPP
Alexandre Julliardfc01b722002-05-12 03:16:39 +000051
52AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
53 [if test -z "$with_wine_tools"; then
54 if test "$cross_compiling" = "yes"; then
55 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
56 else
57 wine_cv_toolsdir="\$(TOPOBJDIR)"
58 fi
59 elif test -d "$with_wine_tools/tools/winebuild"; then
60 case $with_wine_tools in
61 /*) wine_cv_toolsdir="$with_wine_tools" ;;
62 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
63 esac
64 else
65 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
66 fi])
67AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
68
Alexandre Julliardff8331e1995-09-18 11:19:54 +000069AC_PATH_XTRA
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000070AC_PROG_YACC
71AC_PROG_LEX
Marcus Meissner5c5a6212002-01-22 18:28:25 +000072
73dnl **** Just additional warning checks, since AC_PROG just sets 'yacc' even
74dnl **** without one present.
75AC_CHECK_PROGS(XYACC,$YACC bison yacc,none)
76if test "$XYACC" = "none"
77then
Alexandre Julliardf5818d22002-02-14 19:47:29 +000078 AC_MSG_ERROR([no suitable bison/yacc found. Please install the 'bison' package.])
Marcus Meissner5c5a6212002-01-22 18:28:25 +000079fi
Marcus Meissnerb53bb412000-07-23 13:41:51 +000080AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
81if test "$XLEX" = "none"
82then
Alexandre Julliardf5818d22002-02-14 19:47:29 +000083 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
Marcus Meissnerb53bb412000-07-23 13:41:51 +000084fi
Alexandre Julliardfc01b722002-05-12 03:16:39 +000085
Alexandre Julliardc80c2902003-05-06 18:41:52 +000086AC_CHECK_TOOLS(AS,[gas as],as)
Alexandre Julliardeb5f89c2002-05-24 21:22:10 +000087AC_CHECK_TOOL(LD,ld,ld)
Alexandre Julliardfc01b722002-05-12 03:16:39 +000088AC_CHECK_TOOL(AR,ar,ar)
Alexandre Julliardff8331e1995-09-18 11:19:54 +000089AC_PROG_RANLIB
Alexandre Julliardfc01b722002-05-12 03:16:39 +000090AC_CHECK_TOOL(STRIP,strip,strip)
91AC_CHECK_TOOL(WINDRES,windres,false)
Alexandre Julliard641ee761997-08-04 16:34:36 +000092AC_PROG_LN_S
Alexandre Julliarddf234a92002-05-22 02:10:39 +000093WINE_PROG_LN
Mike McCormacke0df32f2000-08-11 21:15:21 +000094AC_CHECK_PROG(C2MAN,c2man,c2man,\$(TOPSRCDIR)/tools/c2man.pl)
Bill Medland91372b32002-04-20 21:00:42 +000095AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
Alexandre Julliarde24bcc72002-12-24 00:35:19 +000096AC_PROG_INSTALL
97dnl Prepend src dir to install path dir if it's a relative path
98case "$INSTALL" in
Alexandre Julliard8418d8f2002-12-24 02:39:47 +000099 [[\\/$]]* | ?:[[\\/]]* ) ;;
Alexandre Julliarde24bcc72002-12-24 00:35:19 +0000100 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
101esac
Alexandre Julliard02e90081998-01-04 17:49:09 +0000102
Patrik Stridvalla9be64e1999-07-31 17:39:44 +0000103dnl Check for lint
104AC_CHECK_PROGS(LINT, lclint lint)
105if test "$LINT" = "lint"
106then
107 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
108 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
109fi
110AC_SUBST(LINT)
111AC_SUBST(LINTFLAGS)
112
Vincent BĂ©ron1d8cb6e2002-11-23 01:20:02 +0000113dnl Check for db2html
114AC_CHECK_PROGS(DB2HTML, docbook2html db2html, false)
115AC_SUBST(DB2HTML)
116
117dnl Check for db2pdf
118AC_CHECK_PROGS(DB2PDF, docbook2pdf db2pdf, false)
119AC_SUBST(DB2PDF)
120
121dnl Check for db2ps
122AC_CHECK_PROGS(DB2PS, docbook2ps db2ps, false)
123AC_SUBST(DB2PS)
124
Alexandre Julliard02e90081998-01-04 17:49:09 +0000125dnl **** Check for some libraries ****
126
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000127dnl Check for -lm
Howard Abrams13277481999-07-10 13:16:29 +0000128AC_CHECK_LIB(m,sqrt)
Alexandre Julliardd37eb361997-07-20 16:23:21 +0000129dnl Check for -li386 for NetBSD and OpenBSD
Alexandre Julliard02e90081998-01-04 17:49:09 +0000130AC_CHECK_LIB(i386,i386_set_ldt)
Todd Vierlingecc76691998-12-15 17:49:02 +0000131dnl Check for -lossaudio for NetBSD
132AC_CHECK_LIB(ossaudio,_oss_ioctl)
Alexandre Julliard02e90081998-01-04 17:49:09 +0000133dnl Check for -lw for Solaris
Ulrich Weigand2e8e2332000-12-27 18:49:08 +0000134AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
Patrik Stridvallea584721998-11-01 16:22:07 +0000135dnl Check for -lnsl for Solaris
Ulrich Weigand2e8e2332000-12-27 18:49:08 +0000136AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
Ulrich Weigand715a55e1999-04-18 13:19:56 +0000137dnl Check for -lsocket for Solaris
Marcus Meissnerf070fda1999-04-24 12:02:14 +0000138AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
Francois Gouget3b943bc2002-04-01 21:05:15 +0000139dnl Check for -lresolv for Solaris
Alexandre Julliardc5552742002-04-03 20:24:44 +0000140AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000141dnl Check for -lxpg4 for FreeBSD
Satsuki Fujishima66fb6072001-03-19 19:19:59 +0000142AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
Alexandre Julliard0e7bd081999-05-02 11:46:02 +0000143dnl Check for -lmmap for OS/2
144AC_CHECK_LIB(mmap,mmap)
Alexandre Julliard3f510ad2002-01-01 01:13:03 +0000145
Marcus Meissner252b0fe2001-08-06 18:52:14 +0000146JPEGLIB=""
147AC_SUBST(JPEGLIB)
148AC_CHECK_HEADERS(jpeglib.h,
149 AC_CHECK_LIB(jpeg,jpeg_start_decompress,
150 AC_DEFINE(HAVE_LIBJPEG,1,[Define if you have libjpeg including devel headers])
151 JPEGLIB="-ljpeg"
152 )
153)
154
Marcus Meissner728bedc2003-01-09 06:04:33 +0000155AC_SUBST(GIFLIB,"")
156AC_CHECK_HEADERS(gif_lib.h,
157 AC_CHECK_LIB(ungif,DGifOpen,
158 [AC_DEFINE(HAVE_LIBGIF,1,[Define if you have libgif/libungif including devel headers])
159 GIFLIB="-lungif"],
160 [AC_CHECK_LIB(gif,DGifOpen,
161 [AC_DEFINE(HAVE_LIBGIF,1)
162 GIFLIB="-lgif"])]))
163
Marcus Meissner252b0fe2001-08-06 18:52:14 +0000164
Patrik Stridvallea584721998-11-01 16:22:07 +0000165AC_SUBST(XLIB)
Patrik Stridvall2941a212000-04-25 20:34:22 +0000166AC_SUBST(XFILES)
167XFILES=""
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000168AC_SUBST(OPENGLFILES)
169OPENGLFILES=""
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000170AC_SUBST(GLU32FILES)
Alexandre Julliardf33f7f02001-09-17 20:09:08 +0000171GLU32FILES=""
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000172AC_SUBST(OPENGL_LIBS)
173OPENGL_LIBS=""
Patrik Stridvallea584721998-11-01 16:22:07 +0000174if test "$have_x" = "yes"
175then
Patrik Stridvall24110281999-02-04 10:09:54 +0000176 XLIB="-lXext -lX11"
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000177 ac_save_CPPFLAGS="$CPPFLAGS"
178 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
Patrik Stridvall24110281999-02-04 10:09:54 +0000179
Huw D M Daviesff453fc2001-09-14 01:04:25 +0000180 dnl *** All of the following tests require X11/Xlib.h
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000181 AC_CHECK_HEADERS(X11/Xlib.h,
182 [
Ove Kaavenc90fb252001-01-02 22:39:14 +0000183 dnl *** Check for X keyboard extension
184 AC_CHECK_HEADERS(X11/XKBlib.h,
185 [ dnl *** If X11/XKBlib.h exists...
186 AC_CHECK_LIB(X11, XkbQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000187 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
Ove Kaavenc90fb252001-01-02 22:39:14 +0000188 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
189 ],
Gregg Mattinson044b5c42002-07-19 03:16:51 +0000190 AC_MSG_WARN([[Xkb extension not found, Wine will be built without it]]),
191 [#include <X11/Xlib.h>])
Ove Kaavenc90fb252001-01-02 22:39:14 +0000192
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000193 dnl *** Check for X Shm extension
194 AC_CHECK_HEADERS(X11/extensions/XShm.h,
195 [ dnl *** If X11/extensions/XShm.h exists...
196 AC_CHECK_LIB(Xext, XShmQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000197 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000198 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
199 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000200 AC_MSG_WARN([[XShm extension not found, Wine will be built without it]]),
201 [#include <X11/Xlib.h>])
Marcus Meissnercb99b0e1999-12-20 04:10:06 +0000202
Gregg Mattinson044b5c42002-07-19 03:16:51 +0000203 dnl *** Check for Xutil
204 AC_CHECK_HEADERS(X11/Xutil.h,,,
205 [#include <X11/Xlib.h>])
206
Francois Jacques5b6879c2000-07-28 23:04:54 +0000207 dnl *** Check for X shape extension
Ove Kaavenc90fb252001-01-02 22:39:14 +0000208 AC_CHECK_HEADERS(X11/extensions/shape.h,
Francois Jacques5b6879c2000-07-28 23:04:54 +0000209 [ dnl *** If X11/extensions/shape.h exists...
210 AC_CHECK_LIB(Xext,XShapeQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000211 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
Francois Jacques5b6879c2000-07-28 23:04:54 +0000212 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
213 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000214 AC_MSG_WARN([[XShape extension not found, Wine will be built without it]]),
Gregg Mattinson044b5c42002-07-19 03:16:51 +0000215 [#include <X11/Xlib.h>
216 #ifdef HAVE_X11_XUTIL_H
217 # include <X11/Xutil.h>
218 #endif])
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000219
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000220 dnl *** Check for XFree86 DGA / DGA 2.0 extension
221 AC_CHECK_HEADERS(X11/extensions/xf86dga.h,
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000222 [ dnl *** If X11/extensions/xf86dga.h exists, check
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000223 dnl *** for XDGAQueryExtension()...
224 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
225 [ dnl *** If found...
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000226 AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
227 [Define if you have the Xxf86dga library version 2])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000228 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000229 ],
230 [ dnl *** If not found, look for XF86DGAQueryExtension()
231 dnl *** instead (DGA 2.0 not found)...
232 AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000233 [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
234 [Define if you have the Xxf86dga library version 1])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000235 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000236 ],,
237 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
238 )
239 ],
240 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
241 )
242 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000243 AC_MSG_WARN([[DGA extension not found, Wine will be built without it]]),
244 [#include <X11/Xlib.h>])
Patrik Stridvall24110281999-02-04 10:09:54 +0000245
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000246 dnl *** Check for XFree86 VMODE extension
247 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,
248 [ dnl *** If X11/extensions/xf86vmode.h exists...
249 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000250 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000251 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
252 ],,
253 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
254 )
255 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000256 AC_MSG_WARN([[XFree86 VMODE extension not found, Wine will be built without it]]),
257 [#include <X11/Xlib.h>])
Lionel Ulmer3d2f32d2000-09-06 19:46:59 +0000258
259 dnl *** Check for XVideo extension supporting XvImages
260 AC_CHECK_HEADERS(X11/extensions/Xvlib.h,
261 [ dnl *** If X11/extensions/Xvlib.h exists...
262 AC_CHECK_LIB(Xv, XvShmCreateImage,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000263 [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
Lionel Ulmer3d2f32d2000-09-06 19:46:59 +0000264 X_PRE_LIBS="$X_PRE_LIBS -lXv"
265 ],,
266 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
267 )
268 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000269 AC_MSG_WARN([[XVideo extension not found, Wine will be built without it]]),
270 [#include <X11/Xlib.h>])
Lionel Ulmer3d2f32d2000-09-06 19:46:59 +0000271
Alexandre Julliard21e91662002-04-23 22:06:41 +0000272 dnl *** Check for XRender include file
273 AC_CHECK_HEADERS(X11/extensions/Xrender.h,,,[#include <X11/Xlib.h>])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000274 ]
275 ) dnl *** End of X11/Xlib.h check
Lionel Ulmer5c085701999-02-28 19:48:53 +0000276
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000277 dnl Check for the presence of OpenGL
Alexandre Julliardb8074992002-11-21 21:51:24 +0000278 if test "x$with_opengl" != "xno"
Patrik Stridvall24110281999-02-04 10:09:54 +0000279 then
Francois Gouget42dcd972002-01-29 17:52:28 +0000280 if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000281 then
282 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
283This prevents linking to OpenGL. Delete the file and restart configure.])
284 fi
285
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000286 AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
Marcus Meissner22a969b2000-08-08 20:46:50 +0000287 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000288 then
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000289 AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>])
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000290 dnl Check for some problems due to old Mesa versions
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000291 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000292 AC_TRY_COMPILE(
Lionel Ulmer48c08162000-01-05 01:51:02 +0000293 [#include <GL/gl.h>],
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000294 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000295 [wine_cv_opengl_version_OK="yes"],
296 [wine_cv_opengl_version_OK="no"]
Lionel Ulmer48c08162000-01-05 01:51:02 +0000297 )
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000298 )
299
Alexandre Julliardb8074992002-11-21 21:51:24 +0000300 if test "$wine_cv_opengl_version_OK" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000301 then
Andreas Mohr4eefb962000-08-01 00:27:35 +0000302 dnl Check for the presence of the library
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000303 AC_CHECK_LIB(GL,glXCreateContext,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000304 OPENGL_LIBS="-lGL"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000305 ,,
306 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
307
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000308 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000309 then
Lionel Ulmerbd8ede12000-10-12 20:45:58 +0000310 OPENGLFILES='$(OPENGLFILES)'
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000311 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
Lionel Ulmerbd8ede12000-10-12 20:45:58 +0000312
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000313 AC_CHECK_LIB(GL,glXGetProcAddressARB,
314 AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
315 [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
316 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000317
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000318 if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000319 then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000320 AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
321 [AC_TRY_COMPILE([#include <GL/gl.h>
Marcus Meissner6bb6d4c2000-08-09 22:21:08 +0000322 #ifdef HAVE_GL_GLEXT_H
323 # include <GL/glext.h>
324 #endif
325 ],
Lionel Ulmer1434d872000-07-23 14:23:31 +0000326 [PFNGLCOLORTABLEEXTPROC test_proc;],
Lionel Ulmerfe210ef2000-07-29 11:30:56 +0000327 [wine_cv_extension_prototypes="yes"],
Lionel Ulmer1434d872000-07-23 14:23:31 +0000328 [wine_cv_extension_prototypes="no"]
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000329 )]
Lionel Ulmer1434d872000-07-23 14:23:31 +0000330 )
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000331 if test "$wine_cv_extension_prototypes" = "yes"
Lionel Ulmerfe210ef2000-07-29 11:30:56 +0000332 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000333 AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
334 [Define if the OpenGL headers define extension typedefs])
Lionel Ulmerfe210ef2000-07-29 11:30:56 +0000335 fi
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000336 fi
Alexandre Julliardd6c0f9f2001-01-04 22:44:55 +0000337
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000338 fi
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000339 dnl Check for GLU32 library.
Marcus Meissner6e9ab402001-08-08 23:21:16 +0000340 AC_CHECK_LIB(GLU,gluLookAt,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000341 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000342 GLU32FILES='$(GLU32FILES)']
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000343 ,,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000344 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000345 )
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000346 fi
347 fi
Patrik Stridvall24110281999-02-04 10:09:54 +0000348 fi
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000349
Francois Gouget6f670b12002-10-10 17:54:27 +0000350 dnl **** Check for NAS ****
351 AC_SUBST(NASLIBS,"")
352 AC_CHECK_HEADERS(audio/audiolib.h,
353 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
354 AC_CHECK_LIB(audio,AuCreateFlow,
355 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
356 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
357 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
358
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000359 CPPFLAGS="$ac_save_CPPFLAGS"
Patrik Stridvall2941a212000-04-25 20:34:22 +0000360 XFILES='$(XFILES)'
Patrik Stridvallea584721998-11-01 16:22:07 +0000361else
362 XLIB=""
363 X_CFLAGS=""
364 X_LIBS=""
365fi
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000366
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000367dnl **** Check which curses lib to use ***
Alexandre Julliard48957682001-12-26 23:08:31 +0000368CURSESLIBS=""
Alexandre Julliardf5818d22002-02-14 19:47:29 +0000369if test "x$with_curses" != "xno"
Alexandre Julliard638f1691999-01-17 16:32:32 +0000370then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000371 AC_CHECK_HEADERS(ncurses.h,
Bernhard Rosenkraenzer5ea30312002-01-06 19:08:03 +0000372 [AC_CHECK_LIB(ncurses,waddch,
Alexandre Julliard48957682001-12-26 23:08:31 +0000373 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
374 CURSESLIBS="-lncurses"],
375 [AC_CHECK_HEADERS(curses.h,
376 [AC_CHECK_LIB(curses,waddch,
377 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
Bernhard Rosenkraenzer5ea30312002-01-06 19:08:03 +0000378 CURSESLIBS="-lcurses"])])])])
Alexandre Julliard48957682001-12-26 23:08:31 +0000379 saved_libs="$LIBS"
380 LIBS="$CURSESLIBS $LIBS"
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000381 AC_CHECK_FUNCS(getbkgd resizeterm)
Alexandre Julliard48957682001-12-26 23:08:31 +0000382 LIBS="$saved_libs"
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000383fi
Alexandre Julliard48957682001-12-26 23:08:31 +0000384AC_SUBST(CURSESLIBS)
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000385
Shi Quan He6b0720f2002-03-21 02:58:39 +0000386dnl **** Check for SANE ****
387AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
388if test "$sane_devel" = "no"
389then
390 SANELIBS=""
391 SANEINCL=""
392else
393 SANELIBS="`$sane_devel --libs`"
394 SANEINCL="`$sane_devel --cflags`"
395 ac_save_CPPFLAGS="$CPPFLAGS"
396 ac_save_LIBS="$LIBS"
397 CPPFLAGS="$CPPFLAGS $SANEINCL"
398 LIBS="$LIBS $SANELIBS"
Alexandre Julliard96328b32002-03-31 19:23:41 +0000399 AC_CHECK_HEADER(sane/sane.h,
400 [AC_CHECK_LIB(sane,sane_open,
401 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
402 [SANELIBS=""
403 SANEINCL=""])],
404 [SANELIBS=""
405 SANEINCL=""])
Shi Quan He6b0720f2002-03-21 02:58:39 +0000406 LIBS="$ac_save_LIBS"
407 CPPFLAGS="$ac_save_CPPFLAGS"
408fi
409AC_SUBST(SANELIBS)
410AC_SUBST(SANEINCL)
411
Ian Pilcher563598d2001-05-16 20:56:05 +0000412dnl **** Check for FreeType 2 ****
Dmitry Timoshkov8871a112001-11-06 22:26:53 +0000413AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
Ian Pilcher563598d2001-05-16 20:56:05 +0000414if test "$ft_lib" = "no"
415then
Ian Pilcher563598d2001-05-16 20:56:05 +0000416 FREETYPEINCL=""
417 wine_cv_msg_freetype=no
418else
Marcus Meissnerd28955d2001-05-31 21:35:15 +0000419 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
420 if test "$ft_devel" = "no"
421 then
422 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
423 if test "$ft_devel2" = "freetype2-config"
424 then
425 ft_devel=$ft_devel2
426 fi
427 fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000428 if test "$ft_devel" = "no"
429 then
Ian Pilcher563598d2001-05-16 20:56:05 +0000430 FREETYPEINCL=""
431 wine_cv_msg_freetype=yes
432 else
Marcus Meissnerd28955d2001-05-31 21:35:15 +0000433 FREETYPEINCL=`$ft_devel --cflags`
Ian Pilcher40432fe2001-06-06 21:05:23 +0000434 ac_save_CPPFLAGS="$CPPFLAGS"
435 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
436 AC_CHECK_HEADERS(freetype/freetype.h \
437 freetype/ftglyph.h \
438 freetype/tttables.h \
439 freetype/ftnames.h \
440 freetype/ftsnames.h \
Huw D M Davies814654e2001-09-12 20:21:06 +0000441 freetype/ttnameid.h \
Huw D M Davies4e2024e2001-10-23 20:06:32 +0000442 freetype/ftoutln.h \
443 freetype/internal/sfnt.h)
Alexandre Julliard18d75732002-01-29 03:02:50 +0000444 AC_TRY_CPP([#include <ft2build.h>
445 #include <freetype/fttrigon.h>],
Huw D M Daviesc1d38132002-02-08 17:09:50 +0000446 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
447 [Define if you have the <freetype/fttrigon.h> header file.])
448 wine_cv_fttrigon=yes],
449 wine_cv_fttrigon=no)
Ian Pilcher40432fe2001-06-06 21:05:23 +0000450 CPPFLAGS="$ac_save_CPPFLAGS"
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000451 dnl Check that we have at least freetype/freetype.h
Huw D M Daviesc1d38132002-02-08 17:09:50 +0000452 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000453 then
454 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
455 wine_cv_msg_freetype=no
456 else
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000457 FREETYPEINCL=""
458 wine_cv_msg_freetype=yes
459 fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000460 fi
461fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000462AC_SUBST(FREETYPEINCL)
463
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000464dnl **** Check for parport (currently Linux only) ****
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000465AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000466 AC_TRY_COMPILE(
467 [#include <linux/ppdev.h>],
468 [ioctl (1,PPCLAIM,0)],
469 [ac_cv_c_ppdev="yes"],
470 [ac_cv_c_ppdev="no"])
471 )
472if test "$ac_cv_c_ppdev" = "yes"
473then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000474 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000475fi
476
Marcus Meissner5ee517a2002-08-09 19:49:31 +0000477dnl **** Check for va_copy ****
478AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
479 AC_TRY_LINK(
480 [#include <stdarg.h>],
481 [va_list ap1, ap2;
482 va_copy(ap1,ap2);
483 ],
484 [ac_cv_c_va_copy="yes"],
485 [ac_cv_c_va_copy="no"])
486 )
487if test "$ac_cv_c_va_copy" = "yes"
488then
489 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
490fi
491AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
492 AC_TRY_LINK(
493 [#include <stdarg.h>],
494 [va_list ap1, ap2;
495 __va_copy(ap1,ap2);
496 ],
497 [ac_cv_c___va_copy="yes"],
498 [ac_cv_c___va_copy="no"])
499 )
500if test "$ac_cv_c___va_copy" = "yes"
501then
502 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
503fi
504
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000505dnl **** Check for Open Sound System ****
Todd Vierlingecc76691998-12-15 17:49:02 +0000506AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000507
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000508AC_CACHE_CHECK([for Open Sound System],
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000509 ac_cv_c_opensoundsystem,
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000510 AC_TRY_COMPILE([
Todd Vierlingecc76691998-12-15 17:49:02 +0000511 #if defined(HAVE_SYS_SOUNDCARD_H)
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000512 #include <sys/soundcard.h>
Todd Vierlingecc76691998-12-15 17:49:02 +0000513 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000514 #include <machine/soundcard.h>
Todd Vierlingecc76691998-12-15 17:49:02 +0000515 #elif defined(HAVE_SOUNDCARD_H)
516 #include <soundcard.h>
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000517 #endif
518 ],[
519
Alexandre Julliard60ce85c1998-02-01 18:33:27 +0000520/* check for one of the Open Sound System specific SNDCTL_ defines */
521#if !defined(SNDCTL_DSP_STEREO)
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000522#error No open sound system
523#endif
Alexandre Julliarddadf78f1998-05-17 17:13:43 +0000524],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
525
526if test "$ac_cv_c_opensoundsystem" = "yes"
527then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000528 AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +0000529fi
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000530
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000531AC_CACHE_CHECK([for Open Sound System/MIDI interface],
Eric Pouech338d3b21999-05-22 18:52:21 +0000532 ac_cv_c_opensoundsystem_midi,
533 AC_TRY_COMPILE([
534 #if defined(HAVE_SYS_SOUNDCARD_H)
535 #include <sys/soundcard.h>
536 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
537 #include <machine/soundcard.h>
538 #elif defined(HAVE_SOUNDCARD_H)
539 #include <soundcard.h>
540 #endif
541 ],[
542
543/* check for one of the Open Sound System specific SNDCTL_SEQ defines */
544#if !defined(SNDCTL_SEQ_SYNC)
545#error No open sound system MIDI interface
546#endif
547],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
548
549if test "$ac_cv_c_opensoundsystem_midi" = "yes"
550then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000551 AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
Eric Pouech338d3b21999-05-22 18:52:21 +0000552fi
553
Chris Morgan9b0ba7c2002-03-21 01:38:19 +0000554dnl **** Check for aRts Sound Server ****
555AC_PATH_PROG(ARTSCCONFIG, artsc-config)
556AC_CACHE_CHECK([for aRts Sound server],
557 ac_cv_c_artsserver,
558 if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"';
559 then
560 ac_cv_c_artsserver=no
561 else
562 ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
563 ARTSC_LIBS=`$ARTSCCONFIG --libs`
564 ac_cv_c_artsserver=no
565 save_CFLAGS="$CFLAGS"
566 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
567 AC_TRY_COMPILE([
568 #include <artsc.h>
569 ],[
570 arts_stream_t stream;
571 ],[
572 ac_cv_c_artsserver=yes
573 ])
574 CFLAGS="$save_CFLAGS"
575 fi)
576
577if test "$ac_cv_c_artsserver" = "yes"
578then
579 AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
580 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
581
582 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])
583fi
584
Alexandre Julliardf92b7c02002-06-28 18:31:01 +0000585dnl **** Check for ALSA ****
586AC_SUBST(ALSALIBS,"")
Marco Pietrobono0e79a412002-08-29 01:51:31 +0000587AC_CHECK_HEADERS(alsa/asoundlib.h sys/asoundlib.h, break)
588if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
Alexandre Julliardf92b7c02002-06-28 18:31:01 +0000589then
590 AC_CHECK_LIB(asound,snd_pcm_open,
591 AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA including devel headers])
592 ALSALIBS="-lasound")
593fi
594
Robert Lunnon2a91e3f2002-08-01 18:22:38 +0000595dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
596
597AC_SUBST(AUDIOIOLIBS,"")
598AC_CHECK_HEADERS(libaudioio.h,
599 [AC_CHECK_LIB(audioio,AudioIOGetVersion,
600 [AUDIOIOLIBS="-laudioio"
601 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
602
Marcus Meissner0f6cfbc2001-06-08 19:34:56 +0000603dnl **** Check for broken glibc mmap64 ****
604
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000605AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
Marcus Meissner0f6cfbc2001-06-08 19:34:56 +0000606 AC_TRY_RUN([
607 #define _FILE_OFFSET_BITS 64
608 #include <stdio.h>
609 #include <unistd.h>
610 #include <fcntl.h>
611 #include <sys/mman.h>
612 #include <errno.h>
613
614 int main(int argc,char **argv) {
615 int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
616 if (fd == -1) exit(1);
617
618 unlink("conftest.map");
619
620 write(fd,"test",4);
621
622 if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
623 (errno == EINVAL)
624 ) {
625 exit(1);
626 }
627 close(fd);
628 fprintf(stderr,"success!\n");
629 exit(0);
630 }
631
632 ],
633 ac_cv_mmap64_works="yes",
634 ac_cv_mmap64_works="no",
635 ac_cv_mmap64_works="no") )
636
637if test "$ac_cv_mmap64_works" = "yes"
638then
639 AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
640fi
641
Mike McCormackc509bc42003-02-25 04:01:58 +0000642dnl **** Check for gcc specific options ****
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000643
Alexandre Julliardfc094232003-04-14 21:46:41 +0000644AC_SUBST(EXTRACFLAGS,"")
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000645if test "x${GCC}" = "xyes"
646then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000647 EXTRACFLAGS=-Wall
Mike McCormackc509bc42003-02-25 04:01:58 +0000648
649 dnl Check for strength-reduce bug
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000650 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000651 AC_TRY_RUN([
Eric Pouech5aee80f2000-11-11 00:31:39 +0000652int L[[4]] = {0,1,2,3};
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000653int main(void) {
Alexandre Julliardd2e1c1a1996-03-09 16:12:43 +0000654 static int Array[[3]];
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000655 unsigned int B = 3;
656 int i;
Alexandre Julliardd2e1c1a1996-03-09 16:12:43 +0000657 for(i=0; i<B; i++) Array[[i]] = i - 3;
Eric Pouech5aee80f2000-11-11 00:31:39 +0000658 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
659 L[[i]] = 4;
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000660
Eric Pouech5aee80f2000-11-11 00:31:39 +0000661 exit( Array[[1]] != -2 || L[[2]] != 3);
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000662}],
663 ac_cv_c_gcc_strength_bug="no",
664 ac_cv_c_gcc_strength_bug="yes",
665 ac_cv_c_gcc_strength_bug="yes") )
666 if test "$ac_cv_c_gcc_strength_bug" = "yes"
667 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000668 EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000669 fi
Alexandre Julliardf9b94cb2000-12-06 03:50:22 +0000670
671 dnl Check for -mpreferred-stack-boundary
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000672 AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
673 [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
674 ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
Alexandre Julliardf9b94cb2000-12-06 03:50:22 +0000675 if test "$ac_cv_c_gcc_stack_boundary" = "yes"
676 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000677 EXTRACFLAGS="$EXTRACFLAGS -mpreferred-stack-boundary=2"
Alexandre Julliardf9b94cb2000-12-06 03:50:22 +0000678 fi
Alexandre Julliard14bd1202003-01-09 00:42:26 +0000679
680 dnl Check for -gstabs+ option
681 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
682 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
683 if test "$ac_cv_c_gcc_gstabs" = "yes"
684 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000685 EXTRACFLAGS="$EXTRACFLAGS -gstabs+"
Alexandre Julliard14bd1202003-01-09 00:42:26 +0000686 fi
Mike McCormackc509bc42003-02-25 04:01:58 +0000687
688 dnl Check for noisy string.h
Alexandre Julliard4d52d372003-03-24 19:33:20 +0000689 saved_CFLAGS="$CFLAGS"
Mike McCormackc509bc42003-02-25 04:01:58 +0000690 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
691 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
692 AC_TRY_COMPILE([#include <string.h>],[],
693 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
Alexandre Julliard4d52d372003-03-24 19:33:20 +0000694 CFLAGS="$saved_CFLAGS"
Mike McCormackc509bc42003-02-25 04:01:58 +0000695 if test "$ac_cv_c_string_h_warnings" = "no"
696 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000697 EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
Mike McCormackc509bc42003-02-25 04:01:58 +0000698 fi
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000699fi
700
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000701dnl **** Check how to define a function in assembly code ****
Dimitrie O. Paunc77cbbc2000-11-27 23:32:55 +0000702
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000703AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
704 WINE_TRY_ASM_LINK(
705 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
706 ac_cv_asm_func_def=".def",
707 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
708 ac_cv_asm_func_def=".type @function",
709 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
710 ac_cv_asm_func_def=".type 2",
711 ac_cv_asm_func_def="unknown")])]))
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000712
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000713AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
714case "$ac_cv_asm_func_def" in
715 ".def")
716 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
717 ".type @function")
718 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
719 ".type 2")
720 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
721 *)
722 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
723esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +0000724
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000725dnl **** Check for underscore on external symbols ****
726
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000727AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000728 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
729 [extern int ac_test;],
730 [if (ac_test) return 1],
731 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
732
733AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000734if test "$ac_cv_c_extern_prefix" = "yes"
735then
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000736 AC_DEFINE([__ASM_NAME(name)], ["_" name])
737else
738 AC_DEFINE([__ASM_NAME(name)], [name])
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000739fi
740
Christian Costaf814cf82003-03-23 00:18:26 +0000741dnl **** Check how to do strings in assembler ****
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000742
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000743AC_CACHE_CHECK([whether assembler accepts .string], ac_cv_c_asm_string,
Marcus Meissner49163d52002-08-20 00:26:40 +0000744 WINE_TRY_ASM_LINK([".data\n\t.string \"test\"\n\t.text"],,,
745 ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no"))
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000746if test "$ac_cv_c_asm_string" = "yes"
747then
Christian Costaf814cf82003-03-23 00:18:26 +0000748 AC_DEFINE(__ASM_STRING, [".string"], [Define to the assembler keyword used to specify an ASCII string])
749else
750 AC_CACHE_CHECK([whether assembler accepts .asciz], ac_cv_c_asm_asciz,
751 WINE_TRY_ASM_LINK([".data\n\t.asciz \"test\"\n\t.text"],,,
752 ac_cv_c_asm_asciz="yes",ac_cv_c_asm_asciz="no"))
753 if test "$ac_cv_c_asm_asciz" = "yes"
754 then
755 AC_DEFINE(__ASM_STRING, [".asciz"])
756 else
757 AC_DEFINE(__ASM_STRING, [".ascii"])
758 fi
759fi
760
761dnl **** Check for .short in assembler ****
762
763AC_CACHE_CHECK([whether assembler accepts .short], ac_cv_c_asm_short,
764 WINE_TRY_ASM_LINK([".data\n\t.short 1\n\t.text"],,,
765 ac_cv_c_asm_short="yes",ac_cv_c_asm_short="no"))
766if test "$ac_cv_c_asm_short" = "yes"
767then
768 AC_DEFINE(__ASM_SHORT, [".short"], [Define to the assembler keyword used to specify a word value])
769else
770 AC_DEFINE(__ASM_SHORT, [".half"])
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000771fi
772
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +0000773dnl **** Check for working dll ****
774
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000775AC_SUBST(DLLEXT,"")
Alexandre Julliardfc094232003-04-14 21:46:41 +0000776AC_SUBST(DLLFLAGS,"-D_REENTRANT")
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000777AC_SUBST(DLLIBS,"")
778AC_SUBST(LDDLLFLAGS,"")
779AC_SUBST(LDSHARED,"")
Alexandre Julliardada5e652002-12-12 22:03:14 +0000780AC_SUBST(LIBEXT,"so")
781AC_SUBST(IMPLIBEXT,"def")
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000782
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000783case $host_os in
784 cygwin*|mingw32*)
Alexandre Julliardada5e652002-12-12 22:03:14 +0000785 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000786 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
787 if test "$DLLWRAP" = "false"; then
788 LIBEXT="a"
789 else
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000790 dnl FIXME - check whether dllwrap works correctly...
791 LIBEXT="dll"
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000792 fi
Alexandre Julliardada5e652002-12-12 22:03:14 +0000793 IMPLIBEXT="a"
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000794 ;;
795 *)
796 AC_CHECK_HEADERS(dlfcn.h,
797 [AC_CHECK_FUNCS(dlopen,,
798 [AC_CHECK_LIB(dl,dlopen,
799 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
800 DLLIBS="-ldl"],
801 [LIBEXT="a"])])],
802 [LIBEXT="a"])
803
804 if test "$LIBEXT" = "so"
805 then
Alexandre Julliardfc094232003-04-14 21:46:41 +0000806 DLLFLAGS="$DLLFLAGS -fPIC"
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000807 DLLEXT=".so"
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000808 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
809 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
810 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
Alexandre Julliard466ae142002-05-07 18:33:47 +0000811 if test "$ac_cv_c_dll_gnuelf" = "yes"
812 then
813 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
814 LDDLLFLAGS="-Wl,-Bsymbolic"
Alexandre Julliardf2abe472002-11-21 04:13:35 +0000815 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
816 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
817 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
818 if test "$ac_cv_c_dll_zdefs" = "yes"
819 then
820 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
821 fi
Alexandre Julliard4d52d372003-03-24 19:33:20 +0000822 AC_CACHE_CHECK([whether we can relocate the executable to 0x3c000000], ac_cv_ld_reloc_exec,
823 [saved_CFLAGS="$CFLAGS"
824 CFLAGS="$CFLAGS -Wl,--section-start,.interp=0x3c000100"
825 AC_TRY_RUN([#include <unistd.h>
826 int main() { return (sbrk(32*1024*1024) == (void *)-1); }],
827 ac_cv_ld_reloc_exec="yes",
828 ac_cv_ld_reloc_exec="no",
829 ac_cv_ld_reloc_exec="no")
830 CFLAGS="$saved_CFLAGS"])
831 if test "$ac_cv_ld_reloc_exec" = "yes"
832 then
833 AC_SUBST(LDEXECFLAGS,["-Wl,--section-start,.interp=0x3c000100"])
834 fi
Alexandre Julliard466ae142002-05-07 18:33:47 +0000835 else
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000836 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
837 [WINE_TRY_CFLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
838 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
Alexandre Julliard466ae142002-05-07 18:33:47 +0000839 if test "$ac_cv_c_dll_unixware" = "yes"
840 then
841 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
842 LDDLLFLAGS="-Wl,-B,symbolic"
843 fi
844 fi
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000845 fi
Alexandre Julliardc3c587e2002-09-06 19:46:00 +0000846
847 dnl Check for cross compiler to build test programs
848 AC_SUBST(CROSSTEST,"")
849 if test "$cross_compiling" = "no"
850 then
Hans Leidekkerb195d9f2003-04-12 00:00:57 +0000851 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32-gcc,false)
852 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32-dlltool,false)
Alexandre Julliard21ee3292003-04-21 22:52:31 +0000853 AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32-windres,false)
Alexandre Julliardc3c587e2002-09-06 19:46:00 +0000854 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
855 fi
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000856 ;;
857esac
Alexandre Julliard0adad952000-01-26 01:45:58 +0000858
Hidenori Takeshimad48ca942000-12-22 22:28:00 +0000859if test "$LIBEXT" = "a"; then
Alexandre Julliardf5818d22002-02-14 19:47:29 +0000860 AC_MSG_ERROR(
861[could not find a way to build shared libraries.
862It is currently not possible to build Wine without shared library
863(.so) support to allow transparent switch between .so and .dll files.
864If you are using Linux, you will need a newer binutils.]
865)
Hidenori Takeshimad48ca942000-12-22 22:28:00 +0000866fi
867
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000868case $build_os in
869 cygwin*|mingw32*)
Alexandre Julliard7ab9a712003-03-21 05:06:48 +0000870 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000871 *)
Alexandre Julliard7ab9a712003-03-21 05:06:48 +0000872 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000873esac
874
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000875dnl Mingw needs explicit msvcrt for linking libwine
876AC_SUBST(CRTLIBS,"")
877case $host_os in
878 mingw32*)
879 CRTLIBS="-lmsvcrt" ;;
880esac
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +0000881
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000882dnl **** Get the soname for libraries that we load dynamically ****
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000883
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000884if test "$LIBEXT" = "so"
Alexandre Julliard598412e2001-01-17 20:22:22 +0000885then
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000886 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
887 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
888 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
889 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000890 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
Marcus Meissnerf061f762002-11-12 02:22:24 +0000891 WINE_GET_SONAME(cups,cupsGetDefault)
Chris Morgan4691b182002-12-13 02:26:18 +0000892 WINE_GET_SONAME(jack,jack_client_new)
Alexandre Julliard598412e2001-01-17 20:22:22 +0000893fi
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000894
895
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000896dnl **** Check for functions ****
Alexandre Julliarde2991ea1995-07-29 13:09:43 +0000897
Patrik Stridvall1bb94031999-05-08 15:47:44 +0000898AC_FUNC_ALLOCA()
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000899AC_CHECK_FUNCS(\
900 _lwp_create \
Alexandre Julliard6f7a2042003-04-01 04:39:35 +0000901 _lwp_self \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000902 _pclose \
903 _popen \
Steven Edwards0a8e15a2002-05-10 01:33:40 +0000904 _snprintf \
Alexandre Julliardc45bbad2003-04-01 00:12:02 +0000905 _spawnvp \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000906 _stricmp \
907 _strnicmp \
Steven Edwardsbe514b92003-01-14 19:35:03 +0000908 _vsnprintf \
Steven Edwardsb9627c12002-05-05 21:03:44 +0000909 chsize \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000910 clone \
Jon Griffithsd6deb6d2000-11-27 01:37:28 +0000911 finite \
912 fpclass \
Steven Edwardsb9627c12002-05-05 21:03:44 +0000913 ftruncate \
Marcus Meissner3f1ed522001-05-14 20:09:37 +0000914 ftruncate64 \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000915 getnetbyaddr \
916 getnetbyname \
Dimitrie O. Paun647c1a32002-12-10 19:16:24 +0000917 getopt_long \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000918 getpagesize \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000919 getprotobyname \
920 getprotobynumber \
Alexandre Julliard142dab82002-07-01 18:17:30 +0000921 getpwuid \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000922 getservbyport \
Alexandre Julliard8d7b8e52003-03-23 20:11:45 +0000923 gettimeofday \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000924 inet_network \
Marcus Meissner3f1ed522001-05-14 20:09:37 +0000925 lseek64 \
Alexandre Julliard27bb3112000-11-29 17:48:06 +0000926 lstat \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000927 memmove \
Hidenori Takeshimaa85b0a62000-11-25 23:54:12 +0000928 mmap \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000929 pclose \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000930 popen \
Steven Edwardsb9627c12002-05-05 21:03:44 +0000931 pread \
Patrik Stridvall6caeb722002-11-25 21:12:26 +0000932 pthread_getspecific \
933 pthread_key_create \
934 pthread_mutex_lock \
935 pthread_mutex_unlock \
936 pthread_setspecific \
Alexandre Julliardf1a0de92002-01-07 21:00:27 +0000937 pwrite \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000938 rfork \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000939 select \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000940 sendmsg \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000941 settimeofday \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000942 sigaltstack \
Steven Edwards0a8e15a2002-05-10 01:33:40 +0000943 snprintf \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000944 statfs \
Alexandre Julliard3b96efc1999-09-04 14:36:02 +0000945 strcasecmp \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000946 strerror \
Alexandre Julliard3b96efc1999-09-04 14:36:02 +0000947 strncasecmp \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000948 tcgetattr \
949 timegm \
950 usleep \
951 vfscanf \
Steven Edwardsbe514b92003-01-14 19:35:03 +0000952 vsnprintf \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000953 wait4 \
954 waitpid \
955)
956
957dnl **** Check for header files ****
958
959AC_CHECK_HEADERS(\
Patrik Stridvall96336321999-10-24 22:13:47 +0000960 arpa/inet.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000961 arpa/nameser.h \
Marcus Meissnerf061f762002-11-12 02:22:24 +0000962 cups/cups.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000963 direct.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000964 elf.h \
965 float.h \
Dimitrie O. Paun647c1a32002-12-10 19:16:24 +0000966 getopt.h \
Ulrich Weigand2e8e2332000-12-27 18:49:08 +0000967 ieeefp.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000968 io.h \
Chris Morgan4691b182002-12-13 02:26:18 +0000969 jack/jack.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000970 libio.h \
Hidenori Takeshima01f78aa2000-07-09 12:19:09 +0000971 libutil.h \
Patrik Stridvall96336321999-10-24 22:13:47 +0000972 link.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000973 linux/cdrom.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +0000974 linux/hdreg.h \
Marcus Meissnerc9b3b2e2000-12-12 00:38:58 +0000975 linux/input.h \
Marcus Meissner028e9a11999-08-04 15:07:56 +0000976 linux/joystick.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +0000977 linux/major.h \
Laurent Pinchart0314a652002-05-01 22:01:30 +0000978 linux/param.h \
Lawson Whitney533e7ee2002-02-19 18:41:56 +0000979 linux/serial.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000980 linux/ucdrom.h \
Hidenori Takeshima5d1a6382000-11-26 04:00:53 +0000981 netdb.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000982 netinet/in.h \
Patrik Stridvall7a4e5992000-12-01 23:53:46 +0000983 netinet/in_systm.h \
Patrik Stridvall96336321999-10-24 22:13:47 +0000984 netinet/tcp.h \
Juan Lang38fa5ad2003-05-13 03:32:20 +0000985 netinet/tcp_fsm.h \
Marcus Meissner2d7be871999-12-05 23:06:40 +0000986 pty.h \
Steven Edwardsff4525c2002-06-24 23:00:25 +0000987 pwd.h \
Alexandre Julliardb6938952003-01-13 18:41:40 +0000988 regex.h \
Patrik Stridvall96336321999-10-24 22:13:47 +0000989 sched.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +0000990 scsi/sg.h \
Patrik Stridvall96336321999-10-24 22:13:47 +0000991 socket.h \
Bang Jun-Youngeda758e2001-12-14 22:47:19 +0000992 stdint.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000993 strings.h \
994 sys/cdio.h \
Howard Abrams13277481999-07-10 13:16:29 +0000995 sys/errno.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000996 sys/file.h \
997 sys/filio.h \
Michal Pasternak60983992002-03-29 18:04:43 +0000998 sys/inttypes.h \
Alexandre Julliardc3e06df2002-05-14 23:18:23 +0000999 sys/ioctl.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001000 sys/ipc.h \
Eric Pouech624cbd72001-08-10 22:29:21 +00001001 sys/link.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001002 sys/lwp.h \
Howard Abrams13277481999-07-10 13:16:29 +00001003 sys/mman.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001004 sys/modem.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001005 sys/msg.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001006 sys/param.h \
Patrik Stridvall57bf4502002-08-26 21:53:24 +00001007 sys/poll.h \
Dimitrie O. Paun2af03e42000-11-29 20:04:09 +00001008 sys/ptrace.h \
Ulrich Weigand8a1bdb32000-01-30 22:22:22 +00001009 sys/reg.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001010 sys/shm.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +00001011 sys/signal.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001012 sys/socket.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001013 sys/sockio.h \
1014 sys/statfs.h \
1015 sys/strtio.h \
1016 sys/syscall.h \
Alexandre Julliard127ec922002-05-07 01:51:30 +00001017 sys/sysctl.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001018 sys/time.h \
Patrik Stridvall57bf4502002-08-26 21:53:24 +00001019 sys/times.h \
Steven Edwards45e56812002-10-31 03:41:56 +00001020 sys/uio.h \
1021 sys/un.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001022 sys/v86.h \
1023 sys/v86intr.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001024 sys/vfs.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001025 sys/vm86.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +00001026 sys/wait.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001027 syscall.h \
Alexandre Julliardc3e06df2002-05-14 23:18:23 +00001028 termios.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001029 unistd.h \
Patrik Stridvall57bf4502002-08-26 21:53:24 +00001030 utime.h \
Alexandre Julliardc44555b2003-04-02 01:42:06 +00001031 valgrind/memcheck.h
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001032)
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001033AC_HEADER_STAT()
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001034
Gerald Pfeifer6cef4cd2002-11-06 22:00:10 +00001035dnl **** Checks for headers that depend on other ones ****
1036
1037AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001038 [#include <sys/types.h>
1039 #if HAVE_SYS_PARAM_H
1040 # include <sys/param.h>
Gerald Pfeifer6cef4cd2002-11-06 22:00:10 +00001041 #endif])
1042
Juan Lang38fa5ad2003-05-13 03:32:20 +00001043AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h resolv.h],,,
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001044 [#include <sys/types.h>
Gerald Pfeifer87c369d2002-07-23 02:02:02 +00001045 #if HAVE_SYS_SOCKET_H
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001046 # include <sys/socket.h>
1047 #endif])
1048
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001049AC_CHECK_HEADERS(netinet/ip.h,,,
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001050 [#include <sys/types.h>
1051 #if HAVE_SYS_SOCKET_H
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001052 # include <sys/socket.h>
1053 #endif
1054 #if HAVE_NETINET_IN_SYSTM_H
1055 # include <netinet/in_systm.h>
1056 #endif])
1057
Gerald Pfeiferd2033a52002-11-12 23:21:55 +00001058AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1059
Alexandre Julliardb38b4c22003-01-21 00:36:46 +00001060dnl **** Check for IPX headers (currently Linux only) ****
1061
1062AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1063 AC_TRY_COMPILE(
1064 [#include <sys/types.h>
1065 #ifdef HAVE_SYS_SOCKET_H
1066 # include <sys/socket.h>
1067 #endif
1068 #include <netipx/ipx.h>],
1069 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1070 [ac_cv_c_ipx_gnu="yes"],
1071 [ac_cv_c_ipx_gnu="no"])
1072 )
1073if test "$ac_cv_c_ipx_gnu" = "yes"
1074then
1075 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1076fi
1077
1078if test "$ac_cv_c_ipx_gnu" = "no"
1079then
1080 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1081 AC_TRY_COMPILE(
1082 [#include <sys/types.h>
1083 #ifdef HAVE_SYS_SOCKET_H
1084 # include <sys/socket.h>
1085 #endif
1086 #include <asm/types.h>
1087 #include <linux/ipx.h>],
1088 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1089 [ac_cv_c_ipx_linux="yes"],
1090 [ac_cv_c_ipx_linux="no"])
1091 )
1092 if test "$ac_cv_c_ipx_linux" = "yes"
1093 then
1094 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1095 fi
1096fi
1097
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001098dnl **** Check for types ****
1099
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001100AC_C_CONST
1101AC_C_INLINE
Alexandre Julliard5769d1d2002-04-26 19:05:15 +00001102AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t])
Alexandre Julliardc7c217b1998-04-13 12:21:30 +00001103AC_CHECK_SIZEOF(long long,0)
1104
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001105AC_CACHE_CHECK([whether linux/input.h is for real],
Marcus Meissner74f2b4b2001-01-19 21:09:07 +00001106 wine_cv_linux_input_h,
1107 AC_TRY_COMPILE([
1108 #include <linux/input.h>
1109 ] , [
1110 int foo = EVIOCGBIT(EV_ABS,42);
1111 int bar = BTN_PINKIE;
1112 int fortytwo = 42;
1113 ],
1114 wine_cv_linux_input_h=yes,
1115 wine_cv_linux_input_h=no,
1116 no
1117 )
1118 )
1119 if test "$wine_cv_linux_input_h" = "yes"
1120 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001121 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1122 [Define if we have linux/input.h AND it contains the INPUT event API])
Marcus Meissner74f2b4b2001-01-19 21:09:07 +00001123 fi
1124
Alexandre Julliard7cae5582002-06-01 02:55:48 +00001125
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001126AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
Rein Klazesff7a61f2000-09-24 19:41:57 +00001127 wine_cv_linux_gethostbyname_r_6,
1128 AC_TRY_COMPILE([
1129#include <netdb.h>
1130 ], [
1131 char *name=NULL;
1132 struct hostent he;
1133 struct hostent *result;
1134 char *buf=NULL;
1135 int bufsize=0;
1136 int res,errnr;
1137 char *addr=NULL;
1138 int addrlen=0;
1139 int addrtype=0;
1140 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1141 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1142 ],
1143 wine_cv_linux_gethostbyname_r_6=yes,
1144 wine_cv_linux_gethostbyname_r_6=no
1145 )
1146 )
1147 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1148 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001149 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1150 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
Rein Klazesff7a61f2000-09-24 19:41:57 +00001151 fi
1152
Marcus Meissner028e9a11999-08-04 15:07:56 +00001153if test "$ac_cv_header_linux_joystick_h" = "yes"
1154then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001155 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
Marcus Meissner028e9a11999-08-04 15:07:56 +00001156 wine_cv_linux_joystick_22_api,
1157 AC_TRY_COMPILE([
1158 #include <sys/ioctl.h>
1159 #include <linux/joystick.h>
1160
1161 struct js_event blub;
Marcus Meissner605a9c31999-11-04 02:04:01 +00001162 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1163 #error "no 2.2 header"
1164 #endif
Marcus Meissner028e9a11999-08-04 15:07:56 +00001165 ],/*empty*/,
1166 wine_cv_linux_joystick_22_api=yes,
1167 wine_cv_linux_joystick_22_api=no,
1168 wine_cv_linux_joystick_22_api=no
1169 )
1170 )
Rein Klazes87d224a2000-04-24 17:33:49 +00001171 if test "$wine_cv_linux_joystick_22_api" = "yes"
Marcus Meissner028e9a11999-08-04 15:07:56 +00001172 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001173 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1174 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
Marcus Meissner028e9a11999-08-04 15:07:56 +00001175 fi
1176fi
1177
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001178dnl **** statfs checks ****
1179
1180if test "$ac_cv_header_sys_vfs_h" = "yes"
1181then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001182 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001183 wine_cv_sys_vfs_has_statfs,
1184 AC_TRY_COMPILE([
1185 #include <sys/types.h>
1186 #ifdef HAVE_SYS_PARAM_H
1187 # include <sys/param.h>
1188 #endif
1189 #include <sys/vfs.h>
1190 ],[
1191 struct statfs stfs;
1192
1193 memset(&stfs,0,sizeof(stfs));
1194 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1195 )
1196 )
1197 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1198 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001199 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1200 [Define if the struct statfs is defined by <sys/vfs.h>])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001201 fi
1202fi
1203
1204if test "$ac_cv_header_sys_statfs_h" = "yes"
1205then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001206 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001207 wine_cv_sys_statfs_has_statfs,
1208 AC_TRY_COMPILE([
1209 #include <sys/types.h>
1210 #ifdef HAVE_SYS_PARAM_H
1211 # include <sys/param.h>
1212 #endif
1213 #include <sys/statfs.h>
1214 ],[
1215 struct statfs stfs;
1216 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1217 )
1218 )
1219 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1220 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001221 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1222 [Define if the struct statfs is defined by <sys/statfs.h>])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001223 fi
1224fi
1225
1226if test "$ac_cv_header_sys_mount_h" = "yes"
1227then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001228 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001229 wine_cv_sys_mount_has_statfs,
1230 AC_TRY_COMPILE([
1231 #include <sys/types.h>
1232 #ifdef HAVE_SYS_PARAM_H
1233 # include <sys/param.h>
1234 #endif
1235 #include <sys/mount.h>
1236 ],[
1237 struct statfs stfs;
1238 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1239 )
1240 )
1241 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1242 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001243 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1244 [Define if the struct statfs is defined by <sys/mount.h>])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001245 fi
1246fi
1247
1248dnl **** FIXME: what about mixed cases, where we need two of them? ***
1249
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001250dnl Check for statfs members
1251AC_CHECK_MEMBERS([struct statfs.f_bfree, struct statfs.f_bavail],,,
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001252[#include <sys/types.h>
1253#ifdef HAVE_SYS_PARAM_H
1254# include <sys/param.h>
1255#endif
1256#ifdef STATFS_DEFINED_BY_SYS_MOUNT
1257# include <sys/mount.h>
1258#else
1259# ifdef STATFS_DEFINED_BY_SYS_VFS
1260# include <sys/vfs.h>
1261# else
1262# ifdef STATFS_DEFINED_BY_SYS_STATFS
1263# include <sys/statfs.h>
1264# endif
1265# endif
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001266#endif])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001267
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001268dnl Check for socket structure members
1269AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001270[#include <sys/types.h>
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001271#ifdef HAVE_SYS_SOCKET_H
1272# include <sys/socket.h>
1273#endif
1274#ifdef HAVE_SYS_UN_H
1275# include <sys/un.h>
Alexandre Julliard5537dbb2003-03-28 00:36:12 +00001276#endif])
1277
1278dnl Check for siginfo_t members
1279AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
Juergen Lock2d33ab92000-02-13 16:03:29 +00001280
Alexandre Julliarddb89a542003-04-20 02:56:14 +00001281dnl Check for struct option
1282AC_CHECK_MEMBERS([struct option.name],,,
1283[#ifdef HAVE_GETOPT_H
1284#include <getopt.h>
1285#endif])
1286
Alexandre Julliard05783b52002-12-11 00:21:55 +00001287dnl *** check for the need to define platform-specific symbols
Alexandre Julliard51d46ba1999-05-08 16:05:27 +00001288
Alexandre Julliardfc01b722002-05-12 03:16:39 +00001289case $host_cpu in
Alexandre Julliard05783b52002-12-11 00:21:55 +00001290 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1291 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1292 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001293esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001294
1295case $host_vendor in
Alexandre Julliard05783b52002-12-11 00:21:55 +00001296 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001297esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001298
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001299dnl **** Generate output files ****
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001300
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001301AH_TOP([#define __WINE_CONFIG_H])
1302
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001303WINE_CONFIG_EXTRA_DIR(controls)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001304WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1305WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1306WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1307WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1308WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1309WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1310WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick)
1311WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard)
1312WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse)
Alexandre Julliard89118562002-03-27 21:13:40 +00001313WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1314WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001315WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1316WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1317WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1318WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001319WINE_CONFIG_EXTRA_DIR(files)
1320WINE_CONFIG_EXTRA_DIR(graphics)
1321WINE_CONFIG_EXTRA_DIR(graphics/x11drv)
1322WINE_CONFIG_EXTRA_DIR(if1632)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001323WINE_CONFIG_EXTRA_DIR(include/wine)
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001324WINE_CONFIG_EXTRA_DIR(loader)
1325WINE_CONFIG_EXTRA_DIR(loader/ne)
1326WINE_CONFIG_EXTRA_DIR(memory)
1327WINE_CONFIG_EXTRA_DIR(misc)
1328WINE_CONFIG_EXTRA_DIR(msdos)
1329WINE_CONFIG_EXTRA_DIR(objects)
Alexandre Julliard6692d392003-03-20 01:30:11 +00001330WINE_CONFIG_EXTRA_DIR(ole)
Alexandre Julliardc72f0b22002-02-28 21:47:58 +00001331WINE_CONFIG_EXTRA_DIR(programs/regapi/tests)
Andriy Palamarchukf5aad762002-06-20 23:09:33 +00001332WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001333WINE_CONFIG_EXTRA_DIR(relay32)
1334WINE_CONFIG_EXTRA_DIR(scheduler)
1335WINE_CONFIG_EXTRA_DIR(win32)
1336WINE_CONFIG_EXTRA_DIR(windows)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001337
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001338MAKE_RULES=Make.rules
Alexandre Julliardff8331e1995-09-18 11:19:54 +00001339AC_SUBST_FILE(MAKE_RULES)
1340
Alexandre Julliardd0edc5f2000-03-04 22:31:27 +00001341MAKE_DLL_RULES=dlls/Makedll.rules
1342AC_SUBST_FILE(MAKE_DLL_RULES)
1343
Alexandre Julliardedeee892002-08-09 01:22:40 +00001344MAKE_TEST_RULES=dlls/Maketest.rules
1345AC_SUBST_FILE(MAKE_TEST_RULES)
1346
Alexandre Julliard117436e2003-05-01 00:39:29 +00001347MAKE_LIB_RULES=libs/Makelib.rules
1348AC_SUBST_FILE(MAKE_LIB_RULES)
1349
Alexandre Julliard626f4252000-11-10 23:35:20 +00001350MAKE_PROG_RULES=programs/Makeprog.rules
1351AC_SUBST_FILE(MAKE_PROG_RULES)
1352
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001353AC_CONFIG_FILES([
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001354Make.rules
Alexandre Julliard626f4252000-11-10 23:35:20 +00001355dlls/Makedll.rules
Alexandre Julliardedeee892002-08-09 01:22:40 +00001356dlls/Maketest.rules
Alexandre Julliard117436e2003-05-01 00:39:29 +00001357libs/Makelib.rules
Alexandre Julliard626f4252000-11-10 23:35:20 +00001358programs/Makeprog.rules
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001359Makefile
Alexandre Julliard85ed45e1998-08-22 19:03:56 +00001360dlls/Makefile
Juergen Schmiedf7b0de31999-01-03 12:48:29 +00001361dlls/advapi32/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001362dlls/advapi32/tests/Makefile
Hidenori Takeshima1c53a7f2001-11-06 00:41:05 +00001363dlls/avicap32/Makefile
Marcus Meissnerb3d1a221999-03-13 18:07:44 +00001364dlls/avifil32/Makefile
Patrik Stridvalld1447fa2002-11-19 00:47:12 +00001365dlls/cabinet/Makefile
John K. Hohm34909c22002-05-14 21:50:56 +00001366dlls/comcat/Makefile
Alexandre Julliarda0d77311998-09-13 16:32:00 +00001367dlls/comctl32/Makefile
Uwe Bonnes2c4fd422003-05-15 23:58:48 +00001368dlls/comctl32/tests/Makefile
Klaas van Gendc9127491999-02-28 20:05:11 +00001369dlls/commdlg/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001370dlls/crtdll/Makefile
Travis Michielsen0f21ee82002-01-10 19:41:11 +00001371dlls/crypt32/Makefile
Dmitry Timoshkov5a23a002003-01-02 19:34:14 +00001372dlls/ctl3d/Makefile
Sylvain Petreolle3a99d8b2002-06-25 23:23:03 +00001373dlls/d3d8/Makefile
Enrico Horneaae7052003-01-24 01:08:15 +00001374dlls/d3dim/Makefile
Raphael Junqueirae31ae922002-12-17 01:15:15 +00001375dlls/d3dx8/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001376dlls/dciman32/Makefile
Alexandre Julliardddce6522000-03-17 16:58:10 +00001377dlls/ddraw/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001378dlls/devenum/Makefile
Alexandre Julliardddce6522000-03-17 16:58:10 +00001379dlls/dinput/Makefile
Ove Kaavend2d08f02002-06-14 00:39:44 +00001380dlls/dinput8/Makefile
Rok Mandeljc3dec4c52003-04-08 03:56:04 +00001381dlls/dmband/Makefile
1382dlls/dmcompos/Makefile
1383dlls/dmime/Makefile
1384dlls/dmloader/Makefile
1385dlls/dmscript/Makefile
1386dlls/dmstyle/Makefile
1387dlls/dmsynth/Makefile
Rok Mandeljc2d04be72003-03-21 00:42:38 +00001388dlls/dmusic/Makefile
Rok Mandeljc3dec4c52003-04-08 03:56:04 +00001389dlls/dmusic32/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001390dlls/dplay/Makefile
Peter Hunnisett22b861c1999-09-28 16:35:32 +00001391dlls/dplayx/Makefile
Rok Mandeljc3dec4c52003-04-08 03:56:04 +00001392dlls/dpnhpast/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001393dlls/dsound/Makefile
Francois Gougetd523a452002-12-05 19:19:41 +00001394dlls/dsound/tests/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001395dlls/gdi/Makefile
Patrik Stridvall928ecb42002-10-02 19:58:27 +00001396dlls/gdi/tests/Makefile
Marcus Meissnerb63ab442001-06-08 19:02:57 +00001397dlls/glu32/Makefile
Francois Gougetedf3e431999-11-07 21:22:17 +00001398dlls/icmp/Makefile
Patrik Stridvall8295c861998-10-11 17:09:05 +00001399dlls/imagehlp/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001400dlls/imm32/Makefile
Juan Lang38fa5ad2003-05-13 03:32:20 +00001401dlls/iphlpapi/Makefile
Dimitrie O. Paun36b5b6b2000-06-03 00:07:44 +00001402dlls/kernel/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001403dlls/kernel/tests/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001404dlls/lzexpand/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001405dlls/mapi32/Makefile
Ulrich Weigandbb1984e1999-08-07 14:32:33 +00001406dlls/mpr/Makefile
Patrik Stridvall8295c861998-10-11 17:09:05 +00001407dlls/msacm/Makefile
Hidenori Takeshima0307f6d2002-03-23 20:18:11 +00001408dlls/msacm/imaadp32/Makefile
Eric Pouechbed67fc2002-05-22 02:00:05 +00001409dlls/msacm/msadp32/Makefile
Hidenori Takeshimabcb9c462002-03-22 19:16:10 +00001410dlls/msacm/msg711/Makefile
Eric Pouechb706b232002-06-04 17:53:46 +00001411dlls/msacm/winemp3/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001412dlls/msdmo/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001413dlls/msimg32/Makefile
Mike McCormackf6be0442002-04-08 23:56:14 +00001414dlls/msisys/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001415dlls/msnet32/Makefile
Jon Griffiths1db20bf2001-01-10 23:59:25 +00001416dlls/msvcrt/Makefile
Uwe Bonnesa768fa32002-10-30 23:49:03 +00001417dlls/msvcrt/tests/Makefile
Aric Stewartc2a5ebc2002-01-29 18:09:46 +00001418dlls/msvcrt20/Makefile
Adam Gundy19a15132003-04-04 19:37:57 +00001419dlls/msvcrtd/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001420dlls/msvideo/Makefile
Michael GĂĽnnewig288b8ee2002-10-08 00:40:05 +00001421dlls/msvideo/msrle32/Makefile
Mike McCormack2e40b962001-11-06 17:52:36 +00001422dlls/netapi32/Makefile
Andriy Palamarchukb812c902002-09-11 02:35:17 +00001423dlls/netapi32/tests/Makefile
Marcus Meissner51505b11998-11-01 14:00:21 +00001424dlls/ntdll/Makefile
Jon Griffiths1da29712002-08-15 22:08:40 +00001425dlls/ntdll/tests/Makefile
Alexandre Julliard8551f8c1999-12-11 23:56:46 +00001426dlls/odbc32/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001427dlls/ole32/Makefile
1428dlls/oleaut32/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001429dlls/oleaut32/tests/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001430dlls/olecli/Makefile
1431dlls/oledlg/Makefile
Sean Langley58c71d42000-02-07 16:26:56 +00001432dlls/olepro32/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001433dlls/olesvr/Makefile
Lionel Ulmerbedf40b2000-05-12 20:18:14 +00001434dlls/opengl32/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001435dlls/psapi/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001436dlls/qcap/Makefile
Hidenori Takeshimab7d4b4e2001-07-02 18:57:22 +00001437dlls/quartz/Makefile
Marcus Meissner30ef8771998-12-11 13:26:26 +00001438dlls/rasapi32/Makefile
Hidenori Takeshimae75f9fb2000-05-03 18:12:19 +00001439dlls/richedit/Makefile
Huw D M Davies10b1b232000-07-15 19:53:50 +00001440dlls/rpcrt4/Makefile
Greg Turnerac89cc22002-10-07 21:54:07 +00001441dlls/rpcrt4/tests/Makefile
Mike McCormackdc2461e2000-07-15 21:35:55 +00001442dlls/serialui/Makefile
Francois Jacquesdf5e5792000-07-08 18:27:03 +00001443dlls/setupapi/Makefile
John R. Sheetsbc80a3b2001-01-11 22:32:44 +00001444dlls/shdocvw/Makefile
Alexandre Julliard85ed45e1998-08-22 19:03:56 +00001445dlls/shell32/Makefile
Andriy Palamarchuk5b5bea02002-08-27 01:34:33 +00001446dlls/shell32/tests/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001447dlls/shfolder/Makefile
1448dlls/shlwapi/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001449dlls/shlwapi/tests/Makefile
Patrik Stridvall4c692b92002-04-29 18:43:35 +00001450dlls/snmpapi/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001451dlls/sti/Makefile
Andreas Mohr5aa96c11999-03-14 12:34:25 +00001452dlls/tapi32/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001453dlls/ttydrv/Makefile
Shi Quan He6b0720f2002-03-21 02:58:39 +00001454dlls/twain/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001455dlls/url/Makefile
Alexandre Julliard819fa8c2000-04-11 20:07:00 +00001456dlls/urlmon/Makefile
Patrik Stridvall9398d9c2002-11-12 01:13:10 +00001457dlls/urlmon/tests/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001458dlls/user/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001459dlls/user/tests/Makefile
Ulrich Weigandd43a46a1999-01-31 10:11:04 +00001460dlls/version/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001461dlls/win32s/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001462dlls/winaspi/Makefile
Ove Kaavene5557b32000-12-26 00:22:45 +00001463dlls/winedos/Makefile
Dimitrie O. Paun84bde6a2000-05-30 20:27:23 +00001464dlls/wineps/Makefile
Alexandre Julliard819fa8c2000-04-11 20:07:00 +00001465dlls/wininet/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001466dlls/wininet/tests/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001467dlls/winmm/Makefile
Eric Pouech2a3b0a12000-02-26 13:14:04 +00001468dlls/winmm/joystick/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001469dlls/winmm/mcianim/Makefile
1470dlls/winmm/mciavi/Makefile
1471dlls/winmm/mcicda/Makefile
1472dlls/winmm/mciseq/Makefile
1473dlls/winmm/mciwave/Makefile
Eric Pouechabe72271999-10-31 02:23:49 +00001474dlls/winmm/midimap/Makefile
Francois Gouget4ce28372002-11-04 23:47:49 +00001475dlls/winmm/tests/Makefile
Eric Pouechabe72271999-10-31 02:23:49 +00001476dlls/winmm/wavemap/Makefile
Eric Pouecha120ce02002-06-28 17:40:16 +00001477dlls/winmm/winealsa/Makefile
Chris Morgan9b0ba7c2002-03-21 01:38:19 +00001478dlls/winmm/winearts/Makefile
Robert Lunnon2a91e3f2002-08-01 18:22:38 +00001479dlls/winmm/wineaudioio/Makefile
1480dlls/winmm/winenas/Makefile
Chris Morgan4691b182002-12-13 02:26:18 +00001481dlls/winmm/winejack/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001482dlls/winmm/wineoss/Makefile
Hidenori Takeshima9c672132000-12-14 21:56:18 +00001483dlls/winnls/Makefile
Alexandre Julliardde078692000-01-23 22:07:15 +00001484dlls/winsock/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001485dlls/winsock/tests/Makefile
Huw D M Daviese39b6761999-05-17 16:20:51 +00001486dlls/winspool/Makefile
Stefan Leichter88b11062003-01-15 00:50:48 +00001487dlls/winspool/tests/Makefile
Patrik Stridvall5caddc72002-12-17 01:49:16 +00001488dlls/wintab32/Makefile
Rein Klazes2a4c68b2001-04-16 19:36:12 +00001489dlls/wintrust/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001490dlls/wow32/Makefile
1491dlls/wsock32/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001492dlls/x11drv/Makefile
Alexandre Julliardd37eb361997-07-20 16:23:21 +00001493documentation/Makefile
James Juranc70dc831999-02-13 12:18:33 +00001494include/Makefile
Alexandre Julliard6a9fe362003-03-19 22:09:16 +00001495libs/Makefile
1496libs/port/Makefile
Alexandre Julliard7ab9a712003-03-21 05:06:48 +00001497libs/unicode/Makefile
Alexandre Julliard6692d392003-03-20 01:30:11 +00001498libs/uuid/Makefile
Alexandre Julliard2d1c7902003-03-22 20:40:48 +00001499libs/wine/Makefile
Alexandre Julliarde1a9b102003-05-01 03:16:21 +00001500libs/wpp/Makefile
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001501miscemu/Makefile
Alexandre Julliard02ed4c21996-03-02 19:34:10 +00001502programs/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001503programs/avitools/Makefile
Alexandre Julliarda11d7b11998-03-01 20:05:02 +00001504programs/clock/Makefile
Eric Williams30008a01999-02-05 17:40:47 +00001505programs/cmdlgtst/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001506programs/control/Makefile
Alexandre Julliardacfda142002-05-20 19:18:16 +00001507programs/expand/Makefile
Alexandre Julliard44ed71f1997-12-21 19:17:50 +00001508programs/notepad/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001509programs/osversioncheck/Makefile
Alexandre Julliard02ed4c21996-03-02 19:34:10 +00001510programs/progman/Makefile
Sylvain St.Germain1bb0e661999-03-14 14:00:22 +00001511programs/regapi/Makefile
Andriy Palamarchuk4e2e1762002-04-11 23:58:40 +00001512programs/regedit/Makefile
Andriy Palamarchuk2f0d85c2002-04-29 23:47:39 +00001513programs/regsvr32/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001514programs/regtest/Makefile
Alexandre Julliardd77294a2002-12-02 21:17:04 +00001515programs/rpcss/Makefile
Alberto Massari15e8e0a2002-11-15 01:41:20 +00001516programs/rundll32/Makefile
Dan Kegelba02ae42003-01-21 20:14:36 +00001517programs/start/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001518programs/uninstaller/Makefile
Alexandre Julliarda11d7b11998-03-01 20:05:02 +00001519programs/view/Makefile
Dave Pickles74f440e1999-06-06 15:24:04 +00001520programs/wcmd/Makefile
Shachar Shemesh175d0592003-01-04 02:52:05 +00001521programs/wineboot/Makefile
Dimitrie O. Paun82ce2cc2003-03-31 19:41:55 +00001522programs/winecfg/Makefile
Eric Pouech0b83d4c2001-11-23 23:04:58 +00001523programs/wineconsole/Makefile
Alexandre Julliardf264bd32002-09-13 17:54:27 +00001524programs/winedbg/Makefile
Alexandre Julliard65a42162002-06-04 21:29:40 +00001525programs/winefile/Makefile
Joshua Thielena3f23802000-03-15 19:06:39 +00001526programs/winemine/Makefile
Mike Wetherell0d8a9fa2002-05-05 20:31:54 +00001527programs/winepath/Makefile
Alexandre Julliardfedc4112003-04-27 00:47:58 +00001528programs/winevdm/Makefile
Alexandre Julliard1285c2f1996-05-06 16:06:24 +00001529programs/winhelp/Makefile
Alexandre Julliarde658d821997-11-30 17:45:40 +00001530programs/winver/Makefile
Alexandre Julliard642d3131998-07-12 19:29:36 +00001531server/Makefile
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001532tools/Makefile
Alexandre Julliard7d4ee772002-07-16 03:20:45 +00001533tools/widl/Makefile
Patrik Stridvall647ac512001-07-30 20:21:34 +00001534tools/winapi/Makefile
Alexandre Julliarde482eeb2000-06-23 20:15:35 +00001535tools/winebuild/Makefile
Eric Pouechd786a122001-09-07 16:04:38 +00001536tools/winedump/Makefile
Bertho Stultiens30855912000-06-13 04:34:41 +00001537tools/wmc/Makefile
Alexandre Julliard7ab9a712003-03-21 05:06:48 +00001538tools/wrc/Makefile])
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001539
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001540AC_OUTPUT
1541
Ove Kaaven8b4431f1999-01-23 13:59:11 +00001542if test "$have_x" = "no"
1543then
1544 echo
1545 echo "*** Warning: X development files not found. Wine will be built without"
1546 echo "*** X support, which currently does not work, and would probably not be"
1547 echo "*** what you want anyway. You will need to install devel packages of"
Alexandre Julliard18e4b5e2002-01-04 18:52:40 +00001548 echo "*** Xlib/Xfree86 at the very least."
Ove Kaaven8b4431f1999-01-23 13:59:11 +00001549fi
1550
Lionel Ulmerbedf40b2000-05-12 20:18:14 +00001551if test "$wine_cv_opengl_version_OK" = "no"
Lionel Ulmer5c085701999-02-28 19:48:53 +00001552then
1553 echo
1554 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
Lionel Ulmer5eee0bf2000-03-24 21:20:33 +00001555 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1556fi
1557
Ian Pilcher563598d2001-05-16 20:56:05 +00001558if test "$wine_cv_msg_freetype" = "yes"
1559then
1560 echo
1561 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001562 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1563 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1564 echo "*** enable Wine to use TrueType fonts."
Ian Pilcher563598d2001-05-16 20:56:05 +00001565fi
1566
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001567echo
Steffen Moeller1511bae1999-02-17 15:27:03 +00001568echo "Configure finished. Do 'make depend && make' to compile Wine."
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001569echo
1570
1571dnl Local Variables:
1572dnl comment-start: "dnl "
1573dnl comment-end: ""
1574dnl comment-start-skip: "\\bdnl\\b\\s *"
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001575dnl compile-command: "autoconf"
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001576dnl End: