| dnl Process this file with autoconf to produce a configure script. |
| dnl Original author: Michael Patra |
| dnl See ChangeLog file for detailed change history. |
| |
| m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1])) |
| |
| AC_PREREQ(2.53) |
| AC_INIT([Wine],WINE_VERSION) |
| AC_CONFIG_SRCDIR(server/atom.c) |
| AC_CONFIG_HEADERS(include/config.h) |
| AC_CONFIG_AUX_DIR(tools) |
| |
| dnl **** Command-line arguments **** |
| |
| dnl Library type .so or .a |
| AC_SUBST(LIBEXT,"so") |
| |
| AC_ARG_ENABLE(debug, AC_HELP_STRING([--disable-debug],[compile out all debugging messages])) |
| AC_ARG_ENABLE(trace, AC_HELP_STRING([--disable-trace],[compile out TRACE messages])) |
| AC_ARG_ENABLE(opengl,AC_HELP_STRING([--enable-opengl],[force usage of OpenGL even if the latter is thread-safe via pthread])) |
| AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses])) |
| AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>])) |
| |
| AC_SUBST(OPTIONS) |
| if test "x$enable_debug" = "xno" |
| then |
| AC_DEFINE(NO_DEBUG_MSGS,1,[Define to disable all debug messages.]) |
| fi |
| if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno" |
| then |
| AC_DEFINE(NO_TRACE_MSGS,1,[Define to disable trace messages.]) |
| fi |
| |
| dnl **** Check for some programs **** |
| |
| AC_CANONICAL_HOST |
| AC_PROG_MAKE_SET |
| AC_PROG_CC |
| AC_PROG_CPP |
| |
| AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir, |
| [if test -z "$with_wine_tools"; then |
| if test "$cross_compiling" = "yes"; then |
| AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.]) |
| else |
| wine_cv_toolsdir="\$(TOPOBJDIR)" |
| fi |
| elif test -d "$with_wine_tools/tools/winebuild"; then |
| case $with_wine_tools in |
| /*) wine_cv_toolsdir="$with_wine_tools" ;; |
| *) wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;; |
| esac |
| else |
| AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.]) |
| fi]) |
| AC_SUBST(TOOLSDIR,$wine_cv_toolsdir) |
| |
| AC_PATH_XTRA |
| AC_PROG_YACC |
| AC_PROG_LEX |
| |
| dnl **** Just additional warning checks, since AC_PROG just sets 'yacc' even |
| dnl **** without one present. |
| AC_CHECK_PROGS(XYACC,$YACC bison yacc,none) |
| if test "$XYACC" = "none" |
| then |
| AC_MSG_ERROR([no suitable bison/yacc found. Please install the 'bison' package.]) |
| fi |
| AC_CHECK_PROGS(XLEX,$LEX flex lex,none) |
| if test "$XLEX" = "none" |
| then |
| AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.]) |
| fi |
| |
| AC_CHECK_TOOL(LD,ld,ld) |
| AC_CHECK_TOOL(AR,ar,ar) |
| AC_PROG_RANLIB |
| AC_CHECK_TOOL(STRIP,strip,strip) |
| AC_CHECK_TOOL(WINDRES,windres,false) |
| AC_PROG_INSTALL |
| AC_PROG_LN_S |
| WINE_PROG_LN |
| AC_CHECK_PROG(C2MAN,c2man,c2man,\$(TOPSRCDIR)/tools/c2man.pl) |
| AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH]) |
| |
| 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) |
| |
| 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 -lresolv for Solaris |
| AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton)) |
| dnl Check for -lxpg4 for FreeBSD |
| AC_CHECK_LIB(xpg4,_xpg4_setrunelocale) |
| dnl Check for -lmmap for OS/2 |
| AC_CHECK_LIB(mmap,mmap) |
| |
| 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(XFILES) |
| XFILES="" |
| AC_SUBST(OPENGLFILES) |
| OPENGLFILES="" |
| AC_SUBST(GLU32FILES) |
| GLU32FILES="" |
| if test "$have_x" = "yes" |
| then |
| XLIB="-lXext -lX11" |
| ac_save_CPPFLAGS="$CPPFLAGS" |
| CPPFLAGS="$CPPFLAGS $X_CFLAGS" |
| |
| dnl *** All 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, Wine will be built without it]]), |
| [#include <X11/Xlib.h>]) |
| |
| 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, Wine will be built without it]]), |
| [#include <X11/Xlib.h>]) |
| |
| dnl *** Check for Xutil |
| AC_CHECK_HEADERS(X11/Xutil.h,,, |
| [#include <X11/Xlib.h>]) |
| |
| 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, Wine will be built without it]]), |
| [#include <X11/Xlib.h> |
| #ifdef HAVE_X11_XUTIL_H |
| # include <X11/Xutil.h> |
| #endif]) |
| |
| 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, Wine will be built without it]]), |
| [#include <X11/Xlib.h>]) |
| |
| 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, Wine will be built without it]]), |
| [#include <X11/Xlib.h>]) |
| |
| 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, Wine will be built without it]]), |
| [#include <X11/Xlib.h>]) |
| |
| dnl *** Check for XRender include file |
| AC_CHECK_HEADERS(X11/extensions/Xrender.h,,,[#include <X11/Xlib.h>]) |
| ] |
| ) dnl *** End of X11/Xlib.h check |
| |
| dnl Check for the presence of OpenGL |
| if test "x$enable_opengl" != "xno" |
| then |
| if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so |
| then |
| AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system. |
| This prevents linking to OpenGL. Delete the file and restart configure.]) |
| fi |
| |
| AC_CHECK_HEADERS(GL/gl.h GL/glx.h) |
| if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes" |
| then |
| AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>]) |
| 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 "x$enable_opengl" = "xyes" \) |
| 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 |
| fi |
| |
| fi |
| dnl Check for GLU32 library. |
| AC_CHECK_LIB(GLU,gluLookAt, |
| [X_PRE_LIBS="$X_PRE_LIBS -lGLU" |
| GLU32FILES='$(GLU32FILES)'] |
| ,, |
| $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS |
| ) |
| fi |
| fi |
| fi |
| |
| CPPFLAGS="$ac_save_CPPFLAGS" |
| XFILES='$(XFILES)' |
| else |
| XLIB="" |
| X_CFLAGS="" |
| X_LIBS="" |
| fi |
| |
| dnl **** Check which curses lib to use *** |
| CURSESLIBS="" |
| if test "x$with_curses" != "xno" |
| then |
| AC_CHECK_HEADERS(ncurses.h, |
| [AC_CHECK_LIB(ncurses,waddch, |
| [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)]) |
| CURSESLIBS="-lncurses"], |
| [AC_CHECK_HEADERS(curses.h, |
| [AC_CHECK_LIB(curses,waddch, |
| [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)]) |
| CURSESLIBS="-lcurses"])])])]) |
| saved_libs="$LIBS" |
| LIBS="$CURSESLIBS $LIBS" |
| AC_CHECK_FUNCS(getbkgd resizeterm) |
| LIBS="$saved_libs" |
| fi |
| AC_SUBST(CURSESLIBS) |
| |
| 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 SANE **** |
| AC_CHECK_PROG(sane_devel,sane-config,sane-config,no) |
| if test "$sane_devel" = "no" |
| then |
| SANELIBS="" |
| SANEINCL="" |
| else |
| SANELIBS="`$sane_devel --libs`" |
| SANEINCL="`$sane_devel --cflags`" |
| ac_save_CPPFLAGS="$CPPFLAGS" |
| ac_save_LIBS="$LIBS" |
| CPPFLAGS="$CPPFLAGS $SANEINCL" |
| LIBS="$LIBS $SANELIBS" |
| AC_CHECK_HEADER(sane/sane.h, |
| [AC_CHECK_LIB(sane,sane_open, |
| [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])], |
| [SANELIBS="" |
| SANEINCL=""])], |
| [SANELIBS="" |
| SANEINCL=""]) |
| LIBS="$ac_save_LIBS" |
| CPPFLAGS="$ac_save_CPPFLAGS" |
| fi |
| AC_SUBST(SANELIBS) |
| AC_SUBST(SANEINCL) |
| |
| dnl **** Check for FreeType 2 **** |
| AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS) |
| if test "$ft_lib" = "no" |
| then |
| 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 |
| FREETYPEINCL="" |
| wine_cv_msg_freetype=yes |
| else |
| 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 \ |
| freetype/ftoutln.h \ |
| freetype/internal/sfnt.h) |
| AC_TRY_CPP([#include <ft2build.h> |
| #include <freetype/fttrigon.h>], |
| [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1, |
| [Define if you have the <freetype/fttrigon.h> header file.]) |
| wine_cv_fttrigon=yes], |
| wine_cv_fttrigon=no) |
| CPPFLAGS="$ac_save_CPPFLAGS" |
| dnl Check that we have at least freetype/freetype.h |
| if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes" |
| then |
| AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed]) |
| wine_cv_msg_freetype=no |
| else |
| FREETYPEINCL="" |
| wine_cv_msg_freetype=yes |
| fi |
| fi |
| fi |
| 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 va_copy **** |
| AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy, |
| AC_TRY_LINK( |
| [#include <stdarg.h>], |
| [va_list ap1, ap2; |
| va_copy(ap1,ap2); |
| ], |
| [ac_cv_c_va_copy="yes"], |
| [ac_cv_c_va_copy="no"]) |
| ) |
| if test "$ac_cv_c_va_copy" = "yes" |
| then |
| AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy]) |
| fi |
| AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy, |
| AC_TRY_LINK( |
| [#include <stdarg.h>], |
| [va_list ap1, ap2; |
| __va_copy(ap1,ap2); |
| ], |
| [ac_cv_c___va_copy="yes"], |
| [ac_cv_c___va_copy="no"]) |
| ) |
| if test "$ac_cv_c___va_copy" = "yes" |
| then |
| AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy]) |
| 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 **** Check for aRts Sound Server **** |
| AC_PATH_PROG(ARTSCCONFIG, artsc-config) |
| AC_CACHE_CHECK([for aRts Sound server], |
| ac_cv_c_artsserver, |
| if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"'; |
| then |
| ac_cv_c_artsserver=no |
| else |
| ARTSC_CFLAGS=`$ARTSCCONFIG --cflags` |
| ARTSC_LIBS=`$ARTSCCONFIG --libs` |
| ac_cv_c_artsserver=no |
| save_CFLAGS="$CFLAGS" |
| CFLAGS="$CFLAGS $ARTSC_CFLAGS" |
| AC_TRY_COMPILE([ |
| #include <artsc.h> |
| ],[ |
| arts_stream_t stream; |
| ],[ |
| ac_cv_c_artsserver=yes |
| ]) |
| CFLAGS="$save_CFLAGS" |
| fi) |
| |
| if test "$ac_cv_c_artsserver" = "yes" |
| then |
| AC_SUBST(ARTSLIBS, $ARTSC_LIBS) |
| AC_SUBST(ARTSINCL, $ARTSC_CFLAGS) |
| |
| AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server]) |
| fi |
| |
| dnl **** Check for ALSA **** |
| AC_SUBST(ALSALIBS,"") |
| AC_CHECK_HEADERS(alsa/asoundlib.h sys/asoundlib.h, break) |
| if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes" |
| then |
| AC_CHECK_LIB(asound,snd_pcm_open, |
| AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA including devel headers]) |
| ALSALIBS="-lasound") |
| fi |
| |
| dnl **** Check for NAS **** |
| AC_SUBST(NASLIBS,"") |
| AC_CHECK_HEADERS(audio/audiolib.h, |
| [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>]) |
| AC_CHECK_LIB(audio,AuCreateFlow, |
| [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers]) |
| NASLIBS="-laudio -lXt \$(X_LIBS) \$(XLIB)"],, |
| [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])]) |
| |
| dnl **** Check for libaudioio (which can be used to get solaris audio support) **** |
| |
| AC_SUBST(AUDIOIOLIBS,"") |
| AC_CHECK_HEADERS(libaudioio.h, |
| [AC_CHECK_LIB(audioio,AudioIOGetVersion, |
| [AUDIOIOLIBS="-laudioio" |
| AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])]) |
| |
| 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, |
| [WINE_TRY_CFLAGS([-mpreferred-stack-boundary=2], |
| ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")]) |
| if test "$ac_cv_c_gcc_stack_boundary" = "yes" |
| then |
| CFLAGS="$CFLAGS -mpreferred-stack-boundary=2" |
| fi |
| fi |
| |
| dnl **** Check how to define a function in assembly code **** |
| |
| AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def, |
| WINE_TRY_ASM_LINK( |
| ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,, |
| ac_cv_asm_func_def=".def", |
| [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,, |
| ac_cv_asm_func_def=".type @function", |
| [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,, |
| ac_cv_asm_func_def=".type 2", |
| ac_cv_asm_func_def="unknown")])])) |
| |
| AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive]) |
| case "$ac_cv_asm_func_def" in |
| ".def") |
| AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;; |
| ".type @function") |
| AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;; |
| ".type 2") |
| AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;; |
| *) |
| AC_DEFINE([__ASM_FUNC(name)], [""]) ;; |
| esac |
| |
| dnl **** Check for underscore on external symbols **** |
| |
| AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix, |
| WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"], |
| [extern int ac_test;], |
| [if (ac_test) return 1], |
| ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no")) |
| |
| AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol]) |
| if test "$ac_cv_c_extern_prefix" = "yes" |
| then |
| AC_DEFINE([__ASM_NAME(name)], ["_" name]) |
| else |
| AC_DEFINE([__ASM_NAME(name)], [name]) |
| fi |
| |
| dnl **** Check whether stdcall symbols need to be decorated **** |
| |
| AC_CACHE_CHECK([whether stdcall symbols need to be decorated], ac_cv_c_stdcall_decoration, |
| WINE_TRY_ASM_LINK(["\t.globl _ac_test@0\n_ac_test@0:\n\t.globl ac_test@0\nac_test@0:"], |
| [extern void __attribute__((__stdcall__)) ac_test(void);], |
| [ac_test()], |
| ac_cv_c_stdcall_decoration="yes",ac_cv_c_stdcall_decoration="no")) |
| if test "$ac_cv_c_stdcall_decoration" = "yes" |
| then |
| AC_DEFINE(NEED_STDCALL_DECORATION, 1, [Define if stdcall symbols need to be decorated]) |
| fi |
| |
| dnl **** Check for .string in assembler **** |
| |
| AC_CACHE_CHECK([whether assembler accepts .string], ac_cv_c_asm_string, |
| WINE_TRY_ASM_LINK([".data\n\t.string \"test\"\n\t.text"],,, |
| ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no")) |
| 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 **** |
| |
| AC_SUBST(DLLEXT,"") |
| AC_SUBST(DLLFLAGS,"") |
| AC_SUBST(DLLIBS,"") |
| AC_SUBST(LDDLLFLAGS,"") |
| AC_SUBST(LDSHARED,"") |
| |
| case $host_os in |
| cygwin*|mingw32*) |
| AC_CHECK_TOOL(DLLWRAP,dllwrap,false) |
| if test "$DLLWRAP" = "false"; then |
| LIBEXT="a" |
| else |
| dnl FIXME - check whether dllwrap works correctly... |
| LIBEXT="dll" |
| fi |
| ;; |
| *) |
| AC_CHECK_HEADERS(dlfcn.h, |
| [AC_CHECK_FUNCS(dlopen,, |
| [AC_CHECK_LIB(dl,dlopen, |
| [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen]) |
| DLLIBS="-ldl"], |
| [LIBEXT="a"])])], |
| [LIBEXT="a"]) |
| |
| if test "$LIBEXT" = "so" |
| then |
| DLLFLAGS="-fPIC" |
| DLLEXT=".so" |
| AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf, |
| [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic], |
| ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")]) |
| 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, |
| [WINE_TRY_CFLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic], |
| ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")]) |
| if test "$ac_cv_c_dll_unixware" = "yes" |
| then |
| LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)" |
| LDDLLFLAGS="-Wl,-B,symbolic" |
| fi |
| fi |
| fi |
| |
| dnl Check for cross compiler to build test programs |
| AC_SUBST(CROSSTEST,"") |
| if test "$cross_compiling" = "no" |
| then |
| AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc,false) |
| AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool,false) |
| if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi |
| fi |
| ;; |
| esac |
| |
| if test "$LIBEXT" = "a"; then |
| AC_MSG_ERROR( |
| [could not find a way to build shared libraries. |
| It is currently not possible to build Wine without shared library |
| (.so) support to allow transparent switch between .so and .dll files. |
| If you are using Linux, you will need a newer binutils.] |
| ) |
| fi |
| |
| case $build_os in |
| cygwin*|mingw32*) |
| AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/library:\$(TOOLSDIR)/unicode:\$\$PATH\"") ;; |
| *) |
| AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/library:\$(TOOLSDIR)/unicode:\$\$LD_LIBRARY_PATH\"") ;; |
| esac |
| |
| dnl Mingw needs explicit msvcrt for linking libwine |
| AC_SUBST(CRTLIBS,"") |
| case $host_os in |
| mingw32*) |
| CRTLIBS="-lmsvcrt" ;; |
| esac |
| |
| dnl **** Get the soname for libraries that we load dynamically **** |
| |
| if test "$LIBEXT" = "so" |
| then |
| WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS]) |
| WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS]) |
| WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS]) |
| WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS]) |
| fi |
| |
| |
| dnl **** Check for reentrant libc **** |
| |
| wine_cv_libc_reentrant=no |
| dnl Linux style errno location |
| WINE_CHECK_ERRNO([__errno_location], [wine_cv_libc_reentrant=__errno_location], |
| dnl FreeBSD style errno location |
| WINE_CHECK_ERRNO([__error], [wine_cv_libc_reentrant=__error], |
| dnl Solaris style errno location |
| WINE_CHECK_ERRNO([___errno], [wine_cv_libc_reentrant=___errno], |
| dnl UnixWare style errno location |
| WINE_CHECK_ERRNO([__thr_errno], [wine_cv_libc_reentrant=__thr_errno], |
| dnl NetBSD style errno location |
| WINE_CHECK_ERRNO([__errno], [wine_cv_libc_reentrant=__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. |
| |
| if test "$have_x" = "yes" |
| then |
| AC_CACHE_CHECK( [for reentrant X libraries], wine_cv_x_reentrant, |
| [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 |
| fi |
| if test -r $dir/libX11.a; then |
| libX11_check="$dir/libX11.a" |
| break |
| 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 |
| |
| dnl **** Check for functions **** |
| |
| AC_FUNC_ALLOCA() |
| AC_CHECK_FUNCS(\ |
| __libc_fork \ |
| _lwp_create \ |
| _pclose \ |
| _popen \ |
| _snprintf \ |
| _stricmp \ |
| _strnicmp \ |
| chsize \ |
| clone \ |
| ecvt \ |
| finite \ |
| fpclass \ |
| ftruncate \ |
| ftruncate64 \ |
| getnetbyaddr \ |
| getnetbyname \ |
| getpagesize \ |
| getprotobyname \ |
| getprotobynumber \ |
| getpwuid \ |
| getservbyport \ |
| getsockopt \ |
| inet_network \ |
| lseek64 \ |
| lstat \ |
| memmove \ |
| mkstemp \ |
| mmap \ |
| pclose \ |
| popen \ |
| pread \ |
| pwrite \ |
| rfork \ |
| select \ |
| sendmsg \ |
| settimeofday \ |
| sigaltstack \ |
| snprintf \ |
| statfs \ |
| strcasecmp \ |
| strerror \ |
| strncasecmp \ |
| tcgetattr \ |
| timegm \ |
| usleep \ |
| vfscanf \ |
| wait4 \ |
| waitpid \ |
| ) |
| |
| dnl **** Check for header files **** |
| |
| AC_CHECK_HEADERS(\ |
| arpa/inet.h \ |
| arpa/nameser.h \ |
| direct.h \ |
| elf.h \ |
| float.h \ |
| ieeefp.h \ |
| io.h \ |
| libaudioio.h \ |
| libio.h \ |
| libutil.h \ |
| link.h \ |
| linux/cdrom.h \ |
| linux/hdreg.h \ |
| linux/input.h \ |
| linux/joystick.h \ |
| linux/major.h \ |
| linux/param.h \ |
| linux/serial.h \ |
| linux/ucdrom.h \ |
| netdb.h \ |
| netinet/in.h \ |
| netinet/in_systm.h \ |
| netinet/tcp.h \ |
| pty.h \ |
| pwd.h \ |
| sched.h \ |
| scsi/sg.h \ |
| socket.h \ |
| stdint.h \ |
| strings.h \ |
| sys/cdio.h \ |
| sys/errno.h \ |
| sys/file.h \ |
| sys/filio.h \ |
| sys/inttypes.h \ |
| sys/ioctl.h \ |
| sys/ipc.h \ |
| sys/link.h \ |
| sys/lwp.h \ |
| sys/mman.h \ |
| sys/modem.h \ |
| sys/mount.h \ |
| sys/msg.h \ |
| sys/param.h \ |
| sys/poll.h \ |
| sys/ptrace.h \ |
| sys/reg.h \ |
| sys/shm.h \ |
| sys/signal.h \ |
| sys/socket.h \ |
| sys/sockio.h \ |
| sys/statfs.h \ |
| sys/strtio.h \ |
| sys/syscall.h \ |
| sys/sysctl.h \ |
| sys/time.h \ |
| sys/times.h \ |
| sys/user.h \ |
| sys/v86.h \ |
| sys/v86intr.h \ |
| sys/vfs.h \ |
| sys/vm86.h \ |
| sys/wait.h \ |
| syscall.h \ |
| termios.h \ |
| ucontext.h \ |
| unistd.h \ |
| utime.h \ |
| ) |
| AC_HEADER_STAT() |
| |
| dnl *** Check for net/if.h |
| AC_CHECK_HEADERS(net/if.h,,, |
| [#if HAVE_SYS_TYPES_H |
| # include <sys/types.h> |
| #endif |
| #if HAVE_SYS_SOCKET_H |
| # include <sys/socket.h> |
| #endif]) |
| |
| dnl *** Check for netinet/ip.h |
| AC_CHECK_HEADERS(netinet/ip.h,,, |
| [#if HAVE_SYS_SOCKET_H |
| # include <sys/socket.h> |
| #endif |
| #if HAVE_NETINET_IN_SYSTM_H |
| # include <netinet/in_systm.h> |
| #endif]) |
| |
| dnl *** Check for resolv.h |
| AC_CHECK_HEADERS(resolv.h,,, |
| [#if HAVE_SYS_SOCKET_H |
| # include <sys/socket.h> |
| #endif]) |
| |
| dnl **** Check for types **** |
| |
| AC_C_CONST |
| AC_C_INLINE |
| AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_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? *** |
| |
| WINE_CHECK_STRUCT_MEMBER(statfs,f_bfree, |
| [#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], |
| [AC_DEFINE(STATFS_HAS_BFREE, 1, [Define if the struct statfs has the member bfree])]) |
| |
| WINE_CHECK_STRUCT_MEMBER(statfs,f_bavail, |
| [#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], |
| [AC_DEFINE(STATFS_HAS_BAVAIL, 1, [Define if the struct statfs has the member bavail])]) |
| |
| dnl Check for file descriptor passing with msg_accrights |
| WINE_CHECK_STRUCT_MEMBER(msghdr,msg_accrights, |
| [#include <sys/types.h> |
| #include <sys/socket.h>], |
| [AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS, 1, [Define if struct msghdr contains msg_accrights])]) |
| |
| dnl Check for the sa_len member in struct sockaddr |
| WINE_CHECK_STRUCT_MEMBER(sockaddr,sa_len, |
| [#include <sys/types.h> |
| #include <sys/socket.h>], |
| [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])]) |
| |
| dnl Check for the sun_len member in struct sockaddr_un |
| WINE_CHECK_STRUCT_MEMBER(sockaddr_un,sun_len, |
| [#include <sys/types.h> |
| #include <sys/socket.h> |
| #include <sys/un.h>], |
| [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains sun_len])]) |
| |
| dnl *** check for the need to define __i386__ |
| |
| case $host_cpu in |
| *i[3456789]86* ) |
| AC_CACHE_CHECK([whether we need to define __i386__],ac_cv_cpp_def_i386, |
| AC_EGREP_CPP(yes,[#ifndef __i386__ |
| yes |
| #endif], |
| ac_cv_cpp_def_i386="yes", ac_cv_cpp_def_i386="no")) |
| ;; |
| esac |
| if test "$ac_cv_cpp_def_i386" = "yes" |
| then |
| CFLAGS="$CFLAGS -D__i386__" |
| LINTFLAGS="$LINTFLAGS -D__i386__" |
| fi |
| |
| dnl *** check for the need to define __sparc__ |
| |
| case $host_cpu in |
| *sparc* ) |
| AC_CACHE_CHECK([whether we need to define __sparc__],ac_cv_cpp_def_sparc, |
| AC_EGREP_CPP(yes,[#ifndef __sparc__ |
| yes |
| #endif], |
| ac_cv_cpp_def_sparc="yes", ac_cv_cpp_def_sparc="no")) |
| ;; |
| esac |
| if test "$ac_cv_cpp_def_sparc" = "yes" |
| then |
| CFLAGS="$CFLAGS -D__sparc__" |
| LINTFLAGS="$LINTFLAGS -D__sparc__" |
| fi |
| |
| dnl *** check for the need to define __sun__ |
| |
| case $host_vendor in |
| *sun* ) |
| AC_CACHE_CHECK([whether we need to define __sun__],ac_cv_cpp_def_sun, |
| AC_EGREP_CPP(yes,[#ifndef __sun__ |
| yes |
| #endif], |
| ac_cv_cpp_def_sun="yes", ac_cv_cpp_def_sun="no")) |
| ;; |
| esac |
| if test "$ac_cv_cpp_def_sun" = "yes" |
| then |
| CFLAGS="$CFLAGS -D__sun__" |
| LINTFLAGS="$LINTFLAGS -D__sun__" |
| fi |
| |
| dnl **** Generate output files **** |
| |
| AH_TOP([#define __WINE_CONFIG_H]) |
| |
| WINE_CONFIG_EXTRA_DIR(controls) |
| WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice) |
| WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper) |
| WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw) |
| WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d) |
| WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette) |
| WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface) |
| WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick) |
| WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard) |
| WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse) |
| WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv) |
| WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv) |
| WINE_CONFIG_EXTRA_DIR(dlls/gdi/win16drv) |
| WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages) |
| WINE_CONFIG_EXTRA_DIR(dlls/user/dde) |
| WINE_CONFIG_EXTRA_DIR(dlls/user/resources) |
| WINE_CONFIG_EXTRA_DIR(dlls/wineps/data) |
| WINE_CONFIG_EXTRA_DIR(files) |
| WINE_CONFIG_EXTRA_DIR(graphics) |
| WINE_CONFIG_EXTRA_DIR(graphics/x11drv) |
| WINE_CONFIG_EXTRA_DIR(if1632) |
| WINE_CONFIG_EXTRA_DIR(include/wine) |
| WINE_CONFIG_EXTRA_DIR(loader) |
| WINE_CONFIG_EXTRA_DIR(loader/ne) |
| WINE_CONFIG_EXTRA_DIR(memory) |
| WINE_CONFIG_EXTRA_DIR(misc) |
| WINE_CONFIG_EXTRA_DIR(msdos) |
| WINE_CONFIG_EXTRA_DIR(objects) |
| WINE_CONFIG_EXTRA_DIR(programs/regapi/tests) |
| WINE_CONFIG_EXTRA_DIR(programs/regedit/tests) |
| WINE_CONFIG_EXTRA_DIR(programs/winetest/tests) |
| WINE_CONFIG_EXTRA_DIR(relay32) |
| WINE_CONFIG_EXTRA_DIR(scheduler) |
| WINE_CONFIG_EXTRA_DIR(win32) |
| WINE_CONFIG_EXTRA_DIR(windows) |
| |
| MAKE_RULES=Make.rules |
| AC_SUBST_FILE(MAKE_RULES) |
| |
| MAKE_DLL_RULES=dlls/Makedll.rules |
| AC_SUBST_FILE(MAKE_DLL_RULES) |
| |
| MAKE_TEST_RULES=dlls/Maketest.rules |
| AC_SUBST_FILE(MAKE_TEST_RULES) |
| |
| MAKE_PROG_RULES=programs/Makeprog.rules |
| AC_SUBST_FILE(MAKE_PROG_RULES) |
| |
| AC_CONFIG_FILES([ |
| Make.rules |
| dlls/Makedll.rules |
| dlls/Maketest.rules |
| programs/Makeprog.rules |
| Makefile |
| dlls/Makefile |
| dlls/advapi32/Makefile |
| dlls/advapi32/tests/Makefile |
| dlls/avicap32/Makefile |
| dlls/avifil32/Makefile |
| dlls/comcat/Makefile |
| dlls/comctl32/Makefile |
| dlls/commdlg/Makefile |
| dlls/crtdll/Makefile |
| dlls/crypt32/Makefile |
| dlls/d3d8/Makefile |
| dlls/dciman32/Makefile |
| dlls/ddraw/Makefile |
| dlls/devenum/Makefile |
| dlls/dinput/Makefile |
| dlls/dinput8/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/kernel/tests/Makefile |
| dlls/lzexpand/Makefile |
| dlls/mapi32/Makefile |
| dlls/mpr/Makefile |
| dlls/msacm/Makefile |
| dlls/msacm/imaadp32/Makefile |
| dlls/msacm/msadp32/Makefile |
| dlls/msacm/msg711/Makefile |
| dlls/msacm/winemp3/Makefile |
| dlls/msdmo/Makefile |
| dlls/msimg32/Makefile |
| dlls/msisys/Makefile |
| dlls/msnet32/Makefile |
| dlls/msrle32/Makefile |
| dlls/msvcrt/Makefile |
| dlls/msvcrt20/Makefile |
| dlls/msvideo/Makefile |
| dlls/netapi32/Makefile |
| dlls/netapi32/tests/Makefile |
| dlls/ntdll/Makefile |
| dlls/ntdll/tests/Makefile |
| dlls/odbc32/Makefile |
| dlls/ole32/Makefile |
| dlls/oleaut32/Makefile |
| dlls/oleaut32/tests/Makefile |
| dlls/olecli/Makefile |
| dlls/oledlg/Makefile |
| dlls/olepro32/Makefile |
| dlls/olesvr/Makefile |
| dlls/opengl32/Makefile |
| dlls/psapi/Makefile |
| dlls/qcap/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/shell32/tests/Makefile |
| dlls/shfolder/Makefile |
| dlls/shlwapi/Makefile |
| dlls/shlwapi/tests/Makefile |
| dlls/snmpapi/Makefile |
| dlls/sti/Makefile |
| dlls/tapi32/Makefile |
| dlls/ttydrv/Makefile |
| dlls/twain/Makefile |
| dlls/url/Makefile |
| dlls/urlmon/Makefile |
| dlls/user/Makefile |
| dlls/user/tests/Makefile |
| dlls/version/Makefile |
| dlls/win32s/Makefile |
| dlls/winaspi/Makefile |
| dlls/winedos/Makefile |
| dlls/wineps/Makefile |
| dlls/wininet/Makefile |
| dlls/wininet/tests/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/winealsa/Makefile |
| dlls/winmm/winearts/Makefile |
| dlls/winmm/wineaudioio/Makefile |
| dlls/winmm/winenas/Makefile |
| dlls/winmm/wineoss/Makefile |
| dlls/winnls/Makefile |
| dlls/winsock/Makefile |
| dlls/winsock/tests/Makefile |
| dlls/winspool/Makefile |
| dlls/wintrust/Makefile |
| dlls/wow32/Makefile |
| dlls/wsock32/Makefile |
| dlls/x11drv/Makefile |
| documentation/Makefile |
| include/Makefile |
| library/Makefile |
| miscemu/Makefile |
| ole/Makefile |
| programs/Makefile |
| programs/avitools/Makefile |
| programs/clock/Makefile |
| programs/cmdlgtst/Makefile |
| programs/control/Makefile |
| programs/expand/Makefile |
| programs/notepad/Makefile |
| programs/osversioncheck/Makefile |
| programs/progman/Makefile |
| programs/regapi/Makefile |
| programs/regedit/Makefile |
| programs/regsvr32/Makefile |
| programs/regtest/Makefile |
| programs/uninstaller/Makefile |
| programs/view/Makefile |
| programs/wcmd/Makefile |
| programs/wineconsole/Makefile |
| programs/winedbg/Makefile |
| programs/winefile/Makefile |
| programs/winemine/Makefile |
| programs/winepath/Makefile |
| programs/winetest/Makefile |
| programs/winhelp/Makefile |
| programs/winver/Makefile |
| server/Makefile |
| tools/Makefile |
| tools/widl/Makefile |
| tools/winapi/Makefile |
| tools/winebuild/Makefile |
| tools/winedump/Makefile |
| tools/wmc/Makefile |
| tools/wpp/Makefile |
| tools/wrc/Makefile |
| tsx11/Makefile |
| unicode/Makefile]) |
| |
| AC_OUTPUT |
| |
| 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 at the very least." |
| 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 built without" |
| echo "*** threading support. Consider upgrading libc to a more recent" |
| echo "*** reentrant version of libc." |
| fi |
| |
| if test "$have_x" = "yes" -a "$wine_cv_x_reentrant" != "yes" |
| then |
| echo |
| echo "*** Warning: non-reentrant X11 library detected. Multi-threaded" |
| echo "*** applications won't work properly. You should upgrade your X11 library." |
| 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 "x$enable_opengl" = "x" |
| then |
| echo |
| echo "*** Warning: the OpenGL version you have installed relies on libpthread for" |
| echo "*** thread-safety. To prevent crashes, OpenGL support has been disabled." |
| 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 "x$enable_opengl" = "xyes" |
| 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: |