blob: 60964deef553c372e3ebc4359c89bd731b8e96aa [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]))
21AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))
Alexandre Julliarda11d7b11998-03-01 20:05:02 +000022
Alexandre Julliard18f92e71996-07-17 20:02:21 +000023AC_SUBST(OPTIONS)
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
39
Alexandre Julliard02e90081998-01-04 17:49:09 +000040dnl **** Check for some programs ****
Alexandre Julliardff8331e1995-09-18 11:19:54 +000041
Alexandre Julliardfc01b722002-05-12 03:16:39 +000042AC_CANONICAL_HOST
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000043AC_PROG_MAKE_SET
44AC_PROG_CC
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +000045AC_PROG_CPP
Alexandre Julliardfc01b722002-05-12 03:16:39 +000046
47AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
48 [if test -z "$with_wine_tools"; then
49 if test "$cross_compiling" = "yes"; then
50 AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
51 else
52 wine_cv_toolsdir="\$(TOPOBJDIR)"
53 fi
54 elif test -d "$with_wine_tools/tools/winebuild"; then
55 case $with_wine_tools in
56 /*) wine_cv_toolsdir="$with_wine_tools" ;;
57 *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
58 esac
59 else
60 AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
61 fi])
62AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
63
Alexandre Julliardff8331e1995-09-18 11:19:54 +000064AC_PATH_XTRA
Alexandre Julliarde2991ea1995-07-29 13:09:43 +000065AC_PROG_YACC
66AC_PROG_LEX
Marcus Meissner5c5a6212002-01-22 18:28:25 +000067
68dnl **** Just additional warning checks, since AC_PROG just sets 'yacc' even
69dnl **** without one present.
70AC_CHECK_PROGS(XYACC,$YACC bison yacc,none)
71if test "$XYACC" = "none"
72then
Alexandre Julliardf5818d22002-02-14 19:47:29 +000073 AC_MSG_ERROR([no suitable bison/yacc found. Please install the 'bison' package.])
Marcus Meissner5c5a6212002-01-22 18:28:25 +000074fi
Marcus Meissnerb53bb412000-07-23 13:41:51 +000075AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
76if test "$XLEX" = "none"
77then
Alexandre Julliardf5818d22002-02-14 19:47:29 +000078 AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
Marcus Meissnerb53bb412000-07-23 13:41:51 +000079fi
Alexandre Julliardfc01b722002-05-12 03:16:39 +000080
Marcus Meissner1d4db782003-01-09 00:46:54 +000081AC_CHECK_TOOL(AS,as,as)
Alexandre Julliardeb5f89c2002-05-24 21:22:10 +000082AC_CHECK_TOOL(LD,ld,ld)
Alexandre Julliardfc01b722002-05-12 03:16:39 +000083AC_CHECK_TOOL(AR,ar,ar)
Alexandre Julliardff8331e1995-09-18 11:19:54 +000084AC_PROG_RANLIB
Alexandre Julliardfc01b722002-05-12 03:16:39 +000085AC_CHECK_TOOL(STRIP,strip,strip)
86AC_CHECK_TOOL(WINDRES,windres,false)
Alexandre Julliard641ee761997-08-04 16:34:36 +000087AC_PROG_LN_S
Alexandre Julliarddf234a92002-05-22 02:10:39 +000088WINE_PROG_LN
Mike McCormacke0df32f2000-08-11 21:15:21 +000089AC_CHECK_PROG(C2MAN,c2man,c2man,\$(TOPSRCDIR)/tools/c2man.pl)
Bill Medland91372b32002-04-20 21:00:42 +000090AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
Alexandre Julliarde24bcc72002-12-24 00:35:19 +000091AC_PROG_INSTALL
92dnl Prepend src dir to install path dir if it's a relative path
93case "$INSTALL" in
Alexandre Julliard8418d8f2002-12-24 02:39:47 +000094 [[\\/$]]* | ?:[[\\/]]* ) ;;
Alexandre Julliarde24bcc72002-12-24 00:35:19 +000095 *) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
96esac
Alexandre Julliard02e90081998-01-04 17:49:09 +000097
Patrik Stridvalla9be64e1999-07-31 17:39:44 +000098dnl Check for lint
99AC_CHECK_PROGS(LINT, lclint lint)
100if test "$LINT" = "lint"
101then
102 LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
103 dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
104fi
105AC_SUBST(LINT)
106AC_SUBST(LINTFLAGS)
107
Vincent BĂ©ron1d8cb6e2002-11-23 01:20:02 +0000108dnl Check for db2html
109AC_CHECK_PROGS(DB2HTML, docbook2html db2html, false)
110AC_SUBST(DB2HTML)
111
112dnl Check for db2pdf
113AC_CHECK_PROGS(DB2PDF, docbook2pdf db2pdf, false)
114AC_SUBST(DB2PDF)
115
116dnl Check for db2ps
117AC_CHECK_PROGS(DB2PS, docbook2ps db2ps, false)
118AC_SUBST(DB2PS)
119
Alexandre Julliard02e90081998-01-04 17:49:09 +0000120dnl **** Check for some libraries ****
121
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000122dnl Check for -lm
Howard Abrams13277481999-07-10 13:16:29 +0000123AC_CHECK_LIB(m,sqrt)
Alexandre Julliardd37eb361997-07-20 16:23:21 +0000124dnl Check for -li386 for NetBSD and OpenBSD
Alexandre Julliard02e90081998-01-04 17:49:09 +0000125AC_CHECK_LIB(i386,i386_set_ldt)
Todd Vierlingecc76691998-12-15 17:49:02 +0000126dnl Check for -lossaudio for NetBSD
127AC_CHECK_LIB(ossaudio,_oss_ioctl)
Alexandre Julliard02e90081998-01-04 17:49:09 +0000128dnl Check for -lw for Solaris
Ulrich Weigand2e8e2332000-12-27 18:49:08 +0000129AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
Patrik Stridvallea584721998-11-01 16:22:07 +0000130dnl Check for -lnsl for Solaris
Ulrich Weigand2e8e2332000-12-27 18:49:08 +0000131AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
Ulrich Weigand715a55e1999-04-18 13:19:56 +0000132dnl Check for -lsocket for Solaris
Marcus Meissnerf070fda1999-04-24 12:02:14 +0000133AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
Francois Gouget3b943bc2002-04-01 21:05:15 +0000134dnl Check for -lresolv for Solaris
Alexandre Julliardc5552742002-04-03 20:24:44 +0000135AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000136dnl Check for -lxpg4 for FreeBSD
Satsuki Fujishima66fb6072001-03-19 19:19:59 +0000137AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
Alexandre Julliard0e7bd081999-05-02 11:46:02 +0000138dnl Check for -lmmap for OS/2
139AC_CHECK_LIB(mmap,mmap)
Alexandre Julliard3f510ad2002-01-01 01:13:03 +0000140
Marcus Meissner252b0fe2001-08-06 18:52:14 +0000141JPEGLIB=""
142AC_SUBST(JPEGLIB)
143AC_CHECK_HEADERS(jpeglib.h,
144 AC_CHECK_LIB(jpeg,jpeg_start_decompress,
145 AC_DEFINE(HAVE_LIBJPEG,1,[Define if you have libjpeg including devel headers])
146 JPEGLIB="-ljpeg"
147 )
148)
149
Marcus Meissner728bedc2003-01-09 06:04:33 +0000150AC_SUBST(GIFLIB,"")
151AC_CHECK_HEADERS(gif_lib.h,
152 AC_CHECK_LIB(ungif,DGifOpen,
153 [AC_DEFINE(HAVE_LIBGIF,1,[Define if you have libgif/libungif including devel headers])
154 GIFLIB="-lungif"],
155 [AC_CHECK_LIB(gif,DGifOpen,
156 [AC_DEFINE(HAVE_LIBGIF,1)
157 GIFLIB="-lgif"])]))
158
Marcus Meissner252b0fe2001-08-06 18:52:14 +0000159
Patrik Stridvallea584721998-11-01 16:22:07 +0000160AC_SUBST(XLIB)
Patrik Stridvall2941a212000-04-25 20:34:22 +0000161AC_SUBST(XFILES)
162XFILES=""
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000163AC_SUBST(OPENGLFILES)
164OPENGLFILES=""
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000165AC_SUBST(GLU32FILES)
Alexandre Julliardf33f7f02001-09-17 20:09:08 +0000166GLU32FILES=""
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000167AC_SUBST(OPENGL_LIBS)
168OPENGL_LIBS=""
Patrik Stridvallea584721998-11-01 16:22:07 +0000169if test "$have_x" = "yes"
170then
Patrik Stridvall24110281999-02-04 10:09:54 +0000171 XLIB="-lXext -lX11"
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000172 ac_save_CPPFLAGS="$CPPFLAGS"
173 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
Patrik Stridvall24110281999-02-04 10:09:54 +0000174
Huw D M Daviesff453fc2001-09-14 01:04:25 +0000175 dnl *** All of the following tests require X11/Xlib.h
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000176 AC_CHECK_HEADERS(X11/Xlib.h,
177 [
Ove Kaavenc90fb252001-01-02 22:39:14 +0000178 dnl *** Check for X keyboard extension
179 AC_CHECK_HEADERS(X11/XKBlib.h,
180 [ dnl *** If X11/XKBlib.h exists...
181 AC_CHECK_LIB(X11, XkbQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000182 AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
Ove Kaavenc90fb252001-01-02 22:39:14 +0000183 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
184 ],
Gregg Mattinson044b5c42002-07-19 03:16:51 +0000185 AC_MSG_WARN([[Xkb extension not found, Wine will be built without it]]),
186 [#include <X11/Xlib.h>])
Ove Kaavenc90fb252001-01-02 22:39:14 +0000187
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000188 dnl *** Check for X Shm extension
189 AC_CHECK_HEADERS(X11/extensions/XShm.h,
190 [ dnl *** If X11/extensions/XShm.h exists...
191 AC_CHECK_LIB(Xext, XShmQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000192 AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000193 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
194 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000195 AC_MSG_WARN([[XShm extension not found, Wine will be built without it]]),
196 [#include <X11/Xlib.h>])
Marcus Meissnercb99b0e1999-12-20 04:10:06 +0000197
Gregg Mattinson044b5c42002-07-19 03:16:51 +0000198 dnl *** Check for Xutil
199 AC_CHECK_HEADERS(X11/Xutil.h,,,
200 [#include <X11/Xlib.h>])
201
Francois Jacques5b6879c2000-07-28 23:04:54 +0000202 dnl *** Check for X shape extension
Ove Kaavenc90fb252001-01-02 22:39:14 +0000203 AC_CHECK_HEADERS(X11/extensions/shape.h,
Francois Jacques5b6879c2000-07-28 23:04:54 +0000204 [ dnl *** If X11/extensions/shape.h exists...
205 AC_CHECK_LIB(Xext,XShapeQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000206 AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
Francois Jacques5b6879c2000-07-28 23:04:54 +0000207 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
208 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000209 AC_MSG_WARN([[XShape extension not found, Wine will be built without it]]),
Gregg Mattinson044b5c42002-07-19 03:16:51 +0000210 [#include <X11/Xlib.h>
211 #ifdef HAVE_X11_XUTIL_H
212 # include <X11/Xutil.h>
213 #endif])
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000214
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000215 dnl *** Check for XFree86 DGA / DGA 2.0 extension
216 AC_CHECK_HEADERS(X11/extensions/xf86dga.h,
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000217 [ dnl *** If X11/extensions/xf86dga.h exists, check
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000218 dnl *** for XDGAQueryExtension()...
219 AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
220 [ dnl *** If found...
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000221 AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
222 [Define if you have the Xxf86dga library version 2])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000223 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000224 ],
225 [ dnl *** If not found, look for XF86DGAQueryExtension()
226 dnl *** instead (DGA 2.0 not found)...
227 AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000228 [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
229 [Define if you have the Xxf86dga library version 1])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000230 X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000231 ],,
232 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
233 )
234 ],
235 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
236 )
237 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000238 AC_MSG_WARN([[DGA extension not found, Wine will be built without it]]),
239 [#include <X11/Xlib.h>])
Patrik Stridvall24110281999-02-04 10:09:54 +0000240
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000241 dnl *** Check for XFree86 VMODE extension
242 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,
243 [ dnl *** If X11/extensions/xf86vmode.h exists...
244 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000245 [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000246 X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
247 ],,
248 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
249 )
250 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000251 AC_MSG_WARN([[XFree86 VMODE extension not found, Wine will be built without it]]),
252 [#include <X11/Xlib.h>])
Lionel Ulmer3d2f32d2000-09-06 19:46:59 +0000253
254 dnl *** Check for XVideo extension supporting XvImages
255 AC_CHECK_HEADERS(X11/extensions/Xvlib.h,
256 [ dnl *** If X11/extensions/Xvlib.h exists...
257 AC_CHECK_LIB(Xv, XvShmCreateImage,
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000258 [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
Lionel Ulmer3d2f32d2000-09-06 19:46:59 +0000259 X_PRE_LIBS="$X_PRE_LIBS -lXv"
260 ],,
261 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
262 )
263 ],
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000264 AC_MSG_WARN([[XVideo extension not found, Wine will be built without it]]),
265 [#include <X11/Xlib.h>])
Lionel Ulmer3d2f32d2000-09-06 19:46:59 +0000266
Alexandre Julliard21e91662002-04-23 22:06:41 +0000267 dnl *** Check for XRender include file
268 AC_CHECK_HEADERS(X11/extensions/Xrender.h,,,[#include <X11/Xlib.h>])
John R. Sheetsf2b77cc2000-05-23 21:18:51 +0000269 ]
270 ) dnl *** End of X11/Xlib.h check
Lionel Ulmer5c085701999-02-28 19:48:53 +0000271
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000272 dnl Check for the presence of OpenGL
Alexandre Julliardb8074992002-11-21 21:51:24 +0000273 if test "x$with_opengl" != "xno"
Patrik Stridvall24110281999-02-04 10:09:54 +0000274 then
Francois Gouget42dcd972002-01-29 17:52:28 +0000275 if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000276 then
277 AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
278This prevents linking to OpenGL. Delete the file and restart configure.])
279 fi
280
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000281 AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
Marcus Meissner22a969b2000-08-08 20:46:50 +0000282 if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000283 then
Alexandre Julliarddaa28862002-04-11 21:54:01 +0000284 AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>])
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000285 dnl Check for some problems due to old Mesa versions
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000286 AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000287 AC_TRY_COMPILE(
Lionel Ulmer48c08162000-01-05 01:51:02 +0000288 [#include <GL/gl.h>],
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000289 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000290 [wine_cv_opengl_version_OK="yes"],
291 [wine_cv_opengl_version_OK="no"]
Lionel Ulmer48c08162000-01-05 01:51:02 +0000292 )
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000293 )
294
Alexandre Julliardb8074992002-11-21 21:51:24 +0000295 if test "$wine_cv_opengl_version_OK" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000296 then
Andreas Mohr4eefb962000-08-01 00:27:35 +0000297 dnl Check for the presence of the library
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000298 AC_CHECK_LIB(GL,glXCreateContext,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000299 OPENGL_LIBS="-lGL"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000300 ,,
301 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
302
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000303 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000304 then
Lionel Ulmerbd8ede12000-10-12 20:45:58 +0000305 OPENGLFILES='$(OPENGLFILES)'
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000306 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
Lionel Ulmerbd8ede12000-10-12 20:45:58 +0000307
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000308 AC_CHECK_LIB(GL,glXGetProcAddressARB,
309 AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
310 [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
311 $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000312
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000313 if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000314 then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000315 AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
316 [AC_TRY_COMPILE([#include <GL/gl.h>
Marcus Meissner6bb6d4c2000-08-09 22:21:08 +0000317 #ifdef HAVE_GL_GLEXT_H
318 # include <GL/glext.h>
319 #endif
320 ],
Lionel Ulmer1434d872000-07-23 14:23:31 +0000321 [PFNGLCOLORTABLEEXTPROC test_proc;],
Lionel Ulmerfe210ef2000-07-29 11:30:56 +0000322 [wine_cv_extension_prototypes="yes"],
Lionel Ulmer1434d872000-07-23 14:23:31 +0000323 [wine_cv_extension_prototypes="no"]
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000324 )]
Lionel Ulmer1434d872000-07-23 14:23:31 +0000325 )
Alexandre Julliardb508a1d2002-01-21 18:06:10 +0000326 if test "$wine_cv_extension_prototypes" = "yes"
Lionel Ulmerfe210ef2000-07-29 11:30:56 +0000327 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000328 AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
329 [Define if the OpenGL headers define extension typedefs])
Lionel Ulmerfe210ef2000-07-29 11:30:56 +0000330 fi
Lionel Ulmerbedf40b2000-05-12 20:18:14 +0000331 fi
Alexandre Julliardd6c0f9f2001-01-04 22:44:55 +0000332
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000333 fi
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000334 dnl Check for GLU32 library.
Marcus Meissner6e9ab402001-08-08 23:21:16 +0000335 AC_CHECK_LIB(GLU,gluLookAt,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000336 [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000337 GLU32FILES='$(GLU32FILES)']
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000338 ,,
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000339 $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
Marcus Meissnerb63ab442001-06-08 19:02:57 +0000340 )
Lionel Ulmerfbc15b12000-04-29 14:23:22 +0000341 fi
342 fi
Patrik Stridvall24110281999-02-04 10:09:54 +0000343 fi
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000344
Francois Gouget6f670b12002-10-10 17:54:27 +0000345 dnl **** Check for NAS ****
346 AC_SUBST(NASLIBS,"")
347 AC_CHECK_HEADERS(audio/audiolib.h,
348 [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
349 AC_CHECK_LIB(audio,AuCreateFlow,
350 [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
351 NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
352 [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])
353
Ove Kaaven1eb593c1999-02-14 09:34:46 +0000354 CPPFLAGS="$ac_save_CPPFLAGS"
Patrik Stridvall2941a212000-04-25 20:34:22 +0000355 XFILES='$(XFILES)'
Patrik Stridvallea584721998-11-01 16:22:07 +0000356else
357 XLIB=""
358 X_CFLAGS=""
359 X_LIBS=""
360fi
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000361
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000362dnl **** Check which curses lib to use ***
Alexandre Julliard48957682001-12-26 23:08:31 +0000363CURSESLIBS=""
Alexandre Julliardf5818d22002-02-14 19:47:29 +0000364if test "x$with_curses" != "xno"
Alexandre Julliard638f1691999-01-17 16:32:32 +0000365then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000366 AC_CHECK_HEADERS(ncurses.h,
Bernhard Rosenkraenzer5ea30312002-01-06 19:08:03 +0000367 [AC_CHECK_LIB(ncurses,waddch,
Alexandre Julliard48957682001-12-26 23:08:31 +0000368 [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
369 CURSESLIBS="-lncurses"],
370 [AC_CHECK_HEADERS(curses.h,
371 [AC_CHECK_LIB(curses,waddch,
372 [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
Bernhard Rosenkraenzer5ea30312002-01-06 19:08:03 +0000373 CURSESLIBS="-lcurses"])])])])
Alexandre Julliard48957682001-12-26 23:08:31 +0000374 saved_libs="$LIBS"
375 LIBS="$CURSESLIBS $LIBS"
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000376 AC_CHECK_FUNCS(getbkgd resizeterm)
Alexandre Julliard48957682001-12-26 23:08:31 +0000377 LIBS="$saved_libs"
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000378fi
Alexandre Julliard48957682001-12-26 23:08:31 +0000379AC_SUBST(CURSESLIBS)
Joseph Praneviche884f9c1999-01-03 16:14:34 +0000380
Shi Quan He6b0720f2002-03-21 02:58:39 +0000381dnl **** Check for SANE ****
382AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
383if test "$sane_devel" = "no"
384then
385 SANELIBS=""
386 SANEINCL=""
387else
388 SANELIBS="`$sane_devel --libs`"
389 SANEINCL="`$sane_devel --cflags`"
390 ac_save_CPPFLAGS="$CPPFLAGS"
391 ac_save_LIBS="$LIBS"
392 CPPFLAGS="$CPPFLAGS $SANEINCL"
393 LIBS="$LIBS $SANELIBS"
Alexandre Julliard96328b32002-03-31 19:23:41 +0000394 AC_CHECK_HEADER(sane/sane.h,
395 [AC_CHECK_LIB(sane,sane_open,
396 [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
397 [SANELIBS=""
398 SANEINCL=""])],
399 [SANELIBS=""
400 SANEINCL=""])
Shi Quan He6b0720f2002-03-21 02:58:39 +0000401 LIBS="$ac_save_LIBS"
402 CPPFLAGS="$ac_save_CPPFLAGS"
403fi
404AC_SUBST(SANELIBS)
405AC_SUBST(SANEINCL)
406
Ian Pilcher563598d2001-05-16 20:56:05 +0000407dnl **** Check for FreeType 2 ****
Dmitry Timoshkov8871a112001-11-06 22:26:53 +0000408AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
Ian Pilcher563598d2001-05-16 20:56:05 +0000409if test "$ft_lib" = "no"
410then
Ian Pilcher563598d2001-05-16 20:56:05 +0000411 FREETYPEINCL=""
412 wine_cv_msg_freetype=no
413else
Marcus Meissnerd28955d2001-05-31 21:35:15 +0000414 AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
415 if test "$ft_devel" = "no"
416 then
417 AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
418 if test "$ft_devel2" = "freetype2-config"
419 then
420 ft_devel=$ft_devel2
421 fi
422 fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000423 if test "$ft_devel" = "no"
424 then
Ian Pilcher563598d2001-05-16 20:56:05 +0000425 FREETYPEINCL=""
426 wine_cv_msg_freetype=yes
427 else
Marcus Meissnerd28955d2001-05-31 21:35:15 +0000428 FREETYPEINCL=`$ft_devel --cflags`
Ian Pilcher40432fe2001-06-06 21:05:23 +0000429 ac_save_CPPFLAGS="$CPPFLAGS"
430 CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
431 AC_CHECK_HEADERS(freetype/freetype.h \
432 freetype/ftglyph.h \
433 freetype/tttables.h \
434 freetype/ftnames.h \
435 freetype/ftsnames.h \
Huw D M Davies814654e2001-09-12 20:21:06 +0000436 freetype/ttnameid.h \
Huw D M Davies4e2024e2001-10-23 20:06:32 +0000437 freetype/ftoutln.h \
438 freetype/internal/sfnt.h)
Alexandre Julliard18d75732002-01-29 03:02:50 +0000439 AC_TRY_CPP([#include <ft2build.h>
440 #include <freetype/fttrigon.h>],
Huw D M Daviesc1d38132002-02-08 17:09:50 +0000441 [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
442 [Define if you have the <freetype/fttrigon.h> header file.])
443 wine_cv_fttrigon=yes],
444 wine_cv_fttrigon=no)
Ian Pilcher40432fe2001-06-06 21:05:23 +0000445 CPPFLAGS="$ac_save_CPPFLAGS"
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000446 dnl Check that we have at least freetype/freetype.h
Huw D M Daviesc1d38132002-02-08 17:09:50 +0000447 if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000448 then
449 AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
450 wine_cv_msg_freetype=no
451 else
Huw D M Davies9b1d3722002-01-29 17:09:28 +0000452 FREETYPEINCL=""
453 wine_cv_msg_freetype=yes
454 fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000455 fi
456fi
Ian Pilcher563598d2001-05-16 20:56:05 +0000457AC_SUBST(FREETYPEINCL)
458
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000459dnl **** Check for parport (currently Linux only) ****
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000460AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000461 AC_TRY_COMPILE(
462 [#include <linux/ppdev.h>],
463 [ioctl (1,PPCLAIM,0)],
464 [ac_cv_c_ppdev="yes"],
465 [ac_cv_c_ppdev="no"])
466 )
467if test "$ac_cv_c_ppdev" = "yes"
468then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000469 AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
Uwe Bonnes6509fa92001-06-26 21:06:07 +0000470fi
471
Marcus Meissner5ee517a2002-08-09 19:49:31 +0000472dnl **** Check for va_copy ****
473AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
474 AC_TRY_LINK(
475 [#include <stdarg.h>],
476 [va_list ap1, ap2;
477 va_copy(ap1,ap2);
478 ],
479 [ac_cv_c_va_copy="yes"],
480 [ac_cv_c_va_copy="no"])
481 )
482if test "$ac_cv_c_va_copy" = "yes"
483then
484 AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
485fi
486AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
487 AC_TRY_LINK(
488 [#include <stdarg.h>],
489 [va_list ap1, ap2;
490 __va_copy(ap1,ap2);
491 ],
492 [ac_cv_c___va_copy="yes"],
493 [ac_cv_c___va_copy="no"])
494 )
495if test "$ac_cv_c___va_copy" = "yes"
496then
497 AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
498fi
499
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000500dnl **** Check for Open Sound System ****
Todd Vierlingecc76691998-12-15 17:49:02 +0000501AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000502
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000503AC_CACHE_CHECK([for Open Sound System],
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000504 ac_cv_c_opensoundsystem,
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000505 AC_TRY_COMPILE([
Todd Vierlingecc76691998-12-15 17:49:02 +0000506 #if defined(HAVE_SYS_SOUNDCARD_H)
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000507 #include <sys/soundcard.h>
Todd Vierlingecc76691998-12-15 17:49:02 +0000508 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000509 #include <machine/soundcard.h>
Todd Vierlingecc76691998-12-15 17:49:02 +0000510 #elif defined(HAVE_SOUNDCARD_H)
511 #include <soundcard.h>
Alexandre Julliardc7c217b1998-04-13 12:21:30 +0000512 #endif
513 ],[
514
Alexandre Julliard60ce85c1998-02-01 18:33:27 +0000515/* check for one of the Open Sound System specific SNDCTL_ defines */
516#if !defined(SNDCTL_DSP_STEREO)
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000517#error No open sound system
518#endif
Alexandre Julliarddadf78f1998-05-17 17:13:43 +0000519],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
520
521if test "$ac_cv_c_opensoundsystem" = "yes"
522then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000523 AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +0000524fi
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000525
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000526AC_CACHE_CHECK([for Open Sound System/MIDI interface],
Eric Pouech338d3b21999-05-22 18:52:21 +0000527 ac_cv_c_opensoundsystem_midi,
528 AC_TRY_COMPILE([
529 #if defined(HAVE_SYS_SOUNDCARD_H)
530 #include <sys/soundcard.h>
531 #elif defined(HAVE_MACHINE_SOUNDCARD_H)
532 #include <machine/soundcard.h>
533 #elif defined(HAVE_SOUNDCARD_H)
534 #include <soundcard.h>
535 #endif
536 ],[
537
538/* check for one of the Open Sound System specific SNDCTL_SEQ defines */
539#if !defined(SNDCTL_SEQ_SYNC)
540#error No open sound system MIDI interface
541#endif
542],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
543
544if test "$ac_cv_c_opensoundsystem_midi" = "yes"
545then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000546 AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
Eric Pouech338d3b21999-05-22 18:52:21 +0000547fi
548
Chris Morgan9b0ba7c2002-03-21 01:38:19 +0000549dnl **** Check for aRts Sound Server ****
550AC_PATH_PROG(ARTSCCONFIG, artsc-config)
551AC_CACHE_CHECK([for aRts Sound server],
552 ac_cv_c_artsserver,
553 if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"';
554 then
555 ac_cv_c_artsserver=no
556 else
557 ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
558 ARTSC_LIBS=`$ARTSCCONFIG --libs`
559 ac_cv_c_artsserver=no
560 save_CFLAGS="$CFLAGS"
561 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
562 AC_TRY_COMPILE([
563 #include <artsc.h>
564 ],[
565 arts_stream_t stream;
566 ],[
567 ac_cv_c_artsserver=yes
568 ])
569 CFLAGS="$save_CFLAGS"
570 fi)
571
572if test "$ac_cv_c_artsserver" = "yes"
573then
574 AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
575 AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
576
577 AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])
578fi
579
Alexandre Julliardf92b7c02002-06-28 18:31:01 +0000580dnl **** Check for ALSA ****
581AC_SUBST(ALSALIBS,"")
Marco Pietrobono0e79a412002-08-29 01:51:31 +0000582AC_CHECK_HEADERS(alsa/asoundlib.h sys/asoundlib.h, break)
583if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
Alexandre Julliardf92b7c02002-06-28 18:31:01 +0000584then
585 AC_CHECK_LIB(asound,snd_pcm_open,
586 AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA including devel headers])
587 ALSALIBS="-lasound")
588fi
589
Robert Lunnon2a91e3f2002-08-01 18:22:38 +0000590dnl **** Check for libaudioio (which can be used to get solaris audio support) ****
591
592AC_SUBST(AUDIOIOLIBS,"")
593AC_CHECK_HEADERS(libaudioio.h,
594 [AC_CHECK_LIB(audioio,AudioIOGetVersion,
595 [AUDIOIOLIBS="-laudioio"
596 AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])])
597
Marcus Meissner0f6cfbc2001-06-08 19:34:56 +0000598dnl **** Check for broken glibc mmap64 ****
599
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000600AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
Marcus Meissner0f6cfbc2001-06-08 19:34:56 +0000601 AC_TRY_RUN([
602 #define _FILE_OFFSET_BITS 64
603 #include <stdio.h>
604 #include <unistd.h>
605 #include <fcntl.h>
606 #include <sys/mman.h>
607 #include <errno.h>
608
609 int main(int argc,char **argv) {
610 int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
611 if (fd == -1) exit(1);
612
613 unlink("conftest.map");
614
615 write(fd,"test",4);
616
617 if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
618 (errno == EINVAL)
619 ) {
620 exit(1);
621 }
622 close(fd);
623 fprintf(stderr,"success!\n");
624 exit(0);
625 }
626
627 ],
628 ac_cv_mmap64_works="yes",
629 ac_cv_mmap64_works="no",
630 ac_cv_mmap64_works="no") )
631
632if test "$ac_cv_mmap64_works" = "yes"
633then
634 AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
635fi
636
Mike McCormackc509bc42003-02-25 04:01:58 +0000637dnl **** Check for gcc specific options ****
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000638
639if test "x${GCC}" = "xyes"
640then
Mike McCormackc509bc42003-02-25 04:01:58 +0000641 CFLAGS="$CFLAGS -Wall"
642
643 dnl Check for strength-reduce bug
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000644 AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000645 AC_TRY_RUN([
Eric Pouech5aee80f2000-11-11 00:31:39 +0000646int L[[4]] = {0,1,2,3};
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000647int main(void) {
Alexandre Julliardd2e1c1a1996-03-09 16:12:43 +0000648 static int Array[[3]];
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000649 unsigned int B = 3;
650 int i;
Alexandre Julliardd2e1c1a1996-03-09 16:12:43 +0000651 for(i=0; i<B; i++) Array[[i]] = i - 3;
Eric Pouech5aee80f2000-11-11 00:31:39 +0000652 for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
653 L[[i]] = 4;
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000654
Eric Pouech5aee80f2000-11-11 00:31:39 +0000655 exit( Array[[1]] != -2 || L[[2]] != 3);
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000656}],
657 ac_cv_c_gcc_strength_bug="no",
658 ac_cv_c_gcc_strength_bug="yes",
659 ac_cv_c_gcc_strength_bug="yes") )
660 if test "$ac_cv_c_gcc_strength_bug" = "yes"
661 then
662 CFLAGS="$CFLAGS -fno-strength-reduce"
663 fi
Alexandre Julliardf9b94cb2000-12-06 03:50:22 +0000664
665 dnl Check for -mpreferred-stack-boundary
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000666 AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support], ac_cv_c_gcc_stack_boundary,
667 [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2],
668 ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")])
Alexandre Julliardf9b94cb2000-12-06 03:50:22 +0000669 if test "$ac_cv_c_gcc_stack_boundary" = "yes"
670 then
671 CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
672 fi
Alexandre Julliard14bd1202003-01-09 00:42:26 +0000673
674 dnl Check for -gstabs+ option
675 AC_CACHE_CHECK([for gcc -gstabs+ support], ac_cv_c_gcc_gstabs,
676 [WINE_TRY_CFLAGS([-gstabs+],ac_cv_c_gcc_gstabs="yes", ac_cv_c_gcc_gstabs="no")])
677 if test "$ac_cv_c_gcc_gstabs" = "yes"
678 then
679 CFLAGS="$CFLAGS -gstabs+"
680 fi
Mike McCormackc509bc42003-02-25 04:01:58 +0000681
682 dnl Check for noisy string.h
683 saved_CFLAGS=$CFLAGS
684 CFLAGS="$CFLAGS -Wpointer-arith -Werror"
685 AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
686 AC_TRY_COMPILE([#include <string.h>],[],
687 [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
688 CFLAGS=$saved_CFLAGS
689 if test "$ac_cv_c_string_h_warnings" = "no"
690 then
691 CFLAGS="$CFLAGS -Wpointer-arith"
692 fi
Alexandre Julliard4f8c37b1996-01-14 18:12:01 +0000693fi
694
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000695dnl **** Check how to define a function in assembly code ****
Dimitrie O. Paunc77cbbc2000-11-27 23:32:55 +0000696
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000697AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
698 WINE_TRY_ASM_LINK(
699 ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
700 ac_cv_asm_func_def=".def",
701 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
702 ac_cv_asm_func_def=".type @function",
703 [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
704 ac_cv_asm_func_def=".type 2",
705 ac_cv_asm_func_def="unknown")])]))
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000706
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000707AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
708case "$ac_cv_asm_func_def" in
709 ".def")
710 AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
711 ".type @function")
712 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
713 ".type 2")
714 AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
715 *)
716 AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
717esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +0000718
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000719dnl **** Check for underscore on external symbols ****
720
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000721AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000722 WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
723 [extern int ac_test;],
724 [if (ac_test) return 1],
725 ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))
726
727AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000728if test "$ac_cv_c_extern_prefix" = "yes"
729then
Alexandre Julliard84555cc2002-07-22 20:51:02 +0000730 AC_DEFINE([__ASM_NAME(name)], ["_" name])
731else
732 AC_DEFINE([__ASM_NAME(name)], [name])
Alexandre Julliard8cc3a5e1996-08-11 15:49:51 +0000733fi
734
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000735dnl **** Check for .string in assembler ****
736
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000737AC_CACHE_CHECK([whether assembler accepts .string], ac_cv_c_asm_string,
Marcus Meissner49163d52002-08-20 00:26:40 +0000738 WINE_TRY_ASM_LINK([".data\n\t.string \"test\"\n\t.text"],,,
739 ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no"))
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000740if test "$ac_cv_c_asm_string" = "yes"
741then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000742 AC_DEFINE(HAVE_ASM_STRING, 1, [Define to use .string instead of .ascii])
Alexandre Julliard0623a6f1998-01-18 18:01:49 +0000743fi
744
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +0000745dnl **** Check for working dll ****
746
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000747AC_SUBST(DLLEXT,"")
748AC_SUBST(DLLFLAGS,"")
749AC_SUBST(DLLIBS,"")
750AC_SUBST(LDDLLFLAGS,"")
751AC_SUBST(LDSHARED,"")
Alexandre Julliardada5e652002-12-12 22:03:14 +0000752AC_SUBST(LIBEXT,"so")
753AC_SUBST(IMPLIBEXT,"def")
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000754
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000755case $host_os in
756 cygwin*|mingw32*)
Alexandre Julliardada5e652002-12-12 22:03:14 +0000757 AC_CHECK_TOOL(DLLTOOL,dlltool,false)
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000758 AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
759 if test "$DLLWRAP" = "false"; then
760 LIBEXT="a"
761 else
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000762 dnl FIXME - check whether dllwrap works correctly...
763 LIBEXT="dll"
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000764 fi
Alexandre Julliardada5e652002-12-12 22:03:14 +0000765 IMPLIBEXT="a"
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000766 ;;
767 *)
768 AC_CHECK_HEADERS(dlfcn.h,
769 [AC_CHECK_FUNCS(dlopen,,
770 [AC_CHECK_LIB(dl,dlopen,
771 [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
772 DLLIBS="-ldl"],
773 [LIBEXT="a"])])],
774 [LIBEXT="a"])
775
776 if test "$LIBEXT" = "so"
777 then
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000778 DLLFLAGS="-fPIC"
779 DLLEXT=".so"
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000780 AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
781 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic],
782 ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")])
Alexandre Julliard466ae142002-05-07 18:33:47 +0000783 if test "$ac_cv_c_dll_gnuelf" = "yes"
784 then
785 LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
786 LDDLLFLAGS="-Wl,-Bsymbolic"
Alexandre Julliardf2abe472002-11-21 04:13:35 +0000787 AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
788 [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
789 ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
790 if test "$ac_cv_c_dll_zdefs" = "yes"
791 then
792 LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
793 fi
Alexandre Julliard466ae142002-05-07 18:33:47 +0000794 else
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000795 AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
796 [WINE_TRY_CFLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],
797 ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")])
Alexandre Julliard466ae142002-05-07 18:33:47 +0000798 if test "$ac_cv_c_dll_unixware" = "yes"
799 then
800 LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
801 LDDLLFLAGS="-Wl,-B,symbolic"
802 fi
803 fi
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000804 fi
Alexandre Julliardc3c587e2002-09-06 19:46:00 +0000805
806 dnl Check for cross compiler to build test programs
807 AC_SUBST(CROSSTEST,"")
808 if test "$cross_compiling" = "no"
809 then
810 AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc,false)
811 AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool,false)
812 if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
813 fi
Alexandre Julliardfa3a5362002-05-09 01:49:54 +0000814 ;;
815esac
Alexandre Julliard0adad952000-01-26 01:45:58 +0000816
Hidenori Takeshimad48ca942000-12-22 22:28:00 +0000817if test "$LIBEXT" = "a"; then
Alexandre Julliardf5818d22002-02-14 19:47:29 +0000818 AC_MSG_ERROR(
819[could not find a way to build shared libraries.
820It is currently not possible to build Wine without shared library
821(.so) support to allow transparent switch between .so and .dll files.
822If you are using Linux, you will need a newer binutils.]
823)
Hidenori Takeshimad48ca942000-12-22 22:28:00 +0000824fi
825
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000826case $build_os in
827 cygwin*|mingw32*)
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000828 AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/library:\$(TOOLSDIR)/unicode:\$\$PATH\"") ;;
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000829 *)
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000830 AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/library:\$(TOOLSDIR)/unicode:\$\$LD_LIBRARY_PATH\"") ;;
Alexandre Julliardfc01b722002-05-12 03:16:39 +0000831esac
832
Alexandre Julliard7bf07d12002-08-03 00:25:59 +0000833dnl Mingw needs explicit msvcrt for linking libwine
834AC_SUBST(CRTLIBS,"")
835case $host_os in
836 mingw32*)
837 CRTLIBS="-lmsvcrt" ;;
838esac
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +0000839
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000840dnl **** Get the soname for libraries that we load dynamically ****
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000841
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000842if test "$LIBEXT" = "so"
Alexandre Julliard598412e2001-01-17 20:22:22 +0000843then
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000844 WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
845 WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
846 WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
847 WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
Lionel Ulmer56ab2b3e2002-11-15 04:16:38 +0000848 WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
Marcus Meissnerf061f762002-11-12 02:22:24 +0000849 WINE_GET_SONAME(cups,cupsGetDefault)
Chris Morgan4691b182002-12-13 02:26:18 +0000850 WINE_GET_SONAME(jack,jack_client_new)
Alexandre Julliard598412e2001-01-17 20:22:22 +0000851fi
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000852
853
854dnl **** Check for reentrant libc ****
Alexandre Julliard598412e2001-01-17 20:22:22 +0000855
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000856wine_cv_libc_reentrant=no
Marcus Meissnerc2606381999-04-11 15:20:29 +0000857dnl Linux style errno location
Alexandre Julliard67e8dc62002-05-20 18:29:58 +0000858WINE_CHECK_ERRNO([__errno_location], [wine_cv_libc_reentrant=__errno_location],
859 dnl FreeBSD style errno location
860 WINE_CHECK_ERRNO([__error], [wine_cv_libc_reentrant=__error],
861 dnl Solaris style errno location
862 WINE_CHECK_ERRNO([___errno], [wine_cv_libc_reentrant=___errno],
863 dnl UnixWare style errno location
864 WINE_CHECK_ERRNO([__thr_errno], [wine_cv_libc_reentrant=__thr_errno],
865 dnl NetBSD style errno location
866 WINE_CHECK_ERRNO([__errno], [wine_cv_libc_reentrant=__errno])
867))))
Alexandre Julliard598412e2001-01-17 20:22:22 +0000868
Alexandre Julliard7cae5582002-06-01 02:55:48 +0000869if test "$wine_cv_libc_reentrant" != "no"
Ron Recorde977d6c1999-09-05 12:32:05 +0000870then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +0000871 AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant,
872 [Define to the name of the function returning errno for reentrant libc])
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000873fi
874
Alexandre Julliarda11d7b11998-03-01 20:05:02 +0000875dnl **** Check for reentrant X libraries ****
876dnl
877dnl This may fail to determine whether X libraries are reentrant if
Alexandre Julliard867fb9d2002-04-24 22:24:43 +0000878dnl AC_PATH_XTRA does not set x_libraries.
Alexandre Julliarda11d7b11998-03-01 20:05:02 +0000879
Alexandre Julliard867fb9d2002-04-24 22:24:43 +0000880if test "$have_x" = "yes"
Patrik Stridvall24110281999-02-04 10:09:54 +0000881then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +0000882AC_CACHE_CHECK( [for reentrant X libraries], wine_cv_x_reentrant,
Alexandre Julliard867fb9d2002-04-24 22:24:43 +0000883 [libX11_check=none
884 for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
885 if test -r $dir/libX11.so; then
886 libX11_check="-D $dir/libX11.so"
887 break
888 fi
889 if test -r $dir/libX11.a; then
890 libX11_check="$dir/libX11.a"
891 break
892 fi
893 done
894 if test "$libX11_check" != "none"; then
895 if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
896 then
897 wine_cv_x_reentrant=yes
898 else
899 wine_cv_x_reentrant=no
900 fi
Alexandre Julliarda11d7b11998-03-01 20:05:02 +0000901 else
Alexandre Julliard867fb9d2002-04-24 22:24:43 +0000902 wine_cv_x_reentrant=unknown
903 fi])
Patrik Stridvall24110281999-02-04 10:09:54 +0000904fi
Ulrich Weigand97591402000-12-19 03:38:53 +0000905
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000906dnl **** Check for functions ****
Alexandre Julliarde2991ea1995-07-29 13:09:43 +0000907
Patrik Stridvall1bb94031999-05-08 15:47:44 +0000908AC_FUNC_ALLOCA()
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000909AC_CHECK_FUNCS(\
910 _lwp_create \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000911 _pclose \
912 _popen \
Steven Edwards0a8e15a2002-05-10 01:33:40 +0000913 _snprintf \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000914 _stricmp \
915 _strnicmp \
Steven Edwardsbe514b92003-01-14 19:35:03 +0000916 _vsnprintf \
Steven Edwardsb9627c12002-05-05 21:03:44 +0000917 chsize \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000918 clone \
Andreas Mohra7ca2ba2001-01-12 23:07:11 +0000919 ecvt \
Brad Campbell5ac2a532002-12-13 23:30:54 +0000920 fcvt \
Jon Griffithsd6deb6d2000-11-27 01:37:28 +0000921 finite \
922 fpclass \
Steven Edwardsb9627c12002-05-05 21:03:44 +0000923 ftruncate \
Marcus Meissner3f1ed522001-05-14 20:09:37 +0000924 ftruncate64 \
Brad Campbell5ac2a532002-12-13 23:30:54 +0000925 gcvt \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000926 getnetbyaddr \
927 getnetbyname \
Dimitrie O. Paun647c1a32002-12-10 19:16:24 +0000928 getopt_long \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000929 getpagesize \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000930 getprotobyname \
931 getprotobynumber \
Alexandre Julliard142dab82002-07-01 18:17:30 +0000932 getpwuid \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000933 getservbyport \
934 getsockopt \
935 inet_network \
Marcus Meissner3f1ed522001-05-14 20:09:37 +0000936 lseek64 \
Alexandre Julliard27bb3112000-11-29 17:48:06 +0000937 lstat \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000938 memmove \
Marcus Meissner786d2492002-07-29 23:55:39 +0000939 mkstemp \
Hidenori Takeshimaa85b0a62000-11-25 23:54:12 +0000940 mmap \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000941 pclose \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000942 popen \
Steven Edwardsb9627c12002-05-05 21:03:44 +0000943 pread \
Patrik Stridvall6caeb722002-11-25 21:12:26 +0000944 pthread_getspecific \
945 pthread_key_create \
946 pthread_mutex_lock \
947 pthread_mutex_unlock \
948 pthread_setspecific \
Alexandre Julliardf1a0de92002-01-07 21:00:27 +0000949 pwrite \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000950 rfork \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000951 select \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000952 sendmsg \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000953 settimeofday \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000954 sigaltstack \
Steven Edwards0a8e15a2002-05-10 01:33:40 +0000955 snprintf \
Patrik Stridvallb9010211999-11-13 22:23:35 +0000956 statfs \
Alexandre Julliard3b96efc1999-09-04 14:36:02 +0000957 strcasecmp \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000958 strerror \
Alexandre Julliard3b96efc1999-09-04 14:36:02 +0000959 strncasecmp \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000960 tcgetattr \
961 timegm \
962 usleep \
963 vfscanf \
Steven Edwardsbe514b92003-01-14 19:35:03 +0000964 vsnprintf \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000965 wait4 \
966 waitpid \
967)
968
969dnl **** Check for header files ****
970
971AC_CHECK_HEADERS(\
Patrik Stridvall96336321999-10-24 22:13:47 +0000972 arpa/inet.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000973 arpa/nameser.h \
Marcus Meissnerf061f762002-11-12 02:22:24 +0000974 cups/cups.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000975 direct.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000976 elf.h \
977 float.h \
Dimitrie O. Paun647c1a32002-12-10 19:16:24 +0000978 getopt.h \
Ulrich Weigand2e8e2332000-12-27 18:49:08 +0000979 ieeefp.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +0000980 io.h \
Chris Morgan4691b182002-12-13 02:26:18 +0000981 jack/jack.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000982 libio.h \
Hidenori Takeshima01f78aa2000-07-09 12:19:09 +0000983 libutil.h \
Patrik Stridvall96336321999-10-24 22:13:47 +0000984 link.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000985 linux/cdrom.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +0000986 linux/hdreg.h \
Marcus Meissnerc9b3b2e2000-12-12 00:38:58 +0000987 linux/input.h \
Marcus Meissner028e9a11999-08-04 15:07:56 +0000988 linux/joystick.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +0000989 linux/major.h \
Laurent Pinchart0314a652002-05-01 22:01:30 +0000990 linux/param.h \
Lawson Whitney533e7ee2002-02-19 18:41:56 +0000991 linux/serial.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000992 linux/ucdrom.h \
Hidenori Takeshima5d1a6382000-11-26 04:00:53 +0000993 netdb.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +0000994 netinet/in.h \
Patrik Stridvall7a4e5992000-12-01 23:53:46 +0000995 netinet/in_systm.h \
Patrik Stridvall96336321999-10-24 22:13:47 +0000996 netinet/tcp.h \
Marcus Meissner2d7be871999-12-05 23:06:40 +0000997 pty.h \
Steven Edwardsff4525c2002-06-24 23:00:25 +0000998 pwd.h \
Alexandre Julliardb6938952003-01-13 18:41:40 +0000999 regex.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001000 sched.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +00001001 scsi/sg.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001002 socket.h \
Bang Jun-Youngeda758e2001-12-14 22:47:19 +00001003 stdint.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001004 strings.h \
1005 sys/cdio.h \
Howard Abrams13277481999-07-10 13:16:29 +00001006 sys/errno.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001007 sys/file.h \
1008 sys/filio.h \
Michal Pasternak60983992002-03-29 18:04:43 +00001009 sys/inttypes.h \
Alexandre Julliardc3e06df2002-05-14 23:18:23 +00001010 sys/ioctl.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001011 sys/ipc.h \
Eric Pouech624cbd72001-08-10 22:29:21 +00001012 sys/link.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001013 sys/lwp.h \
Howard Abrams13277481999-07-10 13:16:29 +00001014 sys/mman.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001015 sys/modem.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001016 sys/msg.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001017 sys/param.h \
Patrik Stridvall57bf4502002-08-26 21:53:24 +00001018 sys/poll.h \
Dimitrie O. Paun2af03e42000-11-29 20:04:09 +00001019 sys/ptrace.h \
Ulrich Weigand8a1bdb32000-01-30 22:22:22 +00001020 sys/reg.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001021 sys/shm.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +00001022 sys/signal.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001023 sys/socket.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001024 sys/sockio.h \
1025 sys/statfs.h \
1026 sys/strtio.h \
1027 sys/syscall.h \
Alexandre Julliard127ec922002-05-07 01:51:30 +00001028 sys/sysctl.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001029 sys/time.h \
Patrik Stridvall57bf4502002-08-26 21:53:24 +00001030 sys/times.h \
Steven Edwards45e56812002-10-31 03:41:56 +00001031 sys/uio.h \
1032 sys/un.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001033 sys/v86.h \
1034 sys/v86intr.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001035 sys/vfs.h \
Patrik Stridvall96336321999-10-24 22:13:47 +00001036 sys/vm86.h \
Rizsanyi Zsolte7c6d172002-05-01 22:25:41 +00001037 sys/wait.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001038 syscall.h \
Alexandre Julliardc3e06df2002-05-14 23:18:23 +00001039 termios.h \
Patrik Stridvall81ecb522002-03-11 05:08:14 +00001040 unistd.h \
Patrik Stridvall57bf4502002-08-26 21:53:24 +00001041 utime.h \
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001042)
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001043AC_HEADER_STAT()
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001044
Gerald Pfeifer6cef4cd2002-11-06 22:00:10 +00001045dnl **** Checks for headers that depend on other ones ****
1046
1047AC_CHECK_HEADERS(sys/mount.h sys/user.h,,,
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001048 [#include <sys/types.h>
1049 #if HAVE_SYS_PARAM_H
1050 # include <sys/param.h>
Gerald Pfeifer6cef4cd2002-11-06 22:00:10 +00001051 #endif])
1052
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001053AC_CHECK_HEADERS(net/if.h,,,
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001054 [#include <sys/types.h>
Gerald Pfeifer87c369d2002-07-23 02:02:02 +00001055 #if HAVE_SYS_SOCKET_H
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001056 # include <sys/socket.h>
1057 #endif])
1058
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001059AC_CHECK_HEADERS(netinet/ip.h,,,
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001060 [#include <sys/types.h>
1061 #if HAVE_SYS_SOCKET_H
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001062 # include <sys/socket.h>
1063 #endif
1064 #if HAVE_NETINET_IN_SYSTM_H
1065 # include <netinet/in_systm.h>
1066 #endif])
1067
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001068AC_CHECK_HEADERS(resolv.h,,,
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001069 [#include <sys/types.h>
1070 #if HAVE_SYS_SOCKET_H
Gregg Mattinson044b5c42002-07-19 03:16:51 +00001071 # include <sys/socket.h>
1072 #endif])
1073
Gerald Pfeiferd2033a52002-11-12 23:21:55 +00001074AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1075
Alexandre Julliardb38b4c22003-01-21 00:36:46 +00001076dnl **** Check for IPX headers (currently Linux only) ****
1077
1078AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
1079 AC_TRY_COMPILE(
1080 [#include <sys/types.h>
1081 #ifdef HAVE_SYS_SOCKET_H
1082 # include <sys/socket.h>
1083 #endif
1084 #include <netipx/ipx.h>],
1085 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1086 [ac_cv_c_ipx_gnu="yes"],
1087 [ac_cv_c_ipx_gnu="no"])
1088 )
1089if test "$ac_cv_c_ipx_gnu" = "yes"
1090then
1091 AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
1092fi
1093
1094if test "$ac_cv_c_ipx_gnu" = "no"
1095then
1096 AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
1097 AC_TRY_COMPILE(
1098 [#include <sys/types.h>
1099 #ifdef HAVE_SYS_SOCKET_H
1100 # include <sys/socket.h>
1101 #endif
1102 #include <asm/types.h>
1103 #include <linux/ipx.h>],
1104 [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
1105 [ac_cv_c_ipx_linux="yes"],
1106 [ac_cv_c_ipx_linux="no"])
1107 )
1108 if test "$ac_cv_c_ipx_linux" = "yes"
1109 then
1110 AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
1111 fi
1112fi
1113
Alexandre Julliard2487cce1999-04-18 14:43:16 +00001114dnl **** Check for types ****
1115
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001116AC_C_CONST
1117AC_C_INLINE
Alexandre Julliard5769d1d2002-04-26 19:05:15 +00001118AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t])
Alexandre Julliardc7c217b1998-04-13 12:21:30 +00001119AC_CHECK_SIZEOF(long long,0)
1120
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001121AC_CACHE_CHECK([whether linux/input.h is for real],
Marcus Meissner74f2b4b2001-01-19 21:09:07 +00001122 wine_cv_linux_input_h,
1123 AC_TRY_COMPILE([
1124 #include <linux/input.h>
1125 ] , [
1126 int foo = EVIOCGBIT(EV_ABS,42);
1127 int bar = BTN_PINKIE;
1128 int fortytwo = 42;
1129 ],
1130 wine_cv_linux_input_h=yes,
1131 wine_cv_linux_input_h=no,
1132 no
1133 )
1134 )
1135 if test "$wine_cv_linux_input_h" = "yes"
1136 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001137 AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
1138 [Define if we have linux/input.h AND it contains the INPUT event API])
Marcus Meissner74f2b4b2001-01-19 21:09:07 +00001139 fi
1140
Alexandre Julliard7cae5582002-06-01 02:55:48 +00001141
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001142AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
Rein Klazesff7a61f2000-09-24 19:41:57 +00001143 wine_cv_linux_gethostbyname_r_6,
1144 AC_TRY_COMPILE([
1145#include <netdb.h>
1146 ], [
1147 char *name=NULL;
1148 struct hostent he;
1149 struct hostent *result;
1150 char *buf=NULL;
1151 int bufsize=0;
1152 int res,errnr;
1153 char *addr=NULL;
1154 int addrlen=0;
1155 int addrtype=0;
1156 res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1157 res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1158 ],
1159 wine_cv_linux_gethostbyname_r_6=yes,
1160 wine_cv_linux_gethostbyname_r_6=no
1161 )
1162 )
1163 if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1164 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001165 AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1166 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
Rein Klazesff7a61f2000-09-24 19:41:57 +00001167 fi
1168
Marcus Meissner028e9a11999-08-04 15:07:56 +00001169if test "$ac_cv_header_linux_joystick_h" = "yes"
1170then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001171 AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
Marcus Meissner028e9a11999-08-04 15:07:56 +00001172 wine_cv_linux_joystick_22_api,
1173 AC_TRY_COMPILE([
1174 #include <sys/ioctl.h>
1175 #include <linux/joystick.h>
1176
1177 struct js_event blub;
Marcus Meissner605a9c31999-11-04 02:04:01 +00001178 #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1179 #error "no 2.2 header"
1180 #endif
Marcus Meissner028e9a11999-08-04 15:07:56 +00001181 ],/*empty*/,
1182 wine_cv_linux_joystick_22_api=yes,
1183 wine_cv_linux_joystick_22_api=no,
1184 wine_cv_linux_joystick_22_api=no
1185 )
1186 )
Rein Klazes87d224a2000-04-24 17:33:49 +00001187 if test "$wine_cv_linux_joystick_22_api" = "yes"
Marcus Meissner028e9a11999-08-04 15:07:56 +00001188 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001189 AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1190 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
Marcus Meissner028e9a11999-08-04 15:07:56 +00001191 fi
1192fi
1193
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001194dnl **** statfs checks ****
1195
1196if test "$ac_cv_header_sys_vfs_h" = "yes"
1197then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001198 AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001199 wine_cv_sys_vfs_has_statfs,
1200 AC_TRY_COMPILE([
1201 #include <sys/types.h>
1202 #ifdef HAVE_SYS_PARAM_H
1203 # include <sys/param.h>
1204 #endif
1205 #include <sys/vfs.h>
1206 ],[
1207 struct statfs stfs;
1208
1209 memset(&stfs,0,sizeof(stfs));
1210 ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1211 )
1212 )
1213 if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1214 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001215 AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1216 [Define if the struct statfs is defined by <sys/vfs.h>])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001217 fi
1218fi
1219
1220if test "$ac_cv_header_sys_statfs_h" = "yes"
1221then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001222 AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001223 wine_cv_sys_statfs_has_statfs,
1224 AC_TRY_COMPILE([
1225 #include <sys/types.h>
1226 #ifdef HAVE_SYS_PARAM_H
1227 # include <sys/param.h>
1228 #endif
1229 #include <sys/statfs.h>
1230 ],[
1231 struct statfs stfs;
1232 ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1233 )
1234 )
1235 if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1236 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001237 AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1238 [Define if the struct statfs is defined by <sys/statfs.h>])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001239 fi
1240fi
1241
1242if test "$ac_cv_header_sys_mount_h" = "yes"
1243then
Bernhard Rosenkraenzerfea260a2001-09-19 20:30:28 +00001244 AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001245 wine_cv_sys_mount_has_statfs,
1246 AC_TRY_COMPILE([
1247 #include <sys/types.h>
1248 #ifdef HAVE_SYS_PARAM_H
1249 # include <sys/param.h>
1250 #endif
1251 #include <sys/mount.h>
1252 ],[
1253 struct statfs stfs;
1254 ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1255 )
1256 )
1257 if test "$wine_cv_sys_mount_has_statfs" = "yes"
1258 then
Alexandre Julliarded2f19a2001-06-27 21:42:00 +00001259 AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1260 [Define if the struct statfs is defined by <sys/mount.h>])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001261 fi
1262fi
1263
1264dnl **** FIXME: what about mixed cases, where we need two of them? ***
1265
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001266WINE_CHECK_STRUCT_MEMBER(statfs,f_bfree,
1267[#include <sys/types.h>
1268#ifdef HAVE_SYS_PARAM_H
1269# include <sys/param.h>
1270#endif
1271#ifdef STATFS_DEFINED_BY_SYS_MOUNT
1272# include <sys/mount.h>
1273#else
1274# ifdef STATFS_DEFINED_BY_SYS_VFS
1275# include <sys/vfs.h>
1276# else
1277# ifdef STATFS_DEFINED_BY_SYS_STATFS
1278# include <sys/statfs.h>
1279# endif
1280# endif
1281#endif],
1282 [AC_DEFINE(STATFS_HAS_BFREE, 1, [Define if the struct statfs has the member bfree])])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001283
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001284WINE_CHECK_STRUCT_MEMBER(statfs,f_bavail,
1285[#include <sys/types.h>
1286#ifdef HAVE_SYS_PARAM_H
1287# include <sys/param.h>
1288#endif
1289#ifdef STATFS_DEFINED_BY_SYS_MOUNT
1290# include <sys/mount.h>
1291#else
1292# ifdef STATFS_DEFINED_BY_SYS_VFS
1293# include <sys/vfs.h>
1294# else
1295# ifdef STATFS_DEFINED_BY_SYS_STATFS
1296# include <sys/statfs.h>
1297# endif
1298# endif
1299#endif],
1300 [AC_DEFINE(STATFS_HAS_BAVAIL, 1, [Define if the struct statfs has the member bavail])])
Alexandre Julliarddadf78f1998-05-17 17:13:43 +00001301
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001302dnl Check for file descriptor passing with msg_accrights
1303WINE_CHECK_STRUCT_MEMBER(msghdr,msg_accrights,
1304[#include <sys/types.h>
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001305#ifdef HAVE_SYS_SOCKET_H
1306# include <sys/socket.h>
1307#endif],
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001308 [AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS, 1, [Define if struct msghdr contains msg_accrights])])
Alexandre Julliardc7c217b1998-04-13 12:21:30 +00001309
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001310dnl Check for the sa_len member in struct sockaddr
1311WINE_CHECK_STRUCT_MEMBER(sockaddr,sa_len,
1312[#include <sys/types.h>
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001313#ifdef HAVE_SYS_SOCKET_H
1314# include <sys/socket.h>
1315#endif],
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001316 [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])])
Alexandre Julliardc7c217b1998-04-13 12:21:30 +00001317
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001318dnl Check for the sun_len member in struct sockaddr_un
1319WINE_CHECK_STRUCT_MEMBER(sockaddr_un,sun_len,
1320[#include <sys/types.h>
Patrik Stridvall63ae7fe2002-11-08 19:34:52 +00001321#ifdef HAVE_SYS_SOCKET_H
1322# include <sys/socket.h>
1323#endif
1324#ifdef HAVE_SYS_UN_H
1325# include <sys/un.h>
1326#endif],
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001327 [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains sun_len])])
Juergen Lock2d33ab92000-02-13 16:03:29 +00001328
Alexandre Julliard05783b52002-12-11 00:21:55 +00001329dnl *** check for the need to define platform-specific symbols
Alexandre Julliard51d46ba1999-05-08 16:05:27 +00001330
Alexandre Julliardfc01b722002-05-12 03:16:39 +00001331case $host_cpu in
Alexandre Julliard05783b52002-12-11 00:21:55 +00001332 *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
1333 *alpha*) WINE_CHECK_DEFINE([__ALPHA__]) ;;
1334 *sparc*) WINE_CHECK_DEFINE([__sparc__]) ;;
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001335esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001336
1337case $host_vendor in
Alexandre Julliard05783b52002-12-11 00:21:55 +00001338 *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001339esac
Gregg Mattinson57807fa2002-07-20 20:17:13 +00001340
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001341dnl **** Generate output files ****
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001342
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001343AH_TOP([#define __WINE_CONFIG_H])
1344
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001345WINE_CONFIG_EXTRA_DIR(controls)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001346WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1347WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1348WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1349WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1350WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1351WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1352WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick)
1353WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard)
1354WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse)
Alexandre Julliard89118562002-03-27 21:13:40 +00001355WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1356WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1357WINE_CONFIG_EXTRA_DIR(dlls/gdi/win16drv)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001358WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1359WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1360WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1361WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001362WINE_CONFIG_EXTRA_DIR(files)
1363WINE_CONFIG_EXTRA_DIR(graphics)
1364WINE_CONFIG_EXTRA_DIR(graphics/x11drv)
1365WINE_CONFIG_EXTRA_DIR(if1632)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001366WINE_CONFIG_EXTRA_DIR(include/wine)
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001367WINE_CONFIG_EXTRA_DIR(loader)
1368WINE_CONFIG_EXTRA_DIR(loader/ne)
1369WINE_CONFIG_EXTRA_DIR(memory)
1370WINE_CONFIG_EXTRA_DIR(misc)
1371WINE_CONFIG_EXTRA_DIR(msdos)
1372WINE_CONFIG_EXTRA_DIR(objects)
Alexandre Julliardc72f0b22002-02-28 21:47:58 +00001373WINE_CONFIG_EXTRA_DIR(programs/regapi/tests)
Andriy Palamarchukf5aad762002-06-20 23:09:33 +00001374WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001375WINE_CONFIG_EXTRA_DIR(relay32)
1376WINE_CONFIG_EXTRA_DIR(scheduler)
1377WINE_CONFIG_EXTRA_DIR(win32)
1378WINE_CONFIG_EXTRA_DIR(windows)
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001379
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001380MAKE_RULES=Make.rules
Alexandre Julliardff8331e1995-09-18 11:19:54 +00001381AC_SUBST_FILE(MAKE_RULES)
1382
Alexandre Julliardd0edc5f2000-03-04 22:31:27 +00001383MAKE_DLL_RULES=dlls/Makedll.rules
1384AC_SUBST_FILE(MAKE_DLL_RULES)
1385
Alexandre Julliardedeee892002-08-09 01:22:40 +00001386MAKE_TEST_RULES=dlls/Maketest.rules
1387AC_SUBST_FILE(MAKE_TEST_RULES)
1388
Alexandre Julliard626f4252000-11-10 23:35:20 +00001389MAKE_PROG_RULES=programs/Makeprog.rules
1390AC_SUBST_FILE(MAKE_PROG_RULES)
1391
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001392AC_CONFIG_FILES([
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001393Make.rules
Alexandre Julliard626f4252000-11-10 23:35:20 +00001394dlls/Makedll.rules
Alexandre Julliardedeee892002-08-09 01:22:40 +00001395dlls/Maketest.rules
Alexandre Julliard626f4252000-11-10 23:35:20 +00001396programs/Makeprog.rules
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001397Makefile
Alexandre Julliard85ed45e1998-08-22 19:03:56 +00001398dlls/Makefile
Juergen Schmiedf7b0de31999-01-03 12:48:29 +00001399dlls/advapi32/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001400dlls/advapi32/tests/Makefile
Hidenori Takeshima1c53a7f2001-11-06 00:41:05 +00001401dlls/avicap32/Makefile
Marcus Meissnerb3d1a221999-03-13 18:07:44 +00001402dlls/avifil32/Makefile
Patrik Stridvalld1447fa2002-11-19 00:47:12 +00001403dlls/cabinet/Makefile
John K. Hohm34909c22002-05-14 21:50:56 +00001404dlls/comcat/Makefile
Alexandre Julliarda0d77311998-09-13 16:32:00 +00001405dlls/comctl32/Makefile
Klaas van Gendc9127491999-02-28 20:05:11 +00001406dlls/commdlg/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001407dlls/crtdll/Makefile
Travis Michielsen0f21ee82002-01-10 19:41:11 +00001408dlls/crypt32/Makefile
Dmitry Timoshkov5a23a002003-01-02 19:34:14 +00001409dlls/ctl3d/Makefile
Sylvain Petreolle3a99d8b2002-06-25 23:23:03 +00001410dlls/d3d8/Makefile
Enrico Horneaae7052003-01-24 01:08:15 +00001411dlls/d3dim/Makefile
Raphael Junqueirae31ae922002-12-17 01:15:15 +00001412dlls/d3dx8/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001413dlls/dciman32/Makefile
Alexandre Julliardddce6522000-03-17 16:58:10 +00001414dlls/ddraw/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001415dlls/devenum/Makefile
Alexandre Julliardddce6522000-03-17 16:58:10 +00001416dlls/dinput/Makefile
Ove Kaavend2d08f02002-06-14 00:39:44 +00001417dlls/dinput8/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001418dlls/dplay/Makefile
Peter Hunnisett22b861c1999-09-28 16:35:32 +00001419dlls/dplayx/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001420dlls/dsound/Makefile
Francois Gougetd523a452002-12-05 19:19:41 +00001421dlls/dsound/tests/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001422dlls/gdi/Makefile
Patrik Stridvall928ecb42002-10-02 19:58:27 +00001423dlls/gdi/tests/Makefile
Marcus Meissnerb63ab442001-06-08 19:02:57 +00001424dlls/glu32/Makefile
Francois Gougetedf3e431999-11-07 21:22:17 +00001425dlls/icmp/Makefile
Patrik Stridvall8295c861998-10-11 17:09:05 +00001426dlls/imagehlp/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001427dlls/imm32/Makefile
Dimitrie O. Paun36b5b6b2000-06-03 00:07:44 +00001428dlls/kernel/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001429dlls/kernel/tests/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001430dlls/lzexpand/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001431dlls/mapi32/Makefile
Ulrich Weigandbb1984e1999-08-07 14:32:33 +00001432dlls/mpr/Makefile
Patrik Stridvall8295c861998-10-11 17:09:05 +00001433dlls/msacm/Makefile
Hidenori Takeshima0307f6d2002-03-23 20:18:11 +00001434dlls/msacm/imaadp32/Makefile
Eric Pouechbed67fc2002-05-22 02:00:05 +00001435dlls/msacm/msadp32/Makefile
Hidenori Takeshimabcb9c462002-03-22 19:16:10 +00001436dlls/msacm/msg711/Makefile
Eric Pouechb706b232002-06-04 17:53:46 +00001437dlls/msacm/winemp3/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001438dlls/msdmo/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001439dlls/msimg32/Makefile
Mike McCormackf6be0442002-04-08 23:56:14 +00001440dlls/msisys/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001441dlls/msnet32/Makefile
Jon Griffiths1db20bf2001-01-10 23:59:25 +00001442dlls/msvcrt/Makefile
Uwe Bonnesa768fa32002-10-30 23:49:03 +00001443dlls/msvcrt/tests/Makefile
Aric Stewartc2a5ebc2002-01-29 18:09:46 +00001444dlls/msvcrt20/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001445dlls/msvideo/Makefile
Michael GĂĽnnewig288b8ee2002-10-08 00:40:05 +00001446dlls/msvideo/msrle32/Makefile
Mike McCormack2e40b962001-11-06 17:52:36 +00001447dlls/netapi32/Makefile
Andriy Palamarchukb812c902002-09-11 02:35:17 +00001448dlls/netapi32/tests/Makefile
Marcus Meissner51505b11998-11-01 14:00:21 +00001449dlls/ntdll/Makefile
Jon Griffiths1da29712002-08-15 22:08:40 +00001450dlls/ntdll/tests/Makefile
Alexandre Julliard8551f8c1999-12-11 23:56:46 +00001451dlls/odbc32/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001452dlls/ole32/Makefile
1453dlls/oleaut32/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001454dlls/oleaut32/tests/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001455dlls/olecli/Makefile
1456dlls/oledlg/Makefile
Sean Langley58c71d42000-02-07 16:26:56 +00001457dlls/olepro32/Makefile
Ulrich Weigand2a722f41999-09-19 18:36:53 +00001458dlls/olesvr/Makefile
Lionel Ulmerbedf40b2000-05-12 20:18:14 +00001459dlls/opengl32/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001460dlls/psapi/Makefile
Hidenori Takeshimab4be9982001-10-23 20:35:23 +00001461dlls/qcap/Makefile
Hidenori Takeshimab7d4b4e2001-07-02 18:57:22 +00001462dlls/quartz/Makefile
Marcus Meissner30ef8771998-12-11 13:26:26 +00001463dlls/rasapi32/Makefile
Hidenori Takeshimae75f9fb2000-05-03 18:12:19 +00001464dlls/richedit/Makefile
Huw D M Davies10b1b232000-07-15 19:53:50 +00001465dlls/rpcrt4/Makefile
Greg Turnerac89cc22002-10-07 21:54:07 +00001466dlls/rpcrt4/tests/Makefile
Mike McCormackdc2461e2000-07-15 21:35:55 +00001467dlls/serialui/Makefile
Francois Jacquesdf5e5792000-07-08 18:27:03 +00001468dlls/setupapi/Makefile
John R. Sheetsbc80a3b2001-01-11 22:32:44 +00001469dlls/shdocvw/Makefile
Alexandre Julliard85ed45e1998-08-22 19:03:56 +00001470dlls/shell32/Makefile
Andriy Palamarchuk5b5bea02002-08-27 01:34:33 +00001471dlls/shell32/tests/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001472dlls/shfolder/Makefile
1473dlls/shlwapi/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001474dlls/shlwapi/tests/Makefile
Patrik Stridvall4c692b92002-04-29 18:43:35 +00001475dlls/snmpapi/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001476dlls/sti/Makefile
Andreas Mohr5aa96c11999-03-14 12:34:25 +00001477dlls/tapi32/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001478dlls/ttydrv/Makefile
Shi Quan He6b0720f2002-03-21 02:58:39 +00001479dlls/twain/Makefile
Hidenori Takeshima1a8b3392001-09-14 21:36:30 +00001480dlls/url/Makefile
Alexandre Julliard819fa8c2000-04-11 20:07:00 +00001481dlls/urlmon/Makefile
Patrik Stridvall9398d9c2002-11-12 01:13:10 +00001482dlls/urlmon/tests/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001483dlls/user/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001484dlls/user/tests/Makefile
Ulrich Weigandd43a46a1999-01-31 10:11:04 +00001485dlls/version/Makefile
Ulrich Weigand6c6da671999-08-04 09:49:49 +00001486dlls/win32s/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001487dlls/winaspi/Makefile
Ove Kaavene5557b32000-12-26 00:22:45 +00001488dlls/winedos/Makefile
Dimitrie O. Paun84bde6a2000-05-30 20:27:23 +00001489dlls/wineps/Makefile
Alexandre Julliard819fa8c2000-04-11 20:07:00 +00001490dlls/wininet/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001491dlls/wininet/tests/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001492dlls/winmm/Makefile
Eric Pouech2a3b0a12000-02-26 13:14:04 +00001493dlls/winmm/joystick/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001494dlls/winmm/mcianim/Makefile
1495dlls/winmm/mciavi/Makefile
1496dlls/winmm/mcicda/Makefile
1497dlls/winmm/mciseq/Makefile
1498dlls/winmm/mciwave/Makefile
Eric Pouechabe72271999-10-31 02:23:49 +00001499dlls/winmm/midimap/Makefile
Francois Gouget4ce28372002-11-04 23:47:49 +00001500dlls/winmm/tests/Makefile
Eric Pouechabe72271999-10-31 02:23:49 +00001501dlls/winmm/wavemap/Makefile
Eric Pouecha120ce02002-06-28 17:40:16 +00001502dlls/winmm/winealsa/Makefile
Chris Morgan9b0ba7c2002-03-21 01:38:19 +00001503dlls/winmm/winearts/Makefile
Robert Lunnon2a91e3f2002-08-01 18:22:38 +00001504dlls/winmm/wineaudioio/Makefile
1505dlls/winmm/winenas/Makefile
Chris Morgan4691b182002-12-13 02:26:18 +00001506dlls/winmm/winejack/Makefile
Eric Pouech68944c21999-10-24 18:42:42 +00001507dlls/winmm/wineoss/Makefile
Hidenori Takeshima9c672132000-12-14 21:56:18 +00001508dlls/winnls/Makefile
Alexandre Julliardde078692000-01-23 22:07:15 +00001509dlls/winsock/Makefile
Alexandre Julliardedeee892002-08-09 01:22:40 +00001510dlls/winsock/tests/Makefile
Huw D M Daviese39b6761999-05-17 16:20:51 +00001511dlls/winspool/Makefile
Stefan Leichter88b11062003-01-15 00:50:48 +00001512dlls/winspool/tests/Makefile
Patrik Stridvall5caddc72002-12-17 01:49:16 +00001513dlls/wintab32/Makefile
Rein Klazes2a4c68b2001-04-16 19:36:12 +00001514dlls/wintrust/Makefile
Alexandre Julliardc6075322000-07-09 11:19:35 +00001515dlls/wow32/Makefile
1516dlls/wsock32/Makefile
Alexandre Julliard1dac57f2000-03-19 12:08:09 +00001517dlls/x11drv/Makefile
Alexandre Julliardd37eb361997-07-20 16:23:21 +00001518documentation/Makefile
James Juranc70dc831999-02-13 12:18:33 +00001519include/Makefile
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001520library/Makefile
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001521miscemu/Makefile
Alexandre Julliarde658d821997-11-30 17:45:40 +00001522ole/Makefile
Alexandre Julliard02ed4c21996-03-02 19:34:10 +00001523programs/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001524programs/avitools/Makefile
Alexandre Julliarda11d7b11998-03-01 20:05:02 +00001525programs/clock/Makefile
Eric Williams30008a01999-02-05 17:40:47 +00001526programs/cmdlgtst/Makefile
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001527programs/control/Makefile
Alexandre Julliardacfda142002-05-20 19:18:16 +00001528programs/expand/Makefile
Alexandre Julliard44ed71f1997-12-21 19:17:50 +00001529programs/notepad/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001530programs/osversioncheck/Makefile
Alexandre Julliard02ed4c21996-03-02 19:34:10 +00001531programs/progman/Makefile
Sylvain St.Germain1bb0e661999-03-14 14:00:22 +00001532programs/regapi/Makefile
Andriy Palamarchuk4e2e1762002-04-11 23:58:40 +00001533programs/regedit/Makefile
Andriy Palamarchuk2f0d85c2002-04-29 23:47:39 +00001534programs/regsvr32/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001535programs/regtest/Makefile
Alexandre Julliardd77294a2002-12-02 21:17:04 +00001536programs/rpcss/Makefile
Alberto Massari15e8e0a2002-11-15 01:41:20 +00001537programs/rundll32/Makefile
Dan Kegelba02ae42003-01-21 20:14:36 +00001538programs/start/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001539programs/uninstaller/Makefile
Alexandre Julliarda11d7b11998-03-01 20:05:02 +00001540programs/view/Makefile
Dave Pickles74f440e1999-06-06 15:24:04 +00001541programs/wcmd/Makefile
Shachar Shemesh175d0592003-01-04 02:52:05 +00001542programs/wineboot/Makefile
Eric Pouech0b83d4c2001-11-23 23:04:58 +00001543programs/wineconsole/Makefile
Alexandre Julliardf264bd32002-09-13 17:54:27 +00001544programs/winedbg/Makefile
Alexandre Julliard65a42162002-06-04 21:29:40 +00001545programs/winefile/Makefile
Joshua Thielena3f23802000-03-15 19:06:39 +00001546programs/winemine/Makefile
Mike Wetherell0d8a9fa2002-05-05 20:31:54 +00001547programs/winepath/Makefile
Alexandre Julliard1285c2f1996-05-06 16:06:24 +00001548programs/winhelp/Makefile
Alexandre Julliarde658d821997-11-30 17:45:40 +00001549programs/winver/Makefile
Alexandre Julliard642d3131998-07-12 19:29:36 +00001550server/Makefile
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001551tools/Makefile
Alexandre Julliard7d4ee772002-07-16 03:20:45 +00001552tools/widl/Makefile
Patrik Stridvall647ac512001-07-30 20:21:34 +00001553tools/winapi/Makefile
Alexandre Julliarde482eeb2000-06-23 20:15:35 +00001554tools/winebuild/Makefile
Eric Pouechd786a122001-09-07 16:04:38 +00001555tools/winedump/Makefile
Bertho Stultiens30855912000-06-13 04:34:41 +00001556tools/wmc/Makefile
Alexandre Julliardb7d3c792002-07-16 02:33:10 +00001557tools/wpp/Makefile
Andreas Mohr4eefb962000-08-01 00:27:35 +00001558tools/wrc/Makefile
Alexandre Julliard9bb05fc2002-05-14 18:36:54 +00001559unicode/Makefile])
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001560
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001561AC_OUTPUT
1562
Ove Kaaven8b4431f1999-01-23 13:59:11 +00001563if test "$have_x" = "no"
1564then
1565 echo
1566 echo "*** Warning: X development files not found. Wine will be built without"
1567 echo "*** X support, which currently does not work, and would probably not be"
1568 echo "*** what you want anyway. You will need to install devel packages of"
Alexandre Julliard18e4b5e2002-01-04 18:52:40 +00001569 echo "*** Xlib/Xfree86 at the very least."
Ove Kaaven8b4431f1999-01-23 13:59:11 +00001570fi
1571
Alexandre Julliard638f1691999-01-17 16:32:32 +00001572if test "$ac_cv_lib_ncurses_resizeterm" = "no" -a "$ac_cv_lib_ncurses_waddch" = "yes"
1573then
1574 echo
1575 echo "*** Warning: resizeterm not found in ncurses. Wine will be built without"
1576 echo "*** terminal resize support. Consider upgrading ncurses."
Alexandre Julliard638f1691999-01-17 16:32:32 +00001577fi
1578
Alexandre Julliard7cae5582002-06-01 02:55:48 +00001579if test "$wine_cv_libc_reentrant" = "no"
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001580then
1581 echo
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001582 echo "*** Warning: non-reentrant libc detected. Wine will be built without"
1583 echo "*** threading support. Consider upgrading libc to a more recent"
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001584 echo "*** reentrant version of libc."
Alexandre Julliardd30dfd21998-09-27 18:28:36 +00001585fi
1586
Alexandre Julliard867fb9d2002-04-24 22:24:43 +00001587if test "$have_x" = "yes" -a "$wine_cv_x_reentrant" != "yes"
1588then
1589 echo
1590 echo "*** Warning: non-reentrant X11 library detected. Multi-threaded"
1591 echo "*** applications won't work properly. You should upgrade your X11 library."
1592fi
1593
Lionel Ulmerbedf40b2000-05-12 20:18:14 +00001594if test "$wine_cv_opengl_version_OK" = "no"
Lionel Ulmer5c085701999-02-28 19:48:53 +00001595then
1596 echo
1597 echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
Lionel Ulmer5eee0bf2000-03-24 21:20:33 +00001598 echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1599fi
1600
Ian Pilcher563598d2001-05-16 20:56:05 +00001601if test "$wine_cv_msg_freetype" = "yes"
1602then
1603 echo
1604 echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
Alexandre Julliardf5818d22002-02-14 19:47:29 +00001605 echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1606 echo "*** freetype-devel package (or its equivalent on your distribution) to"
1607 echo "*** enable Wine to use TrueType fonts."
Ian Pilcher563598d2001-05-16 20:56:05 +00001608fi
1609
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001610echo
Steffen Moeller1511bae1999-02-17 15:27:03 +00001611echo "Configure finished. Do 'make depend && make' to compile Wine."
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001612echo
1613
1614dnl Local Variables:
1615dnl comment-start: "dnl "
1616dnl comment-end: ""
1617dnl comment-start-skip: "\\bdnl\\b\\s *"
Alexandre Julliardd7d4fdf1995-12-26 15:05:24 +00001618dnl compile-command: "autoconf"
Alexandre Julliarde2991ea1995-07-29 13:09:43 +00001619dnl End: