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,[wine-devel@winehq.org])
AC_CONFIG_SRCDIR(server/atom.c)
AC_CONFIG_HEADERS(include/config.h)
AC_CONFIG_AUX_DIR(tools)
dnl **** Command-line arguments ****
AC_ARG_ENABLE(win16, AC_HELP_STRING([--disable-win16],[do not include Win16 support]))
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(win64, AC_HELP_STRING([--enable-win64], [build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
AC_ARG_WITH(opengl, AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
AC_ARG_WITH(curses, AC_HELP_STRING([--without-curses],[do not use curses]))
AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=
],[use Wine tools from directory ]))
AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
if test "x$enable_win16" = "xno"
then
WIN16_FILES=""
WIN16_INSTALL=""
fi
AC_SUBST(DLLDEFS,"")
if test "x$enable_debug" = "xno"
then
DLLDEFS="$DLLDEFS -DWINE_NO_DEBUG_MSGS"
fi
if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
then
DLLDEFS="$DLLDEFS -DWINE_NO_TRACE_MSGS"
fi
dnl **** Check for some programs ****
AC_CANONICAL_HOST
case $host in
x86_64*linux*)
if test "x$enable_win64" != "xyes"
then
test -n "$CC" || CC="gcc -m32"
test -n "$LD" || LD="ld -m elf_i386"
test -n "$AS" || AS="as --32"
fi
;;
esac
AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_CXX
dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E
AC_CHECK_TOOL(CPPBIN,cpp,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_LEX
dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
dnl **** without one present.
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
dnl Check for bison
AC_CHECK_PROGS(BISON,bison,none)
if test "$BISON" = "none"
then
AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
fi
AC_CHECK_TOOLS(AS,[gas as],as)
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_LN_S
WINE_PROG_LN
AC_PROG_EGREP
AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
AC_PROG_INSTALL
dnl Prepend src dir to install path dir if it's a relative path
case "$INSTALL" in
[[\\/$]]* | ?:[[\\/]]* ) ;;
*) INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
esac
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 various programs
AC_CHECK_PROGS(DB2HTML, docbook2html db2html, false)
AC_CHECK_PROGS(DB2PDF, docbook2pdf db2pdf, false)
AC_CHECK_PROGS(DB2PS, docbook2ps db2ps, false)
AC_CHECK_PROGS(DB2TXT, docbook2txt db2txt, false)
AC_CHECK_PROGS(FONTFORGE, fontforge, false)
dnl **** Check for some libraries ****
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 -lpoll for Mac OS X/Darwin
AC_CHECK_LIB(poll,poll)
dnl Check for -lresolv for Mac OS X/Darwin
AC_CHECK_LIB(resolv,res_9_init)
dnl Check for -lpthread
AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
AC_SUBST(XLIB)
AC_SUBST(XFILES)
XFILES=""
AC_SUBST(OPENGLFILES)
OPENGLFILES=""
AC_SUBST(GLU32FILES)
GLU32FILES=""
AC_SUBST(OPENGL_LIBS)
OPENGL_LIBS=""
dnl **** Check for header files ****
AC_CHECK_HEADERS(\
arpa/inet.h \
arpa/nameser.h \
cups/cups.h \
direct.h \
elf.h \
float.h \
fontconfig/fontconfig.h \
getopt.h \
gif_lib.h \
ieeefp.h \
io.h \
jack/jack.h \
jpeglib.h \
lcms.h \
libio.h \
libutil.h \
link.h \
linux/cdrom.h \
linux/compiler.h \
linux/hdreg.h \
linux/input.h \
linux/ioctl.h \
linux/joystick.h \
linux/major.h \
linux/param.h \
linux/serial.h \
linux/ucdrom.h \
machine/cpu.h \
mntent.h \
netdb.h \
netinet/in.h \
netinet/in_systm.h \
netinet/tcp.h \
netinet/tcp_fsm.h \
openssl/des.h \
openssl/md2.h \
openssl/rc2.h \
openssl/rc4.h \
openssl/rsa.h \
openssl/ssl.h \
process.h \
pthread.h \
pty.h \
pwd.h \
regex.h \
sched.h \
scsi/sg.h \
scsi/scsi.h \
scsi/scsi_ioctl.h \
socket.h \
stdint.h \
strings.h \
sys/cdio.h \
sys/elf32.h \
sys/errno.h \
sys/epoll.h \
sys/exec_elf.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/msg.h \
sys/param.h \
sys/poll.h \
sys/ptrace.h \
sys/reg.h \
sys/scsiio.h \
sys/shm.h \
sys/signal.h \
sys/socket.h \
sys/sockio.h \
sys/statfs.h \
sys/statvfs.h \
sys/strtio.h \
sys/syscall.h \
sys/sysctl.h \
sys/time.h \
sys/times.h \
sys/uio.h \
sys/un.h \
sys/v86.h \
sys/v86intr.h \
sys/vfs.h \
sys/vm86.h \
sys/wait.h \
syscall.h \
termios.h \
unistd.h \
utime.h \
valgrind/memcheck.h
)
AC_HEADER_STAT()
dnl **** Check for X11 ****
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,
[
AC_CHECK_HEADERS([X11/XKBlib.h \
X11/Xutil.h \
X11/extensions/shape.h \
X11/extensions/XInput.h \
X11/extensions/XShm.h \
X11/extensions/Xrandr.h \
X11/extensions/Xrender.h \
X11/extensions/Xvlib.h \
X11/extensions/xf86dga.h \
X11/extensions/xf86vmode.h],,,
[#include
#ifdef HAVE_X11_XUTIL_H
# include
#endif])
dnl *** Check for X keyboard extension
if test "$ac_cv_header_X11_XKBlib_h" = "yes"
then
AC_CHECK_LIB(X11, XkbQueryExtension,
AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
fi
dnl *** Check for X Shm extension
if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
then
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)
fi
dnl *** Check for X shape extension
if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
then
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)
fi
dnl *** Check for XFree86 DGA / DGA 2.0 extension
if test "$ac_cv_header_X11_extensions_xf86dga_h" = "yes"
then
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)
fi
dnl *** Check for XFree86 VMODE extension
if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
then
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)
fi
dnl *** Check for X RandR extension
if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
then
AC_TRY_COMPILE([#include
#include ],[static typeof(XRRSetScreenConfigAndRate) * func;],
[AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
fi
dnl *** Check for XVideo extension supporting XvImages
if test "$ac_cv_header_X11_extensions_Xvlib_h" = "yes"
then
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)
fi
dnl *** Check for Transform functions in Xrender
if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
then
AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
[AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
[Define if Xrender has the XRenderSetPictureTransform function])],,
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
fi
]
) dnl *** End of X11/Xlib.h check
dnl Check for the presence of OpenGL
if test "x$with_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 ])
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 ],
[GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
[wine_cv_opengl_version_OK="yes"],
[wine_cv_opengl_version_OK="no"]
)
)
if test "$wine_cv_opengl_version_OK" = "yes"
then
dnl Check for the presence of the library
AC_CHECK_LIB(GL,glXCreateContext,
OPENGL_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
#ifdef HAVE_GL_GLEXT_H
# include
#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,
[OPENGL_LIBS="$OPENGL_LIBS -lGLU"
GLU32FILES='$(GLU32FILES)']
,,
$OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
)
fi
dnl Check for glut32 library.
AC_CHECK_LIB(glut,glutMainLoop,
[AC_SUBST(GLUT_LIBS,"-lglut -lXmu -lXi")
AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
$OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXmu -lXi -lX11 $X_EXTRA_LIBS)
fi
fi
dnl **** Check for NAS ****
AC_SUBST(NASLIBS,"")
AC_CHECK_HEADERS(audio/audiolib.h,
[AC_CHECK_HEADERS(audio/soundlib.h,,,[#include