Message ID | 20220101134024.122031-1-xiretza+archml@xiretza.xyz |
---|---|
State | Accepted, archived |
Headers | show |
Series | makepkg: use -ffile-prefix-map instead of -fdebug-prefix-map | expand |
On 1/1/22 23:40, xiretza+archml@xiretza.xyz wrote: > From: Xiretza <xiretza@xiretza.xyz> > >>From gcc(1): > > -ffile-prefix-map=old=new > [...] Specifying this option is equivalent to specifying all the > individual -f*-prefix-map options. This can be used to make reproducible > builds that are location independent. > > Specifically, this additionally enables -fmacro-prefix-map=, which causes > prefix mapping to be applied to expansions of __FILE__ and similar macros. > > Without this option, if source files are compiled by passing the > absolute file path to the compiler (as done by e.g. cmake), any > expansions of __FILE__ (e.g. from uses of assert()) will contain > $srcdir. > --- Thanks - this change looks good to me. Allan > scripts/libmakepkg/buildenv/debugflags.sh.in | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/libmakepkg/buildenv/debugflags.sh.in b/scripts/libmakepkg/buildenv/debugflags.sh.in > index 90ddeca0..2efd543a 100644 > --- a/scripts/libmakepkg/buildenv/debugflags.sh.in > +++ b/scripts/libmakepkg/buildenv/debugflags.sh.in > @@ -30,8 +30,8 @@ buildenv_functions+=('buildenv_debugflags') > > buildenv_debugflags() { > if check_option "debug" "y"; then > - DEBUG_CFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" > - DEBUG_CXXFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" > + DEBUG_CFLAGS+=" -ffile-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" > + DEBUG_CXXFLAGS+=" -ffile-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" > DEBUG_RUSTFLAGS+=" --remap-path-prefix=$srcdir=${DBGSRCDIR:-/usr/src/debug}" > CFLAGS+=" $DEBUG_CFLAGS" > CXXFLAGS+=" $DEBUG_CXXFLAGS"
diff --git a/scripts/libmakepkg/buildenv/debugflags.sh.in b/scripts/libmakepkg/buildenv/debugflags.sh.in index 90ddeca0..2efd543a 100644 --- a/scripts/libmakepkg/buildenv/debugflags.sh.in +++ b/scripts/libmakepkg/buildenv/debugflags.sh.in @@ -30,8 +30,8 @@ buildenv_functions+=('buildenv_debugflags') buildenv_debugflags() { if check_option "debug" "y"; then - DEBUG_CFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" - DEBUG_CXXFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" + DEBUG_CFLAGS+=" -ffile-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" + DEBUG_CXXFLAGS+=" -ffile-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}" DEBUG_RUSTFLAGS+=" --remap-path-prefix=$srcdir=${DBGSRCDIR:-/usr/src/debug}" CFLAGS+=" $DEBUG_CFLAGS" CXXFLAGS+=" $DEBUG_CXXFLAGS"
From: Xiretza <xiretza@xiretza.xyz> From gcc(1): -ffile-prefix-map=old=new [...] Specifying this option is equivalent to specifying all the individual -f*-prefix-map options. This can be used to make reproducible builds that are location independent. Specifically, this additionally enables -fmacro-prefix-map=, which causes prefix mapping to be applied to expansions of __FILE__ and similar macros. Without this option, if source files are compiled by passing the absolute file path to the compiler (as done by e.g. cmake), any expansions of __FILE__ (e.g. from uses of assert()) will contain $srcdir. --- scripts/libmakepkg/buildenv/debugflags.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)