diff options
author | Mikko Koppanen <mkoppanen@php.net> | 2010-11-17 15:06:51 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2010-11-17 15:06:51 +0100 |
commit | 925595259b51dd84711b620afdf02245e537a38f (patch) | |
tree | 1ede18b236ca8cede87b494ce06d1ce6e239b574 | |
parent | 3dbd5d58723bdc31eb00a6ebf4f643059a432f8c (diff) |
MinGW32 build fixes
After long discussions in IRC we came to conclusion that there is no
elegant way to handle static builds with MinGW32. This patch sets
AC_DISABLE_STATIC by default on MinGW32 and Cygwin
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
-rw-r--r-- | acinclude.m4 | 27 | ||||
-rw-r--r-- | configure.in | 19 |
2 files changed, 41 insertions, 5 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index e2cef30..631caa8 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,4 +1,31 @@ dnl ############################################################################## +dnl # AC_CONFIG_LIBTOOL # +dnl # Configure libtool. $host_os needs to be set before calling this macro # +dnl ############################################################################## +AC_DEFUN([AC_CONFIG_LIBTOOL], [{ + + if test "x${host_os}" = "x"; then + AC_MSG_ERROR([AC@&t@_CANONICAL_HOST not called before calling AC@&t@_CONFIG_LIBTOOL]) + fi + + # Libtool configuration for different targets + case "${host_os}" in + *mingw32*|*cygwin*) + # Disable static build by default + AC_DISABLE_STATIC + ;; + *) + # Everything else with static enabled + AC_ENABLE_STATIC + ;; + esac + + AC_LIBTOOL_WIN32_DLL + AC_PROG_LIBTOOL +}]) + + +dnl ############################################################################## dnl # AC_CHECK_LANG_ICC # dnl # Check if the current language is compiled using ICC # dnl # Adapted from http://software.intel.com/en-us/forums/showthread.php?t=67984 # diff --git a/configure.in b/configure.in index 700a9d1..5de0922 100644 --- a/configure.in +++ b/configure.in @@ -33,11 +33,15 @@ AC_PROG_CC AC_PROG_CC_C99 AC_PROG_CXX AM_PROG_CC_C_O -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL AC_PROG_SED AC_PROG_AWK +# Host specific checks +AC_CANONICAL_HOST + +# Libtool configuration for different targets. See acinclude.m4 +AC_CONFIG_LIBTOOL + # Check for ICC and Sun Studio compilers AC_LANG(C) AC_CHECK_LANG_ICC @@ -82,9 +86,6 @@ werror="yes" # Whether we are on mingw or not. on_mingw32="no" -# Host speciffic checks -AC_CANONICAL_HOST - # Set some default features required by 0MQ code. CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE $CPPFLAGS" @@ -194,6 +195,10 @@ case "${host_os}" in # mingw32 defines __int64_t as long long CPPFLAGS="-Wno-long-long ${CPPFLAGS} " on_mingw32="yes" + + if test "x$enable_static" = "xyes"; then + AC_MSG_ERROR([Building static libraries is not supported under MinGW32]) + fi ;; *cygwin*) # Define on Cygwin to enable all library features @@ -204,6 +209,10 @@ case "${host_os}" in LDFLAGS="${LDFLAGS} -L/usr/lib/e2fsprogs" AC_CHECK_LIB(uuid, uuid_generate, , [AC_MSG_ERROR([cannot link with -luuid, install the e2fsprogs package.])]) + + if test "x$enable_static" = "xyes"; then + AC_MSG_ERROR([Building static libraries is not supported under Cygwin]) + fi ;; *) AC_MSG_ERROR([unsupported system: ${host_os}.]) |