mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-28 14:22:50 +03:00
binutils-wrapper: Remove stray file left over from old revert
binutils-wrapper was removed in ec8d41f08c
. I
hope to reintroduce it, but under a different name, so this can go.
This commit is contained in:
parent
e755a8a27d
commit
caa3599599
@ -1,108 +0,0 @@
|
|||||||
#! @shell@
|
|
||||||
|
|
||||||
set -eu -o pipefail
|
|
||||||
|
|
||||||
path_backup="$PATH"
|
|
||||||
if [ -n "@coreutils_bin@" ]; then
|
|
||||||
PATH="@coreutils_bin@/bin"
|
|
||||||
fi
|
|
||||||
|
|
||||||
declare -r recurThreshold=300
|
|
||||||
|
|
||||||
declare overflowCount=0
|
|
||||||
for ((n=0; n < $#; ++n)); do
|
|
||||||
case "${!n}" in
|
|
||||||
-l*) let overflowCount+=1 ;;
|
|
||||||
-reexport-l*) let overflowCount+=1 ;;
|
|
||||||
*) ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
declare -a allArgs=()
|
|
||||||
|
|
||||||
if (( "$overflowCount" <= "$recurThreshold" )); then
|
|
||||||
allArgs=("$@")
|
|
||||||
else
|
|
||||||
declare -a childrenLookup=() childrenLink=()
|
|
||||||
|
|
||||||
while (( $# )); do
|
|
||||||
case "$1" in
|
|
||||||
-L/*)
|
|
||||||
childrenLookup+=("$1")
|
|
||||||
allArgs+=("$1")
|
|
||||||
;;
|
|
||||||
-L)
|
|
||||||
echo "cctools LD does not support '-L foo' or '-l foo'" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
-l)
|
|
||||||
echo "cctools LD does not support '-L foo' or '-l foo'" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
-lazy_library | -lazy_framework | -lto_library)
|
|
||||||
# We aren't linking any "azy_library", "to_library", etc.
|
|
||||||
allArgs+=("$1")
|
|
||||||
;;
|
|
||||||
-lazy-l | -weak-l) allArgs+=("$1") ;;
|
|
||||||
# We can't so easily prevent header issues from these.
|
|
||||||
-lSystem) allArgs+=("$1") ;;
|
|
||||||
# Special case as indirection seems like a bad idea for something
|
|
||||||
# so fundamental. Can be removed for simplicity.
|
|
||||||
-l?* | -reexport-l?*) childrenLink+=("$1") ;;
|
|
||||||
*) allArgs+=("$1") ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
declare n=0
|
|
||||||
while (( $n < "${#childrenLink[@]}" )); do
|
|
||||||
if [[ "${childrenLink[n]}" = -l* ]]; then
|
|
||||||
childrenLink[n]="-reexport${childrenLink[n]}"
|
|
||||||
fi
|
|
||||||
let ++n
|
|
||||||
done
|
|
||||||
unset n
|
|
||||||
|
|
||||||
declare -r outputNameLibless=$(basename $( \
|
|
||||||
if [[ -z "${outputName:+isUndefined}" ]]; then
|
|
||||||
echo unnamed
|
|
||||||
elif [[ "${outputName:0:3}" = lib ]]; then
|
|
||||||
echo "${outputName:3}"
|
|
||||||
else
|
|
||||||
echo "${outputName}"
|
|
||||||
fi))
|
|
||||||
declare -ra children=("$outputNameLibless-reexport-delegate-0" \
|
|
||||||
"$outputNameLibless-reexport-delegate-1")
|
|
||||||
|
|
||||||
mkdir -p "$out/lib"
|
|
||||||
|
|
||||||
PATH="$PATH:@out@/bin"
|
|
||||||
|
|
||||||
symbolBloatObject=$outputNameLibless-symbol-hack.o
|
|
||||||
if [[ ! -e $symbolBloatObject ]]; then
|
|
||||||
# `-Q` means use GNU Assembler rather than Clang, avoiding an awkward
|
|
||||||
# dependency cycle.
|
|
||||||
printf '.private_extern _______child_hack_foo\nchild_hack_foo:\n' \
|
|
||||||
| @binPrefix@as -Q -- -o $symbolBloatObject
|
|
||||||
fi
|
|
||||||
|
|
||||||
# first half of libs
|
|
||||||
@binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
|
|
||||||
-o "$out/lib/lib${children[0]}.dylib" \
|
|
||||||
-install_name "$out/lib/lib${children[0]}.dylib" \
|
|
||||||
"${childrenLookup[@]}" "$symbolBloatObject" \
|
|
||||||
"${childrenLink[@]:0:$((${#childrenLink[@]} / 2 ))}"
|
|
||||||
|
|
||||||
# second half of libs
|
|
||||||
@binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
|
|
||||||
-o "$out/lib/lib${children[1]}.dylib" \
|
|
||||||
-install_name "$out/lib/lib${children[1]}.dylib" \
|
|
||||||
"${childrenLookup[@]}" "$symbolBloatObject" \
|
|
||||||
"${childrenLink[@]:$((${#childrenLink[@]} / 2 ))}"
|
|
||||||
|
|
||||||
allArgs+=("-L$out/lib" "-l${children[0]}" "-l${children[1]}")
|
|
||||||
fi
|
|
||||||
|
|
||||||
PATH="$path_backup"
|
|
||||||
exec @prog@ "${allArgs[@]}"
|
|
Loading…
Reference in New Issue
Block a user