configure: regroup C header checks
authorMichael Jeanson <mjeanson@efficios.com>
Mon, 22 Mar 2021 16:57:44 +0000 (12:57 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 23 Mar 2021 15:15:26 +0000 (11:15 -0400)
This is part of an effort to standardise our autotools setup across
project to simplify maintenance.

Change-Id: I659c98ce9eb328e78d1c075a1157f59848195650
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
configure.ac
liblttng-ust-ctl/ustctl.c
liblttng-ust/lttng-tracer-core.h
liblttng-ust/ust-events-internal.h

index 685e6fe496bcbf5c298d20fff48d2d1e9b3801b0..ed4eeabc6834a314ab81d9889baea262e382c9cf 100644 (file)
@@ -116,6 +116,31 @@ AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
 AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
 
 
+##               ##
+## Header checks ##
+##               ##
+
+AC_HEADER_STDBOOL
+AC_CHECK_HEADERS([ \
+  arpa/inet.h \
+  dlfcn.h \
+  fcntl.h \
+  float.h \
+  limits.h \
+  linux/perf_event.h \
+  locale.h \
+  stddef.h \
+  sys/socket.h \
+  sys/time.h \
+  wchar.h \
+])
+
+# Check for dlinfo() by testing for RTLD_DI_LINKMAP in dlfcn.h
+AS_IF([test "x$ac_cv_header_dlfcn_h" = "xyes"], [
+  AC_CHECK_DECL([RTLD_DI_LINKMAP], [], [], [[#include <dlfcn.h>]])
+])
+
+
 # Checks for programs.
 AM_PROG_AR
 AC_PROG_SED
@@ -196,20 +221,6 @@ LTTNG_PTHREAD_GETNAME_NP
 # AC_FUNC_MALLOC causes problems when cross-compiling.
 #AC_FUNC_MALLOC
 
-# Checks for header files.
-AC_HEADER_STDBOOL
-AC_CHECK_HEADERS([ \
-       arpa/inet.h \
-       fcntl.h \
-       float.h \
-       limits.h \
-       locale.h \
-       stddef.h \
-       sys/socket.h \
-       sys/time.h \
-       wchar.h \
-])
-
 # Set architecture specific options
 AS_CASE([$host_cpu],
        [i[[3456]]86], [],
@@ -261,16 +272,6 @@ AC_CHECK_LIB([$libdl_name], [dlmopen],
        [AC_DEFINE([HAVE_DLMOPEN], [1])]
 )
 
-# Check for dlfcn.h
-AC_CHECK_HEADER([dlfcn.h])
-AS_IF([test "x${ac_cv_header_dlfcn_h}" = "xyes"], [
-       AC_CHECK_DECLS([RTLD_DI_LINKMAP], [], [], [
-               #include <dlfcn.h>
-       ])
-], [
-       ac_cv_have_decl_RTLD_DI_LINKMAP="no"
-])
-
 AM_CONDITIONAL([ENABLE_UST_DL], [test "x${ac_cv_have_decl_RTLD_DI_LINKMAP}" = "xyes"])
 
 # Require URCU >= 0.12 for DEFINE_URCU_TLS_INIT
@@ -297,17 +298,7 @@ AS_IF([test "x$enable_numa" = "xyes"], [
 ])
 AM_CONDITIONAL([ENABLE_NUMA], [test "x$have_libnuma" = "xyes"])
 
-# optional linux/perf_event.h
-AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
-
-# Perf event counters are supported on all architectures supported by
-# perf, using the read system call as fallback.
-AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes"])
-
-AH_TEMPLATE([HAVE_PERF_EVENT], ["Perf event integration via perf_event.h"])
-AS_IF([test "x$have_perf_event" = "xyes"], [
-       AC_DEFINE([HAVE_PERF_EVENT], [1])
-])
+AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$ac_cv_header_linux_perf_event_h" = "xyes"])
 
 # Check for JNI header files if requested
 AC_ARG_ENABLE([jni-interface], [
@@ -628,7 +619,7 @@ PPRINT_PROP_BOOL_CUSTOM([JNI interface (JNI)], $value, [use --enable-jni-interfa
 test "x$python_agent" = xyes && value=1 || value=0
 PPRINT_PROP_BOOL_CUSTOM([Python agent], $value, [use --enable-python-agent])
 
-test "x$have_perf_event" = "xyes" && value=1 || value=0
+test "x$ac_cv_header_linux_perf_event_h" = "xyes" && value=1 || value=0
 PPRINT_PROP_BOOL_CUSTOM([Perf event integration], $value)
 
 test "x$enable_numa" = xyes && value=1 || value=0
index a4a3313a570aa101bfcb1d8fbbdab0f4230ec5bb..89b566bdccaceade94a553f235a6f1d36f7f0b7a 100644 (file)
@@ -2005,7 +2005,7 @@ int ustctl_get_instance_id(struct ustctl_consumer_stream *stream,
        return client_cb->instance_id(buf, handle, id);
 }
 
-#ifdef HAVE_PERF_EVENT
+#ifdef HAVE_LINUX_PERF_EVENT_H
 
 int ustctl_has_perf_counters(void)
 {
index 54983cba3c6879a538c7a3053c450e62da895383..668d2a8966676cc334f5e418f5cfa8f77ea0fcab 100644 (file)
@@ -113,7 +113,7 @@ void lttng_counter_transport_register(struct lttng_counter_transport *transport)
 __attribute__((visibility("hidden")))
 void lttng_counter_transport_unregister(struct lttng_counter_transport *transport);
 
-#ifdef HAVE_PERF_EVENT
+#ifdef HAVE_LINUX_PERF_EVENT_H
 __attribute__((visibility("hidden")))
 void lttng_ust_fixup_perf_counter_tls(void);
 
@@ -122,7 +122,7 @@ void lttng_perf_lock(void);
 
 __attribute__((visibility("hidden")))
 void lttng_perf_unlock(void);
-#else /* #ifdef HAVE_PERF_EVENT */
+#else /* #ifdef HAVE_LINUX_PERF_EVENT_H */
 static inline
 void lttng_ust_fixup_perf_counter_tls(void)
 {
@@ -135,6 +135,6 @@ static inline
 void lttng_perf_unlock(void)
 {
 }
-#endif /* #else #ifdef HAVE_PERF_EVENT */
+#endif /* #else #ifdef HAVE_LINUX_PERF_EVENT_H */
 
 #endif /* _LTTNG_TRACER_CORE_H */
index f6ab27a2572bd2e2e923cce77501d34f7869c8f1..f116c2e1a8f70cd3e11e861f97ddfb04932a9d2d 100644 (file)
@@ -754,7 +754,7 @@ struct lttng_counter *lttng_ust_counter_create(
                const char *counter_transport_name,
                size_t number_dimensions, const struct lttng_counter_dimension *dimensions);
 
-#ifdef HAVE_PERF_EVENT
+#ifdef HAVE_LINUX_PERF_EVENT_H
 
 __attribute__((visibility("hidden")))
 int lttng_add_perf_counter_to_ctx(uint32_t type,
@@ -768,7 +768,7 @@ int lttng_perf_counter_init(void);
 __attribute__((visibility("hidden")))
 void lttng_perf_counter_exit(void);
 
-#else /* #ifdef HAVE_PERF_EVENT */
+#else /* #ifdef HAVE_LINUX_PERF_EVENT_H */
 
 static inline
 int lttng_add_perf_counter_to_ctx(uint32_t type,
@@ -787,7 +787,7 @@ static inline
 void lttng_perf_counter_exit(void)
 {
 }
-#endif /* #else #ifdef HAVE_PERF_EVENT */
+#endif /* #else #ifdef HAVE_LINUX_PERF_EVENT_H */
 
 __attribute__((visibility("hidden")))
 int lttng_probes_get_event_list(struct lttng_ust_tracepoint_list *list);
This page took 0.029749 seconds and 4 git commands to generate.