mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 15:55:03 +00:00
a627873ab2
incompatible with the GLX implementation (e.g. nvidia). Removed the old "OSMesa not found" warning.
1331 lines
35 KiB
Plaintext
1331 lines
35 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
dnl Author: Michael Patra <micky@marie.physik.tu-berlin.de>
|
|
dnl <patra@itp1.physik.tu-berlin.de>
|
|
AC_REVISION([configure.in 1.00])
|
|
AC_INIT(controls/edit.c)
|
|
AC_CONFIG_HEADER(include/config.h)
|
|
AC_CONFIG_AUX_DIR(tools)
|
|
|
|
dnl **** Command-line arguments ****
|
|
|
|
dnl Default values
|
|
LIBEXT=so # library type .so or .a
|
|
TRACE_MSGS=yes # the TRACE() macro
|
|
DEBUG_MSGS=yes # the TRACE(), WARN(), and FIXME() macros.
|
|
CURSES=yes
|
|
OPENGL=normal
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
[ --disable-debug compile out all debugging messages],
|
|
[if test "$enableval" = "no"; then DEBUG_MSGS="no"; fi])
|
|
|
|
AC_ARG_ENABLE(opengl,
|
|
[ --enable-opengl force usage of OpenGL even if the latter is thread-safe via pthread],
|
|
[if test "$enableval" = "no"; then OPENGL="no"; elif test "$enableval" = "yes"; then OPENGL="yes"; fi])
|
|
|
|
AC_ARG_ENABLE(trace,
|
|
[ --disable-trace compile out TRACE messages],
|
|
[if test "$enableval" = "no"; then TRACE_MSGS="no"; fi])
|
|
|
|
AC_ARG_WITH(curses,
|
|
[ --without-curses do not use curses],
|
|
[if test "$withval" = "no"; then CURSES="no"; fi])
|
|
|
|
AC_ARG_WITH(reentrant-x,
|
|
[ --without-reentrant-x compile for use with non-reentrant X libraries])
|
|
|
|
AC_SUBST(OPTIONS)
|
|
|
|
if test "$DEBUG_MSGS" = "no"
|
|
then
|
|
AC_DEFINE(NO_DEBUG_MSGS)
|
|
AC_DEFINE(NO_TRACE_MSGS)
|
|
else
|
|
if test "$TRACE_MSGS" = "no"
|
|
then
|
|
AC_DEFINE(NO_TRACE_MSGS)
|
|
fi
|
|
fi
|
|
|
|
dnl **** Check for some programs ****
|
|
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_PATH_XTRA
|
|
AC_PROG_YACC
|
|
AC_PROG_LEX
|
|
AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
|
|
if test "$XLEX" = "none"
|
|
then
|
|
echo "*** Error: No suitable lex found. ***"
|
|
echo " Please install the 'flex' package."
|
|
exit 1
|
|
fi
|
|
AC_DECL_YYTEXT
|
|
AC_PROG_RANLIB
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_CHECK_PROG(C2MAN,c2man,c2man,\$(TOPSRCDIR)/tools/c2man.pl)
|
|
AC_PATH_PROG(LDCONFIG, ldconfig, true, /sbin:/usr/sbin:$PATH)
|
|
AC_CYGWIN
|
|
AC_CHECK_PROG(DLLWRAP,dllwrap,dllwrap,false)
|
|
|
|
dnl Check for lint
|
|
AC_CHECK_PROGS(LINT, lclint lint)
|
|
if test "$LINT" = "lint"
|
|
then
|
|
LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
|
|
dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
|
|
fi
|
|
AC_SUBST(LINT)
|
|
AC_SUBST(LINTFLAGS)
|
|
|
|
if test "$CYGWIN" = "yes"
|
|
then
|
|
LDCOMBINE="ld -r --enable-stdcall-fixup"
|
|
else
|
|
LDCOMBINE="ld -r"
|
|
fi
|
|
AC_SUBST(LDCOMBINE)
|
|
|
|
dnl **** Check for some libraries ****
|
|
|
|
dnl Check for -lm for BeOS
|
|
AC_CHECK_LIB(m,sqrt)
|
|
dnl Check for -li386 for NetBSD and OpenBSD
|
|
AC_CHECK_LIB(i386,i386_set_ldt)
|
|
dnl Check for -lossaudio for NetBSD
|
|
AC_CHECK_LIB(ossaudio,_oss_ioctl)
|
|
dnl Check for -lw for Solaris
|
|
AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
|
|
dnl Check for -lnsl for Solaris
|
|
AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
|
|
dnl Check for -lsocket for Solaris
|
|
AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
|
|
dnl Check for -lxpg4 for FreeBSD
|
|
AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
|
|
dnl Check for -lmmap for OS/2
|
|
AC_CHECK_LIB(mmap,mmap)
|
|
dnl Check for openpty
|
|
AC_CHECK_FUNCS(openpty,,
|
|
AC_CHECK_LIB(util,openpty,
|
|
AC_DEFINE(HAVE_OPENPTY)
|
|
LIBS="$LIBS -lutil"
|
|
))
|
|
|
|
AC_CHECK_HEADERS(dlfcn.h,
|
|
AC_CHECK_FUNCS(dlopen,
|
|
AC_DEFINE(HAVE_DL_API),
|
|
AC_CHECK_LIB(dl,dlopen,
|
|
AC_DEFINE(HAVE_DL_API)
|
|
LIBS="$LIBS -ldl",
|
|
LIBEXT="a"
|
|
)
|
|
),
|
|
LIBEXT="a"
|
|
)
|
|
AC_SUBST(XLIB)
|
|
AC_SUBST(X_DLLS)
|
|
X_DLLS=""
|
|
AC_SUBST(XFILES)
|
|
XFILES=""
|
|
AC_SUBST(OPENGLFILES)
|
|
OPENGLFILES=""
|
|
AC_SUBST(OPENGL32_DLL)
|
|
OPENGL32_DLL=""
|
|
if test "$have_x" = "yes"
|
|
then
|
|
XLIB="-lXext -lX11"
|
|
ac_save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
|
|
|
dnl *** Check for -lXpm
|
|
AC_CHECK_HEADERS(X11/xpm.h,
|
|
[ dnl *** If X11/xpm.h exists...
|
|
AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData,
|
|
[ AC_DEFINE(HAVE_LIBXXPM) X_PRE_LIBS="$X_PRE_LIBS -lXpm"],,
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS
|
|
)
|
|
],
|
|
[ dnl *** If X11/xpm.h does not exist...
|
|
dnl NOTE: autoconf does not allow commas inside the third
|
|
dnl parameter to AC_CHECK_HEADERS, due to some quoting
|
|
dnl magic it does.
|
|
echo "Redhat : xpm xpm-devel"
|
|
echo "Caldera OpenLinux : xpm xpm-devel xpm-devel-static"
|
|
echo "SuSE : xpm"
|
|
echo "Debian/Corel Linux: xpm4g xpm4g-dev"
|
|
echo
|
|
echo "Or get the sources from ftp.x.org and all its mirror sites from "
|
|
echo "the directory /contrib/libraries."
|
|
echo
|
|
exit 1
|
|
]
|
|
)
|
|
|
|
dnl *** All three of the following tests require X11/Xlib.h
|
|
AC_CHECK_HEADERS(X11/Xlib.h,
|
|
[
|
|
dnl *** Check for X keyboard extension
|
|
AC_CHECK_HEADERS(X11/XKBlib.h,
|
|
[ dnl *** If X11/XKBlib.h exists...
|
|
AC_CHECK_LIB(X11, XkbQueryExtension,
|
|
AC_DEFINE(HAVE_XKB),,
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
|
],
|
|
AC_MSG_WARN([XKB extension not found!!])
|
|
)
|
|
|
|
dnl *** Check for X Shm extension
|
|
AC_CHECK_HEADERS(X11/extensions/XShm.h,
|
|
[ dnl *** If X11/extensions/XShm.h exists...
|
|
AC_CHECK_LIB(Xext, XShmQueryExtension,
|
|
AC_DEFINE(HAVE_LIBXXSHM),,
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
|
],
|
|
AC_MSG_WARN([Xshm extension not found!!])
|
|
)
|
|
|
|
dnl *** Check for X shape extension
|
|
AC_CHECK_HEADERS(X11/extensions/shape.h,
|
|
[ dnl *** If X11/extensions/shape.h exists...
|
|
AC_CHECK_LIB(Xext,XShapeQueryExtension,
|
|
AC_DEFINE(HAVE_LIBXSHAPE),,
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
|
],
|
|
AC_MSG_WARN([XShape extension not found!!])
|
|
)
|
|
|
|
dnl *** Check for XFree86 DGA / DGA 2.0 extension
|
|
AC_CHECK_HEADERS(X11/extensions/xf86dga.h,
|
|
[ dnl *** If X11/extensions/xf86dga.h exists, check
|
|
dnl *** for XDGAQueryExtension()...
|
|
AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
|
|
[ dnl *** If found...
|
|
AC_DEFINE(HAVE_LIBXXF86DGA2)
|
|
AC_DEFINE(HAVE_LIBXXF86DGA)
|
|
X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
|
|
],
|
|
[ dnl *** If not found, look for XF86DGAQueryExtension()
|
|
dnl *** instead (DGA 2.0 not found)...
|
|
AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
|
|
[ AC_DEFINE(HAVE_LIBXXF86DGA)
|
|
X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
|
|
],,
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS
|
|
)
|
|
],
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS
|
|
)
|
|
],
|
|
AC_MSG_WARN([DGA extension not found!!])
|
|
)
|
|
|
|
dnl *** Check for XFree86 VMODE extension
|
|
AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,
|
|
[ dnl *** If X11/extensions/xf86vmode.h exists...
|
|
AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
|
|
[ AC_DEFINE(HAVE_LIBXXF86VM)
|
|
X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
|
|
],,
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS
|
|
)
|
|
],
|
|
AC_MSG_WARN([XFree86 VMODE extension not found!!])
|
|
)
|
|
|
|
dnl *** Check for XVideo extension supporting XvImages
|
|
AC_CHECK_HEADERS(X11/extensions/Xvlib.h,
|
|
[ dnl *** If X11/extensions/Xvlib.h exists...
|
|
AC_CHECK_LIB(Xv, XvShmCreateImage,
|
|
[ AC_DEFINE(HAVE_XVIDEO)
|
|
X_PRE_LIBS="$X_PRE_LIBS -lXv"
|
|
],,
|
|
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS
|
|
)
|
|
],
|
|
AC_MSG_WARN([XVideo extension not found !!])
|
|
)
|
|
|
|
]
|
|
) dnl *** End of X11/Xlib.h check
|
|
|
|
dnl Check for the presence of OpenGL
|
|
if test $OPENGL = "yes" -o $OPENGL = "normal"
|
|
then
|
|
AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.h)
|
|
if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
|
|
then
|
|
dnl Check for some problems due to old Mesa versions
|
|
AC_CACHE_CHECK("for up-to-date OpenGL version", wine_cv_opengl_version_OK,
|
|
AC_TRY_COMPILE(
|
|
[#include <GL/gl.h>],
|
|
[GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
|
|
[wine_cv_opengl_version_OK="yes"],
|
|
[wine_cv_opengl_version_OK="no"]
|
|
)
|
|
)
|
|
|
|
dnl Check for the thread-safety of the OpenGL library
|
|
AC_CACHE_CHECK("for thread-safe OpenGL version",
|
|
wine_cv_opengl_version_threadsafe,
|
|
[saved_libs=$LIBS
|
|
LIBS="$X_LIBS -lGL"
|
|
AC_TRY_LINK([],[pthread_getspecific();],
|
|
[wine_cv_opengl_version_threadsafe="yes"],
|
|
[wine_cv_opengl_version_threadsafe="no"])
|
|
LIBS=$saved_libs]
|
|
)
|
|
|
|
if test "$wine_cv_opengl_version_OK" = "yes" -a \( "$wine_cv_opengl_version_threadsafe" = "no" -o $OPENGL = "yes" \)
|
|
then
|
|
dnl Check for the presence of the library
|
|
AC_CHECK_LIB(GL,glXCreateContext,
|
|
X_PRE_LIBS="$X_PRE_LIBS -lGL"
|
|
,,
|
|
$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
|
|
|
|
if test $ac_cv_lib_GL_glXCreateContext = "yes"
|
|
then
|
|
|
|
OPENGLFILES='$(OPENGLFILES)'
|
|
AC_DEFINE(HAVE_OPENGL)
|
|
|
|
AC_CHECK_LIB(GL,glXGetProcAddressARB,AC_DEFINE(HAVE_GLX_GETPROCADDRESS),,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
|
|
|
|
if test $ac_cv_lib_GL_glXGetProcAddressARB = "yes"
|
|
then
|
|
AC_CACHE_CHECK("for OpenGL extension functions prototypes", wine_cv_extension_prototypes,
|
|
AC_TRY_COMPILE([#include <GL/gl.h>
|
|
#ifdef HAVE_GL_GLEXT_H
|
|
# include <GL/glext.h>
|
|
#endif
|
|
],
|
|
[PFNGLCOLORTABLEEXTPROC test_proc;],
|
|
[wine_cv_extension_prototypes="yes"],
|
|
[wine_cv_extension_prototypes="no"]
|
|
)
|
|
)
|
|
if test $wine_cv_extension_prototypes = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_GLEXT_PROTOTYPES)
|
|
fi
|
|
|
|
OPENGL32_DLL=opengl32
|
|
fi
|
|
|
|
AC_CHECK_HEADERS(GL/osmesa.h,
|
|
[ dnl *** If GL/osmesa.h exists...
|
|
AC_CHECK_LIB(GL, OSMesaCreateContext,
|
|
AC_DEFINE(HAVE_OSMESA),
|
|
AC_CHECK_LIB(OSMesa, OSMesaCreateContext,
|
|
[ AC_DEFINE(HAVE_OSMESA)
|
|
X_PRE_LIBS="$X_PRE_LIBS -lOSMesa"
|
|
],,-lGL $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS),
|
|
$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
|
|
)
|
|
]
|
|
)
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
CPPFLAGS="$ac_save_CPPFLAGS"
|
|
X_DLLS='$(X_DLLS)'
|
|
XFILES='$(XFILES)'
|
|
else
|
|
XLIB=""
|
|
X_CFLAGS=""
|
|
X_LIBS=""
|
|
fi
|
|
|
|
dnl **** Check which curses lib to use ***
|
|
if test "$CURSES" = "yes"
|
|
then
|
|
AC_CHECK_HEADERS(ncurses.h)
|
|
if test "$ac_cv_header_ncurses_h" = "yes"
|
|
then
|
|
AC_CHECK_LIB(ncurses,waddch)
|
|
fi
|
|
if test "$ac_cv_lib_ncurses_waddch" = "yes"
|
|
then
|
|
AC_CHECK_LIB(ncurses,resizeterm,AC_DEFINE(HAVE_RESIZETERM))
|
|
AC_CHECK_LIB(ncurses,getbkgd,AC_DEFINE(HAVE_GETBKGD))
|
|
else
|
|
AC_CHECK_HEADERS(curses.h)
|
|
if test "$ac_cv_header_curses_h" = "yes"
|
|
then
|
|
AC_CHECK_LIB(curses,waddch)
|
|
if test "$ac_cv_lib_curses_waddch" = "yes"
|
|
then
|
|
AC_CHECK_LIB(curses,resizeterm,AC_DEFINE(HAVE_RESIZETERM))
|
|
AC_CHECK_LIB(curses,getbkgd,AC_DEFINE(HAVE_GETBKGD))
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
CUPSLIBS=""
|
|
dnl **** Check for CUPS ****
|
|
wine_cv_warn_cups_h=no
|
|
AC_CHECK_LIB(cups,cupsGetPPD,
|
|
AC_CHECK_HEADER(cups/cups.h,
|
|
AC_DEFINE(HAVE_CUPS)
|
|
CUPSLIBS="-lcups",
|
|
wine_cv_warn_cups_h=yes)
|
|
)
|
|
AC_SUBST(CUPSLIBS)
|
|
|
|
dnl **** Check for IPX (currently Linux only) ****
|
|
AC_CACHE_CHECK("for GNU style IPX support", ac_cv_c_ipx_gnu,
|
|
AC_TRY_COMPILE(
|
|
[#include <sys/socket.h>
|
|
#include <netipx/ipx.h>],
|
|
[((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
|
|
[ac_cv_c_ipx_gnu="yes"],
|
|
[ac_cv_c_ipx_gnu="no"])
|
|
)
|
|
if test "$ac_cv_c_ipx_gnu" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_IPX_GNU)
|
|
fi
|
|
|
|
if test "$ac_cv_c_ipx_gnu" = "no"
|
|
then
|
|
AC_CACHE_CHECK("for linux style IPX support", ac_cv_c_ipx_linux,
|
|
AC_TRY_COMPILE(
|
|
[#include <sys/socket.h>
|
|
#include <asm/types.h>
|
|
#include <linux/ipx.h>],
|
|
[((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
|
|
[ac_cv_c_ipx_linux="yes"],
|
|
[ac_cv_c_ipx_linux="no"])
|
|
)
|
|
if test "$ac_cv_c_ipx_linux" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_IPX_LINUX)
|
|
fi
|
|
fi
|
|
|
|
dnl **** Check for Open Sound System ****
|
|
AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
|
|
|
|
AC_CACHE_CHECK("for Open Sound System",
|
|
ac_cv_c_opensoundsystem,
|
|
AC_TRY_COMPILE([
|
|
#if defined(HAVE_SYS_SOUNDCARD_H)
|
|
#include <sys/soundcard.h>
|
|
#elif defined(HAVE_MACHINE_SOUNDCARD_H)
|
|
#include <machine/soundcard.h>
|
|
#elif defined(HAVE_SOUNDCARD_H)
|
|
#include <soundcard.h>
|
|
#endif
|
|
],[
|
|
|
|
/* check for one of the Open Sound System specific SNDCTL_ defines */
|
|
#if !defined(SNDCTL_DSP_STEREO)
|
|
#error No open sound system
|
|
#endif
|
|
],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
|
|
|
|
if test "$ac_cv_c_opensoundsystem" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_OSS)
|
|
fi
|
|
|
|
AC_CACHE_CHECK("for Open Sound System/MIDI interface",
|
|
ac_cv_c_opensoundsystem_midi,
|
|
AC_TRY_COMPILE([
|
|
#if defined(HAVE_SYS_SOUNDCARD_H)
|
|
#include <sys/soundcard.h>
|
|
#elif defined(HAVE_MACHINE_SOUNDCARD_H)
|
|
#include <machine/soundcard.h>
|
|
#elif defined(HAVE_SOUNDCARD_H)
|
|
#include <soundcard.h>
|
|
#endif
|
|
],[
|
|
|
|
/* check for one of the Open Sound System specific SNDCTL_SEQ defines */
|
|
#if !defined(SNDCTL_SEQ_SYNC)
|
|
#error No open sound system MIDI interface
|
|
#endif
|
|
],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
|
|
|
|
if test "$ac_cv_c_opensoundsystem_midi" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_OSS_MIDI)
|
|
fi
|
|
|
|
dnl **** If ln -s doesn't work, use cp instead ****
|
|
if test "$ac_cv_prog_LN_S" = "ln -s"; then : ; else LN_S=cp ; fi
|
|
|
|
dnl **** Check for gcc strength-reduce bug ****
|
|
|
|
if test "x${GCC}" = "xyes"
|
|
then
|
|
CFLAGS="$CFLAGS -Wall"
|
|
AC_CACHE_CHECK( "for gcc strength-reduce bug", ac_cv_c_gcc_strength_bug,
|
|
AC_TRY_RUN([
|
|
int L[[4]] = {0,1,2,3};
|
|
int main(void) {
|
|
static int Array[[3]];
|
|
unsigned int B = 3;
|
|
int i;
|
|
for(i=0; i<B; i++) Array[[i]] = i - 3;
|
|
for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
|
|
L[[i]] = 4;
|
|
|
|
exit( Array[[1]] != -2 || L[[2]] != 3);
|
|
}],
|
|
ac_cv_c_gcc_strength_bug="no",
|
|
ac_cv_c_gcc_strength_bug="yes",
|
|
ac_cv_c_gcc_strength_bug="yes") )
|
|
if test "$ac_cv_c_gcc_strength_bug" = "yes"
|
|
then
|
|
CFLAGS="$CFLAGS -fno-strength-reduce"
|
|
fi
|
|
|
|
dnl Check for -mpreferred-stack-boundary
|
|
AC_CACHE_CHECK("for gcc -mpreferred-stack-boundary=2 support",
|
|
ac_cv_c_gcc_stack_boundary,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
|
|
AC_TRY_COMPILE(,[return 0],ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_gcc_stack_boundary" = "yes"
|
|
then
|
|
CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
|
|
fi
|
|
fi
|
|
|
|
dnl **** Check if we need to place .type inside a .def directive ****
|
|
|
|
AC_CACHE_CHECK("whether .type must sit inside a .def directive",
|
|
ac_cv_c_type_in_def,
|
|
[saved_libs=$LIBS
|
|
LIBS="conftest_asm.s $LIBS"
|
|
cat > conftest_asm.s <<EOF
|
|
.globl _ac_test
|
|
.def _ac_test; .scl 2; .type 32; .endef
|
|
_ac_test:
|
|
.long 0
|
|
EOF
|
|
AC_TRY_LINK(,,ac_cv_c_type_in_def="yes",ac_cv_c_type_in_def="no")
|
|
LIBS=$saved_libs])
|
|
if test "$ac_cv_c_type_in_def" = "yes"
|
|
then
|
|
AC_DEFINE(NEED_TYPE_IN_DEF)
|
|
fi
|
|
|
|
dnl **** Check for underscore on external symbols ****
|
|
|
|
AC_CACHE_CHECK("whether external symbols need an underscore prefix",
|
|
ac_cv_c_extern_prefix,
|
|
[saved_libs=$LIBS
|
|
LIBS="conftest_asm.s $LIBS"
|
|
cat > conftest_asm.s <<EOF
|
|
.globl _ac_test
|
|
_ac_test:
|
|
.long 0
|
|
EOF
|
|
AC_TRY_LINK([extern int ac_test;],[if (ac_test) return 1],
|
|
ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no")
|
|
LIBS=$saved_libs])
|
|
if test "$ac_cv_c_extern_prefix" = "yes"
|
|
then
|
|
AC_DEFINE(NEED_UNDERSCORE_PREFIX)
|
|
fi
|
|
|
|
dnl **** Check for .string in assembler ****
|
|
|
|
AC_CACHE_CHECK("whether assembler accepts .string",
|
|
ac_cv_c_asm_string,
|
|
[saved_libs=$LIBS
|
|
LIBS="conftest_asm.s $LIBS"
|
|
cat > conftest_asm.s <<EOF
|
|
.string "test"
|
|
EOF
|
|
AC_TRY_LINK(,,ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no")
|
|
LIBS=$saved_libs])
|
|
if test "$ac_cv_c_asm_string" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_ASM_STRING)
|
|
fi
|
|
|
|
dnl **** Check for working dll ****
|
|
|
|
LDSHARED=""
|
|
LDDLLFLAGS=""
|
|
if test "$LIBEXT" = "so"
|
|
then
|
|
AC_CACHE_CHECK("whether we can build a Linux dll",
|
|
ac_cv_c_dll_linux,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic"
|
|
AC_TRY_LINK(,[return 1],ac_cv_c_dll_linux="yes",ac_cv_c_dll_linux="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_dll_linux" = "yes"
|
|
then
|
|
LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%) -Wl,-rpath,\$(libdir)"
|
|
LDDLLFLAGS="-Wl,-Bsymbolic"
|
|
else
|
|
AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll,
|
|
ac_cv_c_dll_unixware,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
|
|
AC_TRY_LINK(,[return 1],ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_dll_unixware" = "yes"
|
|
then
|
|
LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,\$(libdir)/%)"
|
|
LDDLLFLAGS="-Wl,-B,symbolic"
|
|
else
|
|
AC_CACHE_CHECK("whether we can build a NetBSD dll",
|
|
ac_cv_c_dll_netbsd,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -fPIC -Wl,-Bshareable,-Bforcearchive"
|
|
AC_TRY_LINK(,[return 1],ac_cv_c_dll_netbsd="yes",ac_cv_c_dll_netbsd="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_dll_netbsd" = "yes"
|
|
then
|
|
LDSHARED="\$(CC) -Wl,-Bshareable,-Bforcearchive"
|
|
LDDLLFLAGS="" #FIXME
|
|
fi
|
|
fi
|
|
fi
|
|
if test "$ac_cv_c_dll_linux" = "no" -a "$ac_cv_c_dll_unixware" = "no" -a "$ac_cv_c_dll_netbsd" = "no"
|
|
then
|
|
LIBEXT="a"
|
|
if test "$DLLWRAP" = "dllwrap"; then
|
|
dnl FIXME - check whether dllwrap works correctly...
|
|
if test "$CYGWIN" = "yes"; then
|
|
echo "*** use dllwrap for building shared library."
|
|
LIBEXT="dll"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "$LIBEXT" = "a"; then
|
|
echo "*** It is currently not possible to build WINE without shared"
|
|
echo "*** library (.so) support to allow transparent switch between .so"
|
|
echo "*** and .dll files."
|
|
echo "*** If you are using Linux, you will need a newer binutils."
|
|
exit 1
|
|
fi
|
|
|
|
DLLFLAGS=""
|
|
LDPATH=""
|
|
|
|
if test "$LIBEXT" = "so"; then
|
|
DLLFLAGS="-fPIC"
|
|
DLL_LINK="-L\$(DLLDIR) \$(IMPORTS:%=-l%) \$(LIBWINE) \$(LIBUNICODE)"
|
|
LDPATH="LD_LIBRARY_PATH=\"\$(TOPOBJDIR)/unicode:\$\$LD_LIBRARY_PATH\""
|
|
elif test "$LIBEXT" = "dll"; then
|
|
#DLLFLAGS="-fPIC" # -fPIC doesn't work(at least in cygwin-b20) - FIXME
|
|
DLL_LINK="-L\$(DLLDIR) \$(IMPORTS:%=-l%) \$(LIBWINE) \$(LIBUNICODE)"
|
|
LDPATH="PATH=\"\$(TOPOBJDIR)/unicode:\$\$PATH\""
|
|
else
|
|
DLL_LINK="-L\$(DLLDIR) \$(DLLS:%=-l%) \$(LIBWINE) \$(LIBUNICODE) \$(X_LIBS) \$(XLIB)"
|
|
AC_CACHE_CHECK([whether the linker supports --[[no]]-whole-archive (Linux)],
|
|
ac_cv_c_whole_archive,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -Wl,--whole-archive -Wl,--no-whole-archive"
|
|
AC_TRY_LINK(,[return 1],ac_cv_c_whole_archive="yes",ac_cv_c_whole_archive="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_whole_archive" = "yes"
|
|
then
|
|
DLL_LINK="-Wl,--whole-archive $DLL_LINK -Wl,--no-whole-archive"
|
|
else
|
|
AC_CACHE_CHECK([whether the linker supports -z {all,default}extract (Linux)],
|
|
ac_cv_c_allextract,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -Wl,-z,allextract -Wl,-z,defaultextract"
|
|
AC_TRY_LINK(,[return 1],ac_cv_c_allextract="yes",ac_cv_c_allextract="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_allextract" = "yes"
|
|
then
|
|
DLL_LINK="-Wl,-z,allextract $DLL_LINK -Wl,-z,defaultextract"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(DLL_LINK)
|
|
AC_SUBST(DLLFLAGS)
|
|
AC_SUBST(LDSHARED)
|
|
AC_SUBST(LDDLLFLAGS)
|
|
AC_SUBST(LIBEXT)
|
|
AC_SUBST(LDPATH)
|
|
|
|
dnl **** Check for reentrant libc ****
|
|
dnl
|
|
dnl For cross-compiling we blindly assume that libc is reentrant. This is
|
|
dnl ok since non-reentrant libc is quite rare (mostly old libc5 versions).
|
|
|
|
AC_DEFUN(WINE_CHECK_ERRNO,
|
|
[
|
|
AC_CACHE_CHECK(for reentrant libc: $1, wine_cv_libc_r_$1,
|
|
[AC_TRY_RUN([int myerrno = 0;
|
|
char buf[256];
|
|
int *$1(){return &myerrno;}
|
|
main(){connect(0,buf,255); exit(!myerrno);}],
|
|
wine_cv_libc_r_$1=yes, wine_cv_libc_r_$1=no,
|
|
wine_cv_libc_r_$1=yes )
|
|
])
|
|
if test "$wine_cv_libc_r_$1" = "yes"
|
|
then
|
|
wine_cv_libc_reentrant=$1
|
|
fi
|
|
])
|
|
|
|
wine_cv_libc_reentrant=no
|
|
dnl Linux style errno location
|
|
WINE_CHECK_ERRNO(__errno_location)
|
|
dnl FreeBSD style errno location
|
|
WINE_CHECK_ERRNO(__error)
|
|
dnl Solaris style errno location
|
|
WINE_CHECK_ERRNO(___errno)
|
|
dnl UnixWare style errno location
|
|
WINE_CHECK_ERRNO(__thr_errno)
|
|
|
|
if test "$wine_cv_libc_reentrant" != "no"
|
|
then
|
|
AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant)
|
|
fi
|
|
|
|
dnl **** Check for reentrant X libraries ****
|
|
dnl
|
|
dnl This may fail to determine whether X libraries are reentrant if
|
|
dnl AC_PATH_XTRA does not set x_libraries. In this case manual configuration
|
|
dnl is possible with the --without-reentrant-x option.
|
|
|
|
if test "$have_x" = "yes" -a "$wine_cv_libc_reentrant" != "no"
|
|
then
|
|
AC_CACHE_CHECK( "for reentrant X libraries", wine_cv_x_reentrant,
|
|
[ if test "x$with_reentrant_x" = "xno"
|
|
then
|
|
wine_cv_x_reentrant=no
|
|
else
|
|
libX11_check=none
|
|
for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
|
|
if test -r $dir/libX11.so; then
|
|
libX11_check="-D $dir/libX11.so"
|
|
break 1
|
|
fi
|
|
if test -r $dir/libX11.a; then
|
|
libX11_check="$dir/libX11.a"
|
|
break 1
|
|
fi
|
|
done
|
|
if test "$libX11_check" != "none"; then
|
|
if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
|
|
then
|
|
wine_cv_x_reentrant=yes
|
|
else
|
|
wine_cv_x_reentrant=no
|
|
fi
|
|
else
|
|
wine_cv_x_reentrant=unknown
|
|
fi
|
|
fi ] )
|
|
else
|
|
wine_cv_x_reentrant=no
|
|
fi
|
|
if test "$wine_cv_x_reentrant" = "no"
|
|
then
|
|
AC_DEFINE(NO_REENTRANT_X11)
|
|
fi
|
|
|
|
|
|
dnl **** Check for functions ****
|
|
|
|
AC_FUNC_ALLOCA()
|
|
AC_CHECK_FUNCS(\
|
|
__libc_fork \
|
|
_lwp_create \
|
|
clone \
|
|
ecvt \
|
|
finite \
|
|
fpclass \
|
|
getnetbyaddr \
|
|
getnetbyname \
|
|
getpagesize \
|
|
getprotobyname \
|
|
getprotobynumber \
|
|
getrlimit \
|
|
getservbyport \
|
|
getsockopt \
|
|
inet_network \
|
|
lstat \
|
|
memmove \
|
|
mmap \
|
|
rfork \
|
|
select \
|
|
sendmsg \
|
|
settimeofday \
|
|
sigaltstack \
|
|
statfs \
|
|
strcasecmp \
|
|
strerror \
|
|
strncasecmp \
|
|
tcgetattr \
|
|
timegm \
|
|
usleep \
|
|
vfscanf \
|
|
wait4 \
|
|
waitpid \
|
|
)
|
|
|
|
dnl **** Check for header files ****
|
|
|
|
AC_CHECK_HEADERS(\
|
|
arpa/inet.h \
|
|
arpa/nameser.h \
|
|
elf.h \
|
|
float.h \
|
|
ieeefp.h \
|
|
libio.h \
|
|
libutil.h \
|
|
link.h \
|
|
linux/cdrom.h \
|
|
linux/input.h \
|
|
linux/joystick.h \
|
|
linux/ucdrom.h \
|
|
net/if.h \
|
|
netdb.h \
|
|
netinet/in.h \
|
|
netinet/in_systm.h \
|
|
netinet/ip.h \
|
|
netinet/tcp.h \
|
|
pty.h \
|
|
resolv.h \
|
|
sched.h \
|
|
socket.h \
|
|
strings.h \
|
|
sys/cdio.h \
|
|
sys/errno.h \
|
|
sys/file.h \
|
|
sys/filio.h \
|
|
sys/ipc.h \
|
|
sys/lwp.h \
|
|
sys/mman.h \
|
|
sys/modem.h \
|
|
sys/mount.h \
|
|
sys/msg.h \
|
|
sys/param.h \
|
|
sys/ptrace.h \
|
|
sys/reg.h \
|
|
sys/signal.h \
|
|
sys/shm.h \
|
|
sys/socket.h \
|
|
sys/sockio.h \
|
|
sys/statfs.h \
|
|
sys/strtio.h \
|
|
sys/syscall.h \
|
|
sys/user.h \
|
|
sys/wait.h \
|
|
sys/v86.h \
|
|
sys/v86intr.h \
|
|
sys/vfs.h \
|
|
sys/vm86.h \
|
|
syscall.h \
|
|
ucontext.h \
|
|
)
|
|
AC_HEADER_STAT()
|
|
|
|
dnl **** Check for types ****
|
|
|
|
AC_C_CONST()
|
|
AC_C_INLINE()
|
|
AC_TYPE_SIZE_T()
|
|
AC_CHECK_SIZEOF(long long,0)
|
|
|
|
AC_CACHE_CHECK("whether linux/input.h is for real",
|
|
wine_cv_linux_input_h,
|
|
AC_TRY_COMPILE([
|
|
#include <linux/input.h>
|
|
] , [
|
|
int foo = EVIOCGBIT(EV_ABS,42);
|
|
int bar = BTN_PINKIE;
|
|
int fortytwo = 42;
|
|
],
|
|
wine_cv_linux_input_h=yes,
|
|
wine_cv_linux_input_h=no,
|
|
no
|
|
)
|
|
)
|
|
if test "$wine_cv_linux_input_h" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H)
|
|
fi
|
|
|
|
|
|
AC_CACHE_CHECK("whether we can use re-entrant gethostbyname_r Linux style",
|
|
wine_cv_linux_gethostbyname_r_6,
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>
|
|
], [
|
|
char *name=NULL;
|
|
struct hostent he;
|
|
struct hostent *result;
|
|
char *buf=NULL;
|
|
int bufsize=0;
|
|
int res,errnr;
|
|
char *addr=NULL;
|
|
int addrlen=0;
|
|
int addrtype=0;
|
|
res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
|
|
res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
|
|
],
|
|
wine_cv_linux_gethostbyname_r_6=yes,
|
|
wine_cv_linux_gethostbyname_r_6=no
|
|
)
|
|
)
|
|
if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6)
|
|
fi
|
|
|
|
if test "$ac_cv_header_linux_joystick_h" = "yes"
|
|
then
|
|
AC_CACHE_CHECK("whether linux/joystick.h uses the Linux 2.2+ API",
|
|
wine_cv_linux_joystick_22_api,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/ioctl.h>
|
|
#include <linux/joystick.h>
|
|
|
|
struct js_event blub;
|
|
#if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
|
|
#error "no 2.2 header"
|
|
#endif
|
|
],/*empty*/,
|
|
wine_cv_linux_joystick_22_api=yes,
|
|
wine_cv_linux_joystick_22_api=no,
|
|
wine_cv_linux_joystick_22_api=no
|
|
)
|
|
)
|
|
if test "$wine_cv_linux_joystick_22_api" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API)
|
|
fi
|
|
fi
|
|
|
|
dnl **** statfs checks ****
|
|
|
|
if test "$ac_cv_header_sys_vfs_h" = "yes"
|
|
then
|
|
AC_CACHE_CHECK( "whether sys/vfs.h defines statfs",
|
|
wine_cv_sys_vfs_has_statfs,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#include <sys/vfs.h>
|
|
],[
|
|
struct statfs stfs;
|
|
|
|
memset(&stfs,0,sizeof(stfs));
|
|
],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
|
|
)
|
|
)
|
|
if test "$wine_cv_sys_vfs_has_statfs" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS)
|
|
fi
|
|
fi
|
|
|
|
if test "$ac_cv_header_sys_statfs_h" = "yes"
|
|
then
|
|
AC_CACHE_CHECK( "whether sys/statfs.h defines statfs",
|
|
wine_cv_sys_statfs_has_statfs,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#include <sys/statfs.h>
|
|
],[
|
|
struct statfs stfs;
|
|
],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
|
|
)
|
|
)
|
|
if test "$wine_cv_sys_statfs_has_statfs" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS)
|
|
fi
|
|
fi
|
|
|
|
if test "$ac_cv_header_sys_mount_h" = "yes"
|
|
then
|
|
AC_CACHE_CHECK( "whether sys/mount.h defines statfs",
|
|
wine_cv_sys_mount_has_statfs,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#include <sys/mount.h>
|
|
],[
|
|
struct statfs stfs;
|
|
],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
|
|
)
|
|
)
|
|
if test "$wine_cv_sys_mount_has_statfs" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT)
|
|
fi
|
|
fi
|
|
|
|
dnl **** FIXME: what about mixed cases, where we need two of them? ***
|
|
|
|
AC_CACHE_CHECK( "for statfs.f_bfree", wine_cv_statfs_bfree,
|
|
[ if test "x$statfs_bfree" = "xno"
|
|
then
|
|
wine_cv_statfs_bfree=no
|
|
else
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#ifdef STATFS_DEFINED_BY_SYS_MOUNT
|
|
# include <sys/mount.h>
|
|
#else
|
|
# ifdef STATFS_DEFINED_BY_SYS_VFS
|
|
# include <sys/vfs.h>
|
|
# else
|
|
# ifdef STATFS_DEFINED_BY_SYS_STATFS
|
|
# include <sys/statfs.h>
|
|
# endif
|
|
# endif
|
|
#endif
|
|
],[
|
|
struct statfs stfs;
|
|
|
|
stfs.f_bfree++;
|
|
],wine_cv_statfs_bfree=yes,wine_cv_statfs_bfree=no
|
|
)
|
|
fi ] )
|
|
if test "$wine_cv_statfs_bfree" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_HAS_BFREE)
|
|
fi
|
|
|
|
AC_CACHE_CHECK( "for statfs.f_bavail", wine_cv_statfs_bavail,
|
|
[ if test "x$statfs_bavail" = "xno"
|
|
then
|
|
wine_cv_statfs_bavail=no
|
|
else
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#ifdef STATFS_DEFINED_BY_SYS_MOUNT
|
|
# include <sys/mount.h>
|
|
#else
|
|
# ifdef STATFS_DEFINED_BY_SYS_VFS
|
|
# include <sys/vfs.h>
|
|
# else
|
|
# ifdef STATFS_DEFINED_BY_SYS_STATFS
|
|
# include <sys/statfs.h>
|
|
# endif
|
|
# endif
|
|
#endif
|
|
],[
|
|
struct statfs stfs;
|
|
|
|
stfs.f_bavail++;
|
|
],wine_cv_statfs_bavail=yes,wine_cv_statfs_bavail=no
|
|
)
|
|
fi ] )
|
|
if test "$wine_cv_statfs_bavail" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_HAS_BAVAIL)
|
|
fi
|
|
|
|
dnl *** check for file descriptor passing with msg_accrights
|
|
|
|
AC_CACHE_CHECK("for msg_accrights in struct msghdr", ac_cv_c_msg_accrights,
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
#include <sys/socket.h>],[struct msghdr hdr; hdr.msg_accrights=0],
|
|
ac_cv_c_msg_accrights="yes", ac_cv_c_msg_accrights="no"))
|
|
if test "$ac_cv_c_msg_accrights" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS)
|
|
fi
|
|
|
|
dnl *** Check for the sun_len member in struct sockaddr_un
|
|
|
|
AC_CACHE_CHECK("for sun_len in struct sockaddr_un", ac_cv_c_sun_len,
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/un.h>], [static struct sockaddr_un addr; addr.sun_len = 1],
|
|
ac_cv_c_sun_len="yes", ac_cv_c_sun_len="no"))
|
|
if test "$ac_cv_c_sun_len" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)
|
|
fi
|
|
|
|
dnl *** check for the need to define __i386__
|
|
|
|
AC_CACHE_CHECK("whether we need to define __i386__",ac_cv_cpp_def_i386,
|
|
AC_EGREP_CPP(yes,[#if (defined(i386) || defined(__i386)) && !defined(__i386__)
|
|
yes
|
|
#endif],
|
|
ac_cv_cpp_def_i386="yes", ac_cv_cpp_def_i386="no"))
|
|
if test "$ac_cv_cpp_def_i386" = "yes"
|
|
then
|
|
CFLAGS="$CFLAGS -D__i386__"
|
|
LINTFLAGS="$LINTFLAGS -D__i386__"
|
|
fi
|
|
|
|
dnl $GCC is set by autoconf
|
|
GCC_NO_BUILTIN=""
|
|
if test "$GCC" = "yes"
|
|
then
|
|
GCC_NO_BUILTIN="-fno-builtin"
|
|
fi
|
|
AC_SUBST(GCC_NO_BUILTIN)
|
|
|
|
dnl **** Generate output files ****
|
|
|
|
AC_OUTPUT_COMMANDS([
|
|
extra_subdirs="\
|
|
dlls/ddraw/d3ddevice \
|
|
dlls/ddraw/dclipper \
|
|
dlls/ddraw/ddraw \
|
|
dlls/ddraw/direct3d \
|
|
dlls/ddraw/dpalette \
|
|
dlls/ddraw/dsurface \
|
|
dlls/dinput/joystick \
|
|
dlls/dinput/keyboard \
|
|
dlls/dinput/mouse \
|
|
dlls/kernel/messages \
|
|
dlls/user/resources \
|
|
"
|
|
for i in $extra_subdirs; do [ -d $i ] || (echo "creating $i" && mkdir $i); done ])
|
|
|
|
MAKE_RULES=Make.rules
|
|
AC_SUBST_FILE(MAKE_RULES)
|
|
|
|
MAKE_DLL_RULES=dlls/Makedll.rules
|
|
AC_SUBST_FILE(MAKE_DLL_RULES)
|
|
|
|
MAKE_PROG_RULES=programs/Makeprog.rules
|
|
AC_SUBST_FILE(MAKE_PROG_RULES)
|
|
|
|
AC_OUTPUT([
|
|
Make.rules
|
|
dlls/Makedll.rules
|
|
programs/Makeprog.rules
|
|
Makefile
|
|
console/Makefile
|
|
controls/Makefile
|
|
debugger/Makefile
|
|
dlls/Makefile
|
|
dlls/advapi32/Makefile
|
|
dlls/avifil32/Makefile
|
|
dlls/comctl32/Makefile
|
|
dlls/commdlg/Makefile
|
|
dlls/crtdll/Makefile
|
|
dlls/dciman32/Makefile
|
|
dlls/ddraw/Makefile
|
|
dlls/dinput/Makefile
|
|
dlls/dplay/Makefile
|
|
dlls/dplayx/Makefile
|
|
dlls/dsound/Makefile
|
|
dlls/gdi/Makefile
|
|
dlls/icmp/Makefile
|
|
dlls/imagehlp/Makefile
|
|
dlls/imm32/Makefile
|
|
dlls/kernel/Makefile
|
|
dlls/lzexpand/Makefile
|
|
dlls/mpr/Makefile
|
|
dlls/msacm/Makefile
|
|
dlls/msnet32/Makefile
|
|
dlls/msvcrt/Makefile
|
|
dlls/msvideo/Makefile
|
|
dlls/ntdll/Makefile
|
|
dlls/odbc32/Makefile
|
|
dlls/ole32/Makefile
|
|
dlls/oleaut32/Makefile
|
|
dlls/olecli/Makefile
|
|
dlls/oledlg/Makefile
|
|
dlls/olepro32/Makefile
|
|
dlls/olesvr/Makefile
|
|
dlls/opengl32/Makefile
|
|
dlls/psapi/Makefile
|
|
dlls/rasapi32/Makefile
|
|
dlls/richedit/Makefile
|
|
dlls/rpcrt4/Makefile
|
|
dlls/serialui/Makefile
|
|
dlls/setupapi/Makefile
|
|
dlls/shdocvw/Makefile
|
|
dlls/shell32/Makefile
|
|
dlls/shfolder/Makefile
|
|
dlls/shlwapi/Makefile
|
|
dlls/tapi32/Makefile
|
|
dlls/ttydrv/Makefile
|
|
dlls/urlmon/Makefile
|
|
dlls/user/Makefile
|
|
dlls/version/Makefile
|
|
dlls/win32s/Makefile
|
|
dlls/winaspi/Makefile
|
|
dlls/winedos/Makefile
|
|
dlls/wineps/Makefile
|
|
dlls/wininet/Makefile
|
|
dlls/winmm/Makefile
|
|
dlls/winmm/joystick/Makefile
|
|
dlls/winmm/mcianim/Makefile
|
|
dlls/winmm/mciavi/Makefile
|
|
dlls/winmm/mcicda/Makefile
|
|
dlls/winmm/mciseq/Makefile
|
|
dlls/winmm/mciwave/Makefile
|
|
dlls/winmm/midimap/Makefile
|
|
dlls/winmm/wavemap/Makefile
|
|
dlls/winmm/wineoss/Makefile
|
|
dlls/winnls/Makefile
|
|
dlls/winsock/Makefile
|
|
dlls/winspool/Makefile
|
|
dlls/wintrust/Makefile
|
|
dlls/wow32/Makefile
|
|
dlls/wsock32/Makefile
|
|
dlls/x11drv/Makefile
|
|
documentation/Makefile
|
|
documentation/wine.conf.man
|
|
documentation/wine.man
|
|
files/Makefile
|
|
graphics/Makefile
|
|
graphics/enhmetafiledrv/Makefile
|
|
graphics/metafiledrv/Makefile
|
|
graphics/win16drv/Makefile
|
|
graphics/x11drv/Makefile
|
|
if1632/Makefile
|
|
include/Makefile
|
|
library/Makefile
|
|
libtest/Makefile
|
|
loader/Makefile
|
|
loader/dos/Makefile
|
|
loader/ne/Makefile
|
|
memory/Makefile
|
|
misc/Makefile
|
|
miscemu/Makefile
|
|
msdos/Makefile
|
|
objects/Makefile
|
|
ole/Makefile
|
|
programs/Makefile
|
|
programs/avitools/Makefile
|
|
programs/clock/Makefile
|
|
programs/cmdlgtst/Makefile
|
|
programs/control/Makefile
|
|
programs/notepad/Makefile
|
|
programs/osversioncheck/Makefile
|
|
programs/progman/Makefile
|
|
programs/regapi/Makefile
|
|
programs/regtest/Makefile
|
|
programs/uninstaller/Makefile
|
|
programs/view/Makefile
|
|
programs/wcmd/Makefile
|
|
programs/winemine/Makefile
|
|
programs/winetest/Makefile
|
|
programs/winhelp/Makefile
|
|
programs/winver/Makefile
|
|
relay32/Makefile
|
|
scheduler/Makefile
|
|
server/Makefile
|
|
tools/Makefile
|
|
tools/cvdump/Makefile
|
|
tools/specmaker/Makefile
|
|
tools/winebuild/Makefile
|
|
tools/winelauncher
|
|
tools/wmc/Makefile
|
|
tools/wrc/Makefile
|
|
tsx11/Makefile
|
|
unicode/Makefile
|
|
win32/Makefile
|
|
windows/Makefile
|
|
windows/x11drv/Makefile ])
|
|
|
|
if test "$have_x" = "no"
|
|
then
|
|
echo
|
|
echo "*** Warning: X development files not found. Wine will be built without"
|
|
echo "*** X support, which currently does not work, and would probably not be"
|
|
echo "*** what you want anyway. You will need to install devel packages of"
|
|
echo "*** Xlib/Xfree86 and Xpm at the very least."
|
|
elif test "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = "no"
|
|
then
|
|
echo
|
|
echo "*** Warning: Xpm development files not found. Wine will be built without"
|
|
echo "*** Xpm support, which currently does not work. You will need to install"
|
|
echo "*** devel packages of Xpm."
|
|
fi
|
|
|
|
if test "$ac_cv_lib_ncurses_resizeterm" = "no" -a "$ac_cv_lib_ncurses_waddch" = "yes"
|
|
then
|
|
echo
|
|
echo "*** Warning: resizeterm not found in ncurses. Wine will be built without"
|
|
echo "*** terminal resize support. Consider upgrading ncurses."
|
|
fi
|
|
|
|
if test "$wine_cv_libc_reentrant" = "no"
|
|
then
|
|
echo
|
|
echo "*** Warning: non-reentrant libc detected. Wine will be build without"
|
|
echo "*** thread support. Consider upgrading libc to a more recent"
|
|
echo "*** reentrant version of libc."
|
|
fi
|
|
|
|
if test "$wine_cv_opengl_version_OK" = "no"
|
|
then
|
|
echo
|
|
echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
|
|
echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
|
|
fi
|
|
|
|
if test "$wine_cv_opengl_version_threadsafe" = "yes" -a $OPENGL = "normal"
|
|
then
|
|
echo
|
|
echo "*** Warning: the OpenGL version you have installed relies on libpthread for"
|
|
echo "*** thread-safety. To prevent crashes, OpenGL support has been removed."
|
|
echo "*** A fix for glibc 2.1.3 that seems to work is included in this version of Wine,"
|
|
echo "*** start configure with '--enable-opengl' to force OpenGL support."
|
|
fi
|
|
|
|
if test "$wine_cv_opengl_version_threadsafe" = "yes" -a $OPENGL = "yes"
|
|
then
|
|
echo
|
|
echo "*** Warning: you explicitly linked in a thread-safe OpenGL version. If you"
|
|
echo "*** experience unusual crashes on DirectDraw games, try first to disable OpenGL"
|
|
echo "*** support before reporting bugs."
|
|
fi
|
|
|
|
if test "$wine_cv_warn_cups_h" = "yes"
|
|
then
|
|
echo
|
|
echo "*** Note: You have cups runtime libraries, but no development"
|
|
echo "*** libraries. Install the cups-devel package or whichever package"
|
|
echo "*** contains cups.h to enable CUPS support in WINE."
|
|
fi
|
|
|
|
echo
|
|
echo "Configure finished. Do 'make depend && make' to compile Wine."
|
|
echo
|
|
|
|
dnl Local Variables:
|
|
dnl comment-start: "dnl "
|
|
dnl comment-end: ""
|
|
dnl comment-start-skip: "\\bdnl\\b\\s *"
|
|
dnl compile-command: "autoconf"
|
|
dnl End:
|