diff options
-rw-r--r-- | Makefile | 19 | ||||
-rwxr-xr-x | src/binutils-config | 16 |
2 files changed, 31 insertions, 4 deletions
@@ -1,3 +1,10 @@ +# configurable options: +# Avoid installing native symlinks like: +# /usr/bin/as -> ${CTARGET}-as +# and keep only +# ${CTARGET}-as +USE_NATIVE_LINKS ?= yes + EPREFIX ?= PN = binutils-config @@ -14,11 +21,19 @@ MKDIR_P = mkdir -p -m 755 INSTALL_EXE = install -m 755 INSTALL_DATA = install -m 644 -all: # no-op +all: .binutils-config + +.binutils-config: src/binutils-config + sed \ + -e 's:@GENTOO_EPREFIX@:$(EPREFIX):g' \ + -e 's:@PV@:$(PV):g' \ + -e 's:@USE_NATIVE_LINKS@:$(USE_NATIVE_LINKS):g' \ + $< > $@ + chmod a+rx $@ install: all $(MKDIR_P) $(DESTDIR)$(BINDIR) $(DESTDIR)$(DOCDIR) $(DESTDIR)$(ESELECTDIR) $(DESTDIR)$(MANDIR)/man8 - $(INSTALL_EXE) src/binutils-config $(DESTDIR)$(BINDIR) + $(INSTALL_EXE) .binutils-config $(DESTDIR)$(BINDIR)/binutils-config $(INSTALL_DATA) README $(DESTDIR)$(DOCDIR) $(INSTALL_DATA) src/binutils.eselect $(DESTDIR)$(ESELECTDIR) $(INSTALL_DATA) src/binutils-config.8 $(DESTDIR)$(MANDIR)/man8 diff --git a/src/binutils-config b/src/binutils-config index 69ca530..e6819a8 100755 --- a/src/binutils-config +++ b/src/binutils-config @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Format of /etc/env.d/binutils/: @@ -130,8 +130,17 @@ switch_profile() { for x in * ; do atomic_ln "${BINPATH}/${x}" "${ROOT}/${BINPATH_LINKS}" "${x}" atomic_ln "${BINPATH_LINKS}/${x}" "${EROOT}/usr/bin" "${TARGET}-${x}" - if [[ ${TARGET} == ${HOST} ]] ; then + if [[ ${TARGET} == ${HOST} -a ${USE_NATIVE_LINKS} == yes ]] ; then atomic_ln "${TARGET}-${x}" "${EROOT}/usr/bin" "${x}" + else + # Remove native links if exist from previous + # installations or set by user manually. binutils-config + # owns these symlinks. + # + # TODO: cleanup symlinks not just known to this + # release/configuration of binutils, but also list + # all possible ones. + rm -f "${EROOT}/usr/bin/${x}" fi done @@ -357,6 +366,7 @@ DOIT="switch_profile" PROFILE="current" HOST="" TARGET="" +USE_NATIVE_LINKS="@USE_NATIVE_LINKS@" unset UARG select_action() { @@ -377,6 +387,8 @@ while [[ $# -gt 0 ]] ; do -u|--uninstall) select_action uninstall_target ;; -d|--debug) DEBUG="yes" ;; -h|--help) usage 0 ;; + --enable-native-links) USE_NATIVE_LINKS="yes" ;; + --disable-native-links) USE_NATIVE_LINKS="no" ;; -V|--version) ver="@PV@" echo "binutils-config-${ver/@'PV'@/git}" |