1
dnl Process this file with autoconf to produce a configure script.
4
AC_INIT(libmongo-client, 0.1.4, algernon@madhouse-project.org, libmongo-client, https://github.com/algernon/libmongo-client)
5
AM_INIT_AUTOMAKE([1.9 tar-ustar])
7
dnl ***************************************************************************
10
GLIB_MIN_VERSION="2.12.0"
11
OPENSSL_MIN_VERSION="0.9.8"
13
dnl ***************************************************************************
16
AC_CONFIG_MACRO_DIR([m4])
17
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
18
AM_CONFIG_HEADER(config.h)
20
AC_ARG_WITH([versioned-symbols], AC_HELP_STRING([--with-versioned-symbols],[Use versioned symbols]),[dnl
21
vsymldflags="-Wl,--version-script,\${srcdir}/libmongo-client.ver -Wl,-O1"
24
dnl ***************************************************************************
25
dnl Checks for programs.
32
dnl ***************************************************************************
33
dnl Miscellanneous headers
34
dnl ***************************************************************************
38
dnl ***************************************************************************
40
dnl ***************************************************************************
41
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h sys/socket.h netdb.h])
43
AC_CACHE_CHECK(for struct sockaddr_storage, blb_cv_c_struct_sockaddr_storage,
44
[AC_EGREP_HEADER([sockaddr_storage], sys/socket.h, blb_cv_c_struct_sockaddr_storage=yes,blb_cv_c_struct_sockaddr_storage=no)])
46
if test "$blb_cv_c_struct_sockaddr_storage" = "yes"; then
47
AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE,[1],[struct sockaddr_storage is present on your system])
50
AC_CACHE_CHECK(for struct sockaddr_in6, blb_cv_c_struct_sockaddr_in6,
51
[AC_EGREP_HEADER([sockaddr_in6], netinet/in.h, blb_cv_c_struct_sockaddr_in6=yes,blb_cv_c_struct_sockaddr_in6=no)])
53
dnl ***************************************************************************
54
dnl Checks for libraries
55
AC_CHECK_FUNC(socket,,
56
AC_CHECK_LIB(socket, socket))
62
AC_CHECK_FUNCS(memset socket getaddrinfo munmap strtol strerror)
64
dnl ***************************************************************************
65
dnl GLib headers/libraries
66
dnl ***************************************************************************
68
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_MIN_VERSION,,)
70
old_CPPFLAGS=$CPPFLAGS
71
CPPFLAGS="$GLIB_CFLAGS"
73
AC_CACHE_CHECK(sanity checking Glib headers,
80
if (sizeof(long) != GLIB_SIZEOF_LONG)
87
blb_cv_glib_sane=yes)])
88
CPPFLAGS=$old_CPPFLAGS
90
if test "x$blb_cv_glib_sane" = "xno"; then
91
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])
94
dnl Check for g_checksum_new
97
dnl to make sure we're using glib from the proper path
99
AC_CHECK_LIB(glib-2.0, g_checksum_new, [glib_checksum="yes"; with_openssl="0"], [glib_checksum="no"; with_openssl="1"])
101
if test "x$glib_checksum" = "xno"; then
102
dnl Using the compat stuff disables symbol versioning
104
PKG_CHECK_MODULES(OPENSSL, openssl >= $OPENSSL_MIN_VERSION,, OPENSSL_LIBS="")
105
if test "x$OPENSSL_LIBS" = "x"; then
106
AC_MSG_ERROR([OpenSSL is required when glib-2.0 << 2.16.0])
110
AC_DEFINE_UNQUOTED(WITH_OPENSSL, $with_openssl, [Compile with OpenSSL])
112
dnl ***************************************************************************
113
dnl misc features to be enabled
114
dnl ***************************************************************************
117
AC_MSG_CHECKING(whether to enable IPv6 support)
118
if test "x$blb_cv_c_struct_sockaddr_in6" = "xyes"; then
126
AC_MSG_CHECKING([whether to enable symbol versioning])
127
AC_SUBST(vsymldflags)
128
if test -z "${vsymldflags}"; then
131
AC_MSG_RESULT([yes, ${vsymldflags}])
134
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name])
135
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version number])
141
docs/tutorial/Makefile
144
src/libmongo-client.pc
146
tests/libtap/Makefile