Newer
Older
dnl Process this file with autoconf to produce a configure script.
dnl Original author: Michael Patra
dnl For detailed change history, see the git commit logs.
m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1]))
dnl autoconf versions before 2.63b don't have AS_VAR_APPEND or AS_VAR_IF
AC_PREREQ(2.63b)
AC_INIT([Wine],[WINE_VERSION],[wine-devel@winehq.org],[wine],[https://www.winehq.org])
AC_CONFIG_SRCDIR(server/atom.c)
AC_CONFIG_HEADERS(include/config.h)
libwine_version="1.0"
AC_ARG_ENABLE(win16, AS_HELP_STRING([--disable-win16],[do not include Win16 support]))
AC_ARG_ENABLE(win64, AS_HELP_STRING([--enable-win64],[build a Win64 emulator on AMD64 (won't run Win32 binaries)]))

Alexandre Julliard
committed
AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[do not build the regression tests]))
AC_ARG_ENABLE(build-id, AS_HELP_STRING([--enable-build-id],[include .buildid section in output objects]))
AC_ARG_ENABLE(maintainer-mode, AS_HELP_STRING([--enable-maintainer-mode],[enable maintainer-specific build rules]))
AC_ARG_ENABLE(silent-rules, AS_HELP_STRING([--enable-silent-rules],[use silent build rules (override: "make V=1")]))
AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror],[treat compilation warnings as errors]))
AC_ARG_WITH(alsa, AS_HELP_STRING([--without-alsa],[do not use the Alsa sound support]))
AC_ARG_WITH(capi, AS_HELP_STRING([--without-capi],[do not use CAPI (ISDN support)]))
AC_ARG_WITH(coreaudio, AS_HELP_STRING([--without-coreaudio],[do not use the CoreAudio sound support]),
[if test "x$withval" = "xno"; then ac_cv_header_CoreAudio_CoreAudio_h=no; fi])
AC_ARG_WITH(cups, AS_HELP_STRING([--without-cups],[do not use CUPS]))
AC_ARG_WITH(dbus, AS_HELP_STRING([--without-dbus],[do not use DBus (dynamic device support)]))

Alexandre Julliard
committed
AC_ARG_WITH(float-abi, AS_HELP_STRING([--with-float-abi=abi],[specify the ABI (soft|softfp|hard) for ARM platforms]))
Ken Thomases
committed
AC_ARG_WITH(fontconfig,AS_HELP_STRING([--without-fontconfig],[do not use fontconfig]))

Alexandre Julliard
committed
AC_ARG_WITH(freetype, AS_HELP_STRING([--without-freetype],[do not use the FreeType library]))
AC_ARG_WITH(gettext, AS_HELP_STRING([--without-gettext],[do not use gettext]))

Alexandre Julliard
committed
AC_ARG_WITH(gettextpo, AS_HELP_STRING([--with-gettextpo],[use the GetTextPO library to rebuild po files]),
[if test "x$withval" = "xno"; then ac_cv_header_gettext_po_h=no; fi])
AC_ARG_WITH(gphoto, AS_HELP_STRING([--without-gphoto],[do not use gphoto (Digital Camera support)]))
AC_ARG_WITH(gnutls, AS_HELP_STRING([--without-gnutls],[do not use GnuTLS (schannel support)]))
AC_ARG_WITH(gssapi, AS_HELP_STRING([--without-gssapi],[do not use GSSAPI (Kerberos SSP support)]))
AC_ARG_WITH(gstreamer, AS_HELP_STRING([--without-gstreamer],[do not use GStreamer (codecs support)]))
AC_ARG_WITH(inotify, AS_HELP_STRING([--without-inotify],[do not use inotify (filesystem change notifications)]))
AC_ARG_WITH(krb5, AS_HELP_STRING([--without-krb5],[do not use krb5 (Kerberos)]))
AC_ARG_WITH(ldap, AS_HELP_STRING([--without-ldap],[do not use LDAP]),
[if test "x$withval" = "xno"; then ac_cv_header_ldap_h=no; ac_cv_header_lber_h=no; fi])
AC_ARG_WITH(mingw, AS_HELP_STRING([--without-mingw],[do not use the MinGW cross-compiler]))
AC_ARG_WITH(netapi, AS_HELP_STRING([--without-netapi],[do not use the Samba NetAPI library]))
AC_ARG_WITH(openal, AS_HELP_STRING([--without-openal],[do not use OpenAL]),
[if test "x$withval" = "xno"; then ac_cv_header_AL_al_h=no; ac_cv_header_OpenAL_al_h=no; fi])
AC_ARG_WITH(opencl, AS_HELP_STRING([--without-opencl],[do not use OpenCL]),
[if test "x$withval" = "xno"; then ac_cv_header_CL_cl_h=no; ac_cv_header_OpenCL_opencl_h=no; fi])
AC_ARG_WITH(opengl, AS_HELP_STRING([--without-opengl],[do not use OpenGL]))
AC_ARG_WITH(osmesa, AS_HELP_STRING([--without-osmesa],[do not use the OSMesa library]))
AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss],[do not use the OSS sound support]))
AC_ARG_WITH(pcap, AS_HELP_STRING([--without-pcap],[do not use the Packet Capture library]),
[if test "x$withval" = "xno"; then ac_cv_header_pcap_pcap_h=no; fi])
AC_ARG_WITH(pthread, AS_HELP_STRING([--without-pthread],[do not use the pthread library]),
[if test "x$withval" = "xno"; then ac_cv_header_pthread_h=no; fi])
AC_ARG_WITH(pulse, AS_HELP_STRING([--without-pulse],[do not use PulseAudio sound support]))
AC_ARG_WITH(sane, AS_HELP_STRING([--without-sane],[do not use SANE (scanner support)]))
AC_ARG_WITH(sdl, AS_HELP_STRING([--without-sdl],[do not use SDL]))
AC_ARG_WITH(udev, AS_HELP_STRING([--without-udev],[do not use udev (plug and play support)]))
AC_ARG_WITH(unwind, AS_HELP_STRING([--without-unwind],[do not use the libunwind library (exception handling)]))
AC_ARG_WITH(usb, AS_HELP_STRING([--without-usb],[do not use the libusb library]))
AC_ARG_WITH(v4l2, AS_HELP_STRING([--without-v4l2],[do not use v4l2 (video capture)]))
AC_ARG_WITH(vulkan, AS_HELP_STRING([--without-vulkan],[do not use Vulkan]))
AC_ARG_WITH(xcomposite,AS_HELP_STRING([--without-xcomposite],[do not use the Xcomposite extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xcomposite_h=no; fi])
AC_ARG_WITH(xcursor, AS_HELP_STRING([--without-xcursor],[do not use the Xcursor extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_Xcursor_Xcursor_h=no; fi])
AC_ARG_WITH(xfixes, AS_HELP_STRING([--without-xfixes],[do not use Xfixes for clipboard change notifications]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xfixes_h=no; fi])
AC_ARG_WITH(xinerama, AS_HELP_STRING([--without-xinerama],[do not use Xinerama (legacy multi-monitor support)]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xinerama_h=no; fi])
AC_ARG_WITH(xinput, AS_HELP_STRING([--without-xinput],[do not use the Xinput extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_XInput_h=no; fi])
AC_ARG_WITH(xinput2, AS_HELP_STRING([--without-xinput2],[do not use the Xinput 2 extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_XInput2_h=no; fi])
AC_ARG_WITH(xrandr, AS_HELP_STRING([--without-xrandr],[do not use Xrandr (multi-monitor support)]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xrandr_h=no; fi])
AC_ARG_WITH(xrender, AS_HELP_STRING([--without-xrender],[do not use the Xrender extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xrender_h=no; fi])
AC_ARG_WITH(xshape, AS_HELP_STRING([--without-xshape],[do not use the Xshape extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_shape_h=no; fi])
AC_ARG_WITH(xshm, AS_HELP_STRING([--without-xshm],[do not use XShm (shared memory extension)]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_XShm_h=no; fi])
AC_ARG_WITH(xxf86vm, AS_HELP_STRING([--without-xxf86vm],[do not use XFree video mode extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_xf86vmode_h=no; ac_cv_header_X11_extensions_xf86vmproto_h=no; fi])
Elizabeth Figura
committed
AC_ARG_WITH(system-dllpath,AS_HELP_STRING([--with-system-dllpath=PATH],[load external PE dependencies from colon-separated path PATH]),
AC_SUBST(system_dllpath,[$withval]))
AC_ARG_WITH(wine-tools,AS_HELP_STRING([--with-wine-tools=DIR],[use Wine tools from directory DIR]))
AC_ARG_WITH(wine64, AS_HELP_STRING([--with-wine64=DIR],[use the 64-bit Wine in DIR for a Wow64 build]))
AC_CANONICAL_HOST

Alexandre Julliard
committed
AC_SUBST(dlldir,[\${libdir}/wine])
AC_SUBST(fontdir,[\${datadir}/wine/fonts])
AC_SUBST(nlsdir,[\${datadir}/wine/nls])
AC_SUBST(srcdir)

Alexandre Julliard
committed
dnl **** Check for some programs ****
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)

Alexandre Julliard
committed
AC_DEFINE_UNQUOTED(EXEEXT,["$ac_exeext"],[Define to the file extension for executables.])

Alexandre Julliard
committed
case $host in
*-darwin*)
Ken Thomases
committed
with_fontconfig=${with_fontconfig:-no}
;;
*-mingw32*|*-cygwin*)
enable_win16=${enable_win16:-no}
with_mingw=${with_mingw:-no}
;;
esac
AC_SUBST(TARGETFLAGS)
case $host in
if test "x$enable_win64" != "xyes" -a "$cross_compiling" != "yes"
then

Alexandre Julliard
committed
CC="$CC -m32"
CXX="$CXX -m32"
AC_CACHE_CHECK([whether $CC works], wine_cv_cc_m32,
[AC_LINK_IFELSE([AC_LANG_PROGRAM()],[wine_cv_cc_m32=yes],[wine_cv_cc_m32=no])])
test $wine_cv_cc_m32 != no || AC_MSG_ERROR([Cannot build a 32-bit program, you need to install 32-bit development libraries.])

Alexandre Julliard
committed
notice_platform="32-bit "
TARGETFLAGS="$TARGETFLAGS -m32"
PKG_CONFIG_PATH=${PKG_CONFIG_PATH:-/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib32/pkgconfig:/usr/lib/pkgconfig}
Francois Gouget
committed
export PKG_CONFIG_PATH
enable_win16=${enable_win16:-yes}
with_unwind=${with_unwind:-no}
else

Alexandre Julliard
committed
if test "x${GCC}" = "xyes"
then
AC_CACHE_CHECK([whether $CC supports __builtin_ms_va_list],wine_cv_builtin_ms_va_list,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>]], [[void func(__builtin_ms_va_list *args);]])],
[wine_cv_builtin_ms_va_list=yes],[wine_cv_builtin_ms_va_list=no])])
test $wine_cv_builtin_ms_va_list != no || AC_MSG_ERROR([You need gcc >= 4.4 or clang >= 3.8 to build Wine as 64-bit.])

Alexandre Julliard
committed
fi
CC="$CC -m64"
CXX="$CXX -m64"
notice_platform="64-bit "
TARGETFLAGS="$TARGETFLAGS -m64"
fi
;;
AC_CACHE_CHECK([whether $CC supports Thumb-2],wine_cv_thumb2,
[WINE_TRY_ASM_LINK([".syntax unified\n\t.thumb\n\tldm r0,{r0-r8}"],,,
[wine_cv_thumb2=yes],[wine_cv_thumb2=no])])
if test x"$wine_cv_thumb2" = xyes
then
CFLAGS="$CFLAGS -mthumb"
TARGETFLAGS="$TARGETFLAGS -mthumb"
else
CFLAGS="$CFLAGS -marm"
TARGETFLAGS="$TARGETFLAGS -marm"

Alexandre Julliard
committed
case $with_float_abi in
soft|softfp|hard)
float_abi=$with_float_abi ;;
*)
case $host_os in
*eabihf)
float_abi=hard ;;
*)
float_abi=softfp
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -mfloat-abi=$float_abi"
AC_CACHE_CHECK([whether $CC supports -mfloat-abi=$float_abi],wine_cv_float_abi,
[WINE_TRY_ASM_LINK(["vmrs r2,fpscr"],,,[wine_cv_float_abi=yes],[wine_cv_float_abi=no])])
if test $wine_cv_float_abi = no
then
float_abi=soft
WINE_WARNING([Floating point is not supported for this target. The resulting build won't be compatible with Windows ARM binaries.])
fi

Alexandre Julliard
committed
CFLAGS=$saved_CFLAGS
esac
;;
esac
CFLAGS="$CFLAGS -mfloat-abi=$float_abi"
TARGETFLAGS="$TARGETFLAGS -mfloat-abi=$float_abi"
aarch64*)
;;
i[[3456789]]86*)
enable_win16=${enable_win16:-yes}
with_unwind=${with_unwind:-no}
esac
dnl enable_win16 defaults to yes on x86, to no on other CPUs
enable_win16=${enable_win16:-no}
enable_win64=${enable_win64:-no}

Alexandre Julliard
committed
dnl Disable winetest too if tests are disabled
enable_winetest=${enable_winetest:-$enable_tests}
dnl Some special cases for the 64-bit build
if test "x$enable_win64" = "xyes"
then
test -z "$with_wine64" || AC_MSG_ERROR([--enable-win64 and --with-wine64 are mutually exclusive.
--enable-win64 should be used in the 64-bit build tree, --with-wine64 in the 32-bit Wow64 build tree.])
fi
case $build_os in
cygwin*|mingw32*) AC_SUBST(toolsext,".exe") ;;
*) AC_SUBST(toolsext,"") ;;
esac
AC_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
[wine_cv_toolsdir="$with_wine_tools"
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.])
elif test -n "$with_wine64"; then
wine_cv_toolsdir="$with_wine64"
fi
fi])
if test -z "$wine_cv_toolsdir"; then
wine_makedep=tools/makedep$toolsext
elif test -d "$wine_cv_toolsdir/tools/winebuild"; then
wine_makedep=$wine_cv_toolsdir/tools/makedep$toolsext
enable_tools=${enable_tools:-no}
test -f "$wine_makedep" || AC_MSG_ERROR([the Wine tools have not yet been built in $wine_cv_toolsdir])
else
AC_MSG_ERROR([could not find Wine tools in $wine_cv_toolsdir])
fi
AC_SUBST(toolsdir,[$wine_cv_toolsdir])
AC_SUBST(MAKEDEP,[$wine_makedep])
AC_SUBST(RUNTESTFLAGS,["-q -P wine"])
AC_SUBST(SED_CMD,["LC_ALL=C sed -e 's,@bindir@,\${bindir},g' -e 's,@dlldir@,\${dlldir},g' -e 's,@PACKAGE_STRING@,$PACKAGE_STRING,g' -e 's,@PACKAGE_VERSION@,$PACKAGE_VERSION,g'"])
if test -n "$host_alias" -a "$host_alias" != "$build_alias"

Alexandre Julliard
committed
then
TARGETFLAGS="-b $host_alias $TARGETFLAGS"

Alexandre Julliard
committed
fi

Alexandre Julliard
committed
dnl Check for flex
AC_CHECK_PROGS(FLEX,flex,none)
if test "$FLEX" = "none"

Alexandre Julliard
committed
AC_MSG_ERROR([no suitable flex found. Please install the 'flex' package.])
AC_CACHE_CHECK([whether flex is recent enough],wine_cv_recent_flex,
[cat >conftest.l <<EOF
%top{
#include "prediluvian.h"
}
%%
EOF
if $FLEX -t conftest.l >/dev/null 2>&AS_MESSAGE_LOG_FD
then
wine_cv_recent_flex=yes
else
wine_cv_recent_flex=no
fi])
test $wine_cv_recent_flex != no || AC_MSG_ERROR([Your flex version is too old. Please install flex version 2.5.33 or newer.])
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_CACHE_CHECK([whether bison is recent enough],wine_cv_recent_bison,
[cat >conftest.y <<EOF
%define parse.error verbose
%%
empty: ;
EOF
if $BISON conftest.y >/dev/null 2>&AS_MESSAGE_LOG_FD
then
wine_cv_recent_bison=yes
else
wine_cv_recent_bison=no
fi])
test $wine_cv_recent_bison != no || AC_MSG_ERROR([Your bison version is too old. Please install bison version 3.0 or newer.])
Francois Gouget
committed
AC_CHECK_TOOLS(AR,[ar gar],ar)
AC_CHECK_TOOL(STRIP,strip,strip)
AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
AC_CHECK_PROGS(MSGFMT, msgfmt, false)
if test "x$enable_maintainer_mode" != "xyes"
FONTFORGE=""
RSVG=""
CONVERT=""
ICOTOOL=""
else
test "$srcdir" = . || AC_MSG_ERROR([Maintainer mode cannot work out of tree.])
AC_CHECK_PROGS(FONTFORGE, fontforge, false)
AC_CHECK_PROGS(RSVG, rsvg-convert rsvg, false)
AC_CHECK_PROGS(CONVERT, convert, false)
AC_CHECK_PROGS(ICOTOOL, icotool, false)
test "$FONTFORGE" != "false" || AC_MSG_ERROR([You need fontforge to rebuild fonts in maintainer mode.])
test "$RSVG" != "false" || AC_MSG_ERROR([You need rsvg to rebuild icons in maintainer mode.])
Joel Holdsworth
committed
dnl Check the imagemagick version
if test "$CONVERT" = false
then

Alexandre Julliard
committed
AC_MSG_ERROR([You need imagemagick to rebuild icons in maintainer mode.])
Joel Holdsworth
committed
else
AC_MSG_CHECKING([for recent enough imagemagick])
convert_version=`convert --version | head -n1`
if test "x$convert_version" != "x"
then
convert_version_major=`expr "$convert_version" : '.* \([[0-9]]*\)\.[[0-9]]*'`
convert_version_minor=`expr "$convert_version" : '.* [[0-9]]*\.\([[0-9]]*\)'`
if test "$convert_version_major" -eq 6 -a "$convert_version_minor" -lt 6
then
CONVERT=false
fi
fi
if test "$CONVERT" = false
then
AC_MSG_RESULT([no ($convert_version_major.$convert_version_minor)])

Alexandre Julliard
committed
AC_MSG_ERROR([You need imagemagick version 6.6 or newer to rebuild icons in maintainer mode.])
Joel Holdsworth
committed
else
AC_MSG_RESULT([yes ($convert_version_major.$convert_version_minor)])
fi
fi
dnl Check the icotool version
if test "$ICOTOOL" = false
then

Alexandre Julliard
committed
AC_MSG_ERROR([You need icotool to rebuild icons in maintainer mode.])
else
AC_MSG_CHECKING([for recent enough icotool])
icotool_version=`icotool --version | head -n1`
if test "x$icotool_version" != "x"
then
icotool_version_major=`expr "$icotool_version" : '.* \([[0-9]]*\)\.[[0-9]]*'`
icotool_version_minor=`expr "$icotool_version" : '.* [[0-9]]*\.\([[0-9]]*\)'`
if test "$icotool_version_major" -eq 0 -a "$icotool_version_minor" -lt 29
then
ICOTOOL=false
WINE_WARNING([icotool version 0.29.0 or newer is needed to rebuild icons.])
fi
fi
if test "$ICOTOOL" = false
then
AC_MSG_RESULT([no ($icotool_version_major.$icotool_version_minor)])

Alexandre Julliard
committed
AC_MSG_ERROR([You need icotool version 0.29.0 or newer to rebuild icons in maintainer mode.])
else
AC_MSG_RESULT([yes ($icotool_version_major.$icotool_version_minor)])
fi
fi
dnl Maintainer mode requires gettext
with_gettext=yes
with_gettextpo=yes
dnl Maintainer mode wants -Werror
enable_werror=yes
test "x$with_gettext" != xno || MSGFMT=false
if test "$MSGFMT" != "false"
then
AC_CACHE_CHECK([whether msgfmt supports contexts],wine_cv_msgfmt_contexts,
[cat >conftest.po <<EOF
# comment
msgctxt "ctxt"
msgid "id"
msgstr "str"
EOF
if $MSGFMT -o /dev/null conftest.po 2>&AS_MESSAGE_LOG_FD
then
wine_cv_msgfmt_contexts=yes
else
wine_cv_msgfmt_contexts=no
fi])
test $wine_cv_msgfmt_contexts != no || MSGFMT=false
fi
WINE_WARNING_WITH(gettext,[test "$MSGFMT" = false],

Alexandre Julliard
committed
[gettext tools not found (or too old), translations won't be built.],
[enable_po])
AC_CHECK_LIB(i386,i386_set_ldt,[AC_SUBST(I386_LIBS, "-li386")])
AC_SUBST(OPENGL_LIBS,"")
dnl **** Check for header files ****
AC_CHECK_HEADERS(\
ApplicationServices/ApplicationServices.h \
Carbon/Carbon.h \
CoreAudio/CoreAudio.h \
DiskArbitration/DiskArbitration.h \
IOKit/IOKitLib.h \
Security/Security.h \
SystemConfiguration/SCDynamicStoreCopyDHCPInfo.h \
SystemConfiguration/SCNetworkConfiguration.h \
arpa/inet.h \
arpa/nameser.h \
elf.h \
float.h \
link.h \
linux/cdrom.h \
Erich Hoover
committed
linux/filter.h \
linux/hdreg.h \
linux/hidraw.h \
linux/input.h \
linux/ioctl.h \
linux/major.h \
linux/param.h \
linux/serial.h \
linux/ucdrom.h \
mach/mach.h \
machine/cpu.h \
mntent.h \
netdb.h \
netinet/in.h \
netinet/in_systm.h \
netinet/tcp.h \
netinet/tcp_fsm.h \
pthread.h \
pwd.h \
sasl/sasl.h \
sched.h \
scsi/scsi.h \
scsi/scsi_ioctl.h \
scsi/sg.h \
stdint.h \
sys/auxv.h \
sys/cdio.h \
sys/epoll.h \

Alexandre Julliard
committed
sys/event.h \
sys/filio.h \
sys/ipc.h \
sys/link.h \
sys/modem.h \
sys/param.h \
sys/prctl.h \
sys/ptrace.h \
sys/resource.h \
sys/scsiio.h \
sys/shm.h \
sys/signal.h \
sys/sockio.h \
sys/statvfs.h \
sys/strtio.h \
sys/syscall.h \
sys/sysinfo.h \
sys/times.h \
sys/uio.h \
sys/utsname.h \
syscall.h \
utime.h \

Alexandre Julliard
committed
WINE_HEADER_MAJOR()
AC_HEADER_STAT()
dnl **** Checks for headers that depend on other ones ****
AC_CHECK_HEADERS([sys/conf.h sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
[#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif])
dnl check for broken Linux sysctl.h that causes deprecation warnings
saved_sysctl_h_CFLAGS=$CFLAGS
test "x${GCC}" != xyes || CFLAGS="$CFLAGS -Werror"
AC_CHECK_HEADERS([sys/sysctl.h],,,
[#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif])
CFLAGS=$saved_sysctl_h_CFLAGS
AC_CHECK_HEADERS(\
netinet/ip.h \
net/if.h \
net/if_arp.h \
net/if_dl.h \
net/if_types.h \
net/route.h \
netinet/if_ether.h \
netinet/in_pcb.h \
netinet/ip_icmp.h \
netinet/ip_var.h \
netinet/udp.h \
netinet6/ip6_var.h \
netipx/ipx.h \
,,,[#include <sys/types.h>
#include <sys/socket.h>
#ifdef HAVE_SYS_SOCKETVAR_H
# include <sys/socketvar.h>
Ken Thomases
committed
#endif
#ifdef HAVE_NET_ROUTE_H
# include <net/route.h>
#endif
#ifdef HAVE_NETINET_IN_H
Ken Thomases
committed
# include <netinet/in.h>
#endif
#ifdef HAVE_NETINET_IN_SYSTM_H
# include <netinet/in_systm.h>
#endif
#ifdef HAVE_NET_IF_H
# include <net/if.h>
#endif
#ifdef HAVE_NETINET_IP_H
# include <netinet/ip.h>
#endif])
AC_CHECK_HEADERS([netinet/udp_var.h netinet/icmp_var.h netinet/icmp6.h netinet/tcp_var.h ],,,
[#include <sys/types.h>
#include <sys/socket.h>
#ifdef HAVE_SYS_SOCKETVAR_H
# include <sys/socketvar.h>
#endif
#ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
#ifdef HAVE_NETINET_IN_SYSTM_H
# include <netinet/in_systm.h>
#endif
#ifdef HAVE_NETINET_IP_H
# include <netinet/ip.h>
#endif
#ifdef HAVE_NETINET_IP_VAR_H
# include <netinet/ip_var.h>
#endif
#ifdef HAVE_NETINET_IP_ICMP_H
# include <netinet/ip_icmp.h>
#endif
#ifdef HAVE_NETINET_UDP_H
# include <netinet/udp.h>
#endif
#ifdef HAVE_NETINET_TCP_H
# include <netinet/tcp.h>
#endif])
AC_CHECK_HEADERS([linux/ipx.h linux/irda.h linux/rtnetlink.h],,,
#include <sys/socket.h>
#ifdef HAVE_ASM_TYPES_H
# include <asm/types.h>
#endif
#ifdef HAVE_LINUX_TYPES_H
# include <linux/types.h>
AC_CHECK_HEADERS([resolv.h],,,
[#include <sys/types.h>
#include <sys/socket.h>
#ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_NAMESER_H
# include <arpa/nameser.h>
#endif])
AC_CHECK_HEADERS([ifaddrs.h],,,[#include <sys/types.h>])

Alexandre Julliard
committed
AC_CHECK_HEADERS(sys/ucontext.h,,,[#include <signal.h>])
AC_CHECK_HEADERS([sys/thr.h],,,
[#include <sys/types.h>

Alexandre Julliard
committed
#ifdef HAVE_SYS_UCONTEXT_H
#include <sys/ucontext.h>
AC_CHECK_HEADERS([pthread_np.h],,,
[#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif])
[#include <sys/time.h>
#include <sys/types.h>
#ifdef HAVE_ASM_TYPES_H
#include <asm/types.h>
#endif])
AC_CHECK_HEADERS([libprocstat.h],,,
[#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#include <sys/socket.h>
#ifdef HAVE_SYS_QUEUE_H
#include <sys/queue.h>
#endif])

Alexandre Julliard
committed
dnl **** Check for working dll ****
AC_SUBST(DLLFLAGS,"")
AC_SUBST(LDDLLFLAGS,"")
AC_SUBST(LDEXECFLAGS,"")

Alexandre Julliard
committed
AC_SUBST(EXTRACFLAGS,"")
AC_SUBST(UNIXDLLFLAGS,"-fPIC")
AC_SUBST(UNIXLDFLAGS,["-shared -Wl,-Bsymbolic -Wl,-soname,\$(UNIXLIB)"])

Alexandre Julliard
committed
AC_SUBST(TOP_INSTALL_LIB,"")
AC_SUBST(TOP_INSTALL_DEV,"")
AC_SUBST(WINELOADER_LDFLAGS,"")
AC_SUBST(WINEPRELOADER_LDFLAGS,"")

Alexandre Julliard
committed
LIBEXT="so"
WINE_PATH_SONAME_TOOLS
WINE_CONFIG_HELPERS

Alexandre Julliard
committed
wine_binary="wine"
test "x$enable_win64" != "xyes" || wine_binary="wine64"
AC_SUBST(WINELOADER_PROGRAMS,"$wine_binary")
libwine_soversion=`expr $libwine_version : '\([[0-9]]*\)\..*'`

Alexandre Julliard
committed
case $host_os in
cygwin*|mingw32*)
AC_CHECK_TOOL(DLLTOOL,dlltool,false)

Alexandre Julliard
committed
LIBEXT="dll"

Alexandre Julliard
committed
EXTRACFLAGS="-D__WINE_PE_BUILD"
dnl Disable stdcall fixups to catch prototype mismatches
case $host_cpu in
*i[[3456]]86*) WINE_TRY_CFLAGS([-Wl,--disable-stdcall-fixup],
[LDDLLFLAGS="-Wl,--disable-stdcall-fixup"]) ;;

Alexandre Julliard
committed
dnl Disable modules that can't be used on Windows
enable_loader=${enable_loader:-no}
enable_server=${enable_server:-no}

Alexandre Julliard
committed
dnl Disable dependencies that are not useful on Windows
with_x=${with_x:-no}
with_pthread=${with_pthread:-no}

Alexandre Julliard
committed
;;

Alexandre Julliard
committed

Alexandre Julliard
committed
darwin*|macosx*)
AC_LANG_PUSH([Objective C])
AC_CHECK_HEADERS(Metal/Metal.h)
AC_LANG_POP([Objective C])

Alexandre Julliard
committed
LIBEXT="dylib"
DLLFLAGS="$DLLFLAGS -fPIC"

Alexandre Julliard
committed
dnl declare needed frameworks

Alexandre Julliard
committed
AC_SUBST(COREFOUNDATION_LIBS,"-framework CoreFoundation")
AC_SUBST(IOKIT_LIBS,"-framework IOKit -framework CoreFoundation")
AC_SUBST(APPLICATIONSERVICES_LIBS,"-framework ApplicationServices")
AC_SUBST(CORESERVICES_LIBS,"-framework CoreServices")
AC_SUBST(APPKIT_LIBS,"-framework AppKit")
AC_SUBST(SYSTEMCONFIGURATION_LIBS,"-framework SystemConfiguration")
WINELOADER_LDFLAGS="-Wl,-pie,-segalign,0x1000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist"
wine_can_build_preloader=yes
WINEPRELOADER_LDFLAGS="-nostartfiles -nodefaultlibs -e _start -ldylib1.o -Wl,-image_base,0x7d400000,-segalign,0x1000,-pagezero_size,0x1000,-sectcreate,__TEXT,__info_plist,loader/wine_info.plist,-segaddr,WINE_4GB_RESERVE,0x100000000"
WINE_TRY_CFLAGS([-Wl,-no_new_main -e _main],
[WINEPRELOADER_LDFLAGS="-Wl,-no_new_main $WINEPRELOADER_LDFLAGS"
WINE_TRY_CFLAGS([-Wl,-no_new_main -e _main -mmacosx-version-min=10.7 -nostartfiles -nodefaultlibs],
[WINEPRELOADER_LDFLAGS="-mmacosx-version-min=10.7 $WINEPRELOADER_LDFLAGS"],
[wine_can_build_preloader=no])],
[WINE_TRY_CFLAGS([-mmacosx-version-min=10.7 -nostartfiles -nodefaultlibs],
[WINEPRELOADER_LDFLAGS="-mmacosx-version-min=10.7 $WINEPRELOADER_LDFLAGS"],
[wine_can_build_preloader=no])])
if test "$wine_can_build_preloader" = "yes"
then
WINE_TRY_CFLAGS([-Wl,-no_pie],
[WINEPRELOADER_LDFLAGS="-Wl,-no_pie $WINEPRELOADER_LDFLAGS"])
test "$wine_binary" = wine || WINE_IGNORE_FILE("loader/wine-preloader")
WINELOADER_PROGRAMS="$WINELOADER_PROGRAMS $wine_binary-preloader"
else
WINE_WARNING([can't build Wine preloader; many programs won't work])
fi

Alexandre Julliard
committed
if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes"
then
dnl DiskArbitration API is not public on Darwin < 8.0, use it only if header found

Alexandre Julliard
committed
AC_SUBST(DISKARBITRATION_LIBS,"-framework DiskArbitration -framework CoreFoundation")

Alexandre Julliard
committed
fi

Alexandre Julliard
committed
if test "$ac_cv_header_Security_Security_h" = "yes"
then

Alexandre Julliard
committed
AC_SUBST(SECURITY_LIBS,"-framework Security -framework CoreFoundation")

Alexandre Julliard
committed
fi
if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes"

Alexandre Julliard
committed
then
AC_SUBST(COREAUDIO_LIBS,"-framework CoreFoundation -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework CoreMIDI")
enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-yes}

Alexandre Julliard
committed
fi
if test "$ac_cv_header_OpenAL_al_h" = "yes"
then

Alexandre Julliard
committed
AC_SUBST(OPENAL_LIBS,"-framework OpenAL")
AC_DEFINE_UNQUOTED(HAVE_OPENAL,1,[Define to 1 if OpenAL is available])
ac_cv_lib_openal=yes
if test "$ac_cv_header_OpenCL_opencl_h" = "yes"
then

Alexandre Julliard
committed
AC_SUBST(OPENCL_LIBS,"-framework OpenCL")
ac_cv_lib_OpenCL_clGetPlatformInfo=yes
fi

Alexandre Julliard
committed
if test "$ac_cv_header_IOKit_hid_IOHIDLib_h" = "yes"
then
ac_save_LIBS="$LIBS"

Alexandre Julliard
committed
LIBS="$LIBS $IOKIT_LIBS"

Alexandre Julliard
committed
AC_CHECK_FUNCS(IOHIDManagerCreate)
LIBS="$ac_save_LIBS"
fi

Alexandre Julliard
committed
if test "$ac_cv_header_Carbon_Carbon_h" = "yes"
then

Alexandre Julliard
committed
AC_SUBST(CARBON_LIBS,"-framework Carbon")

Alexandre Julliard
committed
fi
if test "$ac_cv_header_Metal_Metal_h" = "yes"
then
AC_SUBST(METAL_LIBS,"-framework Metal")
dnl Check for MTLDevice registryID property
if test "$ac_cv_header_Metal_Metal_h" = "yes"
then
AC_MSG_CHECKING([whether MTLDevice protocol supports registryID property])
AC_LANG_PUSH([Objective C])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <Metal/Metal.h>]], [[id<MTLDevice> device; device.registryID;]])],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MTLDEVICE_REGISTRYID, 1, [Define if MTLDevice protocol has registryID property.])],
[AC_MSG_RESULT(no)])
AC_LANG_POP([Objective C])
fi
dnl Enable Mac driver on Mac OS X 10.6 or later
if test "$ac_cv_header_ApplicationServices_ApplicationServices_h" = "yes"
then
ac_save_LIBS="$LIBS"

Alexandre Julliard
committed
LIBS="$LIBS $APPLICATIONSERVICES_LIBS"
AC_CHECK_FUNC(CGDisplayModeGetWidth,enable_winemac_drv=${enable_winemac_drv:-yes})
LIBS="$ac_save_LIBS"
fi
Brendan Shanks
committed
UNIXLDFLAGS="-dynamiclib -install_name @rpath/\$(UNIXLIB) -Wl,-rpath,@loader_path\/"

Alexandre Julliard
committed
AC_SUBST(LIBWINE_SHAREDLIB,"libwine.$libwine_version.dylib")
AC_SUBST(LIBWINE_LDFLAGS,["-dynamiclib -install_name @rpath/libwine.$libwine_soversion.dylib -Wl,-rpath,@loader_path/ -compatibility_version $libwine_soversion -current_version $libwine_version"])
AC_SUBST(WINELOADER_DEPENDS,"wine_info.plist")

Alexandre Julliard
committed
TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.$libwine_version.dylib libs/wine/libwine.$libwine_soversion.dylib"

Alexandre Julliard
committed
;;

Alexandre Julliard
committed
linux-android*)
AC_DEFINE(_GNU_SOURCE,1,[Define to 1 to enable GNU extensions on Linux])
DLLFLAGS="$DLLFLAGS -fPIC"
LDEXECFLAGS="-Wl,-pie"
enable_wineandroid_drv=${enable_wineandroid_drv:-yes}
WINE_TRY_CFLAGS([-Wl,-z,defs],[UNIXLDFLAGS="$UNIXLDFLAGS -Wl,-z,defs"])
WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],[WINELOADER_LDFLAGS="-Wl,--export-dynamic"])
WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"
WINE_CHECK_SONAME(EGL,eglGetProcAddress)
WINE_CHECK_SONAME(GLESv2,glFlush)
if test "x$exec_prefix" = xNONE
then
case $host_cpu in
*i[[3456]]86*) exec_prefix='${prefix}/x86' ;;
*x86_64*) exec_prefix='${prefix}/x86_64' ;;
*arm*) exec_prefix='${prefix}/armeabi-v7a' ;;
*aarch64*) exec_prefix='${prefix}/arm64-v8a' ;;
esac
fi
;;

Alexandre Julliard
committed
*)
AC_DEFINE(_GNU_SOURCE,1,[Define to 1 to enable GNU extensions on Linux])
test "$ac_cv_sys_file_offset_bits" = 64 && AC_DEFINE(_TIME_BITS,64,[Define to 64 to enable 64-bit time_t on Linux])
case $host_cpu in
*i[[3456789]]86*)
DLLFLAGS="$DLLFLAGS -fno-PIC"
LDDLLFLAGS="-fno-PIC"
WINE_TRY_CFLAGS([-fno-PIC -Wl,-z,notext],[LDDLLFLAGS="$LDDLLFLAGS -Wl,-z,notext"])
;;
DLLFLAGS="$DLLFLAGS -fPIC"
LDDLLFLAGS="-fPIC" ;;
LIBWINE_LDFLAGS="-shared -Wl,-soname,libwine.so.$libwine_soversion"

Alexandre Julliard
committed
echo '{ global: *; };' >conftest.map
WINE_TRY_CFLAGS([-shared -Wl,--version-script=conftest.map],
[LIBWINE_LDFLAGS="$LIBWINE_LDFLAGS -Wl,--version-script=\$(srcdir)/wine.map"])
rm -f conftest.map

Alexandre Julliard
committed
WINE_TRY_CFLAGS([-Wl,-z,defs],[UNIXLDFLAGS="$UNIXLDFLAGS -Wl,-z,defs"])
WINE_TRY_CFLAGS([-Wl,--export-dynamic],[WINELOADER_LDFLAGS="-Wl,--export-dynamic"])
WINEPRELOADER_LDFLAGS="-static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7d400000"

Alexandre Julliard
committed
case $host_cpu in
*i[[3456789]]86* | x86_64 | *aarch64* | arm*)
WINE_TRY_CFLAGS([-Wl,-Ttext-segment=0x7bc00000],
[case $host_os in
freebsd* | kfreebsd*-gnu) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-Ttext-segment=0x60000000" ;;
*) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-Ttext-segment=0x7d000000" ;;
esac],
[WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7d000400],
[case $host_os in
freebsd* | kfreebsd*-gnu) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,--section-start,.interp=0x60000400" ;;
*) WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,--section-start,.interp=0x7d000400" ;;
esac])
AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
if test "x$PRELINK" = xfalse
then
WINE_WARNING([prelink not found and linker does not support relocation, base address of core dlls won't be set correctly.])
fi])
WINE_TRY_CFLAGS([-Wl,-z,max-page-size=0x1000],
[WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
;;
esac

Alexandre Julliard
committed
AC_SUBST(LIBWINE_SHAREDLIB,"libwine.so.$libwine_version")
AC_SUBST(LIBWINE_DEPENDS,"wine.map")

Alexandre Julliard
committed
TOP_INSTALL_LIB="$TOP_INSTALL_LIB libs/wine/libwine.so.$libwine_version libs/wine/libwine.so.$libwine_soversion"

Alexandre Julliard
committed
;;
esac
enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-no}
enable_wineandroid_drv=${enable_wineandroid_drv:-no}
enable_winemac_drv=${enable_winemac_drv:-no}

Alexandre Julliard
committed

Alexandre Julliard
committed
dnl Check for cross compiler to build test programs
AC_SUBST(CROSSTARGET)
if test "x$with_mingw" != xno

Alexandre Julliard
committed
then
case "x$with_mingw" in
x|xyes) WINE_CHECK_MINGW_PROG(CROSSCC,false) ;;
*) CROSSCC=$with_mingw ;;
esac

Alexandre Julliard
committed
if test "$CROSSCC" != "false"
then
ac_save_CC="$CC"
saved_CFLAGS=$CFLAGS
saved_LDFLAGS=$LDFLAGS
AC_SUBST(CROSSCFLAGS,${CROSSCFLAGS:-"-g -O2"})

Alexandre Julliard
committed
AC_SUBST(EXTRACROSSCFLAGS,"-D__WINE_PE_BUILD -Wall")
AC_SUBST(CROSSLDFLAGS)
CC="$CROSSCC"
CFLAGS=$CROSSCFLAGS
LDFLAGS=$CROSSLDFLAGS
AC_CACHE_CHECK([whether $CROSSCC works], wine_cv_crosscc,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],[wine_cv_crosscc=yes],[wine_cv_crosscc=no])])
if test $wine_cv_crosscc = yes
then
set x $CROSSCC
shift
while test $# -ge 1
do
case "$1" in
*-gcc) CROSSTARGET=`expr "$1" : '\(.*\)-gcc'` ;;
*-clang) CROSSTARGET=`expr "$1" : '\(.*\)-clang'` ;;
esac
shift
done
dnl Check if cross compiler supports -target argument
llvm_target=$CROSSTARGET
llvm_cflags="-fuse-ld=lld"
if test -z "$llvm_target"
then
case $host_cpu in
Jacek Caban
committed
*i[[3456789]]86*) llvm_target=i686-windows ;;
*) llvm_target=$host_cpu-windows ;;
esac
fi
case $llvm_target in
*windows) llvm_cflags="$llvm_cflags -Wl,-subsystem:console" ;;
esac
WINE_TRY_CROSSCFLAGS([-target $llvm_target $llvm_cflags],
[CROSSTARGET=$llvm_target
EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -target $CROSSTARGET"
Jacek Caban
committed
AC_SUBST(DELAYLOADFLAG,["-Wl,-delayload,"])
CFLAGS="$CFLAGS $llvm_cflags"])
AC_MSG_CHECKING([for $CROSSCC option to enable C99 features])
AC_CACHE_VAL([wine_cv_crosscc_c99],
[wine_cv_crosscc_c99=no
for arg in '' '-std=gnu99'
do
CC="$CROSSCC $arg"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([$ac_c_conftest_c99_program])],
[wine_cv_crosscc_c99=$arg],[wine_cv_crosscc_c99=no])
test "x$wine_cv_crosscc_c99" != xno && break
done])
case "x$wine_cv_crosscc_c99" in
x) AC_MSG_RESULT([none needed]) ;;
xno) AC_MSG_RESULT([unsupported]) ;;
x*) AC_MSG_RESULT([$wine_cv_crosscc_c99])
CROSSCC="$CROSSCC $wine_cv_crosscc_c99" ;;
esac

Alexandre Julliard
committed
WINE_TRY_CROSSCFLAGS([-fno-strict-aliasing])
dnl clang needs to be told to fail on unknown options
WINE_TRY_CROSSCFLAGS([-Werror=unknown-warning-option],[CFLAGS="$CFLAGS -Werror=unknown-warning-option"])
Jacek Caban
committed
WINE_TRY_CROSSCFLAGS([-Werror=ignored-optimization-argument],[CFLAGS="$CFLAGS -Werror=ignored-optimization-argument"])

Alexandre Julliard
committed
WINE_TRY_CROSSCFLAGS([-Wdeclaration-after-statement])
WINE_TRY_CROSSCFLAGS([-Wempty-body])
WINE_TRY_CROSSCFLAGS([-Wignored-qualifiers])
WINE_TRY_CROSSCFLAGS([-Winit-self])

Alexandre Julliard
committed
WINE_TRY_CROSSCFLAGS([-Wpacked-not-aligned],[EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -Wno-packed-not-aligned"])
WINE_TRY_CROSSCFLAGS([-Wpragma-pack],[EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -Wno-pragma-pack"])
WINE_TRY_CROSSCFLAGS([-Wshift-overflow=2])
WINE_TRY_CROSSCFLAGS([-Wstrict-prototypes])
WINE_TRY_CROSSCFLAGS([-Wtype-limits])
WINE_TRY_CROSSCFLAGS([-Wunused-but-set-parameter])
WINE_TRY_CROSSCFLAGS([-Wvla])
WINE_TRY_CROSSCFLAGS([-Wwrite-strings])
WINE_TRY_CROSSCFLAGS([-Wpointer-arith])
WINE_TRY_CROSSCFLAGS([-Wlogical-op])
WINE_TRY_CROSSCFLAGS([-Wabsolute-value])

Alexandre Julliard
committed
case $host_cpu in
*i[[3456789]]86*) WINE_TRY_CROSSCFLAGS([-fno-omit-frame-pointer])
WINE_TRY_CROSSCFLAGS([-Wl,--disable-stdcall-fixup],[CROSSLDFLAGS="$CROSSLDFLAGS -Wl,--disable-stdcall-fixup"]) ;;
x86_64) WINE_TRY_CROSSCFLAGS([-Wno-format])
WINE_TRY_CROSSCFLAGS([-Wformat-overflow])
WINE_TRY_CROSSCFLAGS([-Wnonnull])
WINE_TRY_CROSSCFLAGS([-mcx16]) ;;
aarch64) WINE_TRY_CROSSCFLAGS([-Wno-format]) ;;

Alexandre Julliard
committed
esac
dnl Determine debug info format
AC_SUBST(CROSSDEBUG)
if test -z "$CROSSDEBUG"
then
for ac_flag in $CROSSCFLAGS; do
case $ac_flag in
-gdwarf*) CROSSDEBUG=dwarf ;;
-gcodeview) CROSSDEBUG=pdb ;;
-g) CROSSDEBUG=${CROSSDEBUG:-dwarf} ;;
esac
done
fi
ac_debug_format_seen=""
for ac_flag in $CROSSCFLAGS; do
case $ac_flag in
-gdwarf*|-gcodeview) ac_debug_format_seen=$ac_flag ;;
esac
done
if test "x$ac_debug_format_seen" = x
then
case $CROSSDEBUG in
*dwarf) WINE_TRY_CROSSCFLAGS([-gdwarf-4]) ;;
pdb) WINE_TRY_CROSSCFLAGS([-gcodeview]) ;;
esac
fi

Alexandre Julliard
committed
Jacek Caban
committed
WINE_TRY_CROSSCFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])
if test "x$enable_werror" = "xyes"
then
WINE_TRY_CROSSCFLAGS([-Werror])
fi
if test "x$enable_build_id" = "xyes"
then
WINE_TRY_CROSSCFLAGS([-Wl,--build-id], [CROSSCFLAGS="$CROSSCFLAGS -Wl,--build-id"
CROSSLDFLAGS="$CROSSLDFLAGS -Wl,--build-id"])