From fd841e416881cc0392e61ec312c1870f3a0004bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 2 Dec 2014 10:06:21 +0100 Subject: Initial import of libmongo-client version 0.1.8-2 --- configure.ac | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 configure.ac (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..f698ec2 --- /dev/null +++ b/configure.ac @@ -0,0 +1,147 @@ +dnl Process this file with autoconf to produce a configure script. +dnl + +AC_INIT([libmongo-client],[0.1.8],[algernon@madhouse-project.org],[libmongo-client],[https://github.com/algernon/libmongo-client]) +AM_INIT_AUTOMAKE([1.9 tar-ustar foreign no-dist-gzip dist-xz subdir-objects]) + +dnl *************************************************************************** +dnl dependencies + +GLIB_MIN_VERSION="2.12.0" +OPENSSL_MIN_VERSION="0.9.8" + +dnl *************************************************************************** +dnl Initial setup + +AC_CONFIG_MACRO_DIR([m4]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +AC_CONFIG_HEADERS([config.h]) + +dnl *************************************************************************** +dnl Checks for programs. +AC_PROG_CC +AC_PROG_CC_C_O + +AC_PROG_MAKE_SET +PKG_PROG_PKG_CONFIG +LT_INIT([shared]) + +dnl *************************************************************************** +dnl Miscellanneous headers +dnl *************************************************************************** + +AC_HEADER_STDC + +dnl *************************************************************************** +dnl Header checks +dnl *************************************************************************** +AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h sys/socket.h netdb.h]) + +AC_EGREP_HEADER([MSG_NOSIGNAL], [sys/socket.h], AC_DEFINE([HAVE_MSG_NOSIGNAL], [1], [Define to 1 when your system supports MSG_NOSIGNAL])) + +dnl *************************************************************************** +dnl Checks for libraries +AC_CHECK_FUNC(socket,, + AC_CHECK_LIB(socket, socket)) + +AC_FUNC_MMAP +AC_TYPE_OFF_T +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_CHECK_FUNCS(memset socket getaddrinfo munmap strtol strerror) + +dnl *************************************************************************** +dnl GLib headers/libraries +dnl *************************************************************************** + +PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION,,) + +old_CPPFLAGS=$CPPFLAGS +CPPFLAGS="$GLIB_CFLAGS" +old_LDFLAGS=$LDFLAGS +LDFLAGS="$LDFLAGS $GLIB_LIBS" + +AC_CACHE_CHECK(sanity checking Glib headers, + blb_cv_glib_sane, +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ +#include + +int main() +{ + if (sizeof(long) != GLIB_SIZEOF_LONG) + return 1; + return 0; +} +]])],[blb_cv_glib_sane=yes],[blb_cv_glib_sane=no],[blb_cv_glib_sane=yes])]) +CPPFLAGS=$old_CPPFLAGS +LDFLAGS=$old_LDFLAGS + +if test "x$blb_cv_glib_sane" = "xno"; then + AC_MSG_ERROR([Glib headers inconsistent with current compiler setting. You might be using 32 bit Glib with a 64 bit compiler, check PKG_CONFIG_PATH]) +fi + +dnl Check for g_checksum_new +old_LIBS=$LIBS + +dnl to make sure we're using glib from the proper path +LIBS=$GLIB_LIBS +AC_CHECK_LIB(glib-2.0, g_checksum_new, [glib_checksum="yes"; with_openssl="0"], [glib_checksum="no"; with_openssl="1"]) +LIBS=$old_LIBS +if test "x$glib_checksum" = "xno"; then + dnl Using the compat stuff disables symbol versioning + symbol_versioning=no + PKG_CHECK_MODULES(OPENSSL, openssl >= $OPENSSL_MIN_VERSION,, OPENSSL_LIBS="") + if test "x$OPENSSL_LIBS" = "x"; then + AC_MSG_ERROR([OpenSSL is required when glib-2.0 << 2.16.0]) + fi +fi + +AC_DEFINE_UNQUOTED(WITH_OPENSSL, $with_openssl, [Compile with OpenSSL]) + +dnl *************************************************************************** +dnl misc features to be enabled +dnl *************************************************************************** +AC_C_INLINE + +# Check for linker version script support. +if test "x$symbol_versioning" != "xno"; then + ac_save_LDFLAGS=$LDFLAGS + AC_CACHE_CHECK(whether $LD supports symbol version scripts, + ac_cv_prog_ld_version_script, + [ac_cv_prog_ld_version_script=no + echo "TEST { local: *; };" > conftest.ver + LDFLAGS="$LDFLAGS -Wl,--version-script,conftest.ver" + _AC_LINK_IFELSE([AC_LANG_PROGRAM()], + [ac_cv_prog_ld_version_script=yes], []) + ]) + LDFLAGS=$ac_save_LDFLAGS +fi +AM_CONDITIONAL([HAVE_VERSIONING], [test x$ac_cv_prog_ld_version_script = xyes]) + +enable_value () { + case "$1" in + yes|y*) + echo 1 + ;; + *) + echo 0 + ;; + esac +} + +AC_DEFINE_UNQUOTED(VERSIONED_SYMBOLS, `enable_value ${ac_cv_prog_ld_version_script}`, + [Define to 1 if symbol versioning is enabled]) +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version number]) + +AC_CONFIG_FILES([Doxyfile + Makefile + docs/Makefile + docs/tutorial/Makefile + examples/Makefile + src/Makefile + src/libmongo-client.pc + tests/Makefile + tests/libtap/Makefile +]) +AC_OUTPUT -- cgit v1.2.3