From a9caac65d268cb9ef11ac9b14027078002f6ec44 Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Tue, 1 Dec 2015 15:19:01 -0500 Subject: [PATCH] Build: fallback to AC_CHECK_LIBS when looking for popt and uuid MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Not all distro ship .pc so fallback to basic libs searching if necessary. Signed-off-by: Jonathan Rajotte Reviewed-by: Samuel Martin Signed-off-by: Jérémie Galarneau --- configure.ac | 48 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/configure.ac b/configure.ac index 978e3bc0c..5537c1540 100644 --- a/configure.ac +++ b/configure.ac @@ -214,13 +214,23 @@ AC_DEFINE_DIR([CONFIG_LTTNG_SYSTEM_DATADIR],[datadir], [LTTng system data direct # # Check for pthread AC_CHECK_LIB([pthread], [pthread_create], [], - [AC_MSG_ERROR([Cannot find libpthread. Use [LDFLAGS]=-Ldir to specify its location.])] + [AC_MSG_ERROR([Cannot find libpthread. Use LDFLAGS=-Ldir to specify its location.])] ) # Check libpopt PKG_CHECK_MODULES([POPT], [popt], [LIBS="$LIBS $POPT_LIBS"], - [AC_MSG_ERROR([Cannot find libpopt. Use [LDFLAGS]=-Ldir to specify its location.])] + [ + 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], + [], + [ + AC_MSG_ERROR([Cannot find libpopt. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location]) + ] + ) + ] ) AM_PATH_XML2(2.7.6, true, AC_MSG_ERROR(No supported version of libxml2 found.)) @@ -233,17 +243,29 @@ PKG_CHECK_MODULES([UUID], [uuid], have_libuuid=yes ], [ - # libuuid not found, check for uuid_create in libc. - AC_CHECK_LIB([c], [uuid_create], - [ - AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBC_UUID], 1, [Has libc uuid support.]) - have_libc_uuid=yes - ], - [ - AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.]) - ]) -] -) + AC_MSG_WARN([pkg-config was unable to find a valid .pc for libuuid. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location]) + AC_MSG_WARN([Finding libuuid without pkg-config.]) + AC_CHECK_LIB([uuid], + [uuid_generate], + [ + AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBUUID], 1, [Has libuuid support.]) + have_libuuid=yes + ], + [ + # libuuid not found, check for uuid_create in libc. + AC_CHECK_LIB([c], + [uuid_create], + [ + AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBC_UUID], 1, [Has libc uuid support.]) + have_libc_uuid=yes + ], + [ + AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location]) + ] + ) + ] + ) +]) AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"]) AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBC_UUID], [test "x$have_libc_uuid" = "xyes"]) -- 2.34.1