summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikko Koppanen <mkoppanen@php.net>2010-11-17 15:06:51 +0100
committerMartin Sustrik <sustrik@250bpm.com>2010-11-17 15:06:51 +0100
commit925595259b51dd84711b620afdf02245e537a38f (patch)
tree1ede18b236ca8cede87b494ce06d1ce6e239b574
parent3dbd5d58723bdc31eb00a6ebf4f643059a432f8c (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.m427
-rw-r--r--configure.in19
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}.])