diff options
author | 2020-05-22 10:39:26 +0100 | |
---|---|---|
committer | 2020-05-22 10:39:26 +0100 | |
commit | d91cd5bdc56a6fcb71a998fd8ba81b47c9a13246 (patch) | |
tree | b090ad124b76287189cff6c1019c1c80397d8cbc | |
parent | gcc-config: add a TODO to use 'sort -V' (diff) | |
download | gcc-config-d91cd5bdc56a6fcb71a998fd8ba81b47c9a13246.tar.gz gcc-config-d91cd5bdc56a6fcb71a998fd8ba81b47c9a13246.tar.bz2 gcc-config-d91cd5bdc56a6fcb71a998fd8ba81b47c9a13246.zip |
gcc-config: add build-time and runtime switches to disable native symlinks
We have two knobs here:
1. Build-time knob USE_NATIVE_LINKS to set a default, defaults to 'yes' (existing behaviour)
2. Run-time --enable-native-links / --disable-native-links knobs. These are not persistent
across gcc-config runs and are meant for manual testing. Undocumented for now.
Reported-by: Kent Fredric
Bug: https://bugs.gentoo.org/724454
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rw-r--r-- | Makefile | 8 | ||||
-rwxr-xr-x | gcc-config | 8 |
2 files changed, 14 insertions, 2 deletions
@@ -1,3 +1,10 @@ +# configurable options: +# Avoid installing native symlinks like: +# /usr/bin/gcc -> ${CTARGET}-gcc +# and keep only +# ${CTARGET}-gcc +USE_NATIVE_LINKS ?= yes + EPREFIX ?= PN = gcc-config @@ -27,6 +34,7 @@ clean: -e 's:@GENTOO_EPREFIX@:$(EPREFIX):g' \ -e 's:@GENTOO_LIBDIR@:$(SUBLIBDIR):g' \ -e 's:@PV@:$(PV):g' \ + -e 's:@USE_NATIVE_LINKS@:$(USE_NATIVE_LINKS):g' \ $< > $@ chmod a+rx $@ @@ -261,9 +261,10 @@ update_wrappers() { done # For all toolchains, we want to create the fully qualified - # `tuple-foo`. Only native ones do we want the simple `foo`. + # `tuple-foo`. Only native ones do we want the simple `foo` + # and only for USE_NATIVE_LINKS=yes mode. local all_wrappers=( ${new_wrappers[@]/#/${CTARGET}-} ) - if ! is_cross_compiler ; then + if ! is_cross_compiler && [[ ${USE_NATIVE_LINKS} == yes ]] ; then all_wrappers+=( "${new_wrappers[@]}" ) # There are a few fun extra progs which we have to handle #412319 all_wrappers+=( cc:gcc f77:g77 ) @@ -952,6 +953,7 @@ FORCE="no" CC_COMP= ENV_D="${EROOT}etc/env.d" GCC_ENV_D="${ENV_D}/gcc" +USE_NATIVE_LINKS="@USE_NATIVE_LINKS@" for x in "$@" ; do case "${x}" in @@ -1005,6 +1007,8 @@ for x in "$@" ; do echo "${argv0}: @PV@" exit 0 ;; + --enable-native-links) USE_NATIVE_LINKS="yes" ;; + --disable-native-links) USE_NATIVE_LINKS="no" ;; -*) die "Invalid switch! Run ${argv0} without parameters for help." ;; |