From 5cddb8970b3befb39def5395c3d9f72cf8ccac23 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Thu, 29 Jun 2017 15:26:12 -0400 Subject: [PATCH] Cleanup: popt library detection MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Simplify popt detection code and use a variable to store the detected lib instead of using the global LIBS variable. Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- cli/Makefile.am | 15 +++++++-------- configure.ac | 19 +++++++++++++++++-- plugins/ctf/common/metadata/Makefile.am | 2 +- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/cli/Makefile.am b/cli/Makefile.am index 08d7252e..f2a180d6 100644 --- a/cli/Makefile.am +++ b/cli/Makefile.am @@ -12,7 +12,6 @@ IN_TREE_PLUGIN_PATH = $(PLUGINS_PATH)/ctf:$(PLUGINS_PATH)/text:$(PLUGINS_PATH)/u endif AM_CPPFLAGS += '-DCONFIG_IN_TREE_PLUGIN_PATH="$(IN_TREE_PLUGIN_PATH)"' -AM_LDFLAGS = -lpopt bin_PROGRAMS = babeltrace.bin babeltrace-log.bin noinst_PROGRAMS = babeltrace babeltrace-log @@ -46,7 +45,8 @@ babeltrace_bin_LDADD = \ $(top_builddir)/compat/libcompat.la \ $(top_builddir)/common/libbabeltrace-common.la \ $(top_builddir)/logging/libbabeltrace-logging.la \ - $(top_builddir)/plugins/libctfcopytrace/libctfcopytrace.la + $(top_builddir)/plugins/libctfcopytrace/libctfcopytrace.la \ + $(POPT_LIBS) if BUILT_IN_PLUGINS # Takes a plugin name and outputs the needed LDFLAGS to embed it. @@ -76,7 +76,7 @@ endif endif if BABELTRACE_BUILD_WITH_MINGW -babeltrace_bin_LDADD += -lws2_32 -lrpcrt4 -lintl -liconv -lole32 -lpopt -lpthread +babeltrace_bin_LDADD += -lws2_32 -lrpcrt4 -lintl -liconv -lole32 -lpthread endif # Only used for in-tree execution and tests @@ -87,13 +87,12 @@ babeltrace_CFLAGS = $(AM_CFLAGS) -DBT_SET_DEFAULT_IN_TREE_CONFIGURATION # babeltrace-log rules and config below babeltrace_log_bin_SOURCES = babeltrace-log.c -babeltrace_log_bin_LDADD = $(top_builddir)/compat/libcompat.la +babeltrace_log_bin_LDADD = \ + $(top_builddir)/compat/libcompat.la \ + $(POPT_LIBS) babeltrace_log_bin_CFLAGS = $(AM_CFLAGS) '-DBT_CLI_PATH="$(abs_top_builddir)/cli/babeltrace$(EXEEXT)"' -if BABELTRACE_BUILD_WITH_MINGW -babeltrace_log_bin_LDADD += -lpopt -endif - +# Only used for in-tree execution and tests babeltrace_log_SOURCES = $(babeltrace_log_bin_SOURCES) babeltrace_log_LDADD = $(babeltrace_log_bin_LDADD) babeltrace_log_CFLAGS = $(AM_CFLAGS) '-DBT_CLI_PATH="$(bindir)/babeltrace$(EXEEXT)"' diff --git a/configure.ac b/configure.ac index e995e441..93c6a8d1 100644 --- a/configure.ac +++ b/configure.ac @@ -236,9 +236,24 @@ AC_CHECK_LIB([c], [posix_fallocate], ] ) -AC_CHECK_LIB([popt], [poptGetContext], [], - [AC_MSG_ERROR([Cannot find popt.])] +# Check libpopt +PKG_CHECK_MODULES([POPT], [popt], + [ + dnl PKG_CHECK_MODULES defines POPT_LIBS + ], + [ + AC_MSG_WARN([pkg-config was unable to find a valid .pc for libpopt. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location]) + AC_MSG_WARN([Finding libpopt without pkg-config.]) + AC_CHECK_LIB([popt], + [poptGetContext], + [POPT_LIBS="-lpopt"], + [ + AC_MSG_FAILURE([Cannot find libpopt. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location]) + ] + ) + ] ) +AC_SUBST(POPT_LIBS) # Plugins AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace/plugins]]) diff --git a/plugins/ctf/common/metadata/Makefile.am b/plugins/ctf/common/metadata/Makefile.am index fa8b3418..8c6e8779 100644 --- a/plugins/ctf/common/metadata/Makefile.am +++ b/plugins/ctf/common/metadata/Makefile.am @@ -36,7 +36,7 @@ libctf_ast_la_LIBADD += -lc endif if BABELTRACE_BUILD_WITH_MINGW -libctf_ast_la_LIBADD += -lrpcrt4 -lintl -liconv -lole32 -lpopt +libctf_ast_la_LIBADD += -lrpcrt4 -lintl -liconv -lole32 $(POPT_LIBS) endif CLEANFILES = $(BUILT_SOURCES) parser.output -- 2.34.1