Newer
Older
case $build_os in
cygwin*|mingw32*)
AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
darwin*|macosx*)
AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
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
case $host_os in
linux*)
case $host_cpu in
*i[[3456789]]86*) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread wine-preloader") ;;
*) AC_SUBST(WINE_BINARIES,"wine-glibc wine-kthread wine-pthread") ;;
esac
AC_SUBST(MAIN_BINARY,"wine-glibc")
;;
darwin*)
AC_SUBST(WINE_BINARIES,"wine-pthread")
AC_SUBST(MAIN_BINARY,"wine-pthread")
;;
*)
AC_SUBST(WINE_BINARIES,"wine-kthread")
AC_SUBST(MAIN_BINARY,"wine-kthread")
;;
dnl **** Get the soname for libraries that we load dynamically ****
if test "$LIBEXT" = "so" -o "$LIBEXT" = "dylib"
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(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(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(ungif,DGifOpen)
WINE_GET_SONAME(gif,DGifOpen)
WINE_GET_SONAME(lcms,cmsOpenProfileFromFile)
dnl **** Check for functions ****
AC_CHECK_FUNCS(\
_lwp_create \
_lwp_self \
_pclose \
_popen \
_snprintf \
_stricmp \
_strnicmp \
_vsnprintf \
epoll_create \
futimes \
getnetbyaddr \
getnetbyname \
getopt_long \
getprotobyname \
getprotobynumber \
gettid \
getuid \
pclose \
popen \
sched_yield \
snprintf \
statvfs \
tcgetattr \
timegm \
usleep \
vfscanf \
vsnprintf \
wait4 \
waitpid \
)
dnl **** Check for header files ****
AC_CHECK_HEADERS(\
cups/cups.h \
direct.h \
elf.h \
float.h \
fontconfig/fontconfig.h \
getopt.h \
io.h \
linux/compiler.h \
linux/hdreg.h \
linux/input.h \
linux/joystick.h \
linux/major.h \
mntent.h \
netinet/tcp.h \
netinet/tcp_fsm.h \
process.h \
pthread.h \
scsi/sg.h \
scsi/scsi.h \
strings.h \
sys/cdio.h \
sys/errno.h \
sys/epoll.h \
sys/file.h \
sys/filio.h \
sys/mman.h \
sys/ptrace.h \
sys/scsiio.h \
sys/signal.h \
sys/sockio.h \
sys/statfs.h \
sys/statvfs.h \
sys/strtio.h \
sys/syscall.h \
sys/time.h \
sys/v86.h \
sys/v86intr.h \
sys/wait.h \
unistd.h \
valgrind/memcheck.h
dnl **** Checks for headers that depend on other ones ****
AC_CHECK_HEADERS(sys/mount.h sys/user.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],,,
[#include <sys/types.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(netinet/ip.h,,,
[#include <sys/types.h>
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#if HAVE_NETINET_IN_SYSTM_H
# include <netinet/in_systm.h>
#endif])
AC_CHECK_HEADERS(ucontext.h,,,[#include <signal.h>])
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
dnl **** Check for IPX headers (currently Linux only) ****
AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
AC_TRY_COMPILE(
[#include <sys/types.h>
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#include <netipx/ipx.h>],
[((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
[ac_cv_c_ipx_gnu="yes"],
[ac_cv_c_ipx_gnu="no"])
)
if test "$ac_cv_c_ipx_gnu" = "yes"
then
AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
fi
if test "$ac_cv_c_ipx_gnu" = "no"
then
AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
AC_TRY_COMPILE(
[#include <sys/types.h>
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
#include <asm/types.h>
#include <linux/ipx.h>],
[((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
[ac_cv_c_ipx_linux="yes"],
[ac_cv_c_ipx_linux="no"])
)
if test "$ac_cv_c_ipx_linux" = "yes"
then
AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
fi
fi
dnl **** Check for 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_CACHE_CHECK([whether linux/input.h is for real],
wine_cv_linux_input_h,
AC_TRY_COMPILE([
#include <linux/input.h>
] , [
int foo = EVIOCGBIT(EV_ABS,42);
int bar = BTN_PINKIE;
int fortytwo = 42;
],
wine_cv_linux_input_h=yes,
wine_cv_linux_input_h=no,
no
)
)
if test "$wine_cv_linux_input_h" = "yes"
then
AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
[Define if we have linux/input.h AND it contains the INPUT event API])
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])
if test "$ac_cv_header_linux_joystick_h" = "yes"
then
AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
wine_cv_linux_joystick_22_api,
AC_TRY_COMPILE([
#include <sys/ioctl.h>
#include <linux/joystick.h>
struct js_event blub;
#if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
#error "no 2.2 header"
#endif
],/*empty*/,
wine_cv_linux_joystick_22_api=yes,
wine_cv_linux_joystick_22_api=no,
wine_cv_linux_joystick_22_api=no
)
)
if test "$wine_cv_linux_joystick_22_api" = "yes"
then
AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
[Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
fi
fi
dnl **** statfs checks ****
if test "$ac_cv_header_sys_vfs_h" = "yes"
then
AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
memset(&stfs,0,sizeof(stfs));
],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
)
if test "$wine_cv_sys_vfs_has_statfs" = "yes"
then
AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
[Define if the struct statfs is defined by <sys/vfs.h>])
fi
fi
if test "$ac_cv_header_sys_statfs_h" = "yes"
AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
wine_cv_sys_statfs_has_statfs,
AC_TRY_COMPILE([
#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
#include <sys/statfs.h>
],[
struct statfs stfs;
],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
)
)
if test "$wine_cv_sys_statfs_has_statfs" = "yes"
then
AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
[Define if the struct statfs is defined by <sys/statfs.h>])
fi
fi
if test "$ac_cv_header_sys_mount_h" = "yes"
then
AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
wine_cv_sys_mount_has_statfs,
AC_TRY_COMPILE([
#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
#include <sys/mount.h>
],[
struct statfs stfs;
],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
)
)
if test "$wine_cv_sys_mount_has_statfs" = "yes"
then
AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
[Define if the struct statfs is defined by <sys/mount.h>])
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 STATFS_DEFINED_BY_SYS_MOUNT
# include <sys/mount.h>
#else
# ifdef STATFS_DEFINED_BY_SYS_VFS
# include <sys/vfs.h>
# else
# ifdef STATFS_DEFINED_BY_SYS_STATFS
# include <sys/statfs.h>
# endif
# endif
#endif])
AC_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 siginfo_t members
AC_CHECK_MEMBERS([siginfo_t.si_fd],,,[#include <signal.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
AC_CHECK_MEMBERS([struct stat.st_blocks])
dnl *** check for the need to define platform-specific symbols
case $host_cpu in
*i[[3456789]]86*) WINE_CHECK_DEFINE([__i386__]) ;;
*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__]) ;;
AH_TOP([#define __WINE_CONFIG_H])
WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
WINE_CONFIG_EXTRA_DIR(include/wine)
WINE_CONFIG_EXTRA_DIR(misc)
WINE_CONFIG_EXTRA_DIR(programs/regedit/tests)
WINE_CONFIG_EXTRA_DIR(windows)
MAKE_DLL_RULES=dlls/Makedll.rules
AC_SUBST_FILE(MAKE_DLL_RULES)
MAKE_TEST_RULES=dlls/Maketest.rules
AC_SUBST_FILE(MAKE_TEST_RULES)
MAKE_LIB_RULES=libs/Makelib.rules
AC_SUBST_FILE(MAKE_LIB_RULES)
MAKE_PROG_RULES=programs/Makeprog.rules
AC_SUBST_FILE(MAKE_PROG_RULES)
AC_CONFIG_FILES([
dlls/Makedll.rules
dlls/Maketest.rules
libs/Makelib.rules
programs/Makeprog.rules
dlls/advapi32/tests/Makefile
dlls/amstream/Makefile
dlls/atl/Makefile
dlls/avicap32/Makefile
dlls/avifil32/Makefile
dlls/comcat/Makefile
dlls/comctl32/tests/Makefile
dlls/commdlg/Makefile
dlls/ctl3d/Makefile
dlls/ddraw/tests/Makefile
dlls/devenum/Makefile
dlls/dmband/Makefile
dlls/dmcompos/Makefile
dlls/dmime/Makefile
dlls/dmloader/Makefile
dlls/dmscript/Makefile
dlls/dmstyle/Makefile
dlls/dmsynth/Makefile
dlls/dmusic32/Makefile
dlls/dplay/Makefile
dlls/dplayx/Makefile
dlls/dpnhpast/Makefile
dlls/dsound/Makefile
dlls/dxdiagn/Makefile
dlls/dxerr8/Makefile
dlls/dxerr9/Makefile
dlls/dxguid/Makefile
dlls/gdi/Makefile
dlls/hhctrl.ocx/Makefile

Alexandre Julliard
committed
dlls/iccvid/Makefile
dlls/ifsmgr.vxd/Makefile
dlls/imagehlp/Makefile
dlls/iphlpapi/Makefile
dlls/iphlpapi/tests/Makefile

Alexandre Julliard
committed
dlls/itss/Makefile
dlls/kernel/tests/Makefile
dlls/mapi32/Makefile

Alexandre Julliard
committed
dlls/mlang/Makefile
dlls/mlang/tests/Makefile
dlls/mmdevldr.vxd/Makefile
dlls/monodebg.vxd/Makefile
dlls/mpr/Makefile
dlls/msacm/Makefile
dlls/mscms/Makefile
dlls/msdmo/Makefile
dlls/mshtml/Makefile
dlls/msi/Makefile
dlls/msimg32/Makefile
dlls/msrle32/Makefile
dlls/msvcrt40/Makefile
dlls/msvcrtd/Makefile
dlls/msvcrtd/tests/Makefile
dlls/msvidc32/Makefile
dlls/netapi32/tests/Makefile
dlls/ntdll/Makefile
dlls/ole32/Makefile
dlls/ole32/tests/Makefile
dlls/oleaut32/Makefile
dlls/oleaut32/tests/Makefile
dlls/olecli/Makefile
dlls/oledlg/Makefile
dlls/olesvr/Makefile
dlls/psapi/tests/Makefile
dlls/qcap/Makefile
dlls/rpcrt4/tests/Makefile
dlls/rsabase/Makefile
dlls/secur32/Makefile
dlls/serialui/Makefile
dlls/setupapi/Makefile
dlls/shdocvw/Makefile
dlls/shell32/tests/Makefile
dlls/shfolder/Makefile
dlls/shlwapi/Makefile
dlls/shlwapi/tests/Makefile
dlls/ttydrv/Makefile
dlls/unicows/Makefile
dlls/urlmon/Makefile
dlls/user/Makefile
dlls/user/tests/Makefile
dlls/uuid/Makefile
dlls/uxtheme/Makefile
dlls/vdhcp.vxd/Makefile
dlls/vdmdbg/Makefile
dlls/version/Makefile
dlls/vmm.vxd/Makefile
dlls/vnbt.vxd/Makefile
dlls/vnetbios.vxd/Makefile
dlls/vtdapi.vxd/Makefile
dlls/vwin32.vxd/Makefile
dlls/wined3d/Makefile
dlls/winedos/Makefile
dlls/wininet/Makefile
dlls/wininet/tests/Makefile
dlls/winmm/joystick/Makefile
dlls/winmm/mcianim/Makefile
dlls/winmm/mciavi/Makefile
dlls/winmm/mcicda/Makefile
dlls/winmm/mciseq/Makefile
dlls/winmm/mciwave/Makefile
dlls/winmm/midimap/Makefile
dlls/winmm/tests/Makefile
dlls/winmm/wavemap/Makefile
dlls/winmm/winealsa/Makefile
dlls/winmm/wineaudioio/Makefile
dlls/winmm/winenas/Makefile
dlls/winmm/wineoss/Makefile
dlls/winsock/Makefile
dlls/winsock/tests/Makefile
dlls/winspool/Makefile
dlls/winspool/tests/Makefile
dlls/wintab32/Makefile
dlls/wintrust/Makefile
dlls/wow32/Makefile
dlls/wsock32/Makefile
dlls/x11drv/Makefile
fonts/Makefile
include/Makefile
libs/Makefile
libs/port/Makefile
libs/unicode/Makefile
loader/Makefile
programs/avitools/Makefile
programs/expand/Makefile
programs/regedit/Makefile
programs/regsvr32/Makefile

Alexandre Julliard
committed
programs/rpcss/Makefile
programs/taskmgr/Makefile
programs/uninstaller/Makefile
programs/wineboot/Makefile
programs/winebrowser/Makefile
programs/winecfg/Makefile
programs/winedbg/Makefile
programs/winefile/Makefile
programs/winemenubuilder/Makefile
programs/winepath/Makefile
programs/winetest/Makefile
programs/winevdm/Makefile
tools/widl/Makefile
tools/winebuild/Makefile
tools/winedump/Makefile
tools/winegcc/Makefile
tools/wrc/Makefile])
AC_OUTPUT
if test "$have_x" = "no"
then
echo
echo "*** Warning: X development files not found. Wine will be built without"
echo "*** X support, which currently does not work, and would probably not be"
echo "*** what you want anyway. You will need to install devel packages of"
echo "*** Xlib/Xfree86 at the very least."
then
echo
echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
fi
if test "$wine_cv_msg_freetype" = "yes"
then
echo
echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
echo "*** freetype-devel package (or its equivalent on your distribution) to"
echo "*** enable Wine to use TrueType fonts."
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 *"