Skip to content
Snippets Groups Projects
configure.ac 126 KiB
Newer Older
        test "$wine_binary" = wine || WINE_IGNORE_FILE("loader/$wine_binary-preloader")
        AS_VAR_APPEND([LOADER_RULES],["
all: $wine_binary-preloader

$wine_binary-preloader: preloader.o
	\$(CC) -o \$@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 preloader.o \$(LIBPORT) \$(LDFLAGS)

install install-lib:: $wine_binary-preloader \$(DESTDIR)\$(bindir)
	\$(INSTALL_PROGRAM) $wine_binary-preloader \$(DESTDIR)\$(bindir)/$wine_binary-preloader

uninstall::
	\$(RM) \$(DESTDIR)\$(bindir)/$wine_binary-preloader
"]) ;;
dnl **** Check for functions ****

ac_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $BUILTINFLAG"
        __res_get_state \
        __res_getservers \
	_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 \
dnl Check for clock_gettime which may be in -lrt
ac_save_LIBS=$LIBS
AC_SEARCH_LIBS(clock_gettime, rt,
               [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define to 1 if you have the `clock_gettime' function.])
                test "$ac_res" = "none required" || AC_SUBST(LIBRT,"$ac_res")])
LIBS=$ac_save_LIBS

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

AC_CACHE_CHECK([for fallocate],wine_cv_have_fallocate,
                AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[#define _GNU_SOURCE
#include <fcntl.h>]], [[fallocate(-1, 0, 0, 0);]])],[wine_cv_have_fallocate=yes],[wine_cv_have_fallocate=no]))
if test "$wine_cv_have_fallocate" = "yes"
then
  AC_DEFINE(HAVE_FALLOCATE, 1, [Define to 1 if you have the `fallocate' 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_TYPES([struct r_debug, struct link_map],,,
[#ifdef HAVE_LINK_H
#include <link.h>
#endif
#ifdef HAVE_SYS_LINK_H
#include <sys/link.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;
    gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
    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 dirent.d_reclen
AC_CHECK_MEMBERS([struct dirent.d_reclen],,,
[#ifdef HAVE_DIRENT_H
#include <dirent.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
#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
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_mtimespec,
	struct stat.st_ctim,
	struct stat.st_ctimespec,
	struct stat.st_atim,
	struct stat.st_atimespec,
	struct stat.st_birthtime,
	struct stat.st_birthtim,
	struct stat.st_birthtimespec,
	struct stat.__st_birthtime,
	struct stat.__st_birthtim])
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 struct __res_state
AC_CHECK_TYPES([struct __res_state],,,
[#ifdef HAVE_RESOLV_H
#include <resolv.h>
#endif])

dnl Check for _u._ext.nscount6
AC_CHECK_MEMBERS([struct __res_state._u._ext.nscount6],,,
[#ifdef HAVE_RESOLV_H
#include <resolv.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
AC_CHECK_MEMBERS([struct icmpstat.icps_inhist],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IP_H
#include <netinet/ip.h>
#endif
#ifdef HAVE_NETINET_IP_ICMP_H
#include <netinet/ip_icmp.h>
#endif
#ifdef HAVE_NETINET_ICMP_VAR_H
#include <netinet/icmp_var.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_H
#include <netinet/icmp_var.h>
#endif])

dnl Check for struct ipstat
AC_CHECK_MEMBERS([struct ipstat.ips_total],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_SOCKETVAR_H
#include <sys/socketvar.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#ifdef HAVE_NETINET_IP_VAR_H
#include <netinet/ip_var.h>
#endif])

dnl Check for struct ip_stats
AC_CHECK_MEMBERS([struct ip_stats.ips_total],,,
[#ifdef HAVE_NETINET_IP_VAR_H
#include <netinet/ip_var.h>
#endif])

dnl Check for struct tcpstat
AC_CHECK_MEMBERS([struct tcpstat.tcps_connattempt],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_SOCKETVAR_H
#include <sys/socketvar.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#ifdef HAVE_NETINET_TCP_H
#include <netinet/tcp.h>
#endif
#ifdef HAVE_NETINET_TCP_VAR_H
#include <netinet/tcp_var.h>
#endif])

dnl Check for struct tcp_stats
AC_CHECK_MEMBERS([struct tcp_stats.tcps_connattempt],,,
[#ifdef HAVE_NETINET_TCP_VAR_H
#include <netinet/tcp_var.h>
#endif])

dnl Check for struct udpstat
AC_CHECK_MEMBERS([struct udpstat.udps_ipackets],,,
[#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#ifdef HAVE_NETINET_IP_VAR_H
#include <netinet/ip_var.h>
#endif
#ifdef HAVE_NETINET_UDP_H
#include <netinet/udp.h>
#endif
#ifdef HAVE_NETINET_UDP_VAR_H
#include <netinet/udp_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 isfinite
ac_save_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_CACHE_CHECK([for isfinite], ac_cv_have_isfinite,
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE
#include <math.h>]], [[float f = 0.0; return isfinite(f)]])],[ac_cv_have_isfinite="yes"],[ac_cv_have_isfinite="no"]))
if test "$ac_cv_have_isfinite" = "yes"
then
    AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have the `isfinite' function.])
fi

dnl Check for isinf
ac_save_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_CACHE_CHECK([for isinf], ac_cv_have_isinf,
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]], [[float f = 0.0; return 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; return isnan(f)]])],[ac_cv_have_isnan="yes"],[ac_cv_have_isnan="no"]))
Jacek Caban's avatar
Jacek Caban committed
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__]) ;;
  *sparc64*)        WINE_CHECK_DEFINE([__sparc64__]) ;;
  *sparc*)          WINE_CHECK_DEFINE([__sparc__]) ;;
  *powerpc64*)      WINE_CHECK_DEFINE([__powerpc64__]) ;;
  *powerpc*)        WINE_CHECK_DEFINE([__powerpc__]) ;;
  *aarch64*)        WINE_CHECK_DEFINE([__aarch64__]) ;;
André Zwing's avatar
André Zwing committed
  *arm*)            WINE_CHECK_DEFINE([__arm__]) ;;
  *sun*) WINE_CHECK_DEFINE([__sun__]) ;;
Alexandre Julliard's avatar
Alexandre Julliard committed
dnl **** Generate output files ****
AH_TOP([#ifndef __WINE_CONFIG_H
#define __WINE_CONFIG_H
#ifndef WINE_CROSSTEST])
AH_BOTTOM([#endif /* WINE_CROSSTEST */
#endif /* __WINE_CONFIG_H */])
AC_CONFIG_COMMANDS([include/stamp-h], [echo timestamp > include/stamp-h])
AS_ECHO_N("creating Makefile rules...") >&AS_MESSAGE_FD
dnl Import library rules

AC_SUBST(MAKE_IMPLIB_RULES,"DLLFLAGS = $DLLFLAGS
")
then
    AS_VAR_APPEND([MAKE_IMPLIB_RULES],"MAKEDEPFLAGS = -xo -xcross.o
all: \$(STATICLIB:.a=.cross.a)
")
fi


if test -n "$DLLEXT"
then
    deps="\$(MODULE)$DLLEXT \$(MODULE).fake"
else
    deps="\$(MODULE)"
fi

AC_SUBST(MAKE_DLL_RULES,"
DLLFLAGS    = $DLLFLAGS
MAINSPEC    = \$(srcdir)/\$(MODULE:%.dll=%).spec
IDL_TLB_RES = \$(IDL_TLB_SRCS:.idl=_t.res)
MODULEFLAGS = -shared \$(MAINSPEC) \$(EXTRADLLFLAGS)

manpages:: dummy
	\$(C2MAN) -o \$(top_builddir)/documentation/man\$(api_manext) -R\$(top_builddir) -C\$(srcdir) \$(PARENTSRC:%=-P%) -I\$(top_srcdir)/include \$(MAINSPEC:%=-w %) \$(C_SRCS)
htmlpages:: dummy
	\$(C2MAN) -o \$(top_builddir)/documentation/html -R\$(top_builddir) -C\$(srcdir) \$(PARENTSRC:%=-P%) -I\$(top_srcdir)/include -Th \$(MAINSPEC:%=-w %) \$(C_SRCS)
sgmlpages:: dummy
	\$(C2MAN) -o \$(top_builddir)/documentation/api-guide -R\$(top_builddir) -C\$(srcdir) \$(PARENTSRC:%=-P%) -I\$(top_srcdir)/include -Ts \$(MAINSPEC:%=-w %) \$(C_SRCS)
xmlpages:: dummy
	\$(C2MAN) -o \$(top_builddir)/documentation/api-guide-xml -R\$(top_builddir) -C\$(srcdir) \$(PARENTSRC:%=-P%) -I\$(top_srcdir)/include -Tx \$(MAINSPEC:%=-w %) \$(C_SRCS)
.PHONY: manpages htmlpages sgmlpages xmlpages
AC_SUBST(MAKE_PROG_RULES,"
DLLFLAGS    = $DLLFLAGS

all: $deps
")

dnl Test rules

AC_SUBST(MAKE_TEST_RULES,"
DLLFLAGS     = $DLLFLAGS
TESTMODULE   = \$(TESTDLL:%.dll=%)_test.exe
TESTMODULE_STRIPPED = \$(TESTDLL:%.dll=%)_test-stripped.exe$DLLEXT
WINETEST_RES = \$(top_builddir)/programs/winetest/\$(TESTDLL:%.dll=%)_test.res
RUNTESTFLAGS = -q -P wine -T \$(top_builddir) -M \$(TESTDLL) -p \$(TESTMODULE)$DLLEXT
EXTRA_OBJS   = testlist.o

all: \$(TESTMODULE)$DLLEXT \$(WINETEST_RES)

\$(C_SRCS:.c=.ok): \$(TESTMODULE)$DLLEXT \$(TESTDLL:%=../%$DLLEXT)

.PHONY: check test testclean crosstest
")
if test -n "$CROSSTARGET"
then
    AS_VAR_APPEND([MAKE_TEST_RULES],"
MAKEDEPFLAGS    = -xo -xcross.o
CROSSTESTMODULE = \$(TESTDLL:%.dll=%)_crosstest.exe

crosstest: \$(CROSSTESTMODULE)
")
fi

WINE_APPEND_RULE([
# Rules automatically generated by configure

.INIT: Makefile
.MAKEFILEDEPS:
all: Makefile
Makefile: $srcdir/Makefile.in $srcdir/Make.vars.in config.status
test "$srcdir" = . && WINE_APPEND_RULE(
[all: .gitignore
.gitignore: config.status
	@./config.status .gitignore])

test -n "$CROSSTARGET" || WINE_APPEND_RULE(
[crosstest:
	@echo \"crosstest is not supported (mingw not installed?)\" && false])

WINE_CONFIG_SYMLINK(fonts,fonts,[marlett.ttf,symbol.ttf,tahoma.ttf,tahomabd.ttf],enable_fonts)
WINE_CONFIG_SYMLINK(loader,loader,[l_intl.nls])
WINE_CONFIG_SYMLINK(po,po,[LINGUAS])
WINE_CONFIG_SYMLINK(,tools,[wine],,winewrapper)
WINE_CONFIG_SYMLINK(,tools,[wine64],enable_win64,winewrapper)
WINE_CONFIG_MAKERULES([Make.rules],[MAKE_RULES])

WINE_CONFIG_DLL(aclui,,[implib])
WINE_CONFIG_DLL(activeds,,[implib])
WINE_CONFIG_DLL(advapi32,,[clean,implib])
WINE_CONFIG_DLL(advpack,,[implib])
WINE_CONFIG_DLL(api-ms-win-core-localregistry-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-winrt-error-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-core-winrt-string-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-ole32-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-shell32-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-shlwapi-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-shlwapi-l2-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-user32-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-downlevel-version-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-security-base-l1-1-0)
André Zwing's avatar
André Zwing committed
WINE_CONFIG_DLL(apphelp)
WINE_CONFIG_TEST(dlls/apphelp/tests)
WINE_CONFIG_DLL(appwiz.cpl,,[po])
WINE_CONFIG_DLL(atl,,[clean,implib])
WINE_CONFIG_TEST(dlls/atl/tests)
WINE_CONFIG_DLL(atl100,,[implib])
WINE_CONFIG_TEST(dlls/atl100/tests)
Jacek Caban's avatar
Jacek Caban committed
WINE_CONFIG_DLL(atl110)
WINE_CONFIG_TEST(dlls/atl80/tests)
Zhenbo Li's avatar
Zhenbo Li committed
WINE_CONFIG_DLL(atl90)
WINE_CONFIG_DLL(avicap32,,[implib])
WINE_CONFIG_DLL(avifil32,,[clean,implib,po])
WINE_CONFIG_TEST(dlls/avifil32/tests)
WINE_CONFIG_DLL(avifile.dll16,enable_win16)
WINE_CONFIG_DLL(browseui,,[clean,po])
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,,[implib,po])
WINE_CONFIG_DLL(comdlg32,,[clean,implib,po])
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(comsvcs,,[implib])
WINE_CONFIG_DLL(credui,,[implib,po])
WINE_CONFIG_DLL(crtdll,,[implib])
WINE_CONFIG_DLL(crypt32,,[implib,po])
WINE_CONFIG_DLL(cryptdlg,,[po])
WINE_CONFIG_DLL(cryptdll,,[implib])
WINE_CONFIG_DLL(cryptnet,,[implib])
WINE_CONFIG_DLL(cryptui,,[implib,po])
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])
Austin English's avatar
Austin English committed
WINE_CONFIG_DLL(d3d11)
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(d3dx11_42)
WINE_CONFIG_DLL(d3dx11_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,,[clean,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_DLL(ddraw,,[clean,implib])
WINE_CONFIG_DLL(devenum,,[clean,po])
WINE_CONFIG_TEST(dlls/devenum/tests)
Stefan Leichter's avatar
Stefan Leichter committed
WINE_CONFIG_DLL(dhcpcsvc)
André Zwing's avatar
André Zwing committed
WINE_CONFIG_DLL(difxapi)
WINE_CONFIG_DLL(dinput,,[clean,implib,po,staticimplib])
WINE_CONFIG_DLL(dinput8,,[clean,implib])
WINE_CONFIG_DLL(dispdib.dll16,enable_win16)
WINE_CONFIG_TEST(dlls/dispex/tests)
WINE_CONFIG_DLL(display.drv16,enable_win16)
Christian Costa's avatar
Christian Costa committed
WINE_CONFIG_TEST(dlls/dmband/tests)
WINE_CONFIG_DLL(dmcompos,,[clean])
WINE_CONFIG_DLL(dmime,,[clean])
WINE_CONFIG_TEST(dlls/dmime/tests)
WINE_CONFIG_DLL(dmscript,,[clean])
WINE_CONFIG_DLL(dmstyle,,[clean])
WINE_CONFIG_DLL(dmsynth,,[clean])
WINE_CONFIG_TEST(dlls/dmsynth/tests)
WINE_CONFIG_TEST(dlls/dmusic/tests)
WINE_CONFIG_DLL(dmusic32,,[implib])
WINE_CONFIG_DLL(dnsapi,,[implib])
WINE_CONFIG_DLL(dplayx,,[clean,implib])
WINE_CONFIG_TEST(dlls/dplayx/tests)
WINE_CONFIG_DLL(dpnaddr)
WINE_CONFIG_DLL(dpnet,,[clean,implib])
WINE_CONFIG_TEST(dlls/dpnet/tests)
WINE_CONFIG_DLL(dpnhpast)
WINE_CONFIG_DLL(dpnlobby)
WINE_CONFIG_DLL(dpwsockx)
WINE_CONFIG_DLL(drmclien)
WINE_CONFIG_DLL(dsound,,[clean,implib])
WINE_CONFIG_TEST(dlls/dsound/tests)
WINE_CONFIG_DLL(dssenh)
WINE_CONFIG_DLL(dwmapi,,[implib])
WINE_CONFIG_DLL(dwrite,,[implib])
WINE_CONFIG_TEST(dlls/dwrite/tests)
WINE_CONFIG_DLL(dxdiagn,,[clean,po])
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,,[clean])
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_TEST(dlls/gameux/tests)
WINE_CONFIG_DLL(gdi32,,[clean,implib,po])
WINE_CONFIG_DLL(gdiplus,,[implib])
WINE_CONFIG_DLL(gphoto2.ds,,[po])
WINE_CONFIG_DLL(hhctrl.ocx,,[clean,implib,po],[htmlhelp])
WINE_CONFIG_DLL(hlink,,[clean,implib])
WINE_CONFIG_DLL(iccvid,,[po])
WINE_CONFIG_DLL(ieframe,,[clean,implib,po])
WINE_CONFIG_TEST(dlls/ieframe/tests)
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,,[clean,implib])
WINE_CONFIG_DLL(inetcpl.cpl,,[po])
WINE_CONFIG_DLL(inetmib1)
WINE_CONFIG_TEST(dlls/inetmib1/tests)
WINE_CONFIG_TEST(dlls/infosoft/tests)
WINE_CONFIG_DLL(initpki)
WINE_CONFIG_DLL(inkobj)
WINE_CONFIG_DLL(iphlpapi,,[implib])
WINE_CONFIG_TEST(dlls/iphlpapi/tests)
WINE_CONFIG_DLL(itircl)
WINE_CONFIG_DLL(jscript,,[clean,po])
WINE_CONFIG_DLL(kernel32,,[clean,implib,mc])
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,,[implib,po])
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)
Stefan Leichter's avatar
Stefan Leichter committed
WINE_CONFIG_DLL(mgmtapi)
WINE_CONFIG_DLL(mlang,,[clean,implib])
WINE_CONFIG_TEST(dlls/mmcndmgr/tests)
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_TEST(dlls/mpr/tests)
WINE_CONFIG_DLL(mprapi,,[implib])
WINE_CONFIG_DLL(msacm.dll16,enable_win16)
WINE_CONFIG_DLL(msacm32.drv)
WINE_CONFIG_DLL(msacm32,,[implib,po])
WINE_CONFIG_TEST(dlls/msacm32/tests)
WINE_CONFIG_DLL(msadp32.acm)
WINE_CONFIG_DLL(mscat32)
WINE_CONFIG_TEST(dlls/mscoree/tests)