X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=m4%2Fpandora_platform.m4;h=2372e0d6556c303547c7d40ec34e1e4ccb4489b1;hb=8e04e2a97ba16fce9ebf7d47a944de2dc40ba453;hp=678b51ea029e2b6dd62a9d12bd420fe37744d298;hpb=34418e51585216006d5b241fc9104dc4b88d1be0;p=awesomized%2Flibmemcached diff --git a/m4/pandora_platform.m4 b/m4/pandora_platform.m4 index 678b51ea..2372e0d6 100644 --- a/m4/pandora_platform.m4 +++ b/m4/pandora_platform.m4 @@ -10,6 +10,8 @@ dnl dnl From Monty Taylor AC_DEFUN([PANDORA_PLATFORM],[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_CANONICAL_TARGET]) dnl Canonicalize the configuration name. @@ -23,17 +25,28 @@ AC_DEFUN([PANDORA_PLATFORM],[ case "$host_os" in - *solaris*|*freebsd*) + *solaris*) AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[ CPPFLAGS="${CPPFLAGS} -I/usr/local/include" ]) + AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[ + LDFLAGS="${LDFLAGS} -L/usr/local/lib" + ]) + ;; + *freebsd*) + AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[ + CPPFLAGS="${CPPFLAGS} -isystem /usr/local/include" + ]) + AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[ LDFLAGS="${LDFLAGS} -L/usr/local/lib" ]) ;; esac + PANDORA_OPTIMIZE_BITFIELD=1 + case "$target_os" in *linux*) TARGET_LINUX="true" @@ -47,6 +60,8 @@ AC_DEFUN([PANDORA_PLATFORM],[ ;; *solaris*) TARGET_SOLARIS="true" + PANDORA_OPTIMIZE_BITFIELD=0 + AS_IF([test "x${USE_NLS}" = "xyes"],[LIBS="${LIBS} -lintl"]) AC_SUBST(TARGET_SOLARIS) AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris]) ;; @@ -56,10 +71,32 @@ AC_DEFUN([PANDORA_PLATFORM],[ AC_DEFINE([TARGET_OS_FREEBSD], [1], [Whether we are building for FreeBSD]) AC_DEFINE([__APPLE_CC__],[1],[Workaround for bug in FreeBSD headers]) ;; - *) + *mingw32*) + TARGET_WINDOWS="true" + AC_SUBST(TARGET_WINDOWS) + AC_DEFINE([TARGET_OS_WINDOWS], [1], [Whether we are building for Windows]) + AC_DEFINE([WINVER], [WindowsXP], [Version of Windows]) + AC_DEFINE([_WIN32_WINNT], [0x0501], [Magical number to make things work]) + AC_DEFINE([EAI_SYSTEM], [11], [Another magical number]) + AH_BOTTOM([ +#ifndef HAVE_SYS_SOCKET_H +# define SHUT_RD SD_RECEIVE +# define SHUT_WR SD_SEND +# define SHUT_RDWR SD_BOTH +#endif + ]) + + LIBS="$LIBS -lwsock32 -lws2_32" + AM_CFLAGS="${AM_CFLAGS} -I\${top_srcdir}/win32/mingw -I\${top_builddir}/win32/mingw -I\${top_srcdir}/win32 -I\${top_builddir}/win32" ;; esac + AM_CONDITIONAL(BUILD_WIN32, [test "x${TARGET_WINDOWS}" = "xtrue"]) + AM_CONDITIONAL(TARGET_OSX, [test "x${TARGET_OSX}" = "xtrue"]) + AM_CONDITIONAL(TARGET_LINUX, [test "x${TARGET_LINUX}" = "xtrue"]) + + AC_SUBST(PANDORA_OPTIMIZE_BITFIELD) + AC_CHECK_DECL([__clang__], [CLANG="yes"], [CLANG="no"]) AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"]) @@ -74,4 +111,12 @@ AC_DEFUN([PANDORA_PLATFORM],[ [Cause Sun Studio to not be quite so strict with standards conflicts]) ]) + AS_IF([test "x$TARGET_OSX" = "xtrue"],[ + AS_IF([test "x$ac_enable_fat_binaries" = "xyes"],[ + AM_CFLAGS="-arch i386 -arch x86_64 -arch ppc" + AM_CXXFLAGS="-arch i386 -arch x86_64 -arch ppc" + AM_LDFLAGS="-arch i386 -arch x86_64 -arch ppc" + ]) + ]) + ])