mirror of
https://github.com/wine-mirror/wine
synced 2024-07-08 20:06:18 +00:00
Added support for loading JPEG, Bitmap and Icons from persistant streams. Implemented JPEG support using libjpeg, added necessary configure.in options. Added IConnectionPoint style notifications to the IPicture iface. Implemented several of the stubs already there, added some more.
1446 lines
39 KiB
Plaintext
1446 lines
39 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, 1, [Define if all debug messages are to be compiled out])
|
|
fi
|
|
|
|
if test "$TRACE_MSGS" = "no" -o "$DEBUG_MSGS" = "no"
|
|
then
|
|
AC_DEFINE(NO_TRACE_MSGS, 1, [Define if TRACE messages are to be compiled out])
|
|
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_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
|
|
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_CHECK_LIB(dl,dlopen,
|
|
AC_DEFINE(HAVE_DLOPEN)
|
|
LIBS="$LIBS -ldl",
|
|
LIBEXT="a")
|
|
),
|
|
LIBEXT="a"
|
|
)
|
|
|
|
JPEGLIB=""
|
|
AC_SUBST(JPEGLIB)
|
|
AC_CHECK_HEADERS(jpeglib.h,
|
|
AC_CHECK_LIB(jpeg,jpeg_start_decompress,
|
|
AC_DEFINE(HAVE_LIBJPEG,1,[Define if you have libjpeg including devel headers])
|
|
JPEGLIB="-ljpeg"
|
|
)
|
|
)
|
|
|
|
|
|
AC_SUBST(XLIB)
|
|
AC_SUBST(X_DLLS)
|
|
X_DLLS=""
|
|
AC_SUBST(XFILES)
|
|
XFILES=""
|
|
AC_SUBST(OPENGLFILES)
|
|
OPENGLFILES=""
|
|
AC_SUBST(OPENGL32_DLL)
|
|
OPENGL32_DLL=""
|
|
GLU32FILES=""
|
|
AC_SUBST(GLU32FILES)
|
|
GLU32_DLL=""
|
|
AC_SUBST(GLU32_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, 1, [Define if you have the Xpm library])
|
|
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, 1, [Define if you have the XKB extension]),,
|
|
$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, 1, [Define if you have the X Shm extension]),,
|
|
$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, 1, [Define if you have the X Shape extension]),,
|
|
$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, 1,
|
|
[Define if you have the Xxf86dga library version 2])
|
|
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, 1,
|
|
[Define if you have the Xxf86dga library version 1])
|
|
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, 1, [Define if you have the Xxf86vm library])
|
|
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, 1, [Define if the X libraries support 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, 1, [Define if OpenGL is present on the system])
|
|
|
|
AC_CHECK_LIB(GL,glXGetProcAddressARB,
|
|
AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
|
|
[Define if the OpenGL library supports the glXGetProcAddressARB call]),,
|
|
$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, 1,
|
|
[Define if the OpenGL headers define extension typedefs])
|
|
fi
|
|
|
|
OPENGL32_DLL=opengl32
|
|
fi
|
|
|
|
fi
|
|
dnl Check for GLU32 library.
|
|
AC_CHECK_LIB(GLU,glBegin,
|
|
X_PRE_LIBS="$X_PRE_LIBS -lGLU"
|
|
GLU32FILES='$(GLU32FILES)'
|
|
GLU32_DLL=glu32
|
|
,,
|
|
$X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
|
|
)
|
|
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,
|
|
AC_CHECK_LIB(ncurses,waddch),
|
|
AC_CHECK_HEADERS(curses.h,AC_CHECK_LIB(curses,waddch)))
|
|
AC_CHECK_FUNCS(getbkgd resizeterm)
|
|
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, 1, [Define if we have CUPS])
|
|
CUPSLIBS="-lcups",
|
|
wine_cv_warn_cups_h=yes)
|
|
)
|
|
AC_SUBST(CUPSLIBS)
|
|
|
|
dnl **** Check for FreeType 2 ****
|
|
AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no)
|
|
if test "$ft_lib" = "no"
|
|
then
|
|
FREETYPELIBS=""
|
|
FREETYPEINCL=""
|
|
wine_cv_msg_freetype=no
|
|
else
|
|
AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
|
|
if test "$ft_devel" = "no"
|
|
then
|
|
AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
|
|
if test "$ft_devel2" = "freetype2-config"
|
|
then
|
|
ft_devel=$ft_devel2
|
|
fi
|
|
fi
|
|
if test "$ft_devel" = "no"
|
|
then
|
|
FREETYPELIBS=""
|
|
FREETYPEINCL=""
|
|
wine_cv_msg_freetype=yes
|
|
else
|
|
AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
|
|
FREETYPELIBS=`$ft_devel --libs`
|
|
FREETYPEINCL=`$ft_devel --cflags`
|
|
ac_save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
|
|
AC_CHECK_HEADERS(freetype/freetype.h \
|
|
freetype/ftglyph.h \
|
|
freetype/tttables.h \
|
|
freetype/ftnames.h \
|
|
freetype/ftsnames.h \
|
|
freetype/ttnameid.h)
|
|
CPPFLAGS="$ac_save_CPPFLAGS"
|
|
wine_cv_msg_freetype=no
|
|
fi
|
|
fi
|
|
AC_SUBST(FREETYPELIBS)
|
|
AC_SUBST(FREETYPEINCL)
|
|
|
|
dnl **** Check for parport (currently Linux only) ****
|
|
AC_CACHE_CHECK("for parport header/ppdev.h", ac_cv_c_ppdev,
|
|
AC_TRY_COMPILE(
|
|
[#include <linux/ppdev.h>],
|
|
[ioctl (1,PPCLAIM,0)],
|
|
[ac_cv_c_ppdev="yes"],
|
|
[ac_cv_c_ppdev="no"])
|
|
)
|
|
if test "$ac_cv_c_ppdev" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
|
|
fi
|
|
|
|
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, 1, [Define if IPX should use netipx/ipx.h from libc])
|
|
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, 1, [Define if IPX includes are taken from Linux kernel])
|
|
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, 1, [Define if you have the Open Sound system])
|
|
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, 1, [Define if you have the Open Sound system (MIDI interface)])
|
|
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 broken glibc mmap64 ****
|
|
|
|
AC_CACHE_CHECK( "whether mmap64 works defined as mmap", ac_cv_mmap64_works,
|
|
AC_TRY_RUN([
|
|
#define _FILE_OFFSET_BITS 64
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
#include <fcntl.h>
|
|
#include <sys/mman.h>
|
|
#include <errno.h>
|
|
|
|
int main(int argc,char **argv) {
|
|
int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
|
|
if (fd == -1) exit(1);
|
|
|
|
unlink("conftest.map");
|
|
|
|
write(fd,"test",4);
|
|
|
|
if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
|
|
(errno == EINVAL)
|
|
) {
|
|
exit(1);
|
|
}
|
|
close(fd);
|
|
fprintf(stderr,"success!\n");
|
|
exit(0);
|
|
}
|
|
|
|
],
|
|
ac_cv_mmap64_works="yes",
|
|
ac_cv_mmap64_works="no",
|
|
ac_cv_mmap64_works="no") )
|
|
|
|
if test "$ac_cv_mmap64_works" = "yes"
|
|
then
|
|
AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
|
|
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, 1, [Define if .type asm directive must be inside a .def directive])
|
|
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, 1,
|
|
[Define if symbols declared in assembly code need an 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, 1, [Define to use .string instead of .ascii])
|
|
fi
|
|
|
|
dnl **** Check for working dll ****
|
|
|
|
LDSHARED=""
|
|
LDDLLFLAGS=""
|
|
if test "$LIBEXT" = "so"
|
|
then
|
|
AC_CACHE_CHECK("whether we can build a GNU style ELF dll",
|
|
ac_cv_c_dll_gnuelf,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic"
|
|
AC_TRY_LINK(,[return 1],ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_dll_gnuelf" = "yes"
|
|
then
|
|
LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
|
|
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,%)"
|
|
LDDLLFLAGS="-Wl,-B,symbolic"
|
|
fi
|
|
fi
|
|
if test "$ac_cv_c_dll_gnuelf" = "no" -a "$ac_cv_c_dll_unixware" = "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)
|
|
dnl NetBSD style errno location
|
|
WINE_CHECK_ERRNO(__errno)
|
|
|
|
if test "$wine_cv_libc_reentrant" != "no"
|
|
then
|
|
AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant,
|
|
[Define to the name of the function returning errno for reentrant libc])
|
|
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, 1,
|
|
[Define if X libraries are not reentrant (compiled without -D_REENTRANT)])
|
|
fi
|
|
|
|
|
|
dnl **** Check for functions ****
|
|
|
|
AC_FUNC_ALLOCA()
|
|
AC_CHECK_FUNCS(\
|
|
__libc_fork \
|
|
_lwp_create \
|
|
clone \
|
|
ecvt \
|
|
finite \
|
|
fpclass \
|
|
ftruncate64 \
|
|
getnetbyaddr \
|
|
getnetbyname \
|
|
getpagesize \
|
|
getprotobyname \
|
|
getprotobynumber \
|
|
getrlimit \
|
|
getservbyport \
|
|
getsockopt \
|
|
inet_network \
|
|
lseek64 \
|
|
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, 1,
|
|
[Define if we have linux/input.h AND it contains the INPUT event API])
|
|
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, 1,
|
|
[Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
|
|
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, 1,
|
|
[Define if <linux/joystick.h> defines the Linux 2.2 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, 1,
|
|
[Define if the struct statfs is defined by <sys/vfs.h>])
|
|
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, 1,
|
|
[Define if the struct statfs is defined by <sys/statfs.h>])
|
|
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, 1,
|
|
[Define if the struct statfs is defined by <sys/mount.h>])
|
|
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, 1, [Define if the struct statfs has the member 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, 1, [Define if the struct statfs has the member 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, 1, [Define if struct msghdr contains msg_accrights])
|
|
fi
|
|
|
|
dnl *** Check for the sa_len member in struct sockaddr
|
|
|
|
AC_CACHE_CHECK("for sa_len in struct sockaddr", ac_cv_c_sockaddr_sa_len,
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
], [static struct sockaddr addr; addr.sa_len = 1],
|
|
ac_cv_c_sockaddr_sa_len="yes", ac_cv_c_sockaddr_sa_len="no"))
|
|
if test "$ac_cv_c_sockaddr_sa_len" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])
|
|
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_sockaddr_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_sockaddr_sun_len="yes", ac_cv_c_sockaddr_sun_len="no"))
|
|
if test "$ac_cv_c_sockaddr_sun_len" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains 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/dde \
|
|
dlls/user/resources \
|
|
dlls/wineps/data \
|
|
"
|
|
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/glu32/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/quartz/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/winapi/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
|
|
|
|
if test "$wine_cv_msg_freetype" = "yes"
|
|
then
|
|
echo
|
|
echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
|
|
echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
|
|
echo "*** freetype-devel package (or its equivalent on your distribution) to"
|
|
echo "*** enable Wine to use TrueType fonts."
|
|
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:
|