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>
This commit is contained in:
Mikko Koppanen 2010-11-17 15:06:51 +01:00 committed by Martin Sustrik
parent 3dbd5d5872
commit 925595259b
2 changed files with 41 additions and 5 deletions

View File

@ -1,3 +1,30 @@
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 #

View File

@ -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}.])