aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-11-21 00:41:43 +0100
committerHarald Welte <laforge@gnumonks.org>2015-11-21 00:50:19 +0100
commita10ef29b47123a60755b59befca9b2d45f3e29fa (patch)
treefcdbf5df653855eedec1a3aaeb3465121b0dcc58 /configure.ac
parentb32a19467ffde540b059bf166a378decf07701b8 (diff)
use system-wide libtalloc with --enable-system-talloc
This introduces a new configure flag by which the libosmocore-internal talloc code is not compiled, but rather a system-wide libtalloc is used. When we started openbsc/libosmocore in 2008, libtalloc was not widely present on systems yet. This has changed meanwhile, and we should simply use the system-wide library
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac45
1 files changed, 44 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 9a744b10..126e9a56 100644
--- a/configure.ac
+++ b/configure.ac
@@ -97,11 +97,25 @@ AM_CONDITIONAL(ENABLE_PCSC, test "x$enable_pcsc" = "xyes")
AC_ARG_ENABLE(talloc,
[AS_HELP_STRING(
[--disable-talloc],
- [Disable building talloc memory allocator]
+ [Disable building libosmocore internal talloc memory allocator]
)],
[enable_talloc=$enableval], [enable_talloc="yes"])
AM_CONDITIONAL(ENABLE_TALLOC, [test x"$enable_talloc" = x"yes"])
+AC_ARG_ENABLE(system-talloc,
+ [AS_HELP_STRING(
+ [--enable-system-talloc],
+ [Enable using a system-level talloc library]
+ )],
+ [enable_system_talloc=$enableval], [enable_system_talloc="no"])
+AM_CONDITIONAL(ENABLE_SYSTEM_TALLOC, [test x"$enable_system_talloc" = x"yes"])
+if test x"$enable_system_talloc" = x"yes"; then
+ PKG_CHECK_MODULES(TALLOC, talloc)
+ if test x"$enable_talloc" = x"yes"; then
+ AC_MSG_ERROR([You cannot enable both internal and system talloc])
+ fi
+fi
+
AC_ARG_ENABLE(plugin,
[AS_HELP_STRING(
[--disable-plugin],
@@ -191,6 +205,35 @@ then
AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort])
fi
+AC_OUTPUT_COMMANDS([
+ if test -n "$CONFIG_FILES" && test -n "$CONFIG_HEADERS"; then
+ CONFIG_OTHER=${CONFIG_OTHER-include/osmocom/core/talloc.h}
+ fi
+ case "$CONFIG_OTHER" in
+ "include/osmocom/core/talloc.h")
+ outfile=include/osmocom/core/talloc.h
+ stampfile=include/stamp-talloc
+ tmpfile=${outfile}T
+ dirname="sed s,^.*/,,g"
+
+ echo creating $outfile
+ cat > $outfile << _EOF_
+/* DO NOT EDIT THIS FILE! It has been automaticall generated from
+ * configure.ac on host: `(hostname || uname -n) 2>/dev/null | sed 1q`
+ */
+#pragma once
+_EOF_
+ if test x"$enable_system_talloc" = x"yes"; then
+ echo '#include <talloc.h>' >> $outfile
+ else
+ echo '#include <osmocom/core/talloc-internal.h>' >> $outfile
+ fi
+ esac
+],[
+ srcdir=$srcdir
+ enable_system_talloc=$enable_system_talloc
+])
+
AC_OUTPUT(
libosmocore.pc