[lttng-dev] [PATCH lttng-ust 1/4] Use a variable to select the dlopen lib in Makefiles
Michael Jeanson
mjeanson at efficios.com
Thu Dec 20 15:22:39 EST 2018
Instead of multiple conditionnals, it makes for cleaner and more
readable Makefiles.
Signed-off-by: Michael Jeanson <mjeanson at efficios.com>
---
configure.ac | 8 +++-----
liblttng-ust-cyg-profile/Makefile.am | 17 ++++++-----------
liblttng-ust-dl/Makefile.am | 11 +++--------
liblttng-ust-fd/Makefile.am | 11 +++--------
liblttng-ust-fork/Makefile.am | 10 ++--------
liblttng-ust-libc-wrapper/Makefile.am | 18 +++++++-----------
liblttng-ust/Makefile.am | 22 ++++++----------------
tests/benchmark/Makefile.am | 14 +++-----------
tests/ctf-types/Makefile.am | 9 +--------
tests/hello-many/Makefile.am | 9 +--------
tests/hello.cxx/Makefile.am | 9 +--------
tests/hello/Makefile.am | 9 +--------
tests/same_line_tracepoint/Makefile.am | 9 +--------
tests/test-app-ctx/Makefile.am | 9 +--------
tests/ust-variant/Makefile.am | 9 +--------
15 files changed, 40 insertions(+), 134 deletions(-)
diff --git a/configure.ac b/configure.ac
index 2ea15533..431ed21a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -207,17 +207,18 @@ AH_TEMPLATE([LTTNG_UST_HAVE_PERF_EVENT], [Perf event integration via perf_event.
# Checks for libraries.
AC_CHECK_LIB([dl], [dlopen], [
- have_libdl=yes
libdl_name=dl
+ DL_LIBS="-ldl"
], [
#libdl not found, check for dlopen in libc.
AC_CHECK_LIB([c], [dlopen], [
- have_libc_dl=yes
libdl_name=c
+ DL_LIBS="-lc"
], [
AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
])
])
+AC_SUBST(DL_LIBS)
# Check if libdl has dlmopen support.
AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."])
@@ -225,9 +226,6 @@ AC_CHECK_LIB([$libdl_name], [dlmopen],
[AC_DEFINE([HAVE_DLMOPEN], [1])]
)
-AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBDL], [test "x$have_libdl" = "xyes"])
-AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBC_DL], [test "x$have_libc_dl" = "xyes"])
-
AC_CHECK_LIB([pthread], [pthread_create])
AC_CHECK_LIB([pthread], [pthread_setname_np],
AC_DEFINE([HAVE_PTHREAD_SETNAME_NP], [1], [Define to 1 if pthread_setname_np is available.]),
diff --git a/liblttng-ust-cyg-profile/Makefile.am b/liblttng-ust-cyg-profile/Makefile.am
index 3130282d..0ed2cd9c 100644
--- a/liblttng-ust-cyg-profile/Makefile.am
+++ b/liblttng-ust-cyg-profile/Makefile.am
@@ -7,25 +7,20 @@ lib_LTLIBRARIES = liblttng-ust-cyg-profile.la \
liblttng_ust_cyg_profile_la_SOURCES = \
lttng-ust-cyg-profile.c \
lttng-ust-cyg-profile.h
+
liblttng_ust_cyg_profile_la_LIBADD = \
-L$(top_builddir)/liblttng-ust/.libs \
- -llttng-ust
+ -llttng-ust \
+ $(DL_LIBS)
liblttng_ust_cyg_profile_fast_la_SOURCES = \
lttng-ust-cyg-profile-fast.c \
lttng-ust-cyg-profile-fast.h
+
liblttng_ust_cyg_profile_fast_la_LIBADD = \
-L$(top_builddir)/liblttng-ust/.libs \
- -llttng-ust
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_cyg_profile_la_LIBADD += -ldl
-liblttng_ust_cyg_profile_fast_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_cyg_profile_la_LIBADD += -lc
-liblttng_ust_cyg_profile_fast_la_LIBADD += -lc
-endif
+ -llttng-ust \
+ $(DL_LIBS)
noinst_SCRIPTS = run run-fast
EXTRA_DIST = run run-fast
diff --git a/liblttng-ust-dl/Makefile.am b/liblttng-ust-dl/Makefile.am
index c0168f39..1f6d166a 100644
--- a/liblttng-ust-dl/Makefile.am
+++ b/liblttng-ust-dl/Makefile.am
@@ -6,14 +6,9 @@ liblttng_ust_dl_la_SOURCES = \
lttng-ust-dl.c \
ust_dl.c \
ust_dl.h
-liblttng_ust_dl_la_LIBADD = \
- $(top_builddir)/liblttng-ust/liblttng-ust.la
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_dl_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_dl_la_LIBADD += -lc
-endif
+liblttng_ust_dl_la_LIBADD = \
+ $(top_builddir)/liblttng-ust/liblttng-ust.la \
+ $(DL_LIBS)
liblttng_ust_dl_la_CFLAGS = -DUST_COMPONENT=liblttng-ust-dl $(AM_CFLAGS)
diff --git a/liblttng-ust-fd/Makefile.am b/liblttng-ust-fd/Makefile.am
index f7706634..57122ec7 100644
--- a/liblttng-ust-fd/Makefile.am
+++ b/liblttng-ust-fd/Makefile.am
@@ -4,14 +4,9 @@ AM_CFLAGS += -fno-strict-aliasing
lib_LTLIBRARIES = liblttng-ust-fd.la
liblttng_ust_fd_la_SOURCES = \
lttng-ust-fd.c
-liblttng_ust_fd_la_LIBADD = \
- $(top_builddir)/liblttng-ust/liblttng-ust.la
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_fd_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_fd_la_LIBADD += -lc
-endif
+liblttng_ust_fd_la_LIBADD = \
+ $(top_builddir)/liblttng-ust/liblttng-ust.la \
+ $(DL_LIBS)
liblttng_ust_fd_la_CFLAGS = -DUST_COMPONENT=liblttng-ust-fd $(AM_CFLAGS)
diff --git a/liblttng-ust-fork/Makefile.am b/liblttng-ust-fork/Makefile.am
index 2f0976d4..d05f5b93 100644
--- a/liblttng-ust-fork/Makefile.am
+++ b/liblttng-ust-fork/Makefile.am
@@ -4,13 +4,7 @@ AM_CFLAGS += -fno-strict-aliasing
lib_LTLIBRARIES = liblttng-ust-fork.la
liblttng_ust_fork_la_SOURCES = ustfork.c
liblttng_ust_fork_la_LIBADD = \
- $(top_builddir)/liblttng-ust/liblttng-ust.la
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_fork_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_fork_la_LIBADD += -lc
-endif
+ $(top_builddir)/liblttng-ust/liblttng-ust.la \
+ $(DL_LIBS)
liblttng_ust_fork_la_CFLAGS = -DUST_COMPONENT=liblttng-ust-fork $(AM_CFLAGS)
diff --git a/liblttng-ust-libc-wrapper/Makefile.am b/liblttng-ust-libc-wrapper/Makefile.am
index e73b4d88..e510a11a 100644
--- a/liblttng-ust-libc-wrapper/Makefile.am
+++ b/liblttng-ust-libc-wrapper/Makefile.am
@@ -3,28 +3,24 @@ AM_CFLAGS += -fno-strict-aliasing
lib_LTLIBRARIES = liblttng-ust-libc-wrapper.la \
liblttng-ust-pthread-wrapper.la
+
liblttng_ust_libc_wrapper_la_SOURCES = \
lttng-ust-malloc.c \
ust_libc.h
+
liblttng_ust_libc_wrapper_la_LIBADD = \
-L$(top_builddir)/liblttng-ust/.libs \
- -llttng-ust
+ -llttng-ust \
+ $(DL_LIBS)
liblttng_ust_pthread_wrapper_la_SOURCES = \
lttng-ust-pthread.c \
ust_pthread.h
+
liblttng_ust_pthread_wrapper_la_LIBADD = \
-L$(top_builddir)/liblttng-ust/.libs \
- -llttng-ust
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_libc_wrapper_la_LIBADD += -ldl
-liblttng_ust_pthread_wrapper_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_libc_wrapper_la_LIBADD += -lc
-liblttng_ust_pthread_wrapper_la_LIBADD += -lc
-endif
+ -llttng-ust \
+ $(DL_LIBS)
noinst_SCRIPTS = run
EXTRA_DIST = run
diff --git a/liblttng-ust/Makefile.am b/liblttng-ust/Makefile.am
index 57df3aed..ea4c8f61 100644
--- a/liblttng-ust/Makefile.am
+++ b/liblttng-ust/Makefile.am
@@ -12,20 +12,16 @@ liblttng_ust_tracepoint_la_SOURCES = \
lttng-tracer-core.h \
jhash.h \
error.h
+
liblttng_ust_tracepoint_la_LIBADD = \
-lurcu-bp \
-lpthread \
- $(top_builddir)/snprintf/libustsnprintf.la
+ $(top_builddir)/snprintf/libustsnprintf.la \
+ $(DL_LIBS)
+
liblttng_ust_tracepoint_la_LDFLAGS = -no-undefined -version-info $(LTTNG_UST_LIBRARY_VERSION)
liblttng_ust_tracepoint_la_CFLAGS = -DUST_COMPONENT="liblttng_ust_tracepoint" $(AM_CFLAGS)
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_tracepoint_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_tracepoint_la_LIBADD += -lc
-endif
-
liblttng_ust_runtime_la_SOURCES = \
lttng-ust-comm.c \
lttng-ust-abi.c \
@@ -106,13 +102,7 @@ liblttng_ust_la_LIBADD = \
$(top_builddir)/snprintf/libustsnprintf.la \
$(top_builddir)/liblttng-ust-comm/liblttng-ust-comm.la \
liblttng-ust-tracepoint.la \
- liblttng-ust-runtime.la liblttng-ust-support.la
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-liblttng_ust_la_LIBADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-liblttng_ust_la_LIBADD += -lc
-endif
+ liblttng-ust-runtime.la liblttng-ust-support.la \
+ $(DL_LIBS)
liblttng_ust_la_CFLAGS = -DUST_COMPONENT="liblttng_ust" $(AM_CFLAGS)
diff --git a/tests/benchmark/Makefile.am b/tests/benchmark/Makefile.am
index 4ea420c6..ef9635c0 100644
--- a/tests/benchmark/Makefile.am
+++ b/tests/benchmark/Makefile.am
@@ -2,20 +2,12 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = bench1 bench2
bench1_SOURCES = bench.c tp.c ust_tests_benchmark.h
-bench1_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
+bench1_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
+
bench2_SOURCES = bench.c tp.c ust_tests_benchmark.h
-bench2_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
+bench2_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
bench2_CFLAGS = -DTRACING $(AM_CFLAGS)
dist_noinst_SCRIPTS = test_benchmark ptime
extra_DIST = README
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-bench1_LDADD += -ldl
-bench2_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-bench1_LDADD += -lc
-bench2_LDADD += -lc
-endif
diff --git a/tests/ctf-types/Makefile.am b/tests/ctf-types/Makefile.am
index a9b40b6a..42d803f2 100644
--- a/tests/ctf-types/Makefile.am
+++ b/tests/ctf-types/Makefile.am
@@ -2,12 +2,5 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = ctf-types
ctf_types_SOURCES = ctf-types.c tp.c ust_tests_ctf_types.h
-ctf_types_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
+ctf_types_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
ctf_types_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS)
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-ctf_types_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-ctf_types_LDADD += -lc
-endif
diff --git a/tests/hello-many/Makefile.am b/tests/hello-many/Makefile.am
index 338b7986..ee648225 100644
--- a/tests/hello-many/Makefile.am
+++ b/tests/hello-many/Makefile.am
@@ -2,12 +2,5 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = hello-many
hello_many_SOURCES = hello-many.c tp.c ust_tests_hello_many.h
-hello_many_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
+hello_many_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
hello_many_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS)
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-hello_many_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-hello_many_LDADD += -lc
-endif
diff --git a/tests/hello.cxx/Makefile.am b/tests/hello.cxx/Makefile.am
index f8a8f46d..4b0fb234 100644
--- a/tests/hello.cxx/Makefile.am
+++ b/tests/hello.cxx/Makefile.am
@@ -2,11 +2,4 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = hello
hello_SOURCES = hello.cpp tp-cpp.cpp ust_tests_hello.h
-hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-hello_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-hello_LDADD += -lc
-endif
+hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
diff --git a/tests/hello/Makefile.am b/tests/hello/Makefile.am
index cb4d4626..d5e42d33 100644
--- a/tests/hello/Makefile.am
+++ b/tests/hello/Makefile.am
@@ -2,12 +2,5 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = hello
hello_SOURCES = hello.c tp.c ust_tests_hello.h
-hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
+hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
hello_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS)
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-hello_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-hello_LDADD += -lc
-endif
diff --git a/tests/same_line_tracepoint/Makefile.am b/tests/same_line_tracepoint/Makefile.am
index 5cb4f36b..ae1f773d 100644
--- a/tests/same_line_tracepoint/Makefile.am
+++ b/tests/same_line_tracepoint/Makefile.am
@@ -2,11 +2,4 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = same_line_tracepoint
same_line_tracepoint_SOURCES = same_line_tracepoint.c ust_tests_sameline.h
-same_line_tracepoint_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-same_line_tracepoint_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-same_line_tracepoint_LDADD += -lc
-endif
+same_line_tracepoint_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
diff --git a/tests/test-app-ctx/Makefile.am b/tests/test-app-ctx/Makefile.am
index cb4d4626..d5e42d33 100644
--- a/tests/test-app-ctx/Makefile.am
+++ b/tests/test-app-ctx/Makefile.am
@@ -2,12 +2,5 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = hello
hello_SOURCES = hello.c tp.c ust_tests_hello.h
-hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
+hello_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
hello_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS)
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-hello_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-hello_LDADD += -lc
-endif
diff --git a/tests/ust-variant/Makefile.am b/tests/ust-variant/Makefile.am
index 5d741bdf..28e62009 100644
--- a/tests/ust-variant/Makefile.am
+++ b/tests/ust-variant/Makefile.am
@@ -2,12 +2,5 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -Wsystem-headers
noinst_PROGRAMS = ust-variant
ust_variant_SOURCES = ust-variant.c
-ust_variant_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la
+ust_variant_LDADD = $(top_builddir)/liblttng-ust/liblttng-ust.la $(DL_LIBS)
ust_variant_CFLAGS = -Werror=old-style-definition $(AM_CFLAGS)
-
-if LTTNG_UST_BUILD_WITH_LIBDL
-ust_variant_LDADD += -ldl
-endif
-if LTTNG_UST_BUILD_WITH_LIBC_DL
-ust_variant_LDADD += -lc
-endif
--
2.17.1
More information about the lttng-dev
mailing list