From 8aeb3cae3d7a1c2cf0fb24d8d83c94e32d5622dd Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 18 Nov 2019 12:07:50 -0500 Subject: [PATCH] doc: pass AR when building examples As reported here [1], when cross-compiling lttng-ust, the "hello-static-lib" example uses the ar tool made for the --build machine instead of the prefixed one, for the --host machine. The Makefiles in the subdirectories of doc/examples are written by hand, so that they can be easily copied and modified by users. They are therefore not integrated in the automake build system, and any value detected by configure must be passed explicitly when invoking it. For example, the CC value is already explicitly passed, so that the compiler value found by configure is passed down. We just need to do the same for AR. This patch adds AM_PROG_AR in configure.ac, so that configure finds the prefixed version of ar, if cross-compiling. It then sets the AR variable in doc/examples/Makefile.am, when invoking sub-Makefiles. I don't think we really need it in the cmake case, but it doesn't hurt to have it there. [1] https://lists.lttng.org/pipermail/lttng-dev/2019-November/029388.html Reported-by: Rolf Eike Beer Signed-off-by: Simon Marchi Signed-off-by: Mathieu Desnoyers --- configure.ac | 1 + doc/examples/Makefile.am | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 001c4428..e07888c0 100644 --- a/configure.ac +++ b/configure.ac @@ -66,6 +66,7 @@ AS_IF([test "x${ax_cv_sys_weak_alias}" = "xno"], [ ]) # Checks for programs. +AM_PROG_AR AC_PROG_SED AC_PROG_GREP AC_PROG_LN_S diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index d5d00b09..2f9811ea 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -123,7 +123,7 @@ all-local: rel_build_subdir="../"; \ fi; \ for subdir in $(SUBDIRS_PROXY); do \ - (cd $$subdir && $(MAKE) CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" AM_CPPFLAGS="$(AM_CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" CFLAGS='$(CFLAGS)' AM_CFLAGS='$(AM_CFLAGS)' LDFLAGS="$(LDFLAGS)" AM_LDFLAGS='$(AM_LDFLAGS) -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ + (cd $$subdir && $(MAKE) AR="$(AR)" CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" AM_CPPFLAGS="$(AM_CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" CFLAGS='$(CFLAGS)' AM_CFLAGS='$(AM_CFLAGS)' LDFLAGS="$(LDFLAGS)" AM_LDFLAGS='$(AM_LDFLAGS) -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" AM_V_P="$(AM_V_P)" AM_V_at="$(AM_V_at)" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ done; \ if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ for subdir in $(SUBDIRS_JUL); do \ @@ -141,6 +141,7 @@ all-local: cd $$subdir && \ $(MKDIR_P) build && \ cd build && \ + AR="$(AR)" \ CC="$(CC)" \ CXX="$(CXX)" \ cmake \ -- 2.34.1