Skip to content
Snippets Groups Projects
configure.ac 109 KiB
Newer Older
Alexandre Julliard's avatar
Alexandre Julliard committed
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]))

dnl autoconf versions before 2.62 don't handle source dir symlinks correctly
AC_PREREQ(2.62)
AC_INIT([Wine],[WINE_VERSION],[wine-devel@winehq.org],[wine],[http://www.winehq.org])
AC_CONFIG_SRCDIR(server/atom.c)
AC_CONFIG_HEADERS(include/config.h)
Alexandre Julliard's avatar
Alexandre Julliard committed
AC_CONFIG_AUX_DIR(tools)
Alexandre Julliard's avatar
Alexandre Julliard committed

dnl autoconf versions before 2.63b don't have AS_VAR_APPEND or AS_VAR_IF
m4_ifdef([AS_VAR_APPEND],,[as_fn_append () { eval $[1]=\$$[1]\$[2]; }
AC_DEFUN([AS_VAR_APPEND],[as_fn_append $1 $2])])dnl
m4_ifdef([AS_VAR_IF],,[AC_DEFUN([AS_VAR_IF],
[AS_LITERAL_IF([$1],
  [AS_IF([test "x$$1" = x""$2], [$3], [$4])],
  [eval as_val=\$$1
   AS_IF([test "x$as_val" = x""$2], [$3], [$4])])])])dnl
dnl autoconf versions before 2.64 don't have AC_PACKAGE_URL
m4_ifdef([AC_PACKAGE_URL],,
  [AC_DEFINE([PACKAGE_URL], ["http://www.winehq.org"], [Define to the home page for this package.])
   AC_SUBST([PACKAGE_URL], ["http://www.winehq.org"])])dnl
Alexandre Julliard's avatar
Alexandre Julliard committed
dnl **** Command-line arguments ****

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)]))
AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[do not build the regression tests]))
AC_ARG_ENABLE(maintainer-mode, AS_HELP_STRING([--enable-maintainer-mode],[enable maintainer-specific build rules]))
AC_ARG_WITH(alsa,      AS_HELP_STRING([--without-alsa],[do not use the Alsa sound support]),
            [if test "x$withval" = "xno"; then ac_cv_header_sys_asoundlib_h=no; ac_cv_header_alsa_asoundlib_h=no; fi])
AC_ARG_WITH(capi,      AS_HELP_STRING([--without-capi],[do not use CAPI (ISDN support)]),
            [if test "x$withval" = "xno"; then ac_cv_header_capi20_h=no; ac_cv_header_linux_capi_h=no; fi])
AC_ARG_WITH(cms,       AS_HELP_STRING([--without-cms],[do not use CMS (color management support)]),
            [if test "x$withval" = "xno"; then ac_cv_header_lcms_h=no; ac_cv_header_lcms_lcms_h=no; fi])
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(curses,    AS_HELP_STRING([--without-curses],[do not use (n)curses]),
            [if test "x$withval" = "xno"; then ac_cv_header_ncurses_h=no; ac_cv_header_curses_h=no; fi])
AC_ARG_WITH(esd,       AS_HELP_STRING([--without-esd],[do not use the EsounD sound support]))
AC_ARG_WITH(fontconfig,AS_HELP_STRING([--without-fontconfig],[do not use fontconfig]),
            [if test "x$withval" = "xno"; then ac_cv_header_fontconfig_fontconfig_h=no; fi])
AC_ARG_WITH(freetype,  AS_HELP_STRING([--without-freetype],[do not use the FreeType library]))
AC_ARG_WITH(gettextpo, AS_HELP_STRING([--without-gettextpo],[do not use the GetTextPO library]),
            [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(glu,       AS_HELP_STRING([--without-glu],[do not use the GLU library]),
            [if test "x$withval" = "xno"; then ac_cv_header_GL_glu_h=no; fi])
AC_ARG_WITH(gnutls,    AS_HELP_STRING([--without-gnutls],[do not use GnuTLS (schannel support)]))
AC_ARG_WITH(gsm,       AS_HELP_STRING([--without-gsm],[do not use libgsm (GSM 06.10 codec support)]),
            [if test "x$withval" = "xno"; then ac_cv_header_gsm_h=no; ac_cv_header_gsm_gsm_h=no; fi])
AC_ARG_WITH(gstreamer, AS_HELP_STRING([--without-gstreamer],[do not use GStreamer (codecs support)]))
AC_ARG_WITH(hal,       AS_HELP_STRING([--without-hal],[do not use HAL (dynamic device support)]))
AC_ARG_WITH(jack,      AS_HELP_STRING([--without-jack],[do not use the Jack sound support]),
            [if test "x$withval" = "xno"; then ac_cv_header_jack_jack_h=no; fi])
AC_ARG_WITH(jpeg,      AS_HELP_STRING([--without-jpeg],[do not use JPEG]),
            [if test "x$withval" = "xno"; then ac_cv_header_jpeglib_h=no; fi])
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(mpg123,    AS_HELP_STRING([--without-mpg123],[do not use the mpg123 library]),
            [if test "x$withval" = "xno"; then ac_cv_header_mpg123_h=no; fi])
AC_ARG_WITH(nas,       AS_HELP_STRING([--without-nas],[do not use the NAS sound support]),
            [if test "x$withval" = "xno"; then ac_cv_header_audio_audiolib_h=no; fi])
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(openssl,   AS_HELP_STRING([--without-openssl],[do not use OpenSSL]),
            [if test "x$withval" = "xno"; then ac_cv_header_openssl_err_h=no; ac_cv_header_openssl_ssl_h=no; fi])
AC_ARG_WITH(oss,       AS_HELP_STRING([--without-oss],[do not use the OSS sound support]),
            [if test "x$withval" = "xno"; then ac_cv_header_soundcard_h=no; ac_cv_header_sys_soundcard_h=no; ac_cv_header_machine_soundcard_h=no; fi])
AC_ARG_WITH(png,       AS_HELP_STRING([--without-png],[do not use PNG]),
            [if test "x$withval" = "xno"; then ac_cv_header_png_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(sane,      AS_HELP_STRING([--without-sane],[do not use SANE (scanner support)]))
AC_ARG_WITH(tiff,       AS_HELP_STRING([--without-tiff],[do not use TIFF]),
            [if test "x$withval" = "xno"; then ac_cv_header_tiffio_h=no; fi])
AC_ARG_WITH(v4l,       AS_HELP_STRING([--without-v4l],[do not use v4l1 (v4l support)]))
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(xinerama,  AS_HELP_STRING([--without-xinerama],[do not use Xinerama (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(xml,       AS_HELP_STRING([--without-xml],[do not use XML]))
AC_ARG_WITH(xrandr,    AS_HELP_STRING([--without-xrandr],[do not use Xrandr (resolution changes)]),
            [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(xslt,      AS_HELP_STRING([--without-xslt],[do not use XSLT]))
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])
AC_ARG_WITH(zlib,      AS_HELP_STRING([--without-zlib],[do not use Zlib (data compression)]),
            [if test "x$withval" = "xno"; then ac_cv_header_zlib_h=no; fi])

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]))
Alexandre Julliard's avatar
Alexandre Julliard committed


dnl check for out of tree build with unclean source tree
case "$srcdir" in
 .) ;;
 *) if test -f "$srcdir/Makefile" -o -f "$srcdir/include/config.h"; then
      AC_MSG_ERROR([you are building out of the source tree, but the source tree contains object files.
You need to run 'make distclean' in the source tree first.])
    fi ;;
esac

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)
AC_DEFINE_UNQUOTED(EXEEXT,["$ac_exeext"],[Define to the file extension for executables.])
    then
      CC="$CC -m64"
      CXX="$CXX -m64"
      LD="${LD:-ld} -arch x86_64"
      AS="${AS:-as} -arch x86_64"
      host_cpu="x86_64"
      notice_platform="64-bit "
      AC_SUBST(TARGETFLAGS,"-m64")
    else
      CC="$CC -m32"
      CXX="$CXX -m32"
      LD="${LD:-ld} -arch i386"
      AS="${AS:-as} -arch i386"
      host_cpu="i386"
      notice_platform="32-bit "
      AC_SUBST(TARGETFLAGS,"-m32")
      enable_win16=${enable_win16:-yes}
    fi
    ;;
    if test "x$enable_win64" != "xyes" -a "$cross_compiling" != "yes"
      CC="$CC -m32"
      CXX="$CXX -m32"
      AC_MSG_CHECKING([whether $CC works])
      AC_LINK_IFELSE(AC_LANG_PROGRAM(),AC_MSG_RESULT([yes]),
                     [AC_MSG_RESULT([no])
                      AC_MSG_ERROR([Cannot build a 32-bit program, you need to install 32-bit development libraries.])])
      LD="${LD:-ld} -m elf_i386"
      AS="${AS:-as} --32"
      host_cpu="i386"
      enable_win16=${enable_win16:-yes}
      if test "x${GCC}" = "xyes"
      then
        AC_MSG_CHECKING([whether $CC supports __builtin_ms_va_list])
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>]], [[void func(__builtin_ms_va_list *args);]])],
                          [AC_MSG_RESULT([yes])],
                          [AC_MSG_RESULT([no])
                           AC_MSG_ERROR([You need gcc >= 4.4 to build Wine as 64-bit.])])
      fi
  *-mingw32*|*-cygwin*)
    enable_win16=${enable_win16:-no}
    CFLAGS="$CFLAGS -D_WIN32"
    ;;
  i[[3456789]]86*)
    enable_win16=${enable_win16:-yes}
    ;;
dnl enable_win16 defaults to yes on x86, to no on other CPUs
enable_win16=${enable_win16:-no}
dnl Disable winetest too if tests are disabled
enable_winetest=${enable_winetest:-$enable_tests}

dnl Some special cases for the wow64 build
if test -n "$with_wine64"
then
    if test "x$enable_win64" = "xyes"
    then
        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
    enable_fonts=${enable_fonts:-no}
    enable_server=${enable_server:-no}
    enable_tools=${enable_tools:-no}
elif test "x$enable_win64" = "xyes"
then
    test "x$libdir" != "x\${exec_prefix}/lib" || libdir="\${exec_prefix}/lib64"
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
   if test -z "$wine_cv_toolsdir"; then
   elif test -d "$wine_cv_toolsdir/tools/winebuild"; then
     case "$wine_cv_toolsdir" in
       /*) ;;
       *)  wine_cv_toolsdir="\$(top_builddir)/$wine_cv_toolsdir" ;;
     AC_MSG_ERROR([could not find Wine tools in $wine_cv_toolsdir])
   fi])
AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)
if test -n "$host_alias" -a "$host_alias" != "$build_alias"
dnl Check for flex
AC_CHECK_PROGS(FLEX,flex,none)
if test "$FLEX" = "none"
  AC_MSG_ERROR([no suitable flex found. Please install the 'flex' package.])
AC_MSG_CHECKING([whether flex is recent enough])
cat >conftest.l <<EOF
%top{
#include "prediluvian.h"
}
%%
EOF
if $FLEX -t conftest.l >/dev/null 2>&AS_MESSAGE_LOG_FD
then
  AC_MSG_RESULT([yes])
else
  AC_MSG_RESULT([no])
  AC_MSG_ERROR([Your flex version is too old. Please install flex version 2.5.33 or newer.])
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_SUBST(ARFLAGS,rc)
Alexandre Julliard's avatar
Alexandre Julliard committed
AC_PROG_RANLIB
AC_CHECK_TOOL(STRIP,strip,strip)
Alexandre Julliard's avatar
Alexandre Julliard committed
AC_PROG_LN_S
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
  [[\\/$]]* | ?:[[\\/]]* ) ;;
Alexandre Julliard's avatar
Alexandre Julliard committed

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(FONTFORGE, fontforge, false)
AC_CHECK_PROGS(PKG_CONFIG, pkg-config, false)
AC_CHECK_PROGS(RSVG, rsvg, false)
AC_CHECK_PROGS(CONVERT, convert, false)
AC_CHECK_PROGS(ICOTOOL, icotool, false)

if test "x$enable_maintainer_mode" != "xyes"
  if test "$FONTFORGE" = "false"; then AC_MSG_ERROR([You need fontforge to rebuild fonts in maintainer mode.]); fi
  if test "$RSVG" = "false"; then AC_MSG_ERROR([You need rsvg to rebuild icons in maintainer mode.]); fi

  dnl Check the imagemagick version
  if test "$CONVERT" = false
  then
    AC_MSG_ERROR([You need imagemagick to rebuild icons in maintainer mode.])
  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)])
      AC_MSG_ERROR([You need imagemagick version 6.6 or newer to rebuild icons in maintainer mode.])
    else
      AC_MSG_RESULT([yes ($convert_version_major.$convert_version_minor)])
    fi
  fi

  dnl Check the icotool version
  if test "$ICOTOOL" = false
  then
    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)])
      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

Alexandre Julliard's avatar
Alexandre Julliard committed
dnl **** Check for some libraries ****

Alexandre Julliard's avatar
Alexandre Julliard committed
dnl Check for -li386 for NetBSD and OpenBSD
Alexandre Julliard's avatar
Alexandre Julliard committed
AC_CHECK_LIB(i386,i386_set_ldt)
dnl Check for -lossaudio for NetBSD
AC_CHECK_LIB(ossaudio,_oss_ioctl)
AC_SUBST(XLIB,"")
AC_SUBST(OPENGL_LIBS,"")
	AL/al.h \
	ApplicationServices/ApplicationServices.h \
	AudioToolbox/AudioConverter.h \
	AudioUnit/AudioUnit.h \
	AudioUnit/AudioComponent.h \
	CoreAudio/CoreAudio.h \
	DiskArbitration/DiskArbitration.h \
	IOKit/hid/IOHIDLib.h \
	Security/Security.h \
	asm/types.h \
	fontconfig/fontconfig.h \
	getopt.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/types.h \
	mach-o/loader.h \
	mach/machine.h \
	machine/limits.h \
	machine/sysarch.h \
	netdb.h \
	netinet/in.h \
	netinet/in_systm.h \
	netinet/tcp.h \
	netinet/tcp_fsm.h \
	poll.h \
	process.h \
	pthread.h \
	pwd.h \
	regex.h \
	sched.h \
	scsi/scsi.h \
	scsi/scsi_ioctl.h \
	sys/link.h \
	sys/mman.h \
	sys/modem.h \
	sys/msg.h \
	sys/scsiio.h \
	sys/shm.h \
	sys/signal.h \
	sys/socket.h \
	sys/statvfs.h \
	sys/strtio.h \
	sys/syscall.h \
	sys/vm86.h \
	sys/wait.h \
	syscall.h \
	termios.h \
	valgrind/memcheck.h \
dnl **** Checks for headers that depend on other ones ****

AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/sysctl.h sys/user.h sys/vfs.h],,,
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/if_inarp.h \
	netinet/in_pcb.h \
	netinet/ip_icmp.h \
	netinet/ip_var.h \
	netinet/udp.h \
	netipx/ipx.h \
,,,[#include <sys/types.h>
     # include <sys/socketvar.h>
     #ifdef HAVE_NET_ROUTE_H
     # include <net/route.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>
AC_CHECK_HEADERS([netinet/tcp_timer.h netinet/udp_var.h netinet/icmp_var.h netinet/tcp_var.h ],,,
    [#include <sys/types.h>
     #ifdef HAVE_ALIAS_H
     # include <alias.h>
     #endif
     # include <sys/socket.h>
     #endif
     # include <sys/socketvar.h>
     #endif
     #ifdef HAVE_SYS_TIMEOUT_H
     # include <sys/timeout.h>
     #endif
     # 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
     #ifdef HAVE_NETINET_TCP_TIMER_H
     #include <netinet/tcp_timer.h>
AC_CHECK_HEADERS([linux/ipx.h linux/irda.h],,,
    [#include <sys/types.h>
     #ifdef HAVE_ASM_TYPES_H
     # include <asm/types.h>
     #endif
     # include <sys/socket.h>
     #endif
     #ifdef HAVE_LINUX_TYPES_H
     # include <linux/types.h>
AC_CHECK_HEADERS([mach-o/dyld_images.h],,,
    [#ifdef HAVE_STDBOOL_H
     # include <stdbool.h>
     #endif
     #ifdef HAVE_STDINT_H
     # include <stdint.h>
     #endif])

AC_CHECK_HEADERS([resolv.h],,,
    [#include <sys/types.h>
AC_CHECK_HEADERS([ifaddrs.h],,,[#include <sys/types.h>])

AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])

AC_CHECK_HEADERS([sys/thr.h],,,
[#include <sys/types.h>
AC_CHECK_HEADERS([pthread_np.h],,,
[#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif])

AC_CHECK_HEADERS([linux/videodev.h],,,
[#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#include <sys/types.h>
#ifdef HAVE_ASM_TYPES_H
#include <asm/types.h>
#endif])

dnl Check for broken kernel header that doesn't define __user
AC_CHECK_HEADERS([linux/capi.h],,,[#define __user])

dnl **** Check for working dll ****

AC_SUBST(DLLEXT,"")
AC_SUBST(DLLFLAGS,"-D_REENTRANT")
AC_SUBST(LDSHARED,"")
AC_SUBST(LDDLLFLAGS,"")
AC_SUBST(LIBEXT,"so")
AC_SUBST(IMPLIBEXT,"def")
AC_SUBST(LDRPATH_INSTALL,"")
AC_SUBST(LDRPATH_LOCAL,"")
WINE_PATH_LDD

case $host_os in
  cygwin*|mingw32*)
    AC_CHECK_TOOL(DLLTOOL,dlltool,false)
    AC_CHECK_TOOL(DLLWRAP,dllwrap,false)
    if test "$DLLWRAP" = "false"; then
      LIBEXT="a"
    else
      dnl FIXME - check whether dllwrap works correctly...
      LIBEXT="dll"
    fi
    IMPLIBEXT="a"
    dnl Disable modules that can't be used on Windows
    enable_iphlpapi=${enable_iphlpapi:-no}
    enable_kernel32=${enable_kernel32:-no}
    enable_msvcrt=${enable_msvcrt:-no}
    enable_ntdll=${enable_ntdll:-no}
    enable_ws2_32=${enable_ws2_32:-no}
    enable_loader=${enable_loader:-no}
    enable_server=${enable_server:-no}
    dnl Disable dependencies that are not useful on Windows
    with_x=${with_x:-no}
    with_pthread=${with_pthread:-no}
    ;;
  darwin*|macosx*)
    DLLEXT=".so"
    LIBEXT="dylib"
    DLLFLAGS="$DLLFLAGS -fPIC"
    LDDLLFLAGS="-bundle -multiply_defined suppress"
    LIBWINE_LDFLAGS="-multiply_defined suppress"
    LDSHARED="\$(CC) -dynamiclib"
    STRIP="$STRIP -x"
    LDRPATH_LOCAL="&& install_name_tool -change @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/libwine.1.dylib @executable_path/\$(top_builddir)/libs/wine/libwine.1.dylib \$@ || \$(RM) \$@"
    dnl declare needed frameworks
    AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
    AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
    AC_SUBST(APPLICATIONSERVICESLIB,"-framework ApplicationServices")
    AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHAREDHEAP,0x7f000000"])
    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
        AC_SUBST(DISKARBITRATIONLIB,"-framework DiskArbitration -framework CoreFoundation")
    fi
    if test "$ac_cv_header_Security_Security_h" = "yes"
    then
        AC_SUBST(SECURITYLIB,"-framework Security -framework CoreFoundation")
        with_gnutls=${with_gnutls:-no}
    fi
    if test "$ac_cv_header_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
    then
        if test "$ac_cv_header_AudioUnit_AudioComponent_h" = "yes"
        then
            AC_SUBST(COREAUDIO,"-framework CoreFoundation -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework CoreMIDI")
        else
            dnl CoreServices needed by AudioUnit
            AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices -framework AudioToolbox -framework CoreMIDI")
        fi
        dnl Check for the AUGraphAddNode function
        ac_save_LIBS="$LIBS"
        LIBS="$LIBS $COREAUDIO"
        AC_CHECK_FUNCS(AUGraphAddNode)
        LIBS="$ac_save_LIBS"
    if test "$ac_cv_header_OpenAL_al_h" = "yes"
    then
        AC_SUBST(FRAMEWORK_OPENAL,"-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
        AC_SUBST(LIBOPENCL,"-framework OpenCL")
        ac_cv_lib_OpenCL_clGetPlatformInfo=yes
    fi
    if test "$ac_cv_header_IOKit_hid_IOHIDLib_h" = "yes"
    then
        ac_save_LIBS="$LIBS"
        LIBS="$LIBS $IOKITLIB"
        AC_CHECK_FUNCS(IOHIDManagerCreate)
        LIBS="$ac_save_LIBS"
    fi
    case $host_cpu in
      *powerpc*)
        LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"  dnl FIXME
        ;;
    esac
    if test "$ac_cv_header_QuickTime_ImageCompression_h" = "yes"
    then
        AC_SUBST(QUICKTIMELIB,"-framework QuickTime -framework ApplicationServices -framework CoreVideo")
        enable_wineqtdecoder=${enable_wineqtdecoder:-yes}
    else
        WINE_NOTICE([QuickTime ${notice_platform}development files not found, video decoding won't be supported.])
    fi
    dnl Enable quartz driver on Mac OS X
    if test "$ac_cv_header_Carbon_Carbon_h" = "yes"
    then
        AC_SUBST(CARBONLIB,"-framework Carbon")
        enable_winequartz_drv=${enable_winequartz_drv:-yes}
    dnl Check for Xcode 3.x broken 16-bit support
    if test "x$enable_win16" = "xyes"
    then
        AC_MSG_CHECKING([whether 16-bit code can be built correctly])
        AC_RUN_IFELSE(AC_LANG_PROGRAM([[asm(".text\n"
                                            "bad:\tnop;nop\n"
                                            "good:\tnop;nop\n\t"
                                            ".globl _testfunc\n"
                                            "_testfunc:\tcallw good");
                                        extern void testfunc();]],
                                      [[unsigned short *p = (unsigned short *)testfunc;
                                        return p[[0]] != 0xe866 || p[[1]] != 0xfffa]]),
                                      AC_MSG_RESULT(yes),
                                      [AC_MSG_RESULT(no)
                                       AC_MSG_ERROR([Xcode 3.x cannot build 16-bit code correctly. Use --disable-win16 if you don't need 16-bit support.])],
                                       AC_MSG_RESULT([[cross-compiling, assuming yes]]))
    fi
    ;;
  *)
    DLLFLAGS="$DLLFLAGS -fPIC"
    DLLEXT=".so"
    AC_CACHE_CHECK([whether we can build a GNU style ELF dll], ac_cv_c_dll_gnuelf,
        [WINE_TRY_SHLIB_FLAGS([-fPIC -shared -Wl,-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"
      LDDLLFLAGS="-shared -Wl,-Bsymbolic"
      WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1],
                      [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"],
                      [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1],
                                       [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"])])

      WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs], [LDDLLFLAGS="$LDDLLFLAGS,-z,defs"])

      WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-init,__wine_spec_init,-fini,__wine_spec_fini],
                      [LDDLLFLAGS="$LDDLLFLAGS,-init,__wine_spec_init,-fini,__wine_spec_fini"])

      echo '{ global: *; };' >conftest.map
      WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map],
                      [LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"])
      rm -f conftest.map

      WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic],
                      [AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])])

      WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
                      [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"
                       LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"],
          [WINE_TRY_CFLAGS([-fPIC -Wl,-R,\$ORIGIN/../lib],
                           [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"
                            LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])])
      WINE_TRY_CFLAGS([-Wl,--enable-new-dtags],
                      [LDRPATH_INSTALL="$LDRPATH_INSTALL -Wl,--enable-new-dtags"])

      case $host_cpu in
        *i[[3456789]]86* | x86_64)
          WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
                          [case $host_os in
                           freebsd*)  LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x60000400" ;;
                           *) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
                           esac
                          ])
          AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
          if test "x$PRELINK" = xfalse
          then
              WINE_WARNING([prelink not found, base address of core dlls won't be set correctly.])
          fi
          ;;
      esac

    else
      AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
          [WINE_TRY_SHLIB_FLAGS([-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,-G,-B,symbolic"

      else
        AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux,
          [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")])
        if test "$ac_cv_c_dll_hpux" = "yes"
        then
          LIBEXT="sl"
          DLLEXT=".sl"
          LDDLLFLAGS="-shared -fPIC"
          LDSHARED="\$(CC) -shared"
        fi
      fi
    fi
    ;;
esac

enable_wineqtdecoder=${enable_wineqtdecoder:-no}
enable_winequartz_drv=${enable_winequartz_drv:-no}

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

dnl Check for cross compiler to build test programs
AC_SUBST([CROSSTEST_DISABLE],[\#])
if test "$cross_compiling" = "no" -a "x$enable_tests" != xno -a "$LIBEXT" != "dll"
then
    WINE_CHECK_MINGW_PROG(CROSSCC,gcc,false)
    if test "$CROSSCC" != "false"
    then
        ac_save_CC="$CC"
        CC="$CROSSCC"
        AC_MSG_CHECKING([whether $CROSSCC works])
        AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
                          [AC_MSG_RESULT([yes])
                           set x $CROSSCC
                           shift
                           target=""
                           while test $# -ge 1
                           do
                               case "$1" in
                                 *-gcc) target=`expr "$1" : '\(.*\)-gcc'` ;;
                               esac
                               shift
                           done
                           if test -n "$target"
                           then
                               CROSSTEST_DISABLE=""
                               AC_SUBST(CROSSTARGET,"$target")
                           fi],
                          [AC_MSG_RESULT([no])])
        CC="$ac_save_CC"
dnl **** Check for pthread ****

if test "$ac_cv_header_pthread_h" = "yes"
then
    AC_CHECK_LIB(pthread,pthread_create,[AC_SUBST(LIBPTHREAD,"-lpthread")])
fi
WINE_ERROR_WITH(pthread,[test "x$LIBPTHREAD" = "x"],[pthread ${notice_platform}development files not found.
Wine cannot support threads without libpthread.])

    ac_save_CPPFLAGS="$CPPFLAGS"
    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
    WINE_CHECK_SONAME(X11,XCreateWindow,,,[$X_LIBS $X_EXTRA_LIBS])
    WINE_CHECK_SONAME(Xext,XextCreateExtension,[XLIB="-lXext $XLIB"],,[$X_LIBS -lX11 $X_EXTRA_LIBS])
    dnl *** All of the following tests require X11/Xlib.h
    AC_CHECK_HEADERS([X11/Xlib.h \
                      X11/XKBlib.h \
                      X11/Xutil.h \
                      X11/Xcursor/Xcursor.h \
                      X11/extensions/shape.h \
                      X11/extensions/XInput.h \
                      X11/extensions/XShm.h \
                      X11/extensions/Xcomposite.h \
                      X11/extensions/Xinerama.h \
                      X11/extensions/Xrandr.h \
                      X11/extensions/Xrender.h \
                      X11/extensions/xf86vmode.h \
                      X11/extensions/xf86vmproto.h],,,
[#ifdef HAVE_X11_XLIB_H
# include <X11/Xlib.h>
#endif
#ifdef HAVE_X11_XUTIL_H
# include <X11/Xutil.h>
#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 $XLIB $X_EXTRA_LIBS)
        dnl *** Check for X cursor
        if test "$ac_cv_header_X11_Xcursor_Xcursor_h" = "yes"
        then
            WINE_CHECK_SONAME(Xcursor,XcursorImageLoadCursor,,,[$X_LIBS $XLIB $X_EXTRA_LIBS])
        WINE_NOTICE_WITH(xcursor,[test "x$ac_cv_lib_soname_Xcursor" = "x"],
                         [libxcursor ${notice_platform}development files not found, the Xcursor extension won't be supported.])
        dnl *** Check for X input extension
        if test "$ac_cv_header_X11_extensions_XInput_h" = "yes"
        then
            WINE_CHECK_SONAME(Xi,XOpenDevice,,,[$X_LIBS $XLIB $X_EXTRA_LIBS])
        WINE_NOTICE_WITH(xinput,[test "x$ac_cv_lib_soname_Xi" = "x"],
                         [libxi ${notice_platform}development files not found, the Xinput extension won't be supported.])
        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 $XLIB $X_EXTRA_LIBS)
        WINE_NOTICE_WITH(xshm,[test "$ac_cv_lib_Xext_XShmQueryExtension" != "yes"],
                         [XShm ${notice_platform}development files not found, X Shared Memory won't be supported.])
        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 $XLIB $X_EXTRA_LIBS)
        WINE_NOTICE_WITH(xshape,[test "$ac_cv_lib_Xext_XShapeQueryExtension" != "yes"],
                         [XShape ${notice_platform}development files not found, XShape won't be supported.])
        dnl *** Check for XFree86 VMODE extension
        if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes" -o "$ac_cv_header_X11_extensions_xf86vmproto_h" = "yes"
            WINE_CHECK_SONAME(Xxf86vm,XF86VidModeQueryExtension,,,[$X_LIBS $XLIB $X_EXTRA_LIBS])
        WINE_NOTICE_WITH(xxf86vm,[test "x$ac_cv_lib_soname_Xxf86vm" = "x"],
                         [libXxf86vm ${notice_platform}development files not found, XFree86 Vidmode won't be supported.])
        dnl *** Check for Transform functions in Xrender
        if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes" -a "x$ac_cv_lib_soname_X11" != "x" -a "x$ac_cv_lib_soname_Xext" != "x"
            WINE_CHECK_SONAME(Xrender,XRenderQueryExtension,
              [AC_CHECK_LIB(Xrender,XRenderSetPictureTransform,
                [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
                 [Define if Xrender has the XRenderSetPictureTransform function])],,
                [$X_LIBS $XLIB $X_EXTRA_LIBS])],,[$X_LIBS $XLIB $X_EXTRA_LIBS])
        WINE_WARNING_WITH(xrender,[test "x$ac_cv_lib_soname_Xrender" = "x"],
                         [libxrender ${notice_platform}development files not found, XRender won't be supported.])

        dnl *** Check for X RandR extension
        if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes" -a "x$ac_cv_lib_soname_Xrender" != "x"
        then
                AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>]], [[static typeof(XRRSetScreenConfigAndRate) * func;]])],
                  [WINE_CHECK_SONAME(Xrandr,XRRQueryExtension,,,[$X_LIBS $XLIB $X_EXTRA_LIBS])])
        WINE_NOTICE_WITH(xrandr,[test "x$ac_cv_lib_soname_Xrandr" = "x"],
                         [libxrandr ${notice_platform}development files not found, XRandr won't be supported.])

        dnl *** Check for Xinerama extension
        if test "$ac_cv_header_X11_extensions_Xinerama_h" = "yes"
        then
                AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>
#include <X11/extensions/Xinerama.h>]], [[static typeof(XineramaQueryScreens) * func;]])],
                  [WINE_CHECK_SONAME(Xinerama,XineramaQueryScreens,,,[$X_LIBS $XLIB $X_EXTRA_LIBS])])
        WINE_NOTICE_WITH(xinerama,[test "x$ac_cv_lib_soname_Xinerama" = "x"],
                         [libxinerama ${notice_platform}development files not found, multi-monitor setups won't be supported.])
        dnl *** Check for X Composite extension
        if test "$ac_cv_header_X11_extensions_Xcomposite_h" = "yes"
        then
            WINE_CHECK_SONAME(Xcomposite,XCompositeRedirectWindow,,,[$X_LIBS $XLIB $X_EXTRA_LIBS])
        WINE_NOTICE_WITH(xcomposite,[test "x$ac_cv_lib_soname_Xcomposite" = "x"],
                         [libxcomposite ${notice_platform}development files not found, Xcomposite won't be supported.])
        dnl *** Check for XICCallback struct
        AC_CHECK_MEMBERS([XICCallback.callback],,,
[#ifdef HAVE_X11_XLIB_H
#include <X11/Xlib.h>
#endif])

Lionel Ulmer's avatar
Lionel Ulmer committed
    dnl Check for the presence of OpenGL
    if test "x$with_opengl" != "xno"
	AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glu.h,,,
[#ifdef HAVE_GL_GLX_H
# include <GL/glx.h>
#endif])
	if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
	then
	    dnl Check for some problems due to old Mesa versions
	    AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_header_version_OK,
	      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <GL/gl.h>]], [[GLenum test = GL_UNSIGNED_SHORT_5_6_5;]])],
		[wine_cv_opengl_header_version_OK="yes"],
		[wine_cv_opengl_header_version_OK="no"]))
	    if test "$wine_cv_opengl_header_version_OK" = "yes"
		dnl Check for the presence of the library
		WINE_CHECK_SONAME(GL,glXCreateContext,
                             AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])],
                             [WINE_CHECK_SONAME(GL,glXCreateContext,
				    [OPENGL_LIBS="-Xlinker -dylib_file -Xlinker /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib -lGL"
	                            AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])],
				    [if test -f /usr/X11R6/lib/libGL.a
	                            then
		                        opengl_msg="/usr/X11R6/lib/libGL.a is present on your system.
This probably prevents linking to OpenGL. Try deleting the file and restarting configure."
	                                opengl_msg="No OpenGL library found on this system."
				    $X_LIBS $XLIB -lm $X_EXTRA_LIBS -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib)],
			     $X_LIBS $XLIB -lm $X_EXTRA_LIBS)
                 if test "$ac_cv_header_GL_glu_h" = "yes"
                 then
                    WINE_CHECK_SONAME(GLU,gluLookAt,,,[$OPENGL_LIBS $X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS])
                 fi
                 WINE_NOTICE_WITH(glu,[test "x$ac_cv_lib_soname_GLU" = "x"],
                                 [libGLU ${notice_platform}development files not found, GLU won't be supported.])
                 opengl_msg="Old Mesa headers detected. Consider upgrading your Mesa libraries."
             opengl_msg="OpenGL development headers not found."
         test -n "$opengl_msg" && enable_opengl32=${enable_opengl32:-no}
         test "x$ac_cv_lib_soname_GLU" = "x" && enable_glu32=${enable_glu32:-no}
    else
         enable_opengl32=${enable_opengl32:-no}
         enable_glu32=${enable_glu32:-no}
    WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg
OpenGL and Direct3D won't be supported.])
    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_CHECK_LIB(Xau,XauGetBestAuthByAddr,
                          [NASLIBS="-lXau -laudio -lXt $X_LIBS $XLIB $X_EXTRA_LIBS"],
                          [NASLIBS="-laudio -lXt $X_LIBS $XLIB $X_EXTRA_LIBS"],
                       [-lXt $X_LIBS $XLIB $X_EXTRA_LIBS])])
    CPPFLAGS="$ac_save_CPPFLAGS"
    enable_winex11_drv=${enable_winex11_drv:-no}
    enable_opengl32=${enable_opengl32:-no}
    enable_glu32=${enable_glu32:-no}
WINE_ERROR_WITH(x,[test "x$XLIB" = "x"],[X ${notice_platform}development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install ${notice_platform}development packages of Xlib/Xfree86 at the very least.])
dnl **** Check for OpenCL ****
if test "$ac_cv_header_CL_cl_h" = "yes"
then
    AC_CHECK_LIB(OpenCL,clGetPlatformInfo,[AC_SUBST(LIBOPENCL,["-lOpenCL"])])
fi
WINE_NOTICE_WITH(opencl,[test "x$ac_cv_lib_OpenCL_clGetPlatformInfo" != xyes],
                 [OpenCL ${notice_platform}development files not found, OpenCL won't be supported.])
test "x$ac_cv_lib_OpenCL_clGetPlatformInfo" != xyes && enable_opencl=${enable_opencl:-no}

dnl **** Check for libxml2 ****

AC_SUBST(XML2LIBS,"")
AC_SUBST(XML2INCL,"")
AC_SUBST(XSLTINCL,"")
    ac_save_CPPFLAGS="$CPPFLAGS"
    if test "$PKG_CONFIG" != "false"
    then
        ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0 2>/dev/null`"
        ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0 2>/dev/null`"
    else
        ac_xml_libs="`xml2-config --libs 2>/dev/null`"
        ac_xml_cflags="`xml2-config --cflags  2>/dev/null`"
    fi
    CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
    AC_CHECK_HEADERS([libxml/parser.h libxml/xmlsave.h libxml/SAX2.h])
    if test "$ac_cv_header_libxml_parser_h" = "yes" -a "$ac_cv_header_libxml_xmlsave_h" = "yes" -a "$ac_cv_header_libxml_SAX2_h" = "yes"
    then
        AC_CHECK_LIB(xml2, xmlParseMemory,
            [AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have the libxml2 library])
             XML2LIBS="$ac_xml_libs"
             XML2INCL="$ac_xml_cflags"],,$ac_xml_libs)
        AC_CHECK_LIB(xml2, xmlReadMemory,
            [AC_DEFINE(HAVE_XMLREADMEMORY,1,[Define if libxml2 has the xmlReadMemory function])],,$ac_xml_libs)
        AC_CHECK_LIB(xml2, xmlNewDocPI,
            [AC_DEFINE(HAVE_XMLNEWDOCPI,1,[Define if libxml2 has the xmlNewDocPI function])],,$ac_xml_libs)
        AC_CHECK_LIB(xml2, xmlSchemaSetParserStructuredErrors,
            [AC_DEFINE(HAVE_XMLSCHEMASSETPARSERSTRUCTUREDERRORS,1,[Define if libxml2 has the xmlSchemaSetParserStructuredErrors function])],,$ac_xml_libs)
        AC_CHECK_LIB(xml2, xmlSchemaSetValidStructuredErrors,
            [AC_DEFINE(HAVE_XMLSCHEMASSETVALIDSTRUCTUREDERRORS,1,[Define if libxml2 has the xmlSchemaSetValidStructuredErrors function])],,$ac_xml_libs)
        AC_CHECK_LIB(xml2, xmlFirstElementChild,
            [AC_DEFINE(HAVE_XMLFIRSTELEMENTCHILD,1,[Define if libxml2 has the xmlFirstElementChild function])],,$ac_xml_libs)
        AC_CHECK_TYPE([xmlDocProperties],
            [AC_DEFINE(HAVE_XMLDOC_PROPERTIES,1,[Define if libxml2 has the xmlDocProperties enum])],,[[#include <libxml/tree.h>]])
    fi
WINE_WARNING_WITH(xml,[test "$ac_cv_lib_xml2_xmlParseMemory" != "yes"],
                 [libxml2 ${notice_platform}development files not found (or too old), XML won't be supported.])
    if test "$PKG_CONFIG" != "false"
    then
        ac_xslt_libs="`$PKG_CONFIG --libs libxslt 2>/dev/null`"
        ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt 2>/dev/null`"
    else
        ac_xslt_libs="`xslt-config --libs 2>/dev/null`"
        ac_xslt_cflags="`xslt-config --cflags 2>/dev/null`"
    fi
    ac_save_CPPFLAGS="$CPPFLAGS"
    CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
    AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],,,
# include <libxslt/pattern.h>
#endif])
    if test "$ac_cv_header_libxslt_transform_h" = "yes"
    then
        WINE_CHECK_SONAME(xslt,xsltCompilePattern,
                         [XSLTINCL="$ac_xslt_cflags"],,[$ac_xslt_libs])
WINE_WARNING_WITH(xslt,[test "x$ac_cv_lib_soname_xslt" = "x"],
                 [libxslt ${notice_platform}development files not found, xslt won't be supported.])
dnl **** Check for libhal ****
AC_SUBST(HALINCL,"")
then
    ac_save_CPPFLAGS="$CPPFLAGS"
    if test "$PKG_CONFIG" != "false"
    then
        ac_hal_libs="`$PKG_CONFIG --libs hal 2>/dev/null`"
        ac_hal_cflags="`$PKG_CONFIG --cflags hal 2>/dev/null`"
        CPPFLAGS="$CPPFLAGS $ac_hal_cflags"
    fi
    AC_CHECK_HEADERS([dbus/dbus.h hal/libhal.h])
    if test "$ac_cv_header_dbus_dbus_h" = "yes" -a "$ac_cv_header_hal_libhal_h" = "yes"
    then
        AC_CHECK_LIB(dbus-1, dbus_connection_close,
          [WINE_CHECK_SONAME(hal, libhal_ctx_new,
            [HALINCL="$ac_hal_cflags"],,[$ac_hal_libs])],,[$ac_hal_libs])
    CPPFLAGS="$ac_save_CPPFLAGS"
fi
WINE_NOTICE_WITH(hal,[test "x$ac_cv_lib_soname_hal" = "x" -a "x$ac_cv_header_DiskArbitration_DiskArbitration_h" != "xyes"],
                 [libhal/libdbus ${notice_platform}development files not found, no dynamic device support.])
dnl **** Check for libgnutls ****
then
    ac_save_CPPFLAGS="$CPPFLAGS"
    if test "$PKG_CONFIG" != "false"
    then
        ac_gnutls_libs="`$PKG_CONFIG --libs gnutls 2>/dev/null`"
        ac_gnutls_cflags="`$PKG_CONFIG --cflags gnutls 2>/dev/null`"
        CPPFLAGS="$CPPFLAGS $ac_gnutls_cflags"
    fi
    AC_CHECK_HEADER(gnutls/gnutls.h,
        [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]], [[typeof(gnutls_mac_get_key_size) *pfunc;]])],
            [WINE_CHECK_SONAME(gnutls,gnutls_global_init,
                [AC_SUBST(GNUTLSINCL,"$ac_gnutls_cflags")],,[$ac_gnutls_libs])])])
    CPPFLAGS="$ac_save_CPPFLAGS"
fi
WINE_NOTICE_WITH(gnutls,[test "x$ac_cv_lib_soname_gnutls" = "x"],
                 [libgnutls ${notice_platform}development files not found, no schannel support.])
dnl **** Check which curses lib to use ***
if test "$ac_cv_header_ncurses_h" = "yes"
    WINE_CHECK_SONAME(ncurses,waddch,[CURSESLIBS="-lncurses"])
elif test "$ac_cv_header_curses_h" = "yes"
then
    WINE_CHECK_SONAME(curses,waddch,[CURSESLIBS="-lcurses"])
ac_save_LIBS="$LIBS"
LIBS="$LIBS $CURSESLIBS"
AC_CHECK_FUNCS(mousemask)
LIBS="$ac_save_LIBS"
WINE_NOTICE_WITH(curses,[test "x$ac_cv_lib_soname_curses$ac_cv_lib_soname_ncurses" = "x"],
                 [lib(n)curses ${notice_platform}development files not found, curses won't be supported.])
dnl **** Check for SANE ****
then
    ac_save_CPPFLAGS="$CPPFLAGS"
    AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
    if test "$sane_devel" != "no"
    then
        ac_sane_incl="`$sane_devel --cflags`"
        ac_sane_libs="`$sane_devel --ldflags`"
        CPPFLAGS="$CPPFLAGS $ac_sane_incl"
    fi
    AC_CHECK_HEADER(sane/sane.h,
        [WINE_CHECK_SONAME(sane,sane_init,[AC_SUBST(SANEINCL,"$ac_sane_incl")],,[$ac_sane_libs])])
    CPPFLAGS="$ac_save_CPPFLAGS"
fi
WINE_NOTICE_WITH(sane,[test "x$ac_cv_lib_soname_sane" = "x"],
                 [libsane ${notice_platform}development files not found, scanners won't be supported.])
dnl **** Check for libv4l1 ****
if test "x$with_v4l" != "xno"
then
    WINE_CHECK_SONAME(v4l1,v4l1_open,,,)
fi
WINE_NOTICE_WITH(v4l,[test "x$ac_cv_lib_soname_v4l1" = "x"],
                 [libv4l ${notice_platform}development files not found.])

    AC_CHECK_PROG(gphoto2_devel,gphoto2-config,gphoto2-config,no)
    AC_CHECK_PROG(gphoto2port_devel,gphoto2-port-config,gphoto2-port-config,no)
    if test "$gphoto2_devel" != "no" -a "$gphoto2port_devel" != "no"
    then
        ac_gphoto2_incl="`$gphoto2_devel --cflags` `$gphoto2port_devel --cflags`"
        ac_gphoto2_libs=""
        for i in `$gphoto2_devel --libs` `$gphoto2port_devel --libs`
        do
            case "$i" in
            -L/usr/lib|-L/usr/lib64) ;;
            -L*|-l*) ac_gphoto2_libs="$ac_gphoto2_libs $i";;
            esac
        done
        CPPFLAGS="$CPPFLAGS $ac_gphoto2_incl"
    fi
    ac_gphoto2_libs=${ac_gphoto2_libs:-"-lgphoto2"}
    AC_CHECK_HEADER(gphoto2-camera.h,
                    [AC_CHECK_LIB(gphoto2,gp_camera_new,
                                  [AC_DEFINE(HAVE_GPHOTO2, 1, [Define if we have libgphoto2 development environment])
                                   AC_SUBST(GPHOTO2LIBS,"$ac_gphoto2_libs")
                                   AC_SUBST(GPHOTO2INCL,"$ac_gphoto2_incl")],,
WINE_NOTICE_WITH(gphoto,[test "$ac_cv_lib_gphoto2_gp_camera_new" != "yes"],
                 [libgphoto2 ${notice_platform}development files not found, digital cameras won't be supported.])
dnl **** Check for resolver library ***
if test "$ac_cv_header_resolv_h" = "yes"
then
    ac_save_LIBS="$LIBS"
    for lib in '' -lresolv
    do
      LIBS="$lib $ac_save_LIBS"
      AC_LINK_IFELSE([AC_LANG_PROGRAM([[#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#include <resolv.h>]],[[res_query("foo",ns_c_in,0,0,0);]])],
        [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
         AC_SUBST(RESOLVLIBS,"$lib")])
      if test "${RESOLVLIBS+set}" = set; then
        break
      fi
    done
    LIBS="$ac_save_LIBS"
dnl **** Check for LittleCMS ***
AC_SUBST(LCMSLIBS,"")
if test "$ac_cv_header_lcms_h" = "yes" -o "$ac_cv_header_lcms_lcms_h" = "yes"
then
    AC_CHECK_LIB(lcms, cmsOpenProfileFromFile,
        [AC_DEFINE(HAVE_LCMS, 1, [Define if you have the LittleCMS development environment])
         LCMSLIBS="-llcms"])
fi
WINE_NOTICE_WITH(cms,[test "$ac_cv_lib_lcms_cmsOpenProfileFromFile" != "yes"],
                 [liblcms ${notice_platform}development files not found, Color Management won't be supported.])
dnl **** Check for FreeType 2 ****
    AC_CHECK_PROGS(ft_devel,[freetype-config freetype2-config],no)
    if test "$ft_devel" != "no"
    then
        ac_freetype_incl=`$ft_devel --cflags`
        ac_freetype_libs=`$ft_devel --libs`
    fi
    ac_freetype_libs=${ac_freetype_libs:-"-lfreetype"}
    WINE_CHECK_SONAME(freetype,FT_Init_FreeType,[ft_lib=yes],[ft_lib=no],[$ac_freetype_libs])
    if test "$ft_lib" = "yes"
	ac_save_CPPFLAGS="$CPPFLAGS"
	CPPFLAGS="$ac_freetype_incl $CPPFLAGS"
	AC_CHECK_HEADERS(ft2build.h \
                         freetype/freetype.h \
                         freetype/fttypes.h \
                         freetype/tttables.h \
                         freetype/ftsnames.h \
Huw D. M. Davies's avatar
Huw D. M. Davies committed
                         freetype/ftoutln.h \
                         freetype/ftwinfnt.h \
                         freetype/ftmodapi.h \
                         [#ifdef HAVE_FT2BUILD_H
                          # include <ft2build.h>
	AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#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])
        AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
        AC_CHECK_FUNCS(FT_Load_Sfnt_Table)
        CFLAGS="$ac_save_CFLAGS"
	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])
            AC_SUBST(FREETYPELIBS,"$ac_freetype_libs")
            AC_SUBST(FREETYPEINCL,"$ac_freetype_incl")
WINE_ERROR_WITH(freetype,[test "x$FREETYPELIBS" = "x"],[FreeType ${notice_platform}development files not found. Fonts will not be built.])
test "x$FREETYPELIBS" = "x" && enable_fonts=${enable_fonts:-no}
dnl **** Check for parport (currently Linux only) ****
AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef HAVE_SYS_IOCTL_H
# include <sys/ioctl.h>
#endif
#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])
dnl **** Check for pthread functions ****
        pthread_attr_get_np \
        pthread_getattr_np \
        pthread_get_stackaddr_np \
dnl **** Check for zlib ****
if test "$ac_cv_header_zlib_h" = "yes"
then
    AC_CHECK_LIB(z,inflate,[AC_DEFINE(HAVE_ZLIB,1,[Define to 1 if you have the `z' library (-lz).])
                            AC_SUBST(ZLIB,"-lz")])
fi
WINE_NOTICE_WITH(zlib,[test "x$ZLIB" = "x"],[libz ${notice_platform}development files not found, data compression won't be supported.])
dnl **** Check for gettextpo ****
if test "x$enable_tools" != xno
then
    if test "$ac_cv_header_gettext_po_h" = "yes"
    then
        AC_CHECK_LIB(gettextpo,po_message_msgctxt,
                     [AC_DEFINE(HAVE_LIBGETTEXTPO,1,[Define to 1 if you have the `gettextpo' library (-lgettextpo).])
                      AC_SUBST(LIBGETTEXTPO,"-lgettextpo")])
    fi
    WINE_WARNING_WITH(gettextpo,[test "x$LIBGETTEXTPO" = "x"],[GetText ${notice_platform}development files not found (or too old). Internationalization won't be fully supported.])
dnl **** Check for EsounD ****
then
    save_CFLAGS="$CFLAGS"
    AC_PATH_PROG(ESDCONFIG, esd-config, no)
    if test "x$ESDCONFIG" != "xno"
    then
        ac_esd_incl=""
        for i in `$ESDCONFIG --cflags`
        do
            case "$i" in
                -I*) ac_esd_incl="$ac_esd_incl $i";;
            esac
        done
        ac_esd_libs=`$ESDCONFIG --libs`
        CFLAGS="$CFLAGS $ac_esd_incl"
    fi
    ac_esd_libs=${ac_esd_libs:-"-lesd"}
    AC_CHECK_HEADER(esd.h,
        [AC_CHECK_LIB(esd,esd_open_sound,
            [AC_SUBST(ESDINCL, "$ac_esd_incl")
             AC_SUBST(ESDLIBS, "$ac_esd_libs")],,
    CFLAGS="$save_CFLAGS"
fi

dnl **** Check for gstreamer ****
if test "x$with_gstreamer" != "xno"
then
    ac_save_CPPFLAGS="$CPPFLAGS"
    if test "$PKG_CONFIG" != "false"; then
        ac_gst_incl=""
        for i in `$PKG_CONFIG --cflags gstreamer-app-0.10 2>/dev/null`
        do
            case "$i" in
                -I*) ac_gst_incl="$ac_gst_incl $i";;
            esac
        done
        ac_gst_libs="`$PKG_CONFIG --libs gstreamer-app-0.10 2>/dev/null`"
        CPPFLAGS="$CPPFLAGS $ac_gst_incl"
        AC_CHECK_HEADER([gst/gstpad.h],
          [AC_CHECK_HEADER([gst/app/gstappsink.h],
             [AC_CHECK_LIB(gstreamer-0.10,gst_pad_get_caps_reffed,
                [AC_CHECK_LIB(gstapp-0.10,gst_app_buffer_new,
                    [AC_SUBST(GSTREAMER_LIBS,"$ac_gst_libs")
                     AC_SUBST(GSTREAMER_INCL,"$ac_gst_incl")],,[$ac_gst_libs])])])])
WINE_NOTICE_WITH(gstreamer,[test "x$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" != xyes -a "x$ac_cv_header_QuickTime_ImageCompression_h" != xyes],
                 [gstreamer-0.10 base plugins ${notice_platform}development files not found, gstreamer support disabled])
test "x$ac_cv_lib_gstapp_0_10_gst_app_buffer_new" = xyes || enable_winegstreamer=${enable_winegstreamer:-no}

dnl **** Check for ALSA 1.x ****
AC_SUBST(ALSALIBS,"")
if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
    AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access_mask,
        [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef HAVE_ALSA_ASOUNDLIB_H
#include <alsa/asoundlib.h>
#elif defined(HAVE_SYS_ASOUNDLIB_H)
#include <sys/asoundlib.h>
#endif]], [[int ret = snd_pcm_hw_params_get_access_mask(NULL, NULL)]])],
                        [ALSALIBS="-lasound"])])
dnl **** Check for capi4linux ****

if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
then
    WINE_CHECK_SONAME(capi20,capi20_register)
WINE_NOTICE_WITH(capi,[test "x$ac_cv_lib_soname_capi20" = "x"],
                 [libcapi20 ${notice_platform}development files not found, ISDN won't be supported.])
AC_SUBST(CUPSINCL,"")
if test "x$with_cups" != "xno"
    ac_save_CPPFLAGS="$CPPFLAGS"
    ac_cups_cflags=`cups-config --cflags 2>/dev/null`
    ac_cups_libs=`cups-config --ldflags 2>/dev/null`
    CPPFLAGS="$CPPFLAGS $ac_cups_cflags"
    AC_CHECK_HEADERS(cups/cups.h,
            [WINE_CHECK_SONAME(cups,cupsGetDefault,
                       [CUPSINCL="$ac_cups_cflags"],,
                       [$ac_cups_libs])])
    CPPFLAGS="$ac_save_CPPFLAGS"
WINE_NOTICE_WITH(cups,[test "x$ac_cv_lib_soname_cups" = "x"],
                 [libcups ${notice_platform}development files not found, CUPS won't be supported.])
dnl **** Check for jack ****
if test "$ac_cv_header_jack_jack_h" = "yes"
then
    WINE_CHECK_SONAME(jack,jack_client_new,,,,[[libjack-*[[0-9.]]*]])
dnl **** Check for fontconfig ****
if test "$ac_cv_header_fontconfig_fontconfig_h" = "yes"
then
    WINE_CHECK_SONAME(fontconfig,FcInit)
elif test -n "$X_CFLAGS" -a "x$with_fontconfig" != "xno"
then
    dnl fontconfig is in the X directory on Mac OS X
    ac_save_CPPFLAGS="$CPPFLAGS"
    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
    $as_unset ac_cv_header_fontconfig_fontconfig_h
    AC_CHECK_HEADERS([fontconfig/fontconfig.h])
    CPPFLAGS="$ac_save_CPPFLAGS"
    if test "$ac_cv_header_fontconfig_fontconfig_h" = "yes"
    then
        AC_SUBST(FONTCONFIGINCL,"$X_CFLAGS")
        WINE_CHECK_SONAME(fontconfig,FcInit,,,[$X_LIBS])
    fi
WINE_NOTICE_WITH(fontconfig,[test "x$ac_cv_lib_soname_fontconfig" = "x"],
                 [fontconfig ${notice_platform}development files not found, fontconfig won't be supported.])
dnl **** Check for SSL ****
if test "$ac_cv_header_openssl_err_h" = "yes" -a "$ac_cv_header_openssl_ssl_h" = "yes"
then
    WINE_CHECK_SONAME(ssl,SSL_library_init)
    WINE_CHECK_SONAME(crypto,BIO_new_socket)
fi
WINE_WARNING_WITH(openssl,[test "x$ac_cv_lib_soname_ssl" = "x" -o "x$ac_cv_lib_soname_crypto" = "x"],
                 [OpenSSL ${notice_platform}development files not found, SSL won't be supported.])
dnl **** Check for gsm codec ****
if test "$ac_cv_header_gsm_h" = "yes" -o "$ac_cv_header_gsm_gsm_h" = "yes"
then
    WINE_CHECK_SONAME(gsm,gsm_create)
fi
WINE_NOTICE_WITH(gsm,[test "x$ac_cv_lib_soname_gsm" = "x"],
                 [libgsm ${notice_platform}development files not found, gsm 06.10 codec won't be supported.])

dnl **** Check for libjpeg ****
if test "$ac_cv_header_jpeglib_h" = "yes"
then
    WINE_CHECK_SONAME(jpeg,jpeg_start_decompress)
fi
WINE_WARNING_WITH(jpeg,[test "x$ac_cv_lib_soname_jpeg" = "x"],
                 [libjpeg ${notice_platform}development files not found, JPEG won't be supported.])
dnl **** Check for libpng ****
if test "$ac_cv_header_png_h" = "yes"
then
    WINE_CHECK_SONAME(png,png_create_read_struct,,,-lm -lz,[[libpng[[0-9]]*]])
    AC_CHECK_LIB(png,png_set_expand_gray_1_2_4_to_8,
	[AC_DEFINE(HAVE_PNG_SET_EXPAND_GRAY_1_2_4_TO_8,1,[Define to 1 if libpng has the png_set_expand_gray_1_2_4_to_8 function.])]
	,,-lm -lz)
elif test -n "$X_CFLAGS" -a "x$with_png" != "xno"
then
    dnl libpng is in the X directory on Mac OS X
    ac_save_CPPFLAGS="$CPPFLAGS"
    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
    $as_unset ac_cv_header_png_h
    AC_CHECK_HEADERS([png.h])
    CPPFLAGS="$ac_save_CPPFLAGS"
    if test "$ac_cv_header_png_h" = "yes"
    then
        AC_SUBST(PNGINCL,"$X_CFLAGS")
        WINE_CHECK_SONAME(png,png_create_read_struct,,,[$X_LIBS -lm -lz],[[libpng[[0-9]]*]])
        AC_CHECK_LIB(png,png_set_expand_gray_1_2_4_to_8,
		[AC_DEFINE(HAVE_PNG_SET_EXPAND_GRAY_1_2_4_TO_8,1)],,[$X_LIBS -lm -lz])
WINE_WARNING_WITH(png,[test "x$ac_cv_lib_soname_png" = "x"],
                 [libpng ${notice_platform}development files not found, PNG won't be supported.])
dnl **** Check for libtiff ****
if test "$ac_cv_header_tiffio_h" = "yes"
then
    WINE_CHECK_SONAME(tiff,TIFFClientOpen)
fi
WINE_NOTICE_WITH(tiff,[test "x$ac_cv_lib_soname_tiff" = "x"],
                 [libtiff ${notice_platform}development files not found, TIFF won't be supported.])

dnl **** Check for mpg123 ****
if test "$ac_cv_header_mpg123_h" = "yes"
then
    AC_CHECK_LIB(mpg123,mpg123_feed,[AC_SUBST(LIBMPG123,"-lmpg123")])
WINE_NOTICE_WITH(mpg123,[test "x$ac_cv_lib_mpg123_mpg123_feed" != xyes -a x"$ac_cv_header_CoreAudio_CoreAudio_h" != xyes],
                 [libmpg123 ${notice_platform}development files not found (or too old), mp3 codec won't be supported.])
test "x$ac_cv_lib_mpg123_mpg123_feed" = xyes -o "x$ac_cv_header_AudioToolbox_AudioConverter_h" = xyes || enable_winemp3_acm=${enable_winemp3_acm:-no}
dnl **** Check for OpenAL 1.1 ****
if test "$ac_cv_header_AL_al_h" = "yes"
then
    WINE_CHECK_SONAME(openal,alGetSource3i,[AC_SUBST(LIBOPENAL,"-lopenal")
                      ac_cv_lib_openal=yes
                      AC_DEFINE_UNQUOTED(HAVE_OPENAL,1,[Define to 1 if OpenAL is available])],,)
WINE_NOTICE_WITH(openal,[test "x$ac_cv_lib_openal" != xyes],
                 [libopenal ${notice_platform}development files not found (or too old), OpenAL won't be supported.])
test "x$ac_cv_lib_openal" = xyes || enable_openal32=${enable_openal32:-no}
dnl **** Check for libkstat ****
if test "$ac_cv_header_kstat_h" = "yes"
then
    AC_CHECK_LIB(kstat,kstat_open,
                 [AC_DEFINE(HAVE_LIBKSTAT, 1, [Define to 1 if you have the `kstat' library (-lkstat).])
                  AC_SUBST(LIBKSTAT,"-lkstat")])
fi

dnl **** Check for libodbc ****
WINE_CHECK_SONAME(odbc,SQLConnect,,[AC_DEFINE_UNQUOTED(SONAME_LIBODBC,["libodbc.$LIBEXT"])])

dnl **** Disable unsupported winmm drivers ****
test -n "$ALSALIBS" || enable_winealsa_drv=${enable_winealsa_drv:-no}
test -n "$COREAUDIO" || enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-no}
test -n "$NASLIBS" || enable_winenas_drv=${enable_winenas_drv:-no}
test -n "$ESDLIBS" || enable_wineesd_drv=${enable_wineesd_drv:-no}
test -n "$ac_cv_lib_soname_jack" || enable_winejack_drv=${enable_winejack_drv:-no}
test "$ac_cv_header_sys_soundcard_h" = "yes" -o \
     "$ac_cv_header_machine_soundcard_h" = "yes" -o \
     "$ac_cv_header_soundcard_h" = "yes" || enable_wineoss_drv=${enable_wineoss_drv:-no}
test "$ac_cv_header_linux_joystick_h" = "yes" || enable_winejoystick_drv=${enable_winejoystick_drv:-no}

if test "x$ALSALIBS$COREAUDIO$NASLIBS$ESDLIBS$ac_cv_lib_soname_jack" = "x" -a \
        "$ac_cv_header_sys_soundcard_h" != "yes" -a \
        "$ac_cv_header_machine_soundcard_h" != "yes" -a \
        "$ac_cv_header_soundcard_h" != "yes" -a \
        "x$with_alsa$with_coreaudio$with_nas$with_esd$with_jack$with_oss" != xnononononono
then
    WINE_WARNING([No sound system was found. Windows applications will be silent.])
fi
dnl **** Check for gcc specific options ****
Alexandre Julliard's avatar
Alexandre Julliard committed
if test "x${GCC}" = "xyes"
then
  EXTRACFLAGS="-Wall -pipe"
  AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
                  AC_RUN_IFELSE([AC_LANG_PROGRAM([[int L[[4]] = {0,1,2,3};]],
[[static int Array[[3]];
Alexandre Julliard's avatar
Alexandre Julliard committed
  unsigned int B = 3;
  int i;
Alexandre Julliard's avatar
Alexandre Julliard committed
  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;
  return (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"]) )
Alexandre Julliard's avatar
Alexandre Julliard committed
  if test "$ac_cv_c_gcc_strength_bug" = "yes"
  then
    EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
Alexandre Julliard's avatar
Alexandre Julliard committed
  fi
  dnl Check for some compiler flags
  WINE_TRY_CFLAGS([-fno-builtin],[AC_SUBST(BUILTINFLAG,"-fno-builtin")])
  WINE_TRY_CFLAGS([-fno-strict-aliasing])
  WINE_TRY_CFLAGS([-Wdeclaration-after-statement])
  WINE_TRY_CFLAGS([-Wstrict-prototypes])
  WINE_TRY_CFLAGS([-Wtype-limits])
  WINE_TRY_CFLAGS([-Wwrite-strings])
  CFLAGS="$CFLAGS -Wpointer-arith -Werror"
  AC_CACHE_CHECK([for broken string.h that generates warnings with -Wpointer-arith], ac_cv_c_string_h_warnings,
      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]], [[]])],[ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
  if test "$ac_cv_c_string_h_warnings" = "no"
  then
    EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
  dnl Check for noisy string.h on logical ops
  saved_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS -Wlogical-op -Werror"
  AC_CACHE_CHECK([for broken string.h that generates warnings with -Wlogical-op], ac_cv_c_logicalop_noisy,
      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]], [[char*f(const char *h,char n) {return strchr(h,n);}]])],[ac_cv_c_logicalop_noisy=no],[ac_cv_c_logicalop_noisy=yes]))
  CFLAGS="$saved_CFLAGS"
  if test "$ac_cv_c_logicalop_noisy" = "no"
  then
    EXTRACFLAGS="$EXTRACFLAGS -Wlogical-op"
  fi

  dnl Enable -Werror for maintainer mode
  if test "x$enable_maintainer_mode" = "xyes"
  then
      WINE_TRY_CFLAGS([-Werror])
  fi

  dnl Check for ms_hook_prologue support
  saved_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS -Werror"
  AC_CACHE_CHECK([for ms_hook_prologue attribute], ac_cv_have_ms_hook_prologue,
                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int __attribute__((__ms_hook_prologue__)) test(void) { return 0; }]])],
                                   [ac_cv_have_ms_hook_prologue="yes"],[ac_cv_have_ms_hook_prologue="no"]))
  CFLAGS="$saved_CFLAGS"
  if test "$ac_cv_have_ms_hook_prologue" = "yes"
  then
      AC_DEFINE(DECLSPEC_HOTPATCH, [__attribute__((__ms_hook_prologue__))],
                [Define to a function attribute for Microsoft hotpatch assembly prefix.])
  else
      AC_DEFINE(DECLSPEC_HOTPATCH, [/* */])
  fi
dnl **** Disable Fortify, it has too many false positives

AC_CACHE_CHECK([for the need to disable Fortify], ac_cv_c_fortify_enabled,
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],
[[#if defined(__USE_FORTIFY_LEVEL) && __USE_FORTIFY_LEVEL > 0
#error Fortify enabled
#endif]])],
        [ac_cv_c_fortify_enabled=no],[ac_cv_c_fortify_enabled=yes]))
if test "$ac_cv_c_fortify_enabled" = yes
then
    CFLAGS="$CFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"
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"))

case $host_cpu in
  *i[[3456789]]86*)
    AC_CACHE_CHECK([whether external symbols need stdcall decoration], ac_cv_c_stdcall_suffix,
        WINE_TRY_ASM_LINK(["jmp _ac_test@4"],
[#ifndef _MSC_VER
#define __stdcall __attribute__((__stdcall__))
#endif
int __stdcall ac_test(int i) { return i; }],
                          [if (ac_test(1)) return 1],
                          ac_cv_c_stdcall_suffix="yes",ac_cv_c_stdcall_suffix="no")) ;;
  *) ac_cv_c_stdcall_suffix="no" ;;
esac

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])
    asm_name_prefix="_"
else
    AC_DEFINE([__ASM_NAME(name)], [name])
    asm_name_prefix=""
fi

AH_TEMPLATE(__ASM_STDCALL,[Define to a macro to generate an stdcall suffix])
if test "$ac_cv_c_stdcall_suffix" = "yes"
then
    AC_DEFINE([__ASM_STDCALL(args)],["@" #args])
else
    AC_DEFINE([__ASM_STDCALL(args)],[""])
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"])
     asm_func_header=".def $asm_name_prefix\" #name suffix \"; .scl 2; .type 32; .endef" ;;
     AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"])
     asm_func_header=".type $asm_name_prefix\" #name suffix \",@function" ;;
     AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"])
     asm_func_header=".type $asm_name_prefix\" #name suffix \",2" ;;
     AC_DEFINE([__ASM_FUNC(name)], [""])
     asm_func_header="" ;;
AC_CACHE_CHECK([whether asm() works outside of functions], ac_cv_c_asm_outside_funcs,
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[asm(".text\n\t.long 0");]],)],
                      ac_cv_c_asm_outside_funcs="yes",ac_cv_c_asm_outside_funcs="no"))
AC_CACHE_CHECK([whether .previous is supported in assembly code], ac_cv_c_dot_previous,
    WINE_TRY_ASM_LINK([".text\nac_test:\t.long 0\n\t.previous"],,,
                      ac_cv_c_dot_previous="yes",ac_cv_c_dot_previous="no"))
AC_CACHE_CHECK([whether CFI directives are supported in assembly code], ac_cv_c_cfi_support,
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[asm(".text\nac_test:\t.cfi_startproc\n\t.long 0\n\t.cfi_endproc");]])],
                      ac_cv_c_cfi_support="yes",ac_cv_c_cfi_support="no"))

asm_func_header=".globl $asm_name_prefix\" #name suffix \"\\n\\t$asm_func_header\\n$asm_name_prefix\" #name suffix \":\\n\\t"
asm_func_trailer=""
if test "$ac_cv_c_dot_previous" = "yes"
then
   asm_func_trailer="\\n\\t.previous"
fi
if test "$ac_cv_c_cfi_support" = "yes"
then
   asm_func_header="$asm_func_header.cfi_startproc\\n\\t"
   asm_func_trailer="\\n\\t.cfi_endproc$asm_func_trailer"
   AC_DEFINE([__ASM_CFI(str)],[str],[Define to a macro to output a .cfi assembly pseudo-op])
   AC_SUBST([UNWINDFLAGS],[-fasynchronous-unwind-tables])
asm_func_code="$asm_func_header\" code \"$asm_func_trailer"

AH_TEMPLATE(__ASM_DEFINE_FUNC,[Define to a macro to define an assembly function])
if test "$ac_cv_c_asm_outside_funcs" = "yes"
Alexandre Julliard's avatar
Alexandre Julliard committed
then
    AC_DEFINE_UNQUOTED([__ASM_DEFINE_FUNC(name,suffix,code)],[asm(".text\n\t.align 4\n\t$asm_func_code");])
    AC_DEFINE_UNQUOTED([__ASM_DEFINE_FUNC(name,suffix,code)],[void __asm_dummy_##name(void) { asm(".text\n\t.align 4\n\t$asm_func_code"); }])
Alexandre Julliard's avatar
Alexandre Julliard committed
fi
AC_DEFINE([__ASM_GLOBAL_FUNC(name,code)],[__ASM_DEFINE_FUNC(name,"",code)],
          [Define to a macro to generate an assembly function with C calling convention])
AC_DEFINE([__ASM_STDCALL_FUNC(name,args,code)],[__ASM_DEFINE_FUNC(name,__ASM_STDCALL(args),code)],
          [Define to a macro to generate an assembly function with stdcall calling convention])
AC_SUBST(LDPATH,"")
case $build_os in
  cygwin*|mingw32*)
    LDPATH="PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\""
    ;;
    LDPATH="LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\""
    ;;
dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
    AC_SUBST(CRTLIBS,"-lmsvcrt")
    AC_SUBST(SOCKETLIBS,"-L\$(top_builddir)/dlls/ws2_32 -lws2_32")
test "x$enable_win64" != "xyes" || MAIN_BINARY="wine64"
case $host_os in
  linux*)
    case $host_cpu in
      *i[[3456789]]86*) AC_SUBST(EXTRA_BINARIES,"wine-preloader") ;;
      x86_64*) AC_SUBST(EXTRA_BINARIES,"wine64-preloader") ;;
dnl **** Check for functions ****

ac_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $BUILTINFLAG"
	_strtoi64 \
	_strtoui64 \
	fstatfs \
	fstatvfs \
Alexandre Julliard's avatar
Alexandre Julliard committed
	gettimeofday \
	port_create \
Louis Lenders's avatar
Louis Lenders committed
	strtold \
dnl Check for -ldl
if test "$ac_cv_func_dlopen" = no
then
    AC_CHECK_LIB(dl,dlopen,[AC_DEFINE(HAVE_DLOPEN,1) AC_SUBST(LIBDL,"-ldl")])
fi
WINE_CHECK_LIB_FUNCS(dladdr,[$LIBDL])

dnl Check for -lpoll for Mac OS X/Darwin
if test "$ac_cv_func_poll" = no
then
    AC_CHECK_LIB(poll,poll,[AC_DEFINE(HAVE_POLL,1) AC_SUBST(LIBPOLL,"-lpoll")])
fi
dnl **** Check for functions which may rely on -lsocket on Solaris.
AC_CHECK_FUNCS(\
	getaddrinfo \
	getnameinfo \
	getnetbyname \
	getprotobyname \
	getprotobynumber \
	getservbyport \
	inet_network \
dnl **** Check for OpenLDAP ***
AC_SUBST(LDAPLIBS,"")
if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes"
then
    AC_CHECK_TYPE(LDAPSortKey,
        [AC_CHECK_LIB(ldap_r, ldap_initialize,
            [AC_CHECK_LIB(lber, ber_init,
                [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])
                 LDAPLIBS="-lldap_r -llber"],,
                 [$LIBPTHREAD])],,
                 [$LIBPTHREAD])],,
        [#include <ldap.h>])
    WINE_CHECK_LIB_FUNCS(\
	ldap_count_references \
	ldap_first_reference \
	ldap_next_reference \
	ldap_parse_reference \
	ldap_parse_sort_control \
	ldap_parse_sortresponse_control \
	ldap_parse_vlv_control \
	ldap_parse_vlvresponse_control,
        [$LDAPLIBS $LIBPTHREAD])
fi
WINE_NOTICE_WITH(ldap,[test "x$LDAPLIBS" = "x"],
                 [libldap (OpenLDAP) ${notice_platform}development files not found, LDAP won't be supported.])
AC_CACHE_CHECK([whether mkdir takes only one argument],
   	wine_cv_one_arg_mkdir,
	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]],[[mkdir("foo");]])],
                          [wine_cv_one_arg_mkdir=yes],[wine_cv_one_arg_mkdir=no]))
if test "$wine_cv_one_arg_mkdir" = "yes"
then
  AC_DEFINE(HAVE_ONE_ARG_MKDIR, 1, [Define if mkdir takes only one argument])
fi

AC_CACHE_CHECK([for sched_setaffinity],wine_cv_have_sched_setaffinity,
                AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[#define _GNU_SOURCE
#include <sched.h>]], [[sched_setaffinity(0, 0, 0);]])],[wine_cv_have_sched_setaffinity=yes],[wine_cv_have_sched_setaffinity=no]))
if test "$wine_cv_have_sched_setaffinity" = "yes"
then
  AC_DEFINE(HAVE_SCHED_SETAFFINITY, 1, [Define to 1 if you have the `sched_setaffinity' function.])
fi

dnl **** Check for types ****

AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long, fsblkcnt_t, fsfilcnt_t])
AC_CHECK_TYPES([sigset_t],,,[#include <sys/types.h>
#include <signal.h>])
AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])
AC_CHECK_TYPES([struct xinpgen],,,
[#include <sys/types.h>
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_SYS_SOCKETVAR_H
#include <sys/socketvar.h>
#endif
#ifdef HAVE_NET_ROUTE_H
#include <net/route.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_IN_PCB_H
#include <netinet/in_pcb.h>
#endif])

AC_CHECK_MEMBERS([struct ff_effect.direction],,,
[#ifdef HAVE_LINUX_INPUT_H
#include <linux/input.h>
#endif])

AC_CACHE_CHECK([for sigaddset],wine_cv_have_sigaddset,
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]], [[sigset_t set; sigaddset(&set,SIGTERM);]])],[wine_cv_have_sigaddset=yes],[wine_cv_have_sigaddset=no]))
if test "$wine_cv_have_sigaddset" = "yes"
then
  AC_DEFINE(HAVE_SIGADDSET, 1, [Define if sigaddset is supported])
fi

AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
   	wine_cv_linux_gethostbyname_r_6,
	AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]],[[
    struct hostent he;
    struct hostent *result;
    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])
if test "$ac_cv_header_linux_joystick_h" = "yes"
then
   AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
	#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])
   if test "$wine_cv_linux_joystick_22_api" = "yes"
      AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
                [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
dnl **** FIXME: what about mixed cases, where we need two of them? ***
AC_CHECK_MEMBERS([struct statfs.f_bfree, struct statfs.f_bavail, struct statfs.f_frsize, struct statfs.f_ffree, struct statfs.f_favail, struct statfs.f_namelen],,,
[#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
#endif
#ifdef HAVE_SYS_VFS_H
# include <sys/vfs.h>
#endif
#ifdef HAVE_SYS_STATFS_H
# include <sys/statfs.h>

AC_CHECK_MEMBERS([struct statvfs.f_blocks],,,
[#ifdef HAVE_SYS_STATVFS_H
#include <sys/statvfs.h>
#endif])
dnl Check for socket structure members
AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,,
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#ifdef HAVE_SYS_UN_H
# include <sys/un.h>
dnl Check for scsireq_t and sg_io_hdr_t members
AC_CHECK_MEMBERS([scsireq_t.cmd, sg_io_hdr_t.interface_id],,,
[#include <sys/types.h>
#ifdef HAVE_SCSI_SG_H
dnl Check for siginfo_t members
AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.h>])
dnl Check for struct mtget members
AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
[#include <sys/types.h>
#ifdef HAVE_SYS_MTIO_H
dnl Check for struct option
AC_CHECK_MEMBERS([struct option.name],,,
[#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif])

dnl Check for stat.st_blocks and ns-resolved times
AC_CHECK_MEMBERS([struct stat.st_blocks,struct stat.st_mtim,struct stat.st_ctim,struct stat.st_atim])
dnl Check for sin6_scope_id
AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif])

dnl Check for ns_msg ptr member
AC_CHECK_MEMBERS([ns_msg._msg_ptr],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_NAMESER_H
# include <arpa/nameser.h>
#endif])

dnl Check for struct icmpstat.icps_outhist
AC_CHECK_MEMBERS([struct icmpstat.icps_outhist],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_ALIAS_H
#include <alias.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_SYS_SOCKETVAR_H
#include <sys/socketvar.h>
#endif
#ifdef HAVE_SYS_TIMEOUT_H
#include <sys/timeout.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_ICMP_VAR
#include <netinet/icmp_var.h>
#endif])

dnl Check for struct ifreq.ifr_hwaddr
AC_CHECK_MEMBERS([struct ifreq.ifr_hwaddr],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NET_IF_H
# include <net/if.h>
#endif])

dnl Check for the external timezone variables timezone and daylight
AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[timezone = 1]])],[ac_cv_have_timezone="yes"],[ac_cv_have_timezone="no"]))
if test "$ac_cv_have_timezone" = "yes"
then
    AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you have the timezone variable])
fi
AC_CACHE_CHECK([for daylight variable], ac_cv_have_daylight,
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[daylight = 1]])],[ac_cv_have_daylight="yes"],[ac_cv_have_daylight="no"]))
if test "$ac_cv_have_daylight" = "yes"
then
    AC_DEFINE(HAVE_DAYLIGHT, 1, [Define if you have the daylight variable])
fi

dnl Check for isinf
AC_CACHE_CHECK([for isinf], ac_cv_have_isinf,
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]], [[float f = 0.0; int i=isinf(f)]])],[ac_cv_have_isinf="yes"],[ac_cv_have_isinf="no"]))
if test "$ac_cv_have_isinf" = "yes"
then
    AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have the `isinf' function.])
fi

Jacek Caban's avatar
Jacek Caban committed
dnl Check for isnan
AC_CACHE_CHECK([for isnan], ac_cv_have_isnan,
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]], [[float f = 0.0; int i=isnan(f)]])],[ac_cv_have_isnan="yes"],[ac_cv_have_isnan="no"]))
if test "$ac_cv_have_isnan" = "yes"
then
    AC_DEFINE(HAVE_ISNAN, 1, [Define to 1 if you have the `isnan' function.])
fi

dnl *** check for the need to define platform-specific symbols
  *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
  *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
  *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
  *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
  *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
Alexandre Julliard's avatar
Alexandre Julliard committed
dnl **** Generate output files ****
AH_TOP([#ifndef WINE_CROSSTEST
#define __WINE_CONFIG_H])
AH_BOTTOM([#endif /* WINE_CROSSTEST */])
AC_CONFIG_COMMANDS([include/stamp-h], [echo timestamp > include/stamp-h])

WINE_CONFIG_SYMLINK(dlls/wineps.drv/generic.ppd)
WINE_CONFIG_SYMLINK(fonts/marlett.ttf,,enable_fonts)
WINE_CONFIG_SYMLINK(fonts/symbol.ttf,,enable_fonts)
WINE_CONFIG_SYMLINK(fonts/tahoma.ttf,,enable_fonts)
WINE_CONFIG_SYMLINK(fonts/tahomabd.ttf,,enable_fonts)
WINE_CONFIG_SYMLINK(wine,tools/winewrapper)

WINE_CONFIG_EXTRA_DIR(dlls/gdi32/dibdrv)
WINE_CONFIG_EXTRA_DIR(dlls/gdi32/enhmfdrv)
WINE_CONFIG_EXTRA_DIR(dlls/gdi32/mfdrv)
WINE_CONFIG_EXTRA_DIR(dlls/kernel32/nls)
WINE_CONFIG_EXTRA_DIR(dlls/user32/resources)
WINE_CONFIG_EXTRA_DIR(dlls/wineps.drv/data)
WINE_CONFIG_MAKERULES([Make.rules],[MAKE_RULES])
WINE_CONFIG_MAKERULES([Maketest.rules],[MAKE_TEST_RULES],[Make.rules])
WINE_CONFIG_MAKERULES([dlls/Makedll.rules],[MAKE_DLL_RULES],[Make.rules])
WINE_CONFIG_MAKERULES([dlls/Makeimplib.rules],[MAKE_IMPLIB_RULES],[Make.rules])
WINE_CONFIG_MAKERULES([programs/Makeprog.rules],[MAKE_PROG_RULES],[Make.rules])

WINE_CONFIG_DLL(aclui,,[implib])
WINE_CONFIG_DLL(activeds,,[implib])
WINE_CONFIG_DLL(actxprxy)
WINE_CONFIG_LIB(adsiid)
WINE_CONFIG_DLL(advapi32,,[implib])
WINE_CONFIG_DLL(advpack,,[implib])
WINE_CONFIG_TEST(dlls/advpack/tests)
WINE_CONFIG_DLL(amstream)
WINE_CONFIG_TEST(dlls/amstream/tests)
WINE_CONFIG_DLL(appwiz.cpl,,[po])
WINE_CONFIG_TEST(dlls/atl/tests)
WINE_CONFIG_DLL(avicap32,,[implib])
WINE_CONFIG_DLL(avifil32,,[po,implib])
WINE_CONFIG_TEST(dlls/avifil32/tests)
WINE_CONFIG_DLL(avifile.dll16,enable_win16)
WINE_CONFIG_DLL(cabinet,,[implib])
WINE_CONFIG_DLL(capi2032,,[implib])
WINE_CONFIG_DLL(cards,,[implib])
WINE_CONFIG_DLL(cfgmgr32,,[implib])
WINE_CONFIG_DLL(clusapi,,[implib])
WINE_CONFIG_DLL(comcat)
WINE_CONFIG_TEST(dlls/comcat/tests)
WINE_CONFIG_DLL(comctl32,,[po,implib])
WINE_CONFIG_DLL(comdlg32,,[po,implib])
WINE_CONFIG_TEST(dlls/comdlg32/tests)
WINE_CONFIG_DLL(comm.drv16,enable_win16)
WINE_CONFIG_DLL(commdlg.dll16,enable_win16)
WINE_CONFIG_DLL(compobj.dll16,enable_win16)
WINE_CONFIG_DLL(compstui,,[implib])
WINE_CONFIG_DLL(credui,,[po,implib])
WINE_CONFIG_DLL(crtdll,,[implib])
WINE_CONFIG_DLL(crypt32,,[po,implib])
WINE_CONFIG_DLL(cryptdlg,,[po])
WINE_CONFIG_DLL(cryptdll,,[implib])
WINE_CONFIG_DLL(cryptnet,,[implib])
WINE_CONFIG_DLL(cryptui,,[po,implib])
WINE_CONFIG_TEST(dlls/cryptui/tests)
WINE_CONFIG_DLL(ctapi32)
WINE_CONFIG_DLL(ctl3d.dll16,enable_win16)
WINE_CONFIG_DLL(ctl3d32,,[implib])
WINE_CONFIG_DLL(ctl3dv2.dll16,enable_win16)
WINE_CONFIG_DLL(d3d10core,,[implib])
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_33)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_34)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_35)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_36)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_37)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_38)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_39)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_40)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_41)
Matteo Bruni's avatar
Matteo Bruni committed
WINE_CONFIG_DLL(d3dcompiler_42)
WINE_CONFIG_DLL(d3dcompiler_43,,[implib],[d3dcompiler])
WINE_CONFIG_TEST(dlls/d3dcompiler_43/tests)
WINE_CONFIG_DLL(d3dim,,[implib])
WINE_CONFIG_DLL(d3drm,,[implib])
WINE_CONFIG_DLL(d3dx10_33)
WINE_CONFIG_DLL(d3dx10_34)
WINE_CONFIG_DLL(d3dx10_35)
WINE_CONFIG_DLL(d3dx10_36)
WINE_CONFIG_DLL(d3dx10_37)
WINE_CONFIG_DLL(d3dx10_38)
WINE_CONFIG_DLL(d3dx10_39)
WINE_CONFIG_DLL(d3dx10_40)
WINE_CONFIG_DLL(d3dx10_41)
WINE_CONFIG_DLL(d3dx10_42)
WINE_CONFIG_DLL(d3dx10_43)
WINE_CONFIG_DLL(d3dx9_24)
WINE_CONFIG_DLL(d3dx9_25)
WINE_CONFIG_DLL(d3dx9_26)
WINE_CONFIG_DLL(d3dx9_27)
WINE_CONFIG_DLL(d3dx9_28)
WINE_CONFIG_DLL(d3dx9_29)
WINE_CONFIG_DLL(d3dx9_30)
WINE_CONFIG_DLL(d3dx9_31)
WINE_CONFIG_DLL(d3dx9_32)
WINE_CONFIG_DLL(d3dx9_33)
WINE_CONFIG_DLL(d3dx9_34)
WINE_CONFIG_DLL(d3dx9_35)
WINE_CONFIG_DLL(d3dx9_36,,[implib],[d3dx9])
WINE_CONFIG_TEST(dlls/d3dx9_36/tests)
WINE_CONFIG_DLL(d3dx9_37)
WINE_CONFIG_DLL(d3dx9_38)
WINE_CONFIG_DLL(d3dx9_39)
WINE_CONFIG_DLL(d3dx9_40)
WINE_CONFIG_DLL(d3dx9_41)
WINE_CONFIG_DLL(d3dx9_42)
WINE_CONFIG_DLL(d3dx9_43)
WINE_CONFIG_DLL(d3dxof,,[implib])
WINE_CONFIG_DLL(dbgeng,,[implib])
WINE_CONFIG_DLL(dbghelp,,[implib])
WINE_CONFIG_DLL(dciman32,,[implib])
WINE_CONFIG_DLL(ddeml.dll16,enable_win16)
WINE_CONFIG_TEST(dlls/ddraw/tests)
WINE_CONFIG_DLL(ddrawex)
WINE_CONFIG_TEST(dlls/ddrawex/tests)
WINE_CONFIG_DLL(devenum,,[po])
WINE_CONFIG_DLL(dinput,,[implib,staticimplib])
WINE_CONFIG_DLL(dinput8,,[implib])
WINE_CONFIG_DLL(dispdib.dll16,enable_win16)
WINE_CONFIG_DLL(dispex)
WINE_CONFIG_TEST(dlls/dispex/tests)
WINE_CONFIG_DLL(display.drv16,enable_win16)
WINE_CONFIG_DLL(dmband)
WINE_CONFIG_DLL(dmcompos)
WINE_CONFIG_DLL(dmime)
WINE_CONFIG_TEST(dlls/dmime/tests)
WINE_CONFIG_DLL(dmloader)
WINE_CONFIG_TEST(dlls/dmloader/tests)
WINE_CONFIG_DLL(dmscript)
WINE_CONFIG_DLL(dmstyle)
WINE_CONFIG_DLL(dmsynth)
WINE_CONFIG_DLL(dmusic)
WINE_CONFIG_DLL(dmusic32,,[implib])
WINE_CONFIG_DLL(dnsapi,,[implib])
WINE_CONFIG_DLL(dplay,,[implib])
WINE_CONFIG_DLL(dplayx,,[implib])
WINE_CONFIG_TEST(dlls/dplayx/tests)
WINE_CONFIG_DLL(dpnaddr)
WINE_CONFIG_DLL(dpnhpast)
WINE_CONFIG_DLL(dpnlobby)
WINE_CONFIG_DLL(dpwsockx)
WINE_CONFIG_DLL(drmclien)
WINE_CONFIG_DLL(dsound,,[implib])
WINE_CONFIG_TEST(dlls/dsound/tests)
WINE_CONFIG_DLL(dssenh)
WINE_CONFIG_DLL(dswave)
WINE_CONFIG_DLL(dwmapi,,[implib])
WINE_CONFIG_TEST(dlls/dxdiagn/tests)
WINE_CONFIG_LIB(dxerr8)
WINE_CONFIG_LIB(dxerr9)
WINE_CONFIG_TEST(dlls/dxgi/tests)
WINE_CONFIG_LIB(dxguid)
WINE_CONFIG_DLL(explorerframe)
WINE_CONFIG_TEST(dlls/explorerframe/tests)
WINE_CONFIG_DLL(faultrep,,[implib])
WINE_CONFIG_TEST(dlls/faultrep/tests)
WINE_CONFIG_DLL(fltlib)
WINE_CONFIG_DLL(fusion)
WINE_CONFIG_TEST(dlls/fusion/tests)
WINE_CONFIG_DLL(fwpuclnt)
WINE_CONFIG_DLL(gameux)
WINE_CONFIG_TEST(dlls/gameux/tests)
WINE_CONFIG_DLL(gdiplus,,[implib])
WINE_CONFIG_DLL(gphoto2.ds)
WINE_CONFIG_DLL(gpkcsp)
WINE_CONFIG_DLL(hal)
WINE_CONFIG_DLL(hhctrl.ocx,,[po])
WINE_CONFIG_DLL(hid,,[implib])
WINE_CONFIG_DLL(hlink,,[implib])
WINE_CONFIG_TEST(dlls/hlink/tests)
WINE_CONFIG_DLL(hnetcfg)
WINE_CONFIG_DLL(httpapi)
WINE_CONFIG_DLL(iccvid,,[po])
WINE_CONFIG_DLL(icmp)
WINE_CONFIG_DLL(ifsmgr.vxd,enable_win16)
WINE_CONFIG_DLL(imaadp32.acm)
WINE_CONFIG_DLL(imagehlp,,[implib])
WINE_CONFIG_TEST(dlls/imagehlp/tests)
WINE_CONFIG_DLL(imm.dll16,enable_win16)
WINE_CONFIG_DLL(inetcomm,,[implib])
WINE_CONFIG_DLL(inetcpl.cpl,,[po])
WINE_CONFIG_DLL(inetmib1)
WINE_CONFIG_TEST(dlls/inetmib1/tests)
WINE_CONFIG_DLL(infosoft)
WINE_CONFIG_TEST(dlls/infosoft/tests)
WINE_CONFIG_DLL(initpki)
WINE_CONFIG_DLL(inkobj)
WINE_CONFIG_DLL(inseng)
WINE_CONFIG_DLL(iphlpapi,,[implib])
WINE_CONFIG_TEST(dlls/iphlpapi/tests)
WINE_CONFIG_DLL(itircl)
WINE_CONFIG_DLL(itss)
WINE_CONFIG_TEST(dlls/itss/tests)
WINE_CONFIG_DLL(jscript,,[po])
WINE_CONFIG_TEST(dlls/kernel32/tests)
WINE_CONFIG_DLL(keyboard.drv16,enable_win16)
WINE_CONFIG_DLL(krnl386.exe16,enable_win16,[implib],[kernel])
Esme Povirk's avatar
Esme Povirk committed
WINE_CONFIG_DLL(ktmw32)
WINE_CONFIG_DLL(loadperf,,[implib])
WINE_CONFIG_DLL(localspl,,[po])
WINE_CONFIG_DLL(localui,,[po])
WINE_CONFIG_TEST(dlls/lz32/tests)
WINE_CONFIG_DLL(lzexpand.dll16,enable_win16)
WINE_CONFIG_DLL(mapi32,,[po,implib])
WINE_CONFIG_TEST(dlls/mapi32/tests)
WINE_CONFIG_DLL(mapistub)
WINE_CONFIG_DLL(mciavi32)
WINE_CONFIG_DLL(mcicda)
WINE_CONFIG_DLL(mciqtz32)
WINE_CONFIG_DLL(mciseq)
WINE_CONFIG_DLL(mciwave)
WINE_CONFIG_DLL(midimap)
WINE_CONFIG_TEST(dlls/mlang/tests)
WINE_CONFIG_DLL(mmdevapi)
WINE_CONFIG_TEST(dlls/mmdevapi/tests)
WINE_CONFIG_DLL(mmdevldr.vxd,enable_win16)
WINE_CONFIG_DLL(mmsystem.dll16,enable_win16)
WINE_CONFIG_DLL(monodebg.vxd,enable_win16)
WINE_CONFIG_DLL(mountmgr.sys)
WINE_CONFIG_DLL(mouse.drv16,enable_win16)
WINE_CONFIG_DLL(mpr,,[po,implib])
WINE_CONFIG_DLL(mprapi,,[implib])
WINE_CONFIG_DLL(msacm.dll16,enable_win16)
WINE_CONFIG_DLL(msacm32.drv)
WINE_CONFIG_DLL(msacm32,,[implib])
WINE_CONFIG_TEST(dlls/msacm32/tests)
WINE_CONFIG_DLL(msadp32.acm)
WINE_CONFIG_DLL(mscat32)
WINE_CONFIG_TEST(dlls/mscms/tests)
WINE_CONFIG_DLL(mscoree)
WINE_CONFIG_TEST(dlls/mscoree/tests)
WINE_CONFIG_DLL(msctf)
WINE_CONFIG_TEST(dlls/msctf/tests)
WINE_CONFIG_DLL(msdaps)
WINE_CONFIG_DLL(msftedit)
WINE_CONFIG_DLL(msg711.acm)
WINE_CONFIG_DLL(msgsm32.acm)
WINE_CONFIG_DLL(mshtml.tlb)
WINE_CONFIG_DLL(mshtml,,[po,implib])
WINE_CONFIG_DLL(msi,,[po,implib])
WINE_CONFIG_DLL(msimg32,,[implib])
Hans Leidekker's avatar
Hans Leidekker committed
WINE_CONFIG_DLL(msimsg)
WINE_CONFIG_DLL(msimtf)
WINE_CONFIG_DLL(msisip)
WINE_CONFIG_DLL(msisys.ocx)
WINE_CONFIG_DLL(msnet32)
David Hedberg's avatar
David Hedberg committed
WINE_CONFIG_DLL(mspatcha)
WINE_CONFIG_DLL(msrle32,,[po])
WINE_CONFIG_DLL(mssign32)
WINE_CONFIG_DLL(mssip32)
WINE_CONFIG_DLL(mstask)
WINE_CONFIG_TEST(dlls/mstask/tests)
WINE_CONFIG_DLL(msvcirt)
Austin English's avatar
Austin English committed
WINE_CONFIG_DLL(msvcp100)
Piotr Caban's avatar
Piotr Caban committed
WINE_CONFIG_DLL(msvcp80)
Piotr Caban's avatar
Piotr Caban committed
WINE_CONFIG_DLL(msvcp90)
WINE_CONFIG_TEST(dlls/msvcp90/tests)
WINE_CONFIG_DLL(msvcr70,,[implib])
WINE_CONFIG_DLL(msvcr71,,[implib])
WINE_CONFIG_DLL(msvcr80)
WINE_CONFIG_DLL(msvcr90)
WINE_CONFIG_TEST(dlls/msvcr90/tests)
WINE_CONFIG_DLL(msvcrt,,[implib])
WINE_CONFIG_DLL(msvcrt20,,[implib])
WINE_CONFIG_DLL(msvcrt40,,[implib])
WINE_CONFIG_DLL(msvcrtd,,[implib])
WINE_CONFIG_DLL(msvfw32,,[po,implib])
WINE_CONFIG_DLL(msvidc32,,[po])
WINE_CONFIG_DLL(msvideo.dll16,enable_win16)
WINE_CONFIG_DLL(mswsock,,[implib])
WINE_CONFIG_DLL(msxml3)
WINE_CONFIG_TEST(dlls/msxml3/tests)
Nikolay Sivov's avatar
Nikolay Sivov committed
WINE_CONFIG_DLL(msxml4)
WINE_CONFIG_DLL(nddeapi,,[implib])
WINE_CONFIG_DLL(netapi32,,[implib])
WINE_CONFIG_DLL(newdev,,[implib])
WINE_CONFIG_DLL(normaliz,,[implib])
WINE_CONFIG_DLL(npmshtml)
WINE_CONFIG_DLL(ntdsapi,,[implib])
WINE_CONFIG_DLL(ntoskrnl.exe,,[implib])
WINE_CONFIG_DLL(ntprint)
WINE_CONFIG_TEST(dlls/ntprint/tests)
WINE_CONFIG_DLL(objsel)
WINE_CONFIG_DLL(odbc32,,[implib])
WINE_CONFIG_DLL(odbccp32,,[implib])
WINE_CONFIG_TEST(dlls/odbccp32/tests)
WINE_CONFIG_DLL(ole2.dll16,enable_win16)
WINE_CONFIG_DLL(ole2conv.dll16,enable_win16)
WINE_CONFIG_DLL(ole2disp.dll16,enable_win16)
WINE_CONFIG_DLL(ole2nls.dll16,enable_win16)
WINE_CONFIG_DLL(ole2prox.dll16,enable_win16)
WINE_CONFIG_DLL(ole2thk.dll16,enable_win16)
WINE_CONFIG_DLL(oleacc,,[po,implib])
WINE_CONFIG_DLL(oleaut32,,[po,implib])
WINE_CONFIG_TEST(dlls/oleaut32/tests)
WINE_CONFIG_DLL(olecli.dll16,enable_win16)
WINE_CONFIG_DLL(olecli32,,[implib])
WINE_CONFIG_DLL(oledb32)
WINE_CONFIG_TEST(dlls/oledb32/tests)
WINE_CONFIG_DLL(oledlg,,[po,implib])
WINE_CONFIG_DLL(olepro32,,[implib])
WINE_CONFIG_DLL(olesvr.dll16,enable_win16)
WINE_CONFIG_DLL(olesvr32,,[implib])
WINE_CONFIG_DLL(olethk32)
WINE_CONFIG_DLL(openal32)
WINE_CONFIG_DLL(opencl)
WINE_CONFIG_DLL(opengl32,,[implib])
WINE_CONFIG_TEST(dlls/pdh/tests)
WINE_CONFIG_DLL(pidgen)
WINE_CONFIG_DLL(powrprof,,[implib])
WINE_CONFIG_DLL(propsys,,[implib])
WINE_CONFIG_TEST(dlls/propsys/tests)
WINE_CONFIG_TEST(dlls/psapi/tests)
WINE_CONFIG_DLL(pstorec)
WINE_CONFIG_DLL(qcap)
WINE_CONFIG_DLL(qedit)
WINE_CONFIG_TEST(dlls/qedit/tests)
WINE_CONFIG_DLL(qmgr)
WINE_CONFIG_TEST(dlls/qmgr/tests)
WINE_CONFIG_DLL(qmgrprxy)
WINE_CONFIG_DLL(quartz,,[implib])
WINE_CONFIG_TEST(dlls/quartz/tests)
WINE_CONFIG_DLL(query)
WINE_CONFIG_DLL(rasapi16.dll16,enable_win16)
WINE_CONFIG_DLL(rasapi32,,[implib])
WINE_CONFIG_DLL(rasdlg,,[implib])
WINE_CONFIG_DLL(resutils,,[implib])
WINE_CONFIG_DLL(riched20,,[implib])
WINE_CONFIG_TEST(dlls/riched20/tests)
WINE_CONFIG_DLL(riched32)
WINE_CONFIG_TEST(dlls/riched32/tests)
WINE_CONFIG_DLL(rpcrt4,,[implib])
WINE_CONFIG_TEST(dlls/rpcrt4/tests)
WINE_CONFIG_DLL(rsabase)
WINE_CONFIG_DLL(rsaenh,,[implib])
WINE_CONFIG_DLL(rstrtmgr)
WINE_CONFIG_DLL(rtutils,,[implib])
WINE_CONFIG_DLL(samlib)
WINE_CONFIG_DLL(sane.ds,,[po])
Stefan Leichter's avatar
Stefan Leichter committed
WINE_CONFIG_DLL(scarddlg)
WINE_CONFIG_DLL(sccbase)
WINE_CONFIG_DLL(schannel)
WINE_CONFIG_TEST(dlls/schannel/tests)
WINE_CONFIG_DLL(secur32,,[implib])
WINE_CONFIG_TEST(dlls/secur32/tests)
WINE_CONFIG_DLL(security)
WINE_CONFIG_DLL(sensapi,,[implib])
WINE_CONFIG_DLL(serialui,,[implib])
WINE_CONFIG_DLL(setupapi,,[po,implib])
WINE_CONFIG_TEST(dlls/setupapi/tests)
WINE_CONFIG_DLL(setupx.dll16,enable_win16)
WINE_CONFIG_DLL(sfc,,[implib])
WINE_CONFIG_DLL(sfc_os,,[implib])
WINE_CONFIG_DLL(shdoclc,,[po])
WINE_CONFIG_DLL(shdocvw,,[po,implib])
WINE_CONFIG_TEST(dlls/shdocvw/tests)
WINE_CONFIG_DLL(shell.dll16,enable_win16)
WINE_CONFIG_DLL(shell32,,[po,implib])
WINE_CONFIG_DLL(shfolder,,[implib])
WINE_CONFIG_DLL(shlwapi,,[po,implib])
WINE_CONFIG_TEST(dlls/shlwapi/tests)
WINE_CONFIG_DLL(slbcsp)
WINE_CONFIG_DLL(slc,,[implib])
WINE_CONFIG_DLL(snmpapi,,[implib])
WINE_CONFIG_TEST(dlls/snmpapi/tests)
WINE_CONFIG_DLL(softpub)
WINE_CONFIG_DLL(sound.drv16,enable_win16)
WINE_CONFIG_DLL(spoolss,,[implib])
WINE_CONFIG_TEST(dlls/spoolss/tests)
WINE_CONFIG_DLL(stdole2.tlb)
WINE_CONFIG_DLL(stdole32.tlb)
WINE_CONFIG_TEST(dlls/sti/tests)
WINE_CONFIG_DLL(storage.dll16,enable_win16)
WINE_CONFIG_DLL(stress.dll16,enable_win16)
WINE_CONFIG_LIB(strmiids)
WINE_CONFIG_DLL(svrapi)
WINE_CONFIG_DLL(sxs)
WINE_CONFIG_DLL(system.drv16,enable_win16)
WINE_CONFIG_DLL(t2embed)
WINE_CONFIG_DLL(tapi32,,[implib])
WINE_CONFIG_DLL(toolhelp.dll16,enable_win16)
WINE_CONFIG_DLL(traffic)
WINE_CONFIG_DLL(twain.dll16,enable_win16)
WINE_CONFIG_DLL(twain_32)
WINE_CONFIG_TEST(dlls/twain_32/tests)
WINE_CONFIG_DLL(typelib.dll16,enable_win16)
WINE_CONFIG_DLL(unicows,,[implib])
WINE_CONFIG_DLL(url,,[implib])
WINE_CONFIG_DLL(urlmon,,[implib])
WINE_CONFIG_DLL(usbd.sys,,[implib])
WINE_CONFIG_DLL(user32,,[po,implib])
WINE_CONFIG_DLL(userenv,,[implib])
WINE_CONFIG_TEST(dlls/usp10/tests)
WINE_CONFIG_LIB(uuid)
WINE_CONFIG_DLL(uxtheme,,[implib])
WINE_CONFIG_TEST(dlls/uxtheme/tests)
WINE_CONFIG_DLL(vdhcp.vxd,enable_win16)
WINE_CONFIG_DLL(vdmdbg,,[implib])
WINE_CONFIG_DLL(version,,[implib])
WINE_CONFIG_TEST(dlls/version/tests)
WINE_CONFIG_DLL(vmm.vxd,enable_win16)
WINE_CONFIG_DLL(vnbt.vxd,enable_win16)
WINE_CONFIG_DLL(vnetbios.vxd,enable_win16)
WINE_CONFIG_DLL(vtdapi.vxd,enable_win16)
WINE_CONFIG_DLL(vwin32.vxd,enable_win16)
WINE_CONFIG_DLL(w32skrnl,enable_win16)
WINE_CONFIG_DLL(w32sys.dll16,enable_win16)
WINE_CONFIG_DLL(wbemprox)
WINE_CONFIG_TEST(dlls/wer/tests)
WINE_CONFIG_DLL(wiaservc)
WINE_CONFIG_DLL(win32s16.dll16,enable_win16)
WINE_CONFIG_DLL(win87em.dll16,enable_win16)
WINE_CONFIG_DLL(winaspi.dll16,enable_win16)
WINE_CONFIG_DLL(windebug.dll16,enable_win16)
WINE_CONFIG_DLL(windowscodecs,,[implib])
WINE_CONFIG_TEST(dlls/windowscodecs/tests)
WINE_CONFIG_DLL(winealsa.drv)
WINE_CONFIG_DLL(winecoreaudio.drv)
WINE_CONFIG_LIB(winecrt0)
WINE_CONFIG_DLL(wined3d,,[implib])
WINE_CONFIG_DLL(winegstreamer)
WINE_CONFIG_DLL(winejack.drv)
WINE_CONFIG_DLL(winejoystick.drv)
WINE_CONFIG_DLL(winemapi)
WINE_CONFIG_DLL(winemp3.acm)
WINE_CONFIG_DLL(winenas.drv)
WINE_CONFIG_DLL(wineoss.drv)
WINE_CONFIG_DLL(wineps.drv)
WINE_CONFIG_DLL(wineps16.drv16,enable_win16)
WINE_CONFIG_DLL(winequartz.drv)
WINE_CONFIG_DLL(winex11.drv)
WINE_CONFIG_DLL(wing.dll16,enable_win16)
WINE_CONFIG_DLL(wing32)
WINE_CONFIG_DLL(winhttp,,[implib])
WINE_CONFIG_DLL(wininet,,[po,implib])
WINE_CONFIG_DLL(winmm,,[po,implib])
WINE_CONFIG_TEST(dlls/winmm/tests)
WINE_CONFIG_DLL(winnls.dll16,enable_win16)
WINE_CONFIG_DLL(winnls32,,[implib])
WINE_CONFIG_DLL(winscard,,[implib])
WINE_CONFIG_DLL(winsock.dll16,enable_win16)
WINE_CONFIG_DLL(winspool.drv,,[po,implib],[winspool])
WINE_CONFIG_TEST(dlls/winspool.drv/tests)
WINE_CONFIG_DLL(wintab.dll16,enable_win16)
WINE_CONFIG_DLL(wintab32,,[implib])
WINE_CONFIG_DLL(wintrust,,[implib])
WINE_CONFIG_DLL(wlanapi)
WINE_CONFIG_DLL(wldap32,,[po,implib])
WINE_CONFIG_TEST(dlls/wldap32/tests)
WINE_CONFIG_DLL(wmi)
WINE_CONFIG_DLL(wmiutils)
WINE_CONFIG_DLL(wnaspi32,,[implib])
WINE_CONFIG_DLL(wow32,enable_win16,[implib])
WINE_CONFIG_DLL(ws2_32,,[implib])
WINE_CONFIG_DLL(wsock32,,[implib])
WINE_CONFIG_DLL(wtsapi32,,[implib])
WINE_CONFIG_DLL(wuapi)
WINE_CONFIG_DLL(wuaueng)
Louis Lenders's avatar
Louis Lenders committed
WINE_CONFIG_DLL(xapofx1_1)
WINE_CONFIG_DLL(xinput1_1)
WINE_CONFIG_DLL(xinput1_2)
WINE_CONFIG_DLL(xinput1_3,,[implib],[xinput])
WINE_CONFIG_TEST(dlls/xinput1_3/tests)
WINE_CONFIG_DLL(xinput9_1_0)
WINE_CONFIG_DLL(xmllite)
WINE_CONFIG_TEST(dlls/xmllite/tests)
WINE_CONFIG_MAKEFILE([documentation])
WINE_CONFIG_MAKEFILE([fonts])
WINE_CONFIG_MAKEFILE([include])
WINE_CONFIG_MAKEFILE([libs/port])
WINE_CONFIG_MAKEFILE([libs/wine])
WINE_CONFIG_MAKEFILE([libs/wpp])
WINE_CONFIG_MAKEFILE([loader])
WINE_CONFIG_PROGRAM(aspnet_regiis,,[install])
WINE_CONFIG_PROGRAM(attrib,,[install])
WINE_CONFIG_PROGRAM(clock,,[po,install])
WINE_CONFIG_PROGRAM(cmd,,[po,install])
Jacek Caban's avatar
Jacek Caban committed
WINE_CONFIG_TEST(programs/cmd/tests)
WINE_CONFIG_PROGRAM(control,,[install])
WINE_CONFIG_PROGRAM(dxdiag,,[install])
WINE_CONFIG_PROGRAM(eject,,[install])
WINE_CONFIG_PROGRAM(expand,,[install])
WINE_CONFIG_PROGRAM(explorer,,[install])
WINE_CONFIG_PROGRAM(extrac32,,[install])
WINE_CONFIG_PROGRAM(hh,,[install])
WINE_CONFIG_PROGRAM(icinfo,,[install])
WINE_CONFIG_PROGRAM(iexplore,,[install])
WINE_CONFIG_PROGRAM(ipconfig,,[po,install])
WINE_CONFIG_PROGRAM(lodctr,,[install])
WINE_CONFIG_PROGRAM(mofcomp,,[install])
WINE_CONFIG_PROGRAM(mshta,,[install])
WINE_CONFIG_PROGRAM(msiexec,,[install,installbin])
WINE_CONFIG_PROGRAM(net,,[po,install])
WINE_CONFIG_PROGRAM(netsh,,[install])
WINE_CONFIG_PROGRAM(ngen,,[install])
WINE_CONFIG_PROGRAM(notepad,,[po,install,installbin])
WINE_CONFIG_PROGRAM(oleview,,[po,install])
WINE_CONFIG_PROGRAM(plugplay,,[install])
WINE_CONFIG_PROGRAM(progman,,[po,install])
WINE_CONFIG_PROGRAM(reg,,[po,install])
WINE_CONFIG_PROGRAM(regedit,,[po,install,installbin])
WINE_CONFIG_TEST(programs/regedit/tests)
WINE_CONFIG_PROGRAM(regsvcs,,[install])
WINE_CONFIG_PROGRAM(regsvr32,,[install,installbin])
WINE_CONFIG_PROGRAM(rpcss,,[install])
WINE_CONFIG_PROGRAM(rundll.exe16,enable_win16,[install])
WINE_CONFIG_PROGRAM(rundll32,,[install])
WINE_CONFIG_PROGRAM(sc,,[install])
WINE_CONFIG_PROGRAM(secedit,,[install])
WINE_CONFIG_PROGRAM(servicemodelreg,,[install])
WINE_CONFIG_PROGRAM(services,,[install])
WINE_CONFIG_PROGRAM(spoolsv,,[install])
WINE_CONFIG_PROGRAM(start,,[po,install])
WINE_CONFIG_PROGRAM(taskkill,,[po,install])
WINE_CONFIG_PROGRAM(taskmgr,,[po,install])
WINE_CONFIG_PROGRAM(uninstaller,,[po,install])
WINE_CONFIG_PROGRAM(view,,[po])
WINE_CONFIG_PROGRAM(wineboot,,[install,installbin])
WINE_CONFIG_PROGRAM(winebrowser,,[install])
WINE_CONFIG_PROGRAM(winecfg,,[po,install,installbin])
WINE_CONFIG_PROGRAM(wineconsole,,[po,install,installbin])
WINE_CONFIG_PROGRAM(winedbg,,[po,install,installbin])
WINE_CONFIG_PROGRAM(winefile,,[po,install,installbin])
WINE_CONFIG_PROGRAM(winemenubuilder,,[install])
WINE_CONFIG_PROGRAM(winemine,,[po,install,installbin])
WINE_CONFIG_PROGRAM(winemsibuilder,,[install])
WINE_CONFIG_PROGRAM(winepath,,[install,installbin])
WINE_CONFIG_PROGRAM(winevdm,enable_win16,[install])
WINE_CONFIG_PROGRAM(winhelp.exe16,enable_win16,[install])
WINE_CONFIG_PROGRAM(winhlp32,,[po,install])
WINE_CONFIG_PROGRAM(winoldap.mod16,enable_win16,[install])
WINE_CONFIG_PROGRAM(winver,,[install])
WINE_CONFIG_PROGRAM(wmic,,[install])
WINE_CONFIG_PROGRAM(wordpad,,[po,install])
WINE_CONFIG_PROGRAM(write,,[po,install])
Jacek Caban's avatar
Jacek Caban committed
WINE_CONFIG_TEST(programs/wscript/tests)
WINE_CONFIG_PROGRAM(xcopy,,[po,install])
WINE_CONFIG_TOOL(tools)
WINE_CONFIG_TOOL(tools/widl)
WINE_CONFIG_TOOL(tools/winebuild)
WINE_CONFIG_TOOL(tools/winedump)
WINE_CONFIG_TOOL(tools/winegcc)
WINE_CONFIG_TOOL(tools/wmc)
WINE_CONFIG_TOOL(tools/wrc)
sr_RS@cyrillic \
sr_RS@latin \
dnl End of auto-generated output commands
AC_CONFIG_COMMANDS([Makefile], [wine_fn_output_makefile Makefile],
[wine_fn_output_makefile ()
{
    cat Make.tmp - <<\_WINE_EOF >\$tmp/makefile && mv -f \$tmp/makefile \$[]1 && rm -f Make.tmp && return
$ALL_MAKEFILE_DEPENDS
_WINE_EOF
    AS_ERROR([could not create Makefile])
}])

if test "x$enable_maintainer_mode" = xyes
then
    WINE_APPEND_RULE([ALL_MAKEFILE_DEPENDS],
[\$(srcdir)/configure: configure.ac aclocal.m4
	cd \$(srcdir) && autoconf --warnings=all
\$(srcdir)/include/config.h.in: include/stamp-h.in
\$(srcdir)/include/stamp-h.in: configure.ac aclocal.m4
	cd \$(srcdir) && autoheader --warnings=all
	@echo timestamp > \$[@]

ALL_POT_FILES =$ALL_POT_FILES
all: \$(ALL_PO_FILES)
\$(ALL_PO_FILES): \$(srcdir)/po/wine.pot
	msgmerge -q \$[@] \$(srcdir)/po/wine.pot | msgattrib --no-obsolete -o \$[@].new && mv \$[@].new \$[@]
\$(srcdir)/po/wine.pot: \$(ALL_POT_FILES)
	msgcat -o \$[@] \$(ALL_POT_FILES)])
if test -n "$with_wine64"
then
WINE_APPEND_RULE([ALL_MAKEFILE_DEPENDS],
[all: fonts server $with_wine64/loader/wine $with_wine64/loader/wine-preloader
fonts server:
	\$(RM) \$[@] && \$(LN_S) $with_wine64/\$[@] \$[@]
$with_wine64/loader/wine:
	\$(RM) \$[@] && \$(LN_S) $ac_pwd/loader/wine \$[@]
$with_wine64/loader/wine-preloader:
	\$(RM) \$[@] && \$(LN_S) $ac_pwd/loader/wine-preloader \$[@]
	\$(RM) fonts server $with_wine64/loader/wine $with_wine64/loader/wine-preloader])
WINE_APPEND_RULE([ALL_MAKEFILE_DEPENDS],
[uninstall::
	-rmdir \$(DESTDIR)\$(datadir)/wine \$(DESTDIR)\$(fakedlldir) \$(DESTDIR)\$(dlldir)])

$as_me: Finished.  Do '${ac_make}' to compile Wine.
Alexandre Julliard's avatar
Alexandre Julliard committed

dnl Local Variables:
dnl comment-start: "dnl "
dnl comment-end: ""
dnl comment-start-skip: "\\bdnl\\b\\s *"
dnl compile-command: "autoreconf --warnings=all"
Alexandre Julliard's avatar
Alexandre Julliard committed
dnl End: