diff options
author | Harald Welte <laforge@gnumonks.org> | 2015-11-21 00:41:43 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2015-11-21 00:50:19 +0100 |
commit | a10ef29b47123a60755b59befca9b2d45f3e29fa (patch) | |
tree | fcdbf5df653855eedec1a3aaeb3465121b0dcc58 /configure.ac | |
parent | b32a19467ffde540b059bf166a378decf07701b8 (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.ac | 45 |
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 |