dnl Process this file with autoconf to produce a configure script.
dnl Original author: Michael Patra
dnl See ChangeLog file for detailed change history.

m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1]))

AC_PREREQ(2.53b)
AC_INIT([Wine],WINE_VERSION,[wine-devel@winehq.org])
AC_CONFIG_SRCDIR(server/atom.c)
AC_CONFIG_HEADERS(include/config.h)
AC_CONFIG_AUX_DIR(tools)

dnl **** Command-line arguments ****

AC_ARG_ENABLE(win16, AC_HELP_STRING([--disable-win16],[do not include Win16 support]))
AC_ARG_ENABLE(win64, AC_HELP_STRING([--enable-win64], [build a Win64 emulator on AMD64 (won't run Win32 binaries)]))

AC_ARG_WITH(opengl,    AC_HELP_STRING([--without-opengl],[do not use OpenGL]))
AC_ARG_WITH(wine-tools,AC_HELP_STRING([--with-wine-tools=<dir>],[use Wine tools from directory <dir>]))

AC_CANONICAL_HOST
case $host in
  x86_64*linux*)
    if test "x$enable_win64" != "xyes"
    then
      test -n "$CC" || CC="gcc -m32"
      test -n "$LD" || LD="ld -m elf_i386"
      test -n "$AS" || AS="as --32"
      host_cpu="i386"
    fi
    ;;
esac

dnl enable_win16 defaults to yes on x86, to no on other CPUs
case $host_cpu in
  *i[[3456789]]86*)
    if test "x$enable_win16" != "xno" 
    then
      enable_win16="yes"
    fi
    ;;
esac
   
AC_SUBST(WIN16_FILES,"\$(WIN16_FILES)")
AC_SUBST(WIN16_INSTALL,"\$(WIN16_INSTALL)")
if test "x$enable_win16" != "xyes"
then
  WIN16_FILES=""
  WIN16_INSTALL=""
fi

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_CACHE_CHECK([for the directory containing the Wine tools], wine_cv_toolsdir,
  [if test -z "$with_wine_tools"; then
     if test "$cross_compiling" = "yes"; then
       AC_MSG_ERROR([you must use the --with-wine-tools option when cross-compiling.])
     else
       wine_cv_toolsdir="\$(TOPOBJDIR)"
     fi
   elif test -d "$with_wine_tools/tools/winebuild"; then
     case $with_wine_tools in
       /*) wine_cv_toolsdir="$with_wine_tools" ;;
       *)  wine_cv_toolsdir="\$(TOPOBJDIR)/$with_wine_tools" ;;
     esac
   else
     AC_MSG_ERROR([could not find Wine tools in $with_wine_tools.])
   fi])
AC_SUBST(TOOLSDIR,$wine_cv_toolsdir)

AC_PATH_XTRA
AC_PROG_LEX

dnl **** Just additional warning checks, since AC_PROG just sets 'lex' even
dnl **** without one present.
AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
if test "$XLEX" = "none"
then
  AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
fi

dnl Check for bison
AC_CHECK_PROGS(BISON,bison,none)
if test "$BISON" = "none"
then
  AC_MSG_ERROR([no suitable bison found. Please install the 'bison' package.])
fi

AC_CHECK_TOOLS(AS,[gas as],as)
AC_CHECK_TOOL(LD,ld,ld)
AC_CHECK_TOOL(AR,ar,ar)
AC_PROG_RANLIB
AC_CHECK_TOOL(STRIP,strip,strip)
AC_CHECK_TOOL(WINDRES,windres,false)
AC_PROG_LN_S
WINE_PROG_LN
AC_PROG_EGREP
AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
AC_PROG_INSTALL
dnl Prepend src dir to install path dir if it's a relative path
case "$INSTALL" in
  [[\\/$]]* | ?:[[\\/]]* ) ;;
  *)  INSTALL="\\\$(TOPSRCDIR)/$INSTALL" ;;
esac

dnl Check for lint
AC_CHECK_PROGS(LINT, lclint lint)
if test "$LINT" = "lint"
then
  LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
  dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
fi
AC_SUBST(LINT)
AC_SUBST(LINTFLAGS)

dnl Check for various programs
AC_CHECK_PROGS(FONTFORGE, fontforge, false)
AC_CHECK_PROGS(PKG_CONFIG, pkg-config, false)

case $host_cpu in
  *i[[3456789]]86*)
    AC_PATH_PROG(PRELINK, prelink, false, [/sbin /usr/sbin $PATH])
    ;;
esac

dnl **** Check for some libraries ****

dnl Check for -li386 for NetBSD and OpenBSD
AC_CHECK_LIB(i386,i386_set_ldt)
dnl Check for -lossaudio for NetBSD
AC_CHECK_LIB(ossaudio,_oss_ioctl)
dnl Check for -lxpg4 for FreeBSD
AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
dnl Check for -lpthread
AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))

AC_SUBST(XLIB,"")
AC_SUBST(XFILES,"")
AC_SUBST(OPENGLFILES,"")
AC_SUBST(GLU32FILES,"")
AC_SUBST(OPENGL_LIBS,"")
AC_SUBST(QUARTZFILES,"")

dnl **** Check for header files ****

AC_CHECK_HEADERS(\
	AudioUnit/AudioUnit.h \
	Carbon/Carbon.h \
	CoreAudio/CoreAudio.h \
	DiskArbitration/DiskArbitration.h \
	IOKit/IOKitLib.h \
	alsa/asoundlib.h \
	arpa/inet.h \
	arpa/nameser.h \
	asm/types.h \
	capi20.h \
	cups/cups.h \
	curses.h \
	direct.h \
	dlfcn.h \
	elf.h \
	float.h \
	fontconfig/fontconfig.h \
	getopt.h \
	ieeefp.h \
	io.h \
	jack/jack.h \
	jpeglib.h \
	lber.h \
	lcms.h \
	lcms/lcms.h \
	ldap.h \
	libaudioio.h \
	link.h \
	linux/cdrom.h \
	linux/compiler.h \
	linux/hdreg.h \
	linux/input.h \
	linux/ioctl.h \
	linux/joystick.h \
	linux/major.h \
	linux/param.h \
	linux/serial.h \
	linux/ucdrom.h \
	mach/machine.h \
	machine/cpu.h \
	machine/limits.h \
	machine/soundcard.h \
	mntent.h \
	ncurses.h \
	netdb.h \
	netinet/in.h \
	netinet/in_systm.h \
	netinet/tcp.h \
	netinet/tcp_fsm.h \
	openssl/err.h \
	openssl/ssl.h \
	poll.h \
	process.h \
	pthread.h \
	pwd.h \
	regex.h \
	sched.h \
	scsi/scsi.h \
	scsi/scsi_ioctl.h \
	scsi/sg.h \
	soundcard.h \
	stdint.h \
	strings.h \
	sys/asoundlib.h \
	sys/cdio.h \
	sys/elf32.h \
	sys/epoll.h \
	sys/errno.h \
	sys/event.h \
	sys/exec_elf.h \
	sys/filio.h \
	sys/ioctl.h \
	sys/ipc.h \
	sys/limits.h \
	sys/link.h \
	sys/lwp.h \
	sys/mman.h \
	sys/modem.h \
	sys/msg.h \
	sys/mtio.h \
	sys/param.h \
	sys/poll.h \
	sys/prctl.h \
	sys/ptrace.h \
	sys/reg.h \
	sys/resource.h \
	sys/scsiio.h \
	sys/shm.h \
	sys/signal.h \
	sys/socket.h \
	sys/sockio.h \
	sys/soundcard.h \
	sys/statvfs.h \
	sys/strtio.h \
	sys/syscall.h \
	sys/sysctl.h \
	sys/time.h \
	sys/times.h \
	sys/uio.h \
	sys/un.h \
	sys/vm86.h \
	sys/wait.h \
	syscall.h \
	termios.h \
	unicode/ubidi.h \
	unistd.h \
	utime.h \
	valgrind/memcheck.h
)
AC_HEADER_STAT()

dnl **** Checks for headers that depend on other ones ****

AC_CHECK_HEADERS([sys/mount.h sys/statfs.h sys/user.h sys/vfs.h],,,
    [#include <sys/types.h>
     #if HAVE_SYS_PARAM_H
     # include <sys/param.h>
     #endif])

AC_CHECK_HEADERS([net/if.h net/if_arp.h net/if_dl.h net/if_types.h net/route.h netipx/ipx.h],,,
    [#include <sys/types.h>
     #if HAVE_SYS_SOCKET_H
     # include <sys/socket.h>
     #endif])

AC_CHECK_HEADERS([linux/ipx.h],,,
    [#include <sys/types.h>
     #ifdef HAVE_ASM_TYPES_H
     # include <asm/types.h>
     #endif
     #if HAVE_SYS_SOCKET_H
     # include <sys/socket.h>
     #endif])

AC_CHECK_HEADERS([resolv.h],,,
    [#include <sys/types.h>
     #if HAVE_SYS_SOCKET_H
     # include <sys/socket.h>
     #endif
     #if HAVE_NETINET_IN_H
     # include <netinet/in.h>
     #endif
     #if HAVE_ARPA_NAMESER_H
     # include <arpa/nameser.h>
     #endif])

AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.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 X11 ****

if test "$have_x" = "yes"
then
    XLIB="-lXext -lX11"
    ac_save_CPPFLAGS="$CPPFLAGS"
    CPPFLAGS="$CPPFLAGS $X_CFLAGS"

    dnl *** All of the following tests require X11/Xlib.h
    AC_CHECK_HEADERS([X11/Xlib.h \
                      X11/XKBlib.h \
                      X11/Xutil.h \
                      X11/extensions/shape.h \
                      X11/extensions/XInput.h \
                      X11/extensions/XShm.h \
                      X11/extensions/Xinerama.h \
                      X11/extensions/Xrandr.h \
                      X11/extensions/Xrender.h \
                      X11/extensions/xf86vmode.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 -lXext -lX11 $X_EXTRA_LIBS)
        fi

        dnl *** Check for X Shm extension
        if test "$ac_cv_header_X11_extensions_XShm_h" = "yes"
        then
              AC_CHECK_LIB(Xext, XShmQueryExtension,
              AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
              $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
        fi

        dnl *** Check for X shape extension
        if test "$ac_cv_header_X11_extensions_shape_h" = "yes"
        then
              AC_CHECK_LIB(Xext,XShapeQueryExtension,
	      AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
	      $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
        fi

        dnl *** Check for XFree86 VMODE extension
        if test "$ac_cv_header_X11_extensions_xf86vmode_h" = "yes"
        then
                AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
                  [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
                     X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
                  ],,
                  $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
        fi

        dnl *** Check for X RandR extension
        if test "$ac_cv_header_X11_extensions_Xrandr_h" = "yes"
        then
                AC_TRY_COMPILE([#include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>],[static typeof(XRRSetScreenConfigAndRate) * func;],
                  [AC_DEFINE(HAVE_LIBXRANDR, 1, [Define if you have the Xrandr library])])
        fi

        dnl *** Check for Transform functions in Xrender
        if test "$ac_cv_header_X11_extensions_Xrender_h" = "yes"
        then
              AC_CHECK_LIB(Xrender, XRenderSetPictureTransform,
                [AC_DEFINE(HAVE_XRENDERSETPICTURETRANSFORM, 1,
                 [Define if Xrender has the XRenderSetPictureTransform function])],,
                $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
        fi

        dnl *** Check for Xinerama extension
        if test "$ac_cv_header_X11_extensions_Xinerama_h" = "yes"
        then
                AC_TRY_COMPILE([#include <X11/Xlib.h>
#include <X11/extensions/Xinerama.h>],[static typeof(XineramaQueryScreens) * func;],
                  [AC_DEFINE(HAVE_LIBXINERAMA, 1, [Define if you have the Xinerama library])])
        fi

    dnl *** End of X11/Xlib.h check

    dnl Check for the presence of OpenGL
    if test "x$with_opengl" != "xno"
    then
	AC_CHECK_HEADERS(GL/gl.h GL/glx.h GL/glext.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_TRY_COMPILE(
		[#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"
            then
		dnl Check for the presence of the library
		AC_CHECK_LIB(GL,glXCreateContext,
			     [OPENGL_LIBS="-lGL"
                             OPENGLFILES='$(OPENGLFILES)'
                             AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])]
			     ,,
			     $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)

	        dnl Check for GLU32 library.
		AC_CHECK_LIB(GLU,gluLookAt,
			     [OPENGL_LIBS="$OPENGL_LIBS -lGLU"
			     GLU32FILES='$(GLU32FILES)']
			     ,,
			     $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
		)
	     fi
         else
             wine_cv_opengl_headers_found="no"
	 fi
    fi
    dnl **** Check for NAS ****
    AC_SUBST(NASLIBS,"")
    AC_CHECK_HEADERS(audio/audiolib.h,
         [AC_CHECK_HEADERS(audio/soundlib.h,,,[#include <audio/audiolib.h>])
          AC_CHECK_LIB(audio,AuCreateFlow,
                       [AC_DEFINE(HAVE_NAS,1,[Define if you have NAS including devel headers])
                        NASLIBS="-laudio -lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS"],,
                       [-lXt $X_LIBS -lXext -lX11 $X_EXTRA_LIBS])])

    CPPFLAGS="$ac_save_CPPFLAGS"
    XFILES='$(XFILES)'
else
    XLIB=""
    X_CFLAGS=""
    X_LIBS=""
fi

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

AC_SUBST(XML2LIBS,"")
AC_SUBST(XML2INCL,"")
AC_SUBST(XSLTLIBS,"")
AC_SUBST(XSLTINCL,"")
if test "$PKG_CONFIG" != "false"
then
    ac_save_CPPFLAGS="$CPPFLAGS"
    ac_xml_libs="`$PKG_CONFIG --libs libxml-2.0 2>/dev/null`"
    ac_xml_cflags="`$PKG_CONFIG --cflags libxml-2.0 2>/dev/null`"
    CPPFLAGS="$CPPFLAGS $ac_xml_cflags"
    AC_CHECK_HEADERS(libxml/parser.h,
        [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)
        ])
    CPPFLAGS="$ac_save_CPPFLAGS"
    ac_xslt_libs="`$PKG_CONFIG --libs libxslt 2>/dev/null`"
    ac_xslt_cflags="`$PKG_CONFIG --cflags libxslt 2>/dev/null`"
    CPPFLAGS="$CPPFLAGS $ac_xslt_cflags"
    AC_CHECK_HEADERS([libxslt/pattern.h libxslt/transform.h],
        [AC_CHECK_LIB(xslt, xsltCompilePattern,
            [AC_DEFINE(HAVE_LIBXSLT, 1, [Define if you have the libxslt library])
             XSLTLIBS="$ac_xslt_libs"
             XSLTINCL="$ac_xslt_cflags"],,$ac_xslt_libs)
        ],,
[#ifdef HAVE_LIBXSLT_PATTERN_H
# include <libxslt/pattern.h>
#endif])
    CPPFLAGS="$ac_save_CPPFLAGS"
fi

dnl **** Check for libhal ****
AC_SUBST(HALINCL,"")
if test "$PKG_CONFIG" != "false"
then
    ac_save_CPPFLAGS="$CPPFLAGS"
    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"
    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(hal, libhal_ctx_new,
          [AC_CHECK_LIB(dbus-1, dbus_connection_close,
            [AC_DEFINE(HAVE_LIBHAL, 1, [Define if you have the hal library])
             HALINCL="$ac_hal_cflags"],,$ac_hal_libs)])
    fi
    CPPFLAGS="$ac_save_CPPFLAGS"
fi

dnl **** Check which curses lib to use ***
CURSESLIBS=""
if test "$ac_cv_header_ncurses_h" = "yes"
then
    AC_CHECK_LIB(ncurses,waddch,[CURSESLIBS="-lncurses"])
elif test "$ac_cv_header_curses_h" = "yes"
then
    AC_CHECK_LIB(curses,waddch,[CURSESLIBS="-lcurses"])
fi
ac_save_LIBS="$LIBS"
LIBS="$LIBS $CURSESLIBS"
AC_CHECK_FUNCS(mousemask)
LIBS="$ac_save_LIBS"

dnl **** Check for SANE ****
AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
AC_SUBST(SANELIBS,"")
AC_SUBST(SANEINCL,"")
if test "$sane_devel" != "no"
then
    SANELIBS="`$sane_devel --libs`"
    SANEINCL="`$sane_devel --cflags`"
    ac_save_CPPFLAGS="$CPPFLAGS"
    ac_save_LIBS="$LIBS"
    CPPFLAGS="$CPPFLAGS $SANEINCL"
    LIBS="$LIBS $SANELIBS"
    AC_CHECK_HEADER(sane/sane.h,
                    [AC_CHECK_LIB(sane,sane_open,
                                  [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
                                  [SANELIBS=""
                                  SANEINCL=""])],
                    [SANELIBS=""
                    SANEINCL=""])
    LIBS="$ac_save_LIBS"
    CPPFLAGS="$ac_save_CPPFLAGS"
fi

dnl **** Check for libgphoto2 ****
AC_CHECK_PROG(gphoto2_devel,gphoto2-config,gphoto2-config,no)
AC_CHECK_PROG(gphoto2port_devel,gphoto2-port-config,gphoto2-port-config,no)
AC_SUBST(GPHOTO2LIBS,"")
AC_SUBST(GPHOTO2INCL,"")
if test "$gphoto2_devel" != "no" -a "$gphoto2port_devel" != "no"
then
    GPHOTO2INCL="`$gphoto2_devel --cflags` `$gphoto2port_devel --cflags`"
    GPHOTO2LIBS=""
    for i in `$gphoto2_devel --libs` `$gphoto2port_devel --libs`
    do
      case "$i" in
        -L/usr/lib|-L/usr/lib64) ;;
        -L*|-l*) GPHOTO2LIBS="$GPHOTO2LIBS $i";;
      esac
    done
    ac_save_CPPFLAGS="$CPPFLAGS"
    ac_save_LIBS="$LIBS"
    CPPFLAGS="$CPPFLAGS $GPHOTO2INCL"
    LIBS="$LIBS $GPHOTO2LIBS"
    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])],
                                  [GPHOTO2LIBS=""
                                  GPHOTO2INCL=""])],
                    [GPHOTO2LIBS=""
                    GPHOTO2INCL=""])
    LIBS="$ac_save_LIBS"
    CPPFLAGS="$ac_save_CPPFLAGS"
fi

dnl **** Check for the ICU library ****
if test "$ac_cv_header_unicode_ubidi_h" = "yes"
then
    saved_libs="$LIBS"
    for i in ${ICU_LIB_DIR-/usr/lib}/libsicu ${ICU_LIB_DIR-/usr/lib}/libicu
    do
        TEST_ICUUC_LIB="${ICUUC_LIB-${i}uc.a}"
        TEST_ICUDATA_LIB="${ICUDATA_LIB-${i}data.a}"
        AC_MSG_CHECKING(whether can link with ICU libraries $TEST_ICUUC_LIB and $TEST_ICUDATA_LIB)
        LIBS="$saved_libs $TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s"
    	AC_TRY_LINK([#include <unicode/ubidi.h>],[ubidi_open()],
                    [AC_DEFINE(HAVE_ICU,1,[Define to 1 if the ICU libraries are installed])
            	     AC_SUBST(ICULIBS,"$TEST_ICUUC_LIB $TEST_ICUDATA_LIB -lstdc++ -lgcc_s")
                     AC_MSG_RESULT(yes)],
                    [AC_MSG_RESULT(no)])
    done
    LIBS="$saved_libs"
fi

dnl **** Check for resolver library ***
AC_SUBST(RESOLVLIBS,"")
if test "$ac_cv_header_resolv_h" = "yes"
then
    AC_CHECK_LIB(resolv, res_query,
        [AC_DEFINE(HAVE_RESOLV, 1, [Define if you have the resolver library and header])
         RESOLVLIBS="-lresolv"])
fi

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

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_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])
    WINE_CHECK_LIB_FUNCS(\
	ldap_count_references \
	ldap_first_reference \
	ldap_next_reference \
	ldap_parse_reference,
        [$LDAPLIBS $LIBPTHREAD])
fi

dnl **** Check for FreeType 2 ****
AC_SUBST(FREETYPELIBS,"")
AC_SUBST(FREETYPEINCL,"")
AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
if test "$ft_devel" = "no"
then
    AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
    if test "$ft_devel2" = "freetype2-config"
    then
	ft_devel=$ft_devel2
    fi
fi

if test "$ft_devel" = "no"
then
    wine_cv_msg_freetype=yes
else
    FREETYPELIBS=`$ft_devel --libs`
    FREETYPEINCL=`$ft_devel --cflags`
    AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$FREETYPELIBS)
    if test "$ft_lib" = "no"
    then
	wine_cv_msg_freetype=yes
	FREETYPELIBS=""
	FREETYPEINCL=""
    else
	ac_save_CPPFLAGS="$CPPFLAGS"
	CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
	AC_CHECK_HEADERS(ft2build.h \
                         freetype/freetype.h \
                         freetype/ftglyph.h \
                         freetype/tttables.h \
                         freetype/ftnames.h \
                         freetype/ftsnames.h \
                         freetype/ttnameid.h \
                         freetype/ftoutln.h \
                         freetype/ftwinfnt.h \
                         freetype/ftmodapi.h \
                         freetype/internal/sfnt.h,,,
                         [#if HAVE_FT2BUILD_H
                          #include <ft2build.h>
                          #endif])
	AC_TRY_CPP([#include <ft2build.h>
                    #include <freetype/fttrigon.h>],
                    [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
          [Define if you have the <freetype/fttrigon.h> header file.])
                    wine_cv_fttrigon=yes],
                    wine_cv_fttrigon=no)
        AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
        ac_save_CFLAGS="$CFLAGS"
        CFLAGS="$CFLAGS $FREETYPELIBS"
        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])
	    wine_cv_msg_freetype=no
	else
	    FREETYPELIBS=""
	    FREETYPEINCL=""
	    wine_cv_msg_freetype=yes
	fi
    fi
fi

dnl Only build the fonts dir if we have both freetype and fontforge
if test "$FONTFORGE" != "false" -a -n "$FREETYPELIBS"
then
  AC_SUBST(FONTSSUBDIRS,"fonts")
fi

dnl **** Check for parport (currently Linux only) ****
AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
 AC_TRY_COMPILE(
   [#include <linux/ppdev.h>],
   [ioctl (1,PPCLAIM,0)],
   [ac_cv_c_ppdev="yes"],
   [ac_cv_c_ppdev="no"])
 )
if test "$ac_cv_c_ppdev" = "yes"
then
    AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
fi

dnl **** Check for va_copy ****
AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
 AC_TRY_LINK(
   [#include <stdarg.h>],
   [va_list ap1, ap2;
    va_copy(ap1,ap2);
   ],
   [ac_cv_c_va_copy="yes"],
   [ac_cv_c_va_copy="no"])
 )
if test "$ac_cv_c_va_copy" = "yes"
then
    AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
fi
AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
 AC_TRY_LINK(
   [#include <stdarg.h>],
   [va_list ap1, ap2;
    __va_copy(ap1,ap2);
   ],
   [ac_cv_c___va_copy="yes"],
   [ac_cv_c___va_copy="no"])
 )
if test "$ac_cv_c___va_copy" = "yes"
then
    AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
fi

dnl **** Check for sigsetjmp ****
AC_CACHE_CHECK([for sigsetjmp], ac_cv_c_sigsetjmp,
 AC_TRY_LINK(
   [#include <setjmp.h>],
   [sigjmp_buf buf;
    sigsetjmp( buf, 1 );
    siglongjmp( buf, 1 );],
   [ac_cv_c_sigsetjmp="yes"],
   [ac_cv_c_sigsetjmp="no"])
 )
if test "$ac_cv_c_sigsetjmp" = "yes"
then
    AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have the sigsetjmp (and siglongjmp) function])
fi

dnl **** Check for pthread_rwlock_t ****
AC_CHECK_TYPES([pthread_rwlock_t, pthread_rwlockattr_t],,,[#define _GNU_SOURCE
#include <pthread.h>])

dnl **** Check for pthread functions ****
WINE_CHECK_LIB_FUNCS(\
        pthread_attr_get_np \
        pthread_getattr_np \
        pthread_get_stackaddr_np \
        pthread_get_stacksize_np,
        [$LIBPTHREAD])

dnl **** Check for aRts Sound Server ****
AC_PATH_PROG(ARTSCCONFIG, artsc-config)
if test x$ARTSCCONFIG != x -a x$ARTSCCONFIG != x'"$ARTSCCONFIG"';
then
    ARTSC_CFLAGS=""
    for i in `$ARTSCCONFIG --cflags`
    do
      case "$i" in
        -I*) ARTSC_CFLAGS="$ARTSC_CFLAGS $i";;
      esac
    done
    ARTSC_LIBS=""
    for i in `$ARTSCCONFIG --libs`
    do
      case "$i" in
        -L/usr/lib|-L/usr/lib64) ;;
        -L*|-l*) ARTSC_LIBS="$ARTSC_LIBS $i";;
      esac
    done
    save_CFLAGS="$CFLAGS"
    CFLAGS="$CFLAGS $ARTSC_CFLAGS"
    AC_CHECK_LIB(artsc,arts_init,
        [AC_TRY_COMPILE([#include <artsc.h>],[arts_stream_t stream;],
            [AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
            AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
            AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])])],,
            $ARTSC_LIBS)
    CFLAGS="$save_CFLAGS"
fi

dnl **** Check for EsounD ****
AC_PATH_PROG(ESDCONFIG, esd-config)
if test x$ESDCONFIG != x -a x$ESDCONFIG != x'"$ESDCONFIG"';
then
    ESD_CFLAGS=""
    for i in `$ESDCONFIG --cflags`
    do
      case "$i" in
        -I*) ESD_CFLAGS="$ESD_CFLAGS $i";;
      esac
    done
    ESD_LIBS=`$ESDCONFIG --libs`
    save_CFLAGS="$CFLAGS"
    CFLAGS="$CFLAGS $ESD_CFLAGS"
    AC_CHECK_LIB(esd,esd_open_sound,
        [AC_SUBST(ESDLIBS, $ESD_LIBS)
         AC_SUBST(ESDINCL, $ESD_CFLAGS)
         AC_DEFINE(HAVE_ESD, 1, [Define if you have EsounD sound server])])
    CFLAGS="$save_CFLAGS"
fi

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"
then
    AC_CHECK_LIB(asound,snd_pcm_hw_params_get_access,
        [AC_TRY_COMPILE([#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(NULL, NULL)],
                        [AC_DEFINE(HAVE_ALSA,1,[Define if you have ALSA 1.x including devel headers])
                         ALSALIBS="-lasound"])])
fi

dnl **** Check for libaudioio (which can be used to get solaris audio support) ****

AC_SUBST(AUDIOIOLIBS,"")
if test "$ac_cv_header_libaudioio_h" = "yes"
then
    AC_CHECK_LIB(audioio,AudioIOGetVersion,
                  [AUDIOIOLIBS="-laudioio"
                   AC_DEFINE(HAVE_LIBAUDIOIO, 1, [Define if you have libaudioIO])])
fi

dnl **** Check for capi4linux ****

if test "$ac_cv_header_capi20_h" = "yes" -a "$ac_cv_header_linux_capi_h" = "yes"
then
    AC_CHECK_LIB(capi20,capi20_register,[AC_DEFINE(HAVE_CAPI4LINUX,1,[Define if you have capi4linux libs and headers])])
fi

dnl **** Check for gcc specific options ****

AC_SUBST(EXTRACFLAGS,"")
if test "x${GCC}" = "xyes"
then
  EXTRACFLAGS="-Wall -pipe"

  dnl Check for strength-reduce bug
  AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
                  AC_TRY_RUN([
int	L[[4]] = {0,1,2,3};
int main(void) {
  static int Array[[3]];
  unsigned int B = 3;
  int i;
  for(i=0; i<B; i++) Array[[i]] = i - 3;
  for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
  L[[i]] = 4;

  exit( Array[[1]] != -2 || L[[2]] != 3);
}],
    ac_cv_c_gcc_strength_bug="no",
    ac_cv_c_gcc_strength_bug="yes",
    ac_cv_c_gcc_strength_bug="yes") )
  if test "$ac_cv_c_gcc_strength_bug" = "yes"
  then
    EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
  fi

  dnl Check for some compiler flags

  WINE_TRY_CFLAGS([-fshort-wchar],
                  [AC_DEFINE(CC_FLAG_SHORT_WCHAR, "-fshort-wchar",
                             [Specifies the compiler flag that forces a short wchar_t])])
  WINE_TRY_CFLAGS([-fno-strict-aliasing])
  WINE_TRY_CFLAGS([-Wdeclaration-after-statement])
  WINE_TRY_CFLAGS([-Wwrite-strings])

  dnl Check for noisy string.h
  saved_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS -Wpointer-arith -Werror"
  AC_CACHE_CHECK([for broken string.h that generates warnings], ac_cv_c_string_h_warnings,
      AC_TRY_COMPILE([#include <string.h>],[],
                     [ac_cv_c_string_h_warnings=no],[ac_cv_c_string_h_warnings=yes]))
  CFLAGS="$saved_CFLAGS"
  if test "$ac_cv_c_string_h_warnings" = "no"
  then
    EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
  fi

  AC_SUBST(BUILTINFLAG,"")
  saved_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS -Werror"
  AC_CACHE_CHECK([for builtin wchar inlines], ac_cv_c_builtin_wchar_ctype,
      AC_TRY_COMPILE([],
                     [int iswlower(unsigned short);],
                     [ac_cv_c_builtin_wchar_ctype=no],[ac_cv_c_builtin_wchar_ctype=yes]))
  CFLAGS="$saved_CFLAGS"
  if test "$ac_cv_c_builtin_wchar_ctype" = "yes"
  then
    BUILTINFLAG="-fno-builtin"
  fi
fi

dnl **** Check how to define a function in assembly code ****

AC_CACHE_CHECK([how to define a function in assembly code], ac_cv_asm_func_def,
  WINE_TRY_ASM_LINK(
      ["\t.globl _ac_test\n\t.def _ac_test; .scl 2; .type 32; .endef\n_ac_test:\t.long 0"],,,
      ac_cv_asm_func_def=".def",
    [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,@function\n_ac_test:\t.long 0"],,,
      ac_cv_asm_func_def=".type @function",
    [WINE_TRY_ASM_LINK(["\t.globl _ac_test\n\t.type _ac_test,2\n_ac_test:\t.long 0"],,,
      ac_cv_asm_func_def=".type 2",
      ac_cv_asm_func_def="unknown")])]))

AH_TEMPLATE(__ASM_FUNC,[Define to a macro to generate an assembly function directive])
case "$ac_cv_asm_func_def" in
  ".def")
     AC_DEFINE([__ASM_FUNC(name)], [".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"]) ;;
  ".type @function")
     AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",@function"]) ;;
  ".type 2")
     AC_DEFINE([__ASM_FUNC(name)], [".type " __ASM_NAME(name) ",2"]) ;;
  *)
     AC_DEFINE([__ASM_FUNC(name)], [""]) ;;
esac

dnl **** Check for underscore on external symbols ****

AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,
    WINE_TRY_ASM_LINK([".globl _ac_test\n_ac_test:\t.long 0"],
                      [extern int ac_test;],
                      [if (ac_test) return 1],
                      ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no"))

AH_TEMPLATE(__ASM_NAME,[Define to a macro to generate an assembly name from a C symbol])
if test "$ac_cv_c_extern_prefix" = "yes"
then
  AC_DEFINE([__ASM_NAME(name)], ["_" name])
else
  AC_DEFINE([__ASM_NAME(name)], [name])
fi

dnl **** Check 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(LIBWINE_LDFLAGS,"")

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 We can't build 16-bit NE dlls
    WIN16_FILES=""
    WIN16_INSTALL=""
    ;;
  darwin*|macosx*)
    DLLEXT=".so"
    LIBEXT="dylib"
    DLLFLAGS="$DLLFLAGS -fPIC"
    LDDLLFLAGS="-bundle -multiply_defined suppress"
    LIBWINE_LDFLAGS="-multiply_defined suppress"
    LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME)"
    STRIP="$STRIP -u -r"
    dnl declare needed frameworks
    AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
    AC_SUBST(IOKITLIB,"-framework IOKit -framework CoreFoundation")
    AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00000000,-segaddr,WINE_SHARED_HEAP,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_CoreAudio_CoreAudio_h" = "yes" -a "$ac_cv_header_AudioUnit_AudioUnit_h" = "yes"
    then
        dnl CoreServices needed by AudioUnit
        AC_SUBST(COREAUDIO,"-framework CoreAudio -framework AudioUnit -framework CoreServices")
    fi
    case $host_cpu in
      *powerpc*)
        LDDLLFLAGS="$LDDLLFLAGS -read_only_relocs warning"  dnl FIXME
        ;;
    esac
    dnl Enable quartz driver on Mac OS X
    if test "$ac_cv_header_Carbon_Carbon_h" = "yes"
    then
        QUARTZFILES='$(QUARTZFILES)'
    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],
                      [LIBWINE_LDFLAGS="-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])

      case $host_cpu in
        *i[[3456789]]86* | x86_64)
          WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
                          [LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400"])
          ;;
      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

    dnl Check for cross compiler to build test programs
    AC_SUBST(CROSSTEST,"")
    if test "$cross_compiling" = "no"
    then
      AC_CHECK_PROGS(CROSSCC,i586-mingw32msvc-gcc i386-mingw32msvc-gcc i386-mingw32-gcc mingw32-gcc mingw-gcc,false)
      AC_CHECK_PROGS(DLLTOOL,i586-mingw32msvc-dlltool i386-mingw32msvc-dlltool i386-mingw32-dlltool mingw32-dlltool mingw-dlltool,false)
      AC_CHECK_PROGS(CROSSWINDRES,i586-mingw32msvc-windres i386-mingw32msvc-windres i386-mingw32-windres mingw32-windres mingw-windres,false)
      if test "$CROSSCC" != "false"; then CROSSTEST="\$(CROSSTEST)"; fi
    fi
    ;;
esac

if test "$LIBEXT" = "a"; then
  AC_MSG_ERROR(
[could not find a way to build shared libraries.
It is currently not possible to build Wine without shared library
(.so) support to allow transparent switch between .so and .dll files.
If you are using Linux, you will need a newer binutils.]
)
fi

case $build_os in
  cygwin*|mingw32*)
    AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\"") ;;
  darwin*|macosx*)
    AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\"") ;;
  *)
    AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\"") ;;
esac

dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet
case $host_os in
  mingw32*)
    AC_SUBST(CRTLIBS,"-lmsvcrt")
    AC_SUBST(SOCKETLIBS,"-lws2_32")
    ;;
esac

AC_SUBST(MAIN_BINARY,"wine-pthread")  dnl Default value
case $host_cpu in
  *i[[3456789]]86*)
    case $host_os in
      linux* | k*bsd*-gnu)
        AC_SUBST(MAIN_BINARY,"wine-glibc")
        AC_SUBST(EXTRA_BINARIES,"wine-kthread wine-pthread wine-preloader") ;;
    esac
    ;;
esac

dnl **** Get the soname for libraries that we load dynamically ****

if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
then
  WINE_GET_SONAME(X11,XCreateWindow,[$X_LIBS $X_EXTRA_LIBS])
  WINE_GET_SONAME(Xext,XextCreateExtension,[$X_LIBS -lX11 $X_EXTRA_LIBS])
  WINE_GET_SONAME(Xi,XOpenDevice,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
  WINE_GET_SONAME(Xinerama,XineramaQueryScreens,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
  WINE_GET_SONAME(Xrender,XRenderQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
  WINE_GET_SONAME(Xrandr,XRRQueryExtension,[$X_LIBS -lXext -lX11 $X_EXTRA_LIBS])
  WINE_GET_SONAME(freetype,FT_Init_FreeType,[$X_LIBS])
  WINE_GET_SONAME(GL,glXQueryExtension,[$X_LIBS $X_EXTRA_LIBS])
  WINE_GET_SONAME(hal,libhal_ctx_new)
  WINE_GET_SONAME(txc_dxtn,fetch_2d_texel_rgba_dxt1)
  WINE_GET_SONAME(cups,cupsGetDefault)
  WINE_GET_SONAME(jack,jack_client_new)
  WINE_GET_SONAME(fontconfig,FcInit)
  WINE_GET_SONAME(ssl,SSL_library_init)
  WINE_GET_SONAME(crypto,BIO_new_socket)
  WINE_GET_SONAME(ncurses,waddch)
  WINE_GET_SONAME(curses,waddch)
  WINE_GET_SONAME(jpeg,jpeg_start_decompress)
  WINE_GET_SONAME(capi20,capi20_isinstalled)
fi


dnl **** Check for functions ****

AC_CHECK_FUNCS(\
	_pclose \
	_popen \
	_snprintf \
	_spawnvp \
	_stricmp \
	_strnicmp \
	_vsnprintf \
	asctime_r \
	chsize \
	clone \
	connect \
	dlopen \
	epoll_create \
	ffs \
	finite \
	fork \
	fpclass \
	fstatfs \
	fstatvfs \
	ftruncate \
	futimes \
	futimesat \
	getaddrinfo \
	getdirentries \
	gethostbyname \
	getnameinfo \
	getnetbyname \
	getopt_long \
	getpagesize \
	getprotobyname \
	getprotobynumber \
	getpwuid \
	getservbyport \
	gettid \
	gettimeofday \
	getuid \
	inet_aton \
	inet_network \
	kqueue \
	lstat \
	memmove \
	mmap \
	pclose \
	poll \
	popen \
	prctl \
	pread \
	pwrite \
	readlink \
	rfork \
	sched_yield \
	select \
	sendmsg \
	setrlimit \
	settimeofday \
	sigaltstack \
	sigprocmask \
	snprintf \
	spawnvp \
	statfs \
	statvfs \
	strcasecmp \
	strerror \
	strncasecmp \
	strtold \
	tcgetattr \
	timegm \
	usleep \
	vsnprintf \
	wait4 \
	waitpid \
)

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 -lnsl for Solaris
if test "$ac_cv_func_gethostbyname" = no
then
    AC_CHECK_LIB(nsl,gethostbyname)
fi

dnl Check for -lsocket for Solaris
if test "$ac_cv_func_connect" = no
then
    AC_CHECK_LIB(socket,connect)
fi

dnl Check for -lresolv for Solaris
if test "$ac_cv_func_inet_aton" = no
then
    AC_CHECK_LIB(resolv,inet_aton)
fi

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

AC_C_CONST
AC_C_INLINE
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 <signal.h>])
AC_CHECK_TYPES([request_sense],,,[#include <linux/cdrom.h>])

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_TRY_LINK([#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_TRY_LINK([
#include <netdb.h>
	], [
    char *name=NULL;
    struct hostent he;
    struct hostent *result;
    char *buf=NULL;
    int bufsize=0;
    int res,errnr;
    char *addr=NULL;
    int addrlen=0;
    int addrtype=0;
    res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
    res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
    ],
	wine_cv_linux_gethostbyname_r_6=yes,
	wine_cv_linux_gethostbyname_r_6=no
	)
   )
   if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
   then
      AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
                [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
   fi

if test "$ac_cv_header_linux_joystick_h" = "yes"
then
   AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
   	wine_cv_linux_joystick_22_api,
	AC_TRY_COMPILE([
	#include <sys/ioctl.h>
	#include <linux/joystick.h>

	struct js_event blub;
	#if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
	#error "no 2.2 header"
	#endif
	],/*empty*/,
	wine_cv_linux_joystick_22_api=yes,
	wine_cv_linux_joystick_22_api=no,
	wine_cv_linux_joystick_22_api=no
	)
   )
   if test "$wine_cv_linux_joystick_22_api" = "yes"
   then
      AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
                [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
   fi
fi

dnl **** FIXME: what about mixed cases, where we need two of them? ***

dnl Check for statfs members
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
#ifdef HAVE_SYS_MOUNT_H
# include <sys/mount.h>
#endif
#ifdef HAVE_SYS_VFS_H
# include <sys/vfs.h>
#endif
#ifdef HAVE_SYS_STATFS_H
# include <sys/statfs.h>
#endif])

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],,,
[#include <sys/types.h>
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#ifdef HAVE_SYS_UN_H
# include <sys/un.h>
#endif])

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
#include <scsi/sg.h>
#endif])

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
#include <sys/mtio.h>
#endif])

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
AC_CHECK_MEMBERS([struct stat.st_blocks])

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 the external timezone variables timezone and daylight
AC_CACHE_CHECK([for timezone variable], ac_cv_have_timezone,
               AC_TRY_LINK([#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_TRY_LINK([#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 the need to define platform-specific symbols

case $host_cpu in
  *i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
  *x86_64*)         WINE_CHECK_DEFINE([__x86_64__]) ;;
  *alpha*)          WINE_CHECK_DEFINE([__ALPHA__]) ;;
  *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
  *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
esac

case $host_vendor in
  *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
esac

dnl **** Generate output files ****

dnl autoconf versions before 2.59d need backslashes to escape newlines in subst variables
AC_SUBST(DEPENDENCIES,m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), [2.59d]), -1,
["### Dependencies:\\
\\
.INIT: Makefile\\
.BEGIN: Makefile\\
Makefile: dummy\\
	-\$(MAKEDEP) -C\$(SRCDIR) -S\$(TOPSRCDIR) -T\$(TOPOBJDIR) \$(EXTRAINCL) \$(DEPEND_SRCS)\\
\\
\$(ALL_OBJS): \$(IDL_H_SRCS:.idl=.h)\\
\$(IDL_GEN_C_SRCS:.c=.o): \$(IDL_GEN_C_SRCS)\\
\$(LEX_SRCS:.l=.yy.o): \$(LEX_SRCS:.l=.yy.c)\\
\$(BISON_SRCS:.y=.tab.o): \$(BISON_SRCS:.y=.tab.c)"],
["### Dependencies:

.INIT: Makefile
.BEGIN: Makefile
Makefile: dummy
	-\$(MAKEDEP) -C\$(SRCDIR) -S\$(TOPSRCDIR) -T\$(TOPOBJDIR) \$(EXTRAINCL) \$(DEPEND_SRCS)

\$(ALL_OBJS): \$(IDL_H_SRCS:.idl=.h)
\$(IDL_GEN_C_SRCS:.c=.o): \$(IDL_GEN_C_SRCS)
\$(LEX_SRCS:.l=.yy.o): \$(LEX_SRCS:.l=.yy.c)
\$(BISON_SRCS:.y=.tab.o): \$(BISON_SRCS:.y=.tab.c)"]))

AH_TOP([#define __WINE_CONFIG_H])

AC_CONFIG_COMMANDS([include/stamp-h], [echo timestamp > include/stamp-h])

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_EXTRA_DIR(include/wine)

MAKE_RULES=Make.rules
AC_SUBST_FILE(MAKE_RULES)

MAKE_DLL_RULES=dlls/Makedll.rules
AC_SUBST_FILE(MAKE_DLL_RULES)

MAKE_IMPLIB_RULES=dlls/Makeimplib.rules
AC_SUBST_FILE(MAKE_IMPLIB_RULES)

MAKE_TEST_RULES=dlls/Maketest.rules
AC_SUBST_FILE(MAKE_TEST_RULES)

MAKE_PROG_RULES=programs/Makeprog.rules
AC_SUBST_FILE(MAKE_PROG_RULES)

AC_CONFIG_FILES([
Make.rules
dlls/Makedll.rules
dlls/Makeimplib.rules
dlls/Maketest.rules
programs/Makeprog.rules
Makefile
dlls/Makefile
dlls/activeds/Makefile
dlls/advapi32/Makefile
dlls/advapi32/tests/Makefile
dlls/advpack/Makefile
dlls/advpack/tests/Makefile
dlls/amstream/Makefile
dlls/atl/Makefile
dlls/avicap32/Makefile
dlls/avifil32/Makefile
dlls/cabinet/Makefile
dlls/cabinet/tests/Makefile
dlls/capi2032/Makefile
dlls/cards/Makefile
dlls/cfgmgr32/Makefile
dlls/clusapi/Makefile
dlls/comcat/Makefile
dlls/comcat/tests/Makefile
dlls/comctl32/Makefile
dlls/comctl32/tests/Makefile
dlls/comdlg32/Makefile
dlls/comdlg32/tests/Makefile
dlls/compstui/Makefile
dlls/crtdll/Makefile
dlls/crypt32/Makefile
dlls/crypt32/tests/Makefile
dlls/cryptdll/Makefile
dlls/cryptnet/Makefile
dlls/ctl3d32/Makefile
dlls/d3d8/Makefile
dlls/d3d8/tests/Makefile
dlls/d3d9/Makefile
dlls/d3d9/tests/Makefile
dlls/d3dim/Makefile
dlls/d3drm/Makefile
dlls/d3dx8/Makefile
dlls/d3dxof/Makefile
dlls/dbghelp/Makefile
dlls/dciman32/Makefile
dlls/ddraw/Makefile
dlls/ddraw/tests/Makefile
dlls/ddrawex/Makefile
dlls/devenum/Makefile
dlls/dinput/Makefile
dlls/dinput/tests/Makefile
dlls/dinput8/Makefile
dlls/dmband/Makefile
dlls/dmcompos/Makefile
dlls/dmime/Makefile
dlls/dmloader/Makefile
dlls/dmscript/Makefile
dlls/dmstyle/Makefile
dlls/dmsynth/Makefile
dlls/dmusic/Makefile
dlls/dmusic32/Makefile
dlls/dnsapi/Makefile
dlls/dnsapi/tests/Makefile
dlls/dplay/Makefile
dlls/dplayx/Makefile
dlls/dpnet/Makefile
dlls/dpnhpast/Makefile
dlls/dsound/Makefile
dlls/dsound/tests/Makefile
dlls/dswave/Makefile
dlls/dxdiagn/Makefile
dlls/dxerr8/Makefile
dlls/dxerr9/Makefile
dlls/dxguid/Makefile
dlls/gdi32/Makefile
dlls/gdi32/tests/Makefile
dlls/glu32/Makefile
dlls/gphoto2.ds/Makefile
dlls/hhctrl.ocx/Makefile
dlls/hid/Makefile
dlls/hlink/Makefile
dlls/hlink/tests/Makefile
dlls/iccvid/Makefile
dlls/icmp/Makefile
dlls/ifsmgr.vxd/Makefile
dlls/imaadp32.acm/Makefile
dlls/imagehlp/Makefile
dlls/imm32/Makefile
dlls/infosoft/Makefile
dlls/infosoft/tests/Makefile
dlls/inseng/Makefile
dlls/iphlpapi/Makefile
dlls/iphlpapi/tests/Makefile
dlls/itss/Makefile
dlls/kernel32/Makefile
dlls/kernel32/tests/Makefile
dlls/localspl/Makefile
dlls/localspl/tests/Makefile
dlls/lz32/Makefile
dlls/lz32/tests/Makefile
dlls/mapi32/Makefile
dlls/mapi32/tests/Makefile
dlls/mciavi32/Makefile
dlls/mcicda/Makefile
dlls/mciseq/Makefile
dlls/mciwave/Makefile
dlls/midimap/Makefile
dlls/mlang/Makefile
dlls/mlang/tests/Makefile
dlls/mmdevldr.vxd/Makefile
dlls/monodebg.vxd/Makefile
dlls/mpr/Makefile
dlls/mprapi/Makefile
dlls/msacm32.drv/Makefile
dlls/msacm32/Makefile
dlls/msacm32/tests/Makefile
dlls/msadp32.acm/Makefile
dlls/mscms/Makefile
dlls/mscms/tests/Makefile
dlls/mscoree/Makefile
dlls/msdmo/Makefile
dlls/msftedit/Makefile
dlls/msg711.acm/Makefile
dlls/mshtml/Makefile
dlls/mshtml/tests/Makefile
dlls/msi/Makefile
dlls/msi/tests/Makefile
dlls/msimg32/Makefile
dlls/msisys.ocx/Makefile
dlls/msnet32/Makefile
dlls/msrle32/Makefile
dlls/msvcrt/Makefile
dlls/msvcrt/tests/Makefile
dlls/msvcrt20/Makefile
dlls/msvcrt40/Makefile
dlls/msvcrtd/Makefile
dlls/msvcrtd/tests/Makefile
dlls/msvfw32/Makefile
dlls/msvidc32/Makefile
dlls/mswsock/Makefile
dlls/msxml3/Makefile
dlls/msxml3/tests/Makefile
dlls/nddeapi/Makefile
dlls/netapi32/Makefile
dlls/netapi32/tests/Makefile
dlls/newdev/Makefile
dlls/ntdll/Makefile
dlls/ntdll/tests/Makefile
dlls/ntdsapi/Makefile
dlls/objsel/Makefile
dlls/odbc32/Makefile
dlls/odbccp32/Makefile
dlls/ole32/Makefile
dlls/ole32/tests/Makefile
dlls/oleacc/Makefile
dlls/oleaut32/Makefile
dlls/oleaut32/tests/Makefile
dlls/olecli32/Makefile
dlls/oledlg/Makefile
dlls/olepro32/Makefile
dlls/olesvr32/Makefile
dlls/opengl32/Makefile
dlls/powrprof/Makefile
dlls/psapi/Makefile
dlls/psapi/tests/Makefile
dlls/pstorec/Makefile
dlls/qcap/Makefile
dlls/quartz/Makefile
dlls/quartz/tests/Makefile
dlls/query/Makefile
dlls/rasapi32/Makefile
dlls/resutils/Makefile
dlls/riched20/Makefile
dlls/riched20/tests/Makefile
dlls/riched32/Makefile
dlls/rpcrt4/Makefile
dlls/rpcrt4/tests/Makefile
dlls/rsabase/Makefile
dlls/rsabase/tests/Makefile
dlls/rsaenh/Makefile
dlls/rsaenh/tests/Makefile
dlls/sane.ds/Makefile
dlls/secur32/Makefile
dlls/secur32/tests/Makefile
dlls/security/Makefile
dlls/sensapi/Makefile
dlls/serialui/Makefile
dlls/setupapi/Makefile
dlls/setupapi/tests/Makefile
dlls/sfc/Makefile
dlls/shdoclc/Makefile
dlls/shdocvw/Makefile
dlls/shdocvw/tests/Makefile
dlls/shell32/Makefile
dlls/shell32/tests/Makefile
dlls/shfolder/Makefile
dlls/shlwapi/Makefile
dlls/shlwapi/tests/Makefile
dlls/snmpapi/Makefile
dlls/spoolss/Makefile
dlls/stdole2.tlb/Makefile
dlls/stdole32.tlb/Makefile
dlls/sti/Makefile
dlls/strmiids/Makefile
dlls/svrapi/Makefile
dlls/tapi32/Makefile
dlls/twain_32/Makefile
dlls/unicows/Makefile
dlls/url/Makefile
dlls/urlmon/Makefile
dlls/urlmon/tests/Makefile
dlls/user32/Makefile
dlls/user32/tests/Makefile
dlls/userenv/Makefile
dlls/usp10/Makefile
dlls/usp10/tests/Makefile
dlls/uuid/Makefile
dlls/uxtheme/Makefile
dlls/uxtheme/tests/Makefile
dlls/vdhcp.vxd/Makefile
dlls/vdmdbg/Makefile
dlls/version/Makefile
dlls/version/tests/Makefile
dlls/vmm.vxd/Makefile
dlls/vnbt.vxd/Makefile
dlls/vnetbios.vxd/Makefile
dlls/vtdapi.vxd/Makefile
dlls/vwin32.vxd/Makefile
dlls/w32skrnl/Makefile
dlls/winecrt0/Makefile
dlls/wined3d/Makefile
dlls/winedos/Makefile
dlls/winemp3.acm/Makefile
dlls/wineps.drv/Makefile
dlls/winequartz.drv/Makefile
dlls/winex11.drv/Makefile
dlls/wininet/Makefile
dlls/wininet/tests/Makefile
dlls/winmm/Makefile
dlls/winmm/joystick/Makefile
dlls/winmm/tests/Makefile
dlls/winmm/winealsa/Makefile
dlls/winmm/winearts/Makefile
dlls/winmm/wineaudioio/Makefile
dlls/winmm/winecoreaudio/Makefile
dlls/winmm/wineesd/Makefile
dlls/winmm/winejack/Makefile
dlls/winmm/winenas/Makefile
dlls/winmm/wineoss/Makefile
dlls/winnls32/Makefile
dlls/winspool.drv/Makefile
dlls/winspool.drv/tests/Makefile
dlls/wintab32/Makefile
dlls/wintrust/Makefile
dlls/wintrust/tests/Makefile
dlls/wldap32/Makefile
dlls/wnaspi32/Makefile
dlls/wow32/Makefile
dlls/ws2_32/Makefile
dlls/ws2_32/tests/Makefile
dlls/wsock32/Makefile
dlls/wtsapi32/Makefile
documentation/Makefile
fonts/Makefile
include/Makefile
libs/Makefile
libs/port/Makefile
libs/wine/Makefile
libs/wpp/Makefile
loader/Makefile
programs/Makefile
programs/clock/Makefile
programs/cmd/Makefile
programs/cmdlgtst/Makefile
programs/control/Makefile
programs/eject/Makefile
programs/expand/Makefile
programs/explorer/Makefile
programs/hh/Makefile
programs/icinfo/Makefile
programs/iexplore/Makefile
programs/msiexec/Makefile
programs/notepad/Makefile
programs/oleview/Makefile
programs/progman/Makefile
programs/regedit/Makefile
programs/regsvr32/Makefile
programs/rpcss/Makefile
programs/rundll32/Makefile
programs/start/Makefile
programs/taskmgr/Makefile
programs/uninstaller/Makefile
programs/view/Makefile
programs/wineboot/Makefile
programs/winebrowser/Makefile
programs/winecfg/Makefile
programs/wineconsole/Makefile
programs/winedbg/Makefile
programs/winefile/Makefile
programs/winemenubuilder/Makefile
programs/winemine/Makefile
programs/winepath/Makefile
programs/winetest/Makefile
programs/winevdm/Makefile
programs/winhelp/Makefile
programs/winver/Makefile
programs/wordpad/Makefile
server/Makefile
tools/Makefile
tools/widl/Makefile
tools/winebuild/Makefile
tools/winedump/Makefile
tools/winegcc/Makefile
tools/wmc/Makefile
tools/wrc/Makefile])

AC_OUTPUT

dnl **** Display messages about additional packages ***

if test "$no_create" = "yes"
then
  exit 0
fi

if test "$verbose" = "yes"
then
  dnl **** libcapi20-dev devel package ***
  if test "$ac_cv_header_capi20_h" != "yes" -o "$ac_cv_header_linux_capi_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libcapi20 development files not found.])
    AC_MSG_NOTICE([Wine will be built without ISDN support. (capi2032.dll)])
  fi

  dnl **** libcupsys-dev devel package ***
  if test "$ac_cv_header_cups_cups_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libcups development files not found.])
    AC_MSG_NOTICE([Wine will be built without CUPS support.])
  fi

  dnl **** libcurses devel package: see libncurses ***
  dnl **** libdbus-1 devel package ***
  dnl **** libdbus-1-dev is required for libhal-dev ***

  dnl **** libgphoto2 devel package ***
  if test "$ac_cv_header_gphoto2_camera_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libgphoto2 development files not found.])
    if test "$ac_cv_header_sane_sane_h" = "yes"
    then
      AC_MSG_NOTICE([Wine will be built with limited Digital Camera support. (twain_32.dll)])
    else
      AC_MSG_NOTICE([Wine will be built without Digital Camera support. (gphoto2.ds/twain_32.dll)])
    fi
  fi

  dnl **** libhal devel package ***
  dnl **** libhal-dev depends on libdbus-1-dev ***
  if test "$ac_cv_header_hal_libhal_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libhal development files not found.])
    AC_MSG_NOTICE([Wine will be built without dynamic device support. (explorer.exe)])
  fi

  dnl **** libicu devel package ****
  if test "$ac_cv_header_unicode_ubidi_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libicu development files not found.])
    AC_MSG_NOTICE([Wine will be built without bidi (Right to Left) support. (gdi32.dll)])
  fi

  dnl **** liblcms devel package ****
  if test "$ac_cv_header_lcms_h" != "yes" -a "$ac_cv_header_lcms_lcms_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([liblcms development files not found.])
    AC_MSG_NOTICE([Wine will be built without Color Management support. (mscms.dll)])
  fi

  dnl **** libldap devel package ****
  if test "$ac_cv_header_ldap_h" != "yes" -o "$ac_cv_header_lber_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libldap (OpenLDAP) development files not found.])
    AC_MSG_NOTICE([Wine will be built without LDAP support. (wldap32.dll)])
  fi

  dnl **** libncurses / libcurses devel package ***
  if test "x$with_curses" != "xno" -a "$ac_cv_header_ncurses_h" != "yes" -a "$ac_cv_header_curses_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([lib(n)curses development files not found.])
    AC_MSG_NOTICE([Wine will be built without (n)curses support. (wineconsole.exe)])
  fi

  dnl **** libsane devel package ***
  if test "$ac_cv_header_sane_sane_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libsane development files not found.])
    AC_MSG_NOTICE([Wine will be built without Scanner support. (sane.ds/twain_32.dll)])
  fi

  dnl **** libX11-dev includes Xlib.h and Xutil.h and depends on ***
  dnl **** x11proto-input-dev (extensions/XInput.h) and x11proto-kb-dev (XKBlib.h) ***
  if test "$have_x" = "yes"
  then
    dnl **** libX11 - extension: Xext ***
    if test "$ac_cv_header_X11_extensions_shape_h" != "yes" -o "$ac_cv_header_X11_extensions_XShm_h" != "yes"
    then
      echo >&2
      AC_MSG_NOTICE([libxext development files not found.])
      AC_MSG_NOTICE([Wine will be built without Shm / Shape support. (winex11.drv)])
    fi

    dnl **** libX11 - extension: Xrandr ***
    if test "$ac_cv_header_X11_extensions_Xrandr_h" != "yes"
    then
      echo >&2
      AC_MSG_NOTICE([libXrandr development files not found.])
      AC_MSG_NOTICE([Wine will be built without Xrandr support. (winex11.drv)])
    fi

    dnl **** libX11 - extension: Xrender ***
    if test "$ac_cv_header_X11_extensions_Xrender_h" != "yes"
    then
      echo >&2
      AC_MSG_NOTICE([libXrender development files not found.])
      AC_MSG_NOTICE([Wine will be built without Xrender support. (winex11.drv)])
    fi

    dnl **** libX11 - extension: Xxf86vm ***
    if test "$ac_cv_header_X11_extensions_xf86vmode_h" != "yes"
    then
      echo >&2
      AC_MSG_NOTICE([libXxf86vm development files not found.])
      AC_MSG_NOTICE([Wine will be built without XFree86-VidMode support. (winex11.drv)])
    fi
  fi

  dnl **** libxml2 devel package ***
  if test "$ac_cv_header_libxml_parser_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libxml2 development files not found.])
    AC_MSG_NOTICE([Wine will be built without XML support. (msxml.dll)])
  fi

  dnl **** libxslt devel package ***
  if test "$ac_cv_header_libxslt_pattern_h" != "yes" -o "$ac_cv_header_libxslt_transform_h" != "yes"
  then
    echo >&2
    AC_MSG_NOTICE([libxslt development files not found.])
    AC_MSG_NOTICE([Wine will be built without xslt support. (msxml.dll)])
  fi
fi


dnl **** Display warnings about important packages ***
if test "$have_x" = "no"
then
  echo >&2
  AC_MSG_WARN([X development files not found. Wine will be built without])
  AC_MSG_WARN([X support, which currently does not work, and probably])
  AC_MSG_WARN([isn't what you want anyway. You will need to install devel])
  AC_MSG_WARN([ packages of Xlib/Xfree86 at the very least.])
fi

if test -z "$OPENGLFILES"
then
  echo >&2
  AC_MSG_WARN([Wine will be build without OpenGL or Direct3D support])
  AC_MSG_WARN([because something is wrong with the OpenGL setup:])
  if test "$wine_cv_opengl_headers_found" = "no"
  then
    AC_MSG_WARN([No OpenGL development headers were found])
  fi
  if test "$wine_cv_opengl_header_version_OK" = "no"
  then
    AC_MSG_WARN([Old Mesa headers detected. Consider upgrading your Mesa libraries (http://www.mesa3d.org/).])
  elif test "$ac_cv_lib_GL_glXCreateContext" = "no"
  then
     if test -f /usr/X11R6/lib/libGL.a
     then 
        AC_MSG_WARN([/usr/X11R6/lib/libGL.a is present on your system.
This probably prevents linking to OpenGL. Try deleting the file and restarting configure.])
     else
        AC_MSG_WARN([No OpenGL library found on this system.])
     fi
  fi
fi

if test "$wine_cv_msg_freetype" = "yes"
then
  echo >&2
  AC_MSG_WARN([Your system appears to have the FreeType 2 runtime libraries])
  AC_MSG_WARN([installed, but 'freetype-config' is not in your PATH. Install])
  AC_MSG_WARN([the freetype-devel package (or its equivalent on your distribution)])
  AC_MSG_WARN([to enable Wine to use TrueType fonts.])
fi

if test -z "$FONTSSUBDIRS"
then
  echo >&2
  if test "$FONTFORGE" = "false"
  then
    AC_MSG_WARN([FontForge is missing.])
  else
    AC_MSG_WARN([FreeType is missing.])
  fi
  AC_MSG_WARN([Fonts will not be built. Dialog text may be invisible or unaligned.])
fi

if test -z "$ALSALIBS" -a \
        -z "$ARTSC_LIBS" -a \
        -z "$AUDIOIOLIBS" -a \
        -z "$NASLIBS" -a \
        -z "$ESD_LIBS" -a \
        -z "$ac_cv_lib_soname_jack" -a \
        "$ac_cv_header_sys_soundcard_h" != "yes" -a \
        "$ac_cv_header_machine_soundcard_h" != "yes" -a \
        "$ac_cv_header_soundcard_h" != "yes"
then
  echo >&2
  AC_MSG_WARN([No sound system was found. Windows applications will be silent.])
  AC_MSG_WARN([The currently supported sound systems are:])
  AC_MSG_WARN([ALSA, ARTS, EsounD, AudioIO, Jack, NAS and OSS])
fi

echo
echo "Configure finished.  Do '${ac_make} depend && ${ac_make}' to compile Wine."
echo

dnl Local Variables:
dnl comment-start: "dnl "
dnl comment-end: ""
dnl comment-start-skip: "\\bdnl\\b\\s *"
dnl compile-command: "autoconf && autoheader"
dnl End: