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 <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
endif
AM_CPPFLAGS += '-DCONFIG_IN_TREE_PLUGIN_PATH="$(IN_TREE_PLUGIN_PATH)"'
endif
AM_CPPFLAGS += '-DCONFIG_IN_TREE_PLUGIN_PATH="$(IN_TREE_PLUGIN_PATH)"'
bin_PROGRAMS = babeltrace.bin babeltrace-log.bin
noinst_PROGRAMS = babeltrace babeltrace-log
bin_PROGRAMS = babeltrace.bin babeltrace-log.bin
noinst_PROGRAMS = babeltrace babeltrace-log
$(top_builddir)/compat/libcompat.la \
$(top_builddir)/common/libbabeltrace-common.la \
$(top_builddir)/logging/libbabeltrace-logging.la \
$(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.
if BUILT_IN_PLUGINS
# Takes a plugin name and outputs the needed LDFLAGS to embed it.
endif
if BABELTRACE_BUILD_WITH_MINGW
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
endif
# Only used for in-tree execution and tests
# babeltrace-log rules and config below
babeltrace_log_bin_SOURCES = babeltrace-log.c
# 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)"'
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)"'
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)"'
-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])
+ ]
+ )
+ ]
# Plugins
AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace/plugins]])
# Plugins
AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace/plugins]])
endif
if BABELTRACE_BUILD_WITH_MINGW
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
endif
CLEANFILES = $(BUILT_SOURCES) parser.output