Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 1 | dnl Process this file with autoconf to produce a configure script. |
| 2 | dnl Author: Michael Patra <micky@marie.physik.tu-berlin.de> |
| 3 | dnl <patra@itp1.physik.tu-berlin.de> |
| 4 | AC_REVISION([configure.in 1.00]) |
| 5 | AC_INIT(controls/edit.c) |
Alexandre Julliard | 18f92e7 | 1996-07-17 20:02:21 +0000 | [diff] [blame] | 6 | AC_CONFIG_HEADER(include/config.h) |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 7 | AC_CONFIG_AUX_DIR(tools) |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 8 | |
| 9 | # We want these before the checks, so the checks can modify their values. |
Alexandre Julliard | 02e9008 | 1998-01-04 17:49:09 +0000 | [diff] [blame] | 10 | LIBS="$LIBS -lm" |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 11 | test -z "$PROGEXT" && PROGEXT="" AC_SUBST(PROGEXT) |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 12 | |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 13 | dnl **** Command-line arguments **** |
| 14 | |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 15 | dnl Default values |
| 16 | MAIN_TARGET=emu |
| 17 | LIB_TARGET=libwine.a |
Uwe Bonnes | 2a4707a | 1998-10-11 14:57:08 +0000 | [diff] [blame] | 18 | ALT_LINK=" " |
Alexandre Julliard | f90efa9 | 1998-06-14 15:24:15 +0000 | [diff] [blame] | 19 | TRACE_MSGS=yes # the TRACE() macro |
| 20 | DEBUG_MSGS=yes # the TRACE(), WARN(), and FIXME() macros. |
Alexandre Julliard | 7e56f68 | 1996-01-31 19:02:28 +0000 | [diff] [blame] | 21 | |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 22 | AC_ARG_ENABLE(emulator, |
| 23 | [ --disable-emulator build only the Wine library, not the emulator], |
| 24 | [if test "$enableval" = "no"; then MAIN_TARGET="lib"; fi]) |
| 25 | |
| 26 | AC_ARG_ENABLE(dll, |
| 27 | [ --enable-dll build the Wine library as a DLL], |
| 28 | [if test "$enableval" = "no"; then : ; else LIB_TARGET="libwine.so.1.0"; fi]) |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 29 | |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 30 | AC_ARG_ENABLE(lib, |
| 31 | [ --disable-lib build the Wine without building libwine.a], |
Ove Kaaven | 11e1a5e | 1998-11-06 10:01:45 +0000 | [diff] [blame] | 32 | [if test "$enableval" = "no"; then ALT_LINK="\$(LIBOBJS) \$(X11OBJS)"; LIB_TARGET=""; fi]) |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 33 | |
Alexandre Julliard | 02e9008 | 1998-01-04 17:49:09 +0000 | [diff] [blame] | 34 | dnl AC_ARG_WITH(ipc, |
| 35 | dnl [ --enable-ipc use inter-process communication for DDE], |
| 36 | dnl [if test "$enableval" = "no"; then : ; else OPTIONS="-DCONFIG_IPC"; fi]) |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 37 | |
Alexandre Julliard | f90efa9 | 1998-06-14 15:24:15 +0000 | [diff] [blame] | 38 | AC_ARG_ENABLE(debug, |
| 39 | [ --disable-debug compile out all debugging messages], |
| 40 | [if test "$enableval" = "no"; then DEBUG_MSGS="no"; fi]) |
| 41 | |
| 42 | AC_ARG_ENABLE(trace, |
| 43 | [ --disable-trace compile out TRACE messages], |
| 44 | [if test "$enableval" = "no"; then TRACE_MSGS="no"; fi]) |
| 45 | |
Alexandre Julliard | a11d7b1 | 1998-03-01 20:05:02 +0000 | [diff] [blame] | 46 | AC_ARG_WITH(reentrant-x, |
| 47 | [ --without-reentrant-x Compile for use with non-reentrant X libraries]) |
| 48 | |
Alexandre Julliard | 18f92e7 | 1996-07-17 20:02:21 +0000 | [diff] [blame] | 49 | AC_SUBST(MAIN_TARGET) |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 50 | AC_SUBST(LIB_TARGET) |
Uwe Bonnes | 2a4707a | 1998-10-11 14:57:08 +0000 | [diff] [blame] | 51 | AC_SUBST(ALT_LINK) |
Alexandre Julliard | 18f92e7 | 1996-07-17 20:02:21 +0000 | [diff] [blame] | 52 | AC_SUBST(OPTIONS) |
Alexandre Julliard | b7258be | 1995-09-01 15:57:28 +0000 | [diff] [blame] | 53 | |
Alexandre Julliard | f90efa9 | 1998-06-14 15:24:15 +0000 | [diff] [blame] | 54 | if test "$DEBUG_MSGS" = "no" |
| 55 | then |
| 56 | AC_DEFINE(NO_DEBUG_MSGS) |
| 57 | AC_DEFINE(NO_TRACE_MSGS) |
| 58 | else |
| 59 | if test "$TRACE_MSGS" = "no" |
| 60 | then |
| 61 | AC_DEFINE(NO_TRACE_MSGS) |
| 62 | fi |
| 63 | fi |
| 64 | |
Alexandre Julliard | 02e9008 | 1998-01-04 17:49:09 +0000 | [diff] [blame] | 65 | dnl **** Check for some programs **** |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 66 | |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 67 | AC_PROG_MAKE_SET |
| 68 | AC_PROG_CC |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 69 | AC_PROG_CPP |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 70 | AC_PATH_XTRA |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 71 | AC_PROG_YACC |
| 72 | AC_PROG_LEX |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 73 | AC_PROG_RANLIB |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 74 | AC_PROG_INSTALL |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 75 | AC_PROG_LN_S |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 76 | AC_CHECK_PROG(C2MAN,c2man,c2man,true) |
Alexandre Julliard | 02e9008 | 1998-01-04 17:49:09 +0000 | [diff] [blame] | 77 | |
| 78 | dnl **** Check for some libraries **** |
| 79 | |
Alexandre Julliard | d37eb36 | 1997-07-20 16:23:21 +0000 | [diff] [blame] | 80 | dnl Check for -li386 for NetBSD and OpenBSD |
Alexandre Julliard | 02e9008 | 1998-01-04 17:49:09 +0000 | [diff] [blame] | 81 | AC_CHECK_LIB(i386,i386_set_ldt) |
| 82 | dnl Check for -lw for Solaris |
| 83 | AC_CHECK_LIB(w,iswalnum) |
Patrik Stridvall | ea58472 | 1998-11-01 16:22:07 +0000 | [diff] [blame] | 84 | dnl Check for -lnsl for Solaris |
| 85 | AC_CHECK_FUNCS(gethostbyname) |
| 86 | if test "$ac_cv_func_gethostbyname" = "no" |
| 87 | then |
| 88 | AC_CHECK_LIB(nsl,gethostbyname) |
| 89 | fi |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 90 | dnl Check for -lxpg4 for FreeBSD |
| 91 | AC_CHECK_LIB(xpg4,setrunelocale) |
Marcus Meissner | 8220bc9 | 1998-10-11 11:10:27 +0000 | [diff] [blame] | 92 | dnl Check for -ldl |
| 93 | AC_CHECK_LIB(dl,dlopen) |
Patrik Stridvall | ea58472 | 1998-11-01 16:22:07 +0000 | [diff] [blame] | 94 | AC_SUBST(XLIB) |
| 95 | if test "$have_x" = "yes" |
| 96 | then |
| 97 | XLIB="-lXpm -lXext -lX11" |
| 98 | dnl Check for -lXpm |
| 99 | dnl FIXME: should be done once we can compile without -lXpm |
| 100 | dnl AC_CHECK_LIB(Xpm,XpmCreatePixmapFromData,AC_DEFINE(HAVE_LIBXXPM) X_PRE_LIBS="$X_PRE_LIBS -lXpm",,$X_LIBS -lXext -lX11) |
| 101 | dnl Check for X Shm extension |
| 102 | AC_CHECK_LIB(Xext,XShmQueryExtension,AC_DEFINE(HAVE_LIBXXSHM),,$X_LIBS -lXext -lX11) |
| 103 | dnl Check for XFree86 DGA extension |
| 104 | AC_CHECK_LIB(Xxf86dga,XF86DGAQueryExtension,AC_DEFINE(HAVE_LIBXXF86DGA) X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga",,$X_LIBS -lXext -lX11) |
| 105 | else |
| 106 | XLIB="" |
| 107 | X_CFLAGS="" |
| 108 | X_LIBS="" |
| 109 | fi |
Alexandre Julliard | 0623a6f | 1998-01-18 18:01:49 +0000 | [diff] [blame] | 110 | |
| 111 | dnl **** Check for Open Sound System **** |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 112 | AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h) |
Alexandre Julliard | 0623a6f | 1998-01-18 18:01:49 +0000 | [diff] [blame] | 113 | |
| 114 | AC_CACHE_CHECK("for Open Sound System", |
| 115 | ac_cv_c_opensoundsystem, |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 116 | AC_TRY_COMPILE([ |
| 117 | #ifdef HAVE_SYS_SOUNDCARD_H |
| 118 | #include <sys/soundcard.h> |
| 119 | #endif |
| 120 | #ifdef HAVE_MACHINE_SOUNDCARD_H |
| 121 | #include <machine/soundcard.h> |
| 122 | #endif |
| 123 | ],[ |
| 124 | |
Alexandre Julliard | 60ce85c | 1998-02-01 18:33:27 +0000 | [diff] [blame] | 125 | /* check for one of the Open Sound System specific SNDCTL_ defines */ |
| 126 | #if !defined(SNDCTL_DSP_STEREO) |
Alexandre Julliard | 0623a6f | 1998-01-18 18:01:49 +0000 | [diff] [blame] | 127 | #error No open sound system |
| 128 | #endif |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 129 | ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no")) |
| 130 | |
| 131 | if test "$ac_cv_c_opensoundsystem" = "yes" |
| 132 | then |
| 133 | AC_DEFINE(HAVE_OSS) |
| 134 | fi |
Alexandre Julliard | 0623a6f | 1998-01-18 18:01:49 +0000 | [diff] [blame] | 135 | |
| 136 | dnl **** Check for union semun **** |
| 137 | |
| 138 | AC_CACHE_CHECK("for union semun", ac_cv_c_union_semun, |
Alexandre Julliard | 60ce85c | 1998-02-01 18:33:27 +0000 | [diff] [blame] | 139 | AC_TRY_COMPILE([#include <sys/types.h> |
| 140 | #include <sys/sem.h>],[union semun foo], |
Alexandre Julliard | 0623a6f | 1998-01-18 18:01:49 +0000 | [diff] [blame] | 141 | ac_cv_c_union_semun="yes", ac_cv_c_union_semun="no")) |
| 142 | if test "$ac_cv_c_union_semun" = "yes" |
| 143 | then |
| 144 | AC_DEFINE(HAVE_UNION_SEMUN) |
| 145 | fi |
Alexandre Julliard | 902da69 | 1995-11-05 14:39:02 +0000 | [diff] [blame] | 146 | |
Alexandre Julliard | 641ee76 | 1997-08-04 16:34:36 +0000 | [diff] [blame] | 147 | dnl **** If ln -s doesn't work, use cp instead **** |
| 148 | if test "$ac_cv_prog_LN_S" = "ln -s"; then : ; else LN_S=cp ; fi |
| 149 | |
Alexandre Julliard | 4f8c37b | 1996-01-14 18:12:01 +0000 | [diff] [blame] | 150 | dnl **** Check for gcc strength-reduce bug **** |
| 151 | |
| 152 | if test "x${GCC}" = "xyes" |
| 153 | then |
| 154 | CFLAGS="$CFLAGS -Wall" |
Alexandre Julliard | 4f8c37b | 1996-01-14 18:12:01 +0000 | [diff] [blame] | 155 | AC_CACHE_CHECK( "for gcc strength-reduce bug", ac_cv_c_gcc_strength_bug, |
| 156 | AC_TRY_RUN([ |
| 157 | int main(void) { |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 158 | static int Array[[3]]; |
Alexandre Julliard | 4f8c37b | 1996-01-14 18:12:01 +0000 | [diff] [blame] | 159 | unsigned int B = 3; |
| 160 | int i; |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 161 | for(i=0; i<B; i++) Array[[i]] = i - 3; |
| 162 | exit( Array[[1]] != -2 ); |
Alexandre Julliard | 4f8c37b | 1996-01-14 18:12:01 +0000 | [diff] [blame] | 163 | }], |
| 164 | ac_cv_c_gcc_strength_bug="no", |
| 165 | ac_cv_c_gcc_strength_bug="yes", |
| 166 | ac_cv_c_gcc_strength_bug="yes") ) |
| 167 | if test "$ac_cv_c_gcc_strength_bug" = "yes" |
| 168 | then |
| 169 | CFLAGS="$CFLAGS -fno-strength-reduce" |
| 170 | fi |
| 171 | fi |
| 172 | |
Alexandre Julliard | 8cc3a5e | 1996-08-11 15:49:51 +0000 | [diff] [blame] | 173 | dnl **** Check for underscore on external symbols **** |
| 174 | |
| 175 | AC_CACHE_CHECK("whether external symbols need an underscore prefix", |
| 176 | ac_cv_c_extern_prefix, |
| 177 | [saved_libs=$LIBS |
| 178 | LIBS="conftest_asm.s $LIBS" |
| 179 | cat > conftest_asm.s <<EOF |
| 180 | .globl _ac_test |
| 181 | _ac_test: |
| 182 | .long 0 |
| 183 | EOF |
| 184 | AC_TRY_LINK([extern int ac_test;],[if (ac_test) return 1], |
| 185 | ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no") |
| 186 | LIBS=$saved_libs]) |
| 187 | if test "$ac_cv_c_extern_prefix" = "yes" |
| 188 | then |
| 189 | AC_DEFINE(NEED_UNDERSCORE_PREFIX) |
| 190 | fi |
| 191 | |
Alexandre Julliard | 0623a6f | 1998-01-18 18:01:49 +0000 | [diff] [blame] | 192 | dnl **** Check for .string in assembler **** |
| 193 | |
| 194 | AC_CACHE_CHECK("whether assembler accepts .string", |
| 195 | ac_cv_c_asm_string, |
| 196 | [saved_libs=$LIBS |
| 197 | LIBS="conftest_asm.s $LIBS" |
| 198 | cat > conftest_asm.s <<EOF |
| 199 | .string "test" |
| 200 | EOF |
| 201 | AC_TRY_LINK(,,ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no") |
| 202 | LIBS=$saved_libs]) |
| 203 | if test "$ac_cv_c_asm_string" = "yes" |
| 204 | then |
| 205 | AC_DEFINE(HAVE_ASM_STRING) |
| 206 | fi |
| 207 | |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 208 | dnl **** Check for working dll **** |
| 209 | |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 210 | DLLFLAGS="" |
| 211 | if test "$LIB_TARGET" = "libwine.so.1.0" |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 212 | then |
| 213 | AC_CACHE_CHECK("whether we can build a dll", |
| 214 | ac_cv_c_dll, |
| 215 | [saved_cflags=$CFLAGS |
| 216 | CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0" |
| 217 | AC_TRY_LINK(,[return 1],ac_cv_c_dll="yes",ac_cv_c_dll="no") |
| 218 | CFLAGS=$saved_cflags |
| 219 | ]) |
| 220 | if test "$ac_cv_c_dll" = "yes" |
| 221 | then |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 222 | DLLFLAGS="-fPIC" |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 223 | else |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 224 | LIB_TARGET="libwine.a" |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 225 | fi |
| 226 | fi |
Alexandre Julliard | a0b2b1d | 1997-11-16 17:38:29 +0000 | [diff] [blame] | 227 | AC_SUBST(DLLFLAGS) |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 228 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 229 | dnl **** Check for reentrant libc **** |
| 230 | dnl |
| 231 | dnl For cross-compiling we blindly assume that libc is reentrant. This is |
| 232 | dnl ok since non-reentrant libc is quite rare (mostly old libc5 versions). |
| 233 | |
| 234 | AC_CACHE_CHECK("for reentrant libc", wine_cv_libc_reentrant, |
| 235 | [AC_TRY_RUN([int myerrno = 0; |
| 236 | char buf[256]; |
| 237 | int *__errno_location(){return &myerrno;} |
| 238 | main(){connect(0,buf,255); exit(!myerrno);}], |
| 239 | wine_cv_libc_reentrant=yes, wine_cv_libc_reentrant=no, |
| 240 | wine_cv_libc_reentrant=yes ) ] ) |
| 241 | if test "$wine_cv_libc_reentrant" = "no" |
| 242 | then |
| 243 | AC_DEFINE(NO_REENTRANT_LIBC) |
| 244 | fi |
| 245 | |
Alexandre Julliard | a11d7b1 | 1998-03-01 20:05:02 +0000 | [diff] [blame] | 246 | dnl **** Check for reentrant X libraries **** |
| 247 | dnl |
| 248 | dnl This may fail to determine whether X libraries are reentrant if |
| 249 | dnl AC_PATH_XTRA does not set x_libraries. In this case manual configuration |
| 250 | dnl is possible with the --without-reentrant-x option. |
| 251 | |
| 252 | AC_CACHE_CHECK( "for reentrant X libraries", wine_cv_x_reentrant, |
| 253 | [ if test "x$with_reentrant_x" = "xno" |
| 254 | then |
| 255 | wine_cv_x_reentrant=no |
| 256 | else |
| 257 | libX11_ckeck=none |
| 258 | for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do |
Alexandre Julliard | 829fe32 | 1998-07-26 14:27:39 +0000 | [diff] [blame] | 259 | if test -r $dir/libX11.so; then |
Alexandre Julliard | a11d7b1 | 1998-03-01 20:05:02 +0000 | [diff] [blame] | 260 | libX11_check="-D $dir/libX11.so" |
| 261 | break 1 |
| 262 | fi |
Alexandre Julliard | 829fe32 | 1998-07-26 14:27:39 +0000 | [diff] [blame] | 263 | if test -r $dir/libX11.a; then |
Alexandre Julliard | a11d7b1 | 1998-03-01 20:05:02 +0000 | [diff] [blame] | 264 | libX11_check="$dir/libX11.a" |
| 265 | break 1 |
| 266 | fi |
| 267 | done |
| 268 | if test "$libX11_check" != "none"; then |
Alexandre Julliard | 829fe32 | 1998-07-26 14:27:39 +0000 | [diff] [blame] | 269 | if nm $libX11_check | grep __errno_location >/dev/null 2>&1 |
| 270 | then |
Alexandre Julliard | a11d7b1 | 1998-03-01 20:05:02 +0000 | [diff] [blame] | 271 | wine_cv_x_reentrant=yes |
| 272 | else |
| 273 | wine_cv_x_reentrant=no |
| 274 | fi |
| 275 | else |
| 276 | wine_cv_x_reentrant=unknown |
| 277 | fi |
| 278 | fi ] ) |
| 279 | if test "$wine_cv_x_reentrant" = "no" |
| 280 | then |
| 281 | AC_DEFINE(NO_REENTRANT_X11) |
| 282 | fi |
| 283 | |
Alexandre Julliard | 902da69 | 1995-11-05 14:39:02 +0000 | [diff] [blame] | 284 | dnl **** Check for functions and header files **** |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 285 | |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 286 | AC_CHECK_FUNCS(clone getpagesize memmove sendmsg sigaltstack strerror stricmp tcgetattr timegm usleep wait4 waitpid vfscanf) |
Stephen Langasek | dc16342 | 1998-11-08 15:42:40 +0000 | [diff] [blame] | 287 | AC_CHECK_HEADERS(wctype.h sys/syscall.h syscall.h sys/param.h sys/vfs.h sys/mount.h sys/statfs.h float.h linux/cdrom.h linux/ucdrom.h sys/cdio.h sys/filio.h sys/modem.h strings.h sys/strtio.h dlfcn.h unistd.h sys/sockio.h net/if.h netinet/in.h linux/ipx.h) |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 288 | AC_HEADER_STAT() |
| 289 | AC_C_CONST() |
| 290 | AC_TYPE_SIZE_T() |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 291 | AC_CHECK_SIZEOF(long long,0) |
| 292 | |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 293 | dnl **** Check for sendmsg in -lsocket if not found above **** |
| 294 | |
| 295 | if test $ac_cv_func_sendmsg = no; then |
| 296 | AC_CHECK_LIB(socket,sendmsg) |
| 297 | fi |
| 298 | |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 299 | dnl **** statfs checks **** |
| 300 | |
| 301 | if test "$ac_cv_header_sys_vfs_h" = "yes" |
| 302 | then |
| 303 | AC_CACHE_CHECK( "whether sys/vfs.h defines statfs", |
| 304 | wine_cv_sys_vfs_has_statfs, |
| 305 | AC_TRY_COMPILE([ |
| 306 | #include <sys/types.h> |
| 307 | #ifdef HAVE_SYS_PARAM_H |
| 308 | # include <sys/param.h> |
| 309 | #endif |
| 310 | #include <sys/vfs.h> |
| 311 | ],[ |
| 312 | struct statfs stfs; |
| 313 | |
| 314 | memset(&stfs,0,sizeof(stfs)); |
| 315 | ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no |
| 316 | ) |
| 317 | ) |
| 318 | if test "$wine_cv_sys_vfs_has_statfs" = "yes" |
| 319 | then |
| 320 | AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS) |
| 321 | fi |
| 322 | fi |
| 323 | |
| 324 | if test "$ac_cv_header_sys_statfs_h" = "yes" |
| 325 | then |
| 326 | AC_CACHE_CHECK( "whether sys/statfs.h defines statfs", |
| 327 | wine_cv_sys_statfs_has_statfs, |
| 328 | AC_TRY_COMPILE([ |
| 329 | #include <sys/types.h> |
| 330 | #ifdef HAVE_SYS_PARAM_H |
| 331 | # include <sys/param.h> |
| 332 | #endif |
| 333 | #include <sys/statfs.h> |
| 334 | ],[ |
| 335 | struct statfs stfs; |
| 336 | ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no |
| 337 | ) |
| 338 | ) |
| 339 | if test "$wine_cv_sys_statfs_has_statfs" = "yes" |
| 340 | then |
| 341 | AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS) |
| 342 | fi |
| 343 | fi |
| 344 | |
| 345 | if test "$ac_cv_header_sys_mount_h" = "yes" |
| 346 | then |
| 347 | AC_CACHE_CHECK( "whether sys/mount.h defines statfs", |
| 348 | wine_cv_sys_mount_has_statfs, |
| 349 | AC_TRY_COMPILE([ |
| 350 | #include <sys/types.h> |
| 351 | #ifdef HAVE_SYS_PARAM_H |
| 352 | # include <sys/param.h> |
| 353 | #endif |
| 354 | #include <sys/mount.h> |
| 355 | ],[ |
| 356 | struct statfs stfs; |
| 357 | ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no |
| 358 | ) |
| 359 | ) |
| 360 | if test "$wine_cv_sys_mount_has_statfs" = "yes" |
| 361 | then |
| 362 | AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT) |
| 363 | fi |
| 364 | fi |
| 365 | |
| 366 | dnl **** FIXME: what about mixed cases, where we need two of them? *** |
| 367 | |
| 368 | AC_CACHE_CHECK( "for statfs.f_bfree", wine_cv_statfs_bfree, |
| 369 | [ if test "x$statfs_bfree" = "xno" |
| 370 | then |
| 371 | wine_cv_statfs_bfree=no |
| 372 | else |
| 373 | AC_TRY_COMPILE([ |
| 374 | #include <sys/types.h> |
| 375 | #ifdef HAVE_SYS_PARAM_H |
| 376 | # include <sys/param.h> |
| 377 | #endif |
| 378 | #ifdef STATFS_DEFINED_BY_SYS_MOUNT |
| 379 | # include <sys/mount.h> |
| 380 | #else |
| 381 | # ifdef STATFS_DEFINED_BY_SYS_VFS |
| 382 | # include <sys/vfs.h> |
| 383 | # else |
| 384 | # ifdef STATFS_DEFINED_BY_SYS_STATFS |
| 385 | # include <sys/statfs.h> |
| 386 | # endif |
| 387 | # endif |
| 388 | #endif |
| 389 | ],[ |
| 390 | struct statfs stfs; |
| 391 | |
| 392 | stfs.f_bfree++; |
| 393 | ],wine_cv_statfs_bfree=yes,wine_cv_statfs_bfree=no |
| 394 | ) |
| 395 | fi ] ) |
| 396 | if test "$wine_cv_statfs_bfree" = "yes" |
| 397 | then |
| 398 | AC_DEFINE(STATFS_HAS_BFREE) |
| 399 | fi |
| 400 | |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 401 | AC_CACHE_CHECK( "for statfs.f_bavail", wine_cv_statfs_bavail, |
| 402 | [ if test "x$statfs_bavail" = "xno" |
| 403 | then |
| 404 | wine_cv_statfs_bavail=no |
| 405 | else |
| 406 | AC_TRY_COMPILE([ |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 407 | #include <sys/types.h> |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 408 | #ifdef HAVE_SYS_PARAM_H |
| 409 | # include <sys/param.h> |
| 410 | #endif |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 411 | #ifdef STATFS_DEFINED_BY_SYS_MOUNT |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 412 | # include <sys/mount.h> |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 413 | #else |
| 414 | # ifdef STATFS_DEFINED_BY_SYS_VFS |
| 415 | # include <sys/vfs.h> |
| 416 | # else |
| 417 | # ifdef STATFS_DEFINED_BY_SYS_STATFS |
| 418 | # include <sys/statfs.h> |
| 419 | # endif |
| 420 | # endif |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 421 | #endif |
| 422 | ],[ |
| 423 | struct statfs stfs; |
| 424 | |
| 425 | stfs.f_bavail++; |
| 426 | ],wine_cv_statfs_bavail=yes,wine_cv_statfs_bavail=no |
| 427 | ) |
| 428 | fi ] ) |
| 429 | if test "$wine_cv_statfs_bavail" = "yes" |
| 430 | then |
| 431 | AC_DEFINE(STATFS_HAS_BAVAIL) |
| 432 | fi |
| 433 | |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 434 | dnl *** check for working sigaltstack |
| 435 | dnl glibc 2.0x defines it, but it always fails... so it is useless for us. |
| 436 | |
| 437 | AC_CACHE_CHECK("for working sigaltstack", |
| 438 | ac_cv_c_working_sigaltstack, |
| 439 | AC_TRY_RUN([ |
| 440 | #include <stdio.h> |
| 441 | #include <time.h> /* <sys/time.h> ? bad magic without end */ |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 442 | #include <sys/types.h> |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 443 | #include <sys/signal.h> |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 444 | #ifdef HAVE_SYS_PARAM_H |
| 445 | # include <sys/param.h> |
| 446 | #endif |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 447 | #ifdef HAVE_SYSCALL_H |
| 448 | # include <syscall.h> |
| 449 | #else |
| 450 | # ifdef HAVE_SYS_SYSCALL_H |
| 451 | # include <sys/syscall.h> |
| 452 | # endif |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 453 | #endif |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 454 | |
| 455 | unsigned char *xaltstack; |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 456 | |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 457 | int |
| 458 | main(int argc,char **argv) { |
| 459 | struct sigaltstack ss; |
| 460 | |
| 461 | xaltstack = malloc(16384); |
| 462 | ss.ss_sp = xaltstack; |
| 463 | ss.ss_size = 16384; |
| 464 | ss.ss_flags = 0; |
| 465 | if (sigaltstack(&ss, NULL) < 0) { |
| 466 | /* this catches the glibc case */ |
| 467 | perror("sigaltstack"); |
| 468 | return (1); /* aka exit(1) aka fail */ |
| 469 | } |
| 470 | /* assume it works. */ |
| 471 | return 0; /* OK */ |
| 472 | } |
| 473 | ], |
| 474 | ac_cv_c_working_sigaltstack="yes", |
| 475 | ac_cv_c_working_sigaltstack="no", |
| 476 | ac_cv_c_working_sigaltstack="no" |
| 477 | )) |
| 478 | |
| 479 | if test "$ac_cv_c_working_sigaltstack" = "yes" |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 480 | then |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 481 | AC_DEFINE(HAVE_WORKING_SIGALTSTACK) |
Alexandre Julliard | c7c217b | 1998-04-13 12:21:30 +0000 | [diff] [blame] | 482 | fi |
| 483 | |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 484 | |
Alexandre Julliard | 829fe32 | 1998-07-26 14:27:39 +0000 | [diff] [blame] | 485 | dnl *** check for file descriptor passing with msg_accrights |
| 486 | |
| 487 | AC_CACHE_CHECK("for msg_accrights in struct msghdr", ac_cv_c_msg_accrights, |
| 488 | AC_TRY_COMPILE([#include <sys/types.h> |
| 489 | #include <sys/socket.h>],[struct msghdr hdr; hdr.msg_accrights=0], |
| 490 | ac_cv_c_msg_accrights="yes", ac_cv_c_msg_accrights="no")) |
| 491 | if test "$ac_cv_c_msg_accrights" = "yes" |
| 492 | then |
| 493 | AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS) |
| 494 | fi |
| 495 | |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 496 | dnl **** Generate output files **** |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 497 | |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 498 | MAKE_RULES=Make.rules |
Alexandre Julliard | ff8331e | 1995-09-18 11:19:54 +0000 | [diff] [blame] | 499 | AC_SUBST_FILE(MAKE_RULES) |
| 500 | |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 501 | AC_OUTPUT([ |
| 502 | Make.rules |
| 503 | Makefile |
| 504 | controls/Makefile |
| 505 | debugger/Makefile |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 506 | dlls/Makefile |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 507 | dlls/comctl32/Makefile |
Patrik Stridvall | 8295c86 | 1998-10-11 17:09:05 +0000 | [diff] [blame] | 508 | dlls/imagehlp/Makefile |
| 509 | dlls/msacm/Makefile |
| 510 | dlls/msacm32/Makefile |
Marcus Meissner | 51505b1 | 1998-11-01 14:00:21 +0000 | [diff] [blame] | 511 | dlls/ntdll/Makefile |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 512 | dlls/psapi/Makefile |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 513 | dlls/shell32/Makefile |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 514 | dlls/winaspi/Makefile |
| 515 | dlls/wnaspi32/Makefile |
Alexandre Julliard | d37eb36 | 1997-07-20 16:23:21 +0000 | [diff] [blame] | 516 | documentation/Makefile |
Alexandre Julliard | 4f8c37b | 1996-01-14 18:12:01 +0000 | [diff] [blame] | 517 | files/Makefile |
Alexandre Julliard | 0e270f4 | 1996-08-24 18:26:35 +0000 | [diff] [blame] | 518 | graphics/Makefile |
Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 519 | graphics/metafiledrv/Makefile |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 520 | graphics/psdrv/Makefile |
Alexandre Julliard | 0e270f4 | 1996-08-24 18:26:35 +0000 | [diff] [blame] | 521 | graphics/win16drv/Makefile |
| 522 | graphics/x11drv/Makefile |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 523 | if1632/Makefile |
| 524 | ipc/Makefile |
| 525 | library/Makefile |
| 526 | libtest/Makefile |
| 527 | loader/Makefile |
Alexandre Julliard | 46ea8b3 | 1998-05-03 19:01:20 +0000 | [diff] [blame] | 528 | loader/ne/Makefile |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 529 | loader/dos/Makefile |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 530 | memory/Makefile |
| 531 | misc/Makefile |
| 532 | miscemu/Makefile |
Alexandre Julliard | 9ea19e5 | 1997-01-01 17:29:55 +0000 | [diff] [blame] | 533 | msdos/Makefile |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 534 | multimedia/Makefile |
| 535 | objects/Makefile |
Alexandre Julliard | e658d82 | 1997-11-30 17:45:40 +0000 | [diff] [blame] | 536 | ole/Makefile |
Alexandre Julliard | 02ed4c2 | 1996-03-02 19:34:10 +0000 | [diff] [blame] | 537 | programs/Makefile |
Alexandre Julliard | a11d7b1 | 1998-03-01 20:05:02 +0000 | [diff] [blame] | 538 | programs/clock/Makefile |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 539 | programs/control/Makefile |
Alexandre Julliard | 44ed71f | 1997-12-21 19:17:50 +0000 | [diff] [blame] | 540 | programs/notepad/Makefile |
Alexandre Julliard | 02ed4c2 | 1996-03-02 19:34:10 +0000 | [diff] [blame] | 541 | programs/progman/Makefile |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 542 | programs/regtest/Makefile |
Alexandre Julliard | a11d7b1 | 1998-03-01 20:05:02 +0000 | [diff] [blame] | 543 | programs/view/Makefile |
Alexandre Julliard | 1285c2f | 1996-05-06 16:06:24 +0000 | [diff] [blame] | 544 | programs/winhelp/Makefile |
Alexandre Julliard | e658d82 | 1997-11-30 17:45:40 +0000 | [diff] [blame] | 545 | programs/winver/Makefile |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 546 | rc/Makefile |
Alexandre Julliard | 44ed71f | 1997-12-21 19:17:50 +0000 | [diff] [blame] | 547 | relay32/Makefile |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 548 | resources/Makefile |
Alexandre Julliard | 9ea19e5 | 1997-01-01 17:29:55 +0000 | [diff] [blame] | 549 | scheduler/Makefile |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 550 | server/Makefile |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 551 | tools/Makefile |
Alexandre Julliard | a845b88 | 1998-06-01 10:44:35 +0000 | [diff] [blame] | 552 | tools/wrc/Makefile |
Alexandre Julliard | 60ce85c | 1998-02-01 18:33:27 +0000 | [diff] [blame] | 553 | tsx11/Makefile |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 554 | win32/Makefile |
Patrik Stridvall | ea58472 | 1998-11-01 16:22:07 +0000 | [diff] [blame] | 555 | windows/Makefile |
| 556 | windows/x11drv/Makefile ]) |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 557 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 558 | if test "$wine_cv_libc_reentrant" = "no" |
| 559 | then |
| 560 | echo |
| 561 | echo "*** Warning: non-reentrant libc detected. Wine will be build without" |
| 562 | echo "*** thread support. Consider upgrading libc to a more recent" |
| 563 | echo "*** reentrant version of libc." |
| 564 | echo |
| 565 | fi |
| 566 | |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 567 | echo |
| 568 | echo "Configure finished. Do 'make depend; make' to compile Wine." |
| 569 | echo |
| 570 | |
| 571 | dnl Local Variables: |
| 572 | dnl comment-start: "dnl " |
| 573 | dnl comment-end: "" |
| 574 | dnl comment-start-skip: "\\bdnl\\b\\s *" |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 575 | dnl compile-command: "autoconf" |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 576 | dnl End: |