-AC_PREREQ([2.65])
-AC_INIT([libsortnetwork], [1.0.0], [ff@octo.it])
+AC_PREREQ([2.61])
+AC_INIT([libsortnetwork], [1.1.0], [ff@octo.it])
AC_CONFIG_SRCDIR([src/sn_network.c])
AC_CONFIG_HEADERS([src/config.h])
AM_INIT_AUTOMAKE(dist-bzip2)
AM_PROG_CC_C_O
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
+PKG_PROG_PKG_CONFIG
# Libtool stuff
-LT_CONFIG_LTDL_DIR([libltdl])
LT_INIT
-LTDL_INIT
if test "x$GCC" = "xyes"
then
AC_FUNC_REALLOC
AC_CHECK_FUNCS([memmove memset strcasecmp strchr strdup strtol])
+AC_ARG_VAR([LIBPOPULATION_CPPFLAGS], [C preprocessor flags required to build with libpopulation])
+AC_ARG_VAR([LIBPOPULATION_LDFLAGS], [Linker flags required to build with libpopulation])
+AC_ARG_VAR([LIBPOPULATION_LIBS], [Other libraries required to link against libpopulation])
+
+# --with-libpopulation {{{
+LIBPOPULATION_CPPFLAGS="$LIBPOPULATION_CPPFLAGS"
+LIBPOPULATION_LDFLAGS="$LIBPOPULATION_LDFLAGS"
+LIBPOPULATION_LIBS="$LIBPOPULATION_LIBS"
+AC_ARG_WITH(libpopulation, [AS_HELP_STRING([--with-libpopulation@<:@=PREFIX@:>@], [Path to libpopulation.])],
+[
+ if test "x$withval" = "xyes" || test "x$withval" = "xno"
+ then
+ with_libpopulation="$withval"
+ else
+ LIBPOPULATION_CPPFLAGS="$LIBPOPULATION_CPPFLAGS -I$withval/include"
+ LIBPOPULATION_LDFLAGS="$LIBPOPULATION_LDFLAGS -L$withval/lib"
+ with_libpopulation="yes"
+ fi
+],
+[
+ with_libpopulation="yes"
+])
+
+SAVE_CPPFLAGS="$CPPFLAGS"
+SAVE_LDFLAGS="$LDFLAGS"
+CPPFLAGS="$CPPFLAGS $LIBPOPULATION_CPPFLAGS"
+LDFLAGS="$LDFLAGS $LIBPOPULATION_LDFLAGS"
+
+if test "x$with_libpopulation" = "xyes"
+then
+ AC_CHECK_HEADERS(population.h,
+ [with_libpopulation="yes"],
+ [with_libpopulation="no"])
+fi
+
+if test "x$with_libpopulation" = "xyes"
+then
+ if test "x$LIBPOPULATION_LIBS" = "x"
+ then
+ LIBPOPULATION_LIBS="-lpthread"
+ fi
+
+ AC_CHECK_LIB(population, population_create,
+ [with_libpopulation="yes"],
+ [with_libpopulation="no"],
+ [$LIBPOPULATION_LIBS])
+ LIBPOPULATION_LIBS="-lpopulation $LIBPOPULATION_LIBS"
+fi
+
+CPPFLAGS="$SAVE_CPPFLAGS"
+LDFLAGS="$SAVE_LDFLAGS"
+
+if test "x$with_libpopulation" = "xyes"
+then
+ AC_DEFINE(HAVE_LIBPOPULATION, 1, [Define to 1 if you have the population library (-lpopulation).])
+fi
+
+AC_SUBST(LIBPOPULATION_CPPFLAGS)
+AC_SUBST(LIBPOPULATION_LDFLAGS)
+AC_SUBST(LIBPOPULATION_LIBS)
+AM_CONDITIONAL(BUILD_WITH_LIBPOPULATION, test "x$with_libpopulation" = "xyes")
+# }}} --with-libpopulation
+
+PKG_CHECK_MODULES([glib], [glib-2.0],
+ [have_libglib="yes"],
+ [have_libglib="no"])
+
+if test "x$have_libglib" != "xyes"
+then
+ AC_MSG_ERROR([The GLib library could not be found. It is required when building libsortnetwork!])
+fi
+
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT
+
+# vim: set fdm=marker :