cc plugin: Filter out -ffile-prefix-map etc. from CFLAGS
authorSimon McVittie <smcv@debian.org>
Mon, 23 Aug 2021 08:40:33 +0000 (09:40 +0100)
committerHilko Bengen <bengen@debian.org>
Mon, 22 Jul 2024 09:49:16 +0000 (11:49 +0200)
The default CFLAGS from dpkg-buildflags include this compiler flag to
rewrite nbdkit's own source directory in __FILE__, debug symbols and
similar constructs so that the source directory used by the developer
or the transient source directory used by an autobuilder is not
written into the executable, which would make it non-reproducible
between different build directories. Older versions used
-fdebug-prefix-map for a similar (although more limited) purpose.

However, these particular flags are not useful when compiling a new
plugin at a later time, and because they include the package's source
directory, including them in the binary makes it non-reproducible
between different build directories.

Signed-off-by: Simon McVittie <smcv@debian.org>
Bug-Debian: https://bugs.debian.org/992722

Gbp-Pq: Name 0009-cc-plugin-Filter-out-ffile-prefix-map-etc.-from-CFLA.patch

plugins/cc/Makefile.am

index 088b5ff3e8494d4aa7eb0167ca0220e7479e1e4c..f0b10d29a7a29fac5b29c5038cc4358de256c70a 100644 (file)
@@ -46,7 +46,7 @@ nbdkit_cc_plugin_la_SOURCES = \
 
 nbdkit_cc_plugin_la_CPPFLAGS = \
        -DCC="\"$(CC_PLUGIN_CC)\"" \
-       -DCFLAGS="\"$(CC_PLUGIN_CFLAGS)\"" \
+       -DCFLAGS="\"$(filter-out -ffile-prefix-map=% -fdebug-prefix-map=%,$(CC_PLUGIN_CFLAGS))\"" \
        -I$(top_srcdir)/include \
        -I$(top_builddir)/include \
        -I$(top_srcdir)/common/include \