From a10ef29b47123a60755b59befca9b2d45f3e29fa Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 21 Nov 2015 00:41:43 +0100 Subject: 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 --- configure.ac | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'configure.ac') 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 ' >> $outfile + else + echo '#include ' >> $outfile + fi + esac +],[ + srcdir=$srcdir + enable_system_talloc=$enable_system_talloc +]) + AC_OUTPUT( libosmocore.pc -- cgit v1.2.3