Fix: make dist fails on sdt-probe test with autotools v1.16+
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 13 Dec 2019 20:25:28 +0000 (15:25 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 20 Dec 2019 00:23:27 +0000 (19:23 -0500)
The 'dist' target fails when building with autotools 1.16.1 as the
behaviour of BUILT_SOURCES has changed in 1.16 [1].

BUILT_SOURCES are now built as part of the 'dist' target which causes
it to fail on machines that don't have dtrace installed.

The following error is produced: DTRACE foobar_provider.h /bin/sh: -s:
  command not found

The BUILT_SOURCES is skipped for build configurations where the build
of the test helper 'userspace-probe-sdt-binary' is disabled.

The resulting artifact, foobar_provider.h, is not part of the
distributed tarball (marked as nodist), so this doesn't have any
adverse effect.

[1] https://www.mail-archive.com/automake@gnu.org/msg20156.html

Signed-off-by: Michael Jeanson <michael.jeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: Ibba4689775a8b002e8a959079b1f3c8db9917c5f

tests/utils/testapp/userspace-probe-sdt-binary/Makefile.am

index 591f4aa6c1928054f088d9d7ab1c5e6805cd67dd..73bf3a23503783ad4086a3b0097db60f6ac027a7 100644 (file)
@@ -1,5 +1,14 @@
 EXTRA_DIST = foobar_provider.d
+
+# Although this is redundant with the check performed in the parent
+# Makefile.am, this is needed for autotools v1.16+ as BUILT_SOURCES is
+# evaluated for the 'dist' target.
+#
+# It is fine to generate this header in the 'dist' target (when
+# enabled) as it won't be distributed anyhow (it is marked as nodist).
+if TEST_SDT_UPROBE
 BUILT_SOURCES = foobar_provider.h
+endif
 
 noinst_PROGRAMS = userspace-probe-sdt-binary
 userspace_probe_sdt_binary_SOURCES = userspace-probe-sdt-binary.c sema.h sema.c
This page took 0.025708 seconds and 4 git commands to generate.