treewide: Remove gnat support.
See discussion in https://github.com/NixOS/nixpkgs/commit/6ac7b19c978e951c124c5ea434c94f95f593888e.
This commit is contained in:
@@ -9,7 +9,6 @@ var_templates_list=(
|
||||
NIX+CFLAGS_LINK
|
||||
NIX+CXXSTDLIB_COMPILE
|
||||
NIX+CXXSTDLIB_LINK
|
||||
NIX+GNATFLAGS_COMPILE
|
||||
)
|
||||
var_templates_bool=(
|
||||
NIX+ENFORCE_NO_NATIVE
|
||||
@@ -51,10 +50,6 @@ if [ -e @out@/nix-support/cc-cflags ]; then
|
||||
NIX_@infixSalt@_CFLAGS_COMPILE="$(< @out@/nix-support/cc-cflags) $NIX_@infixSalt@_CFLAGS_COMPILE"
|
||||
fi
|
||||
|
||||
if [ -e @out@/nix-support/gnat-cflags ]; then
|
||||
NIX_@infixSalt@_GNATFLAGS_COMPILE="$(< @out@/nix-support/gnat-cflags) $NIX_@infixSalt@_GNATFLAGS_COMPILE"
|
||||
fi
|
||||
|
||||
if [ -e @out@/nix-support/cc-ldflags ]; then
|
||||
NIX_@infixSalt@_LDFLAGS+=" $(< @out@/nix-support/cc-ldflags)"
|
||||
fi
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
{ name ? ""
|
||||
, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
|
||||
, cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell
|
||||
, zlib ? null, extraPackages ? [], extraBuildCommands ? ""
|
||||
, extraPackages ? [], extraBuildCommands ? ""
|
||||
, isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null
|
||||
, buildPackages ? {}
|
||||
}:
|
||||
@@ -21,9 +21,6 @@ assert !nativeTools ->
|
||||
assert !(nativeLibc && noLibc);
|
||||
assert (noLibc || nativeLibc) == (libc == null);
|
||||
|
||||
# For ghdl (the vhdl language provider to gcc) we need zlib in the wrapper.
|
||||
assert cc.langVhdl or false -> zlib != null;
|
||||
|
||||
let
|
||||
stdenv = stdenvNoCC;
|
||||
inherit (stdenv) hostPlatform targetPlatform;
|
||||
@@ -189,17 +186,6 @@ stdenv.mkDerivation {
|
||||
|
||||
+ optionalString cc.langGo or false ''
|
||||
wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
|
||||
''
|
||||
|
||||
+ optionalString cc.langAda or false ''
|
||||
wrap ${targetPrefix}gnatgcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gnatgcc
|
||||
wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake
|
||||
wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind
|
||||
wrap ${targetPrefix}gnatlink ${./gnatlink-wrapper.sh} $ccPath/${targetPrefix}gnatlink
|
||||
''
|
||||
|
||||
+ optionalString cc.langVhdl or false ''
|
||||
ln -s $ccPath/${targetPrefix}ghdl $out/bin/${targetPrefix}ghdl
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ bintools ];
|
||||
@@ -262,18 +248,6 @@ stdenv.mkDerivation {
|
||||
ccLDFlags+=" -L${cc_solib}/lib"
|
||||
ccCFlags+=" -B${cc_solib}/lib"
|
||||
|
||||
${optionalString cc.langVhdl or false ''
|
||||
ccLDFlags+=" -L${zlib.out}/lib"
|
||||
''}
|
||||
|
||||
# Find the gcc libraries path (may work only without multilib).
|
||||
${optionalString cc.langAda or false ''
|
||||
basePath=`echo ${cc_solib}/lib/*/*/*`
|
||||
ccCFlags+=" -B$basePath -I$basePath/adainclude"
|
||||
gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib"
|
||||
echo "$gnatCFlags" > $out/nix-support/gnat-cflags
|
||||
''}
|
||||
|
||||
echo "$ccLDFlags" > $out/nix-support/cc-ldflags
|
||||
echo "$ccCFlags" > $out/nix-support/cc-cflags
|
||||
''
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
#! @shell@
|
||||
set -eu -o pipefail +o posix
|
||||
shopt -s nullglob
|
||||
|
||||
if (( "${NIX_DEBUG:-0}" >= 7 )); then
|
||||
set -x
|
||||
fi
|
||||
|
||||
# N.B. Gnat is not used during bootstrapping, so we don't need to
|
||||
# worry about the old bash empty array `set -u` workarounds.
|
||||
|
||||
path_backup="$PATH"
|
||||
|
||||
# phase separation makes this look useless
|
||||
# shellcheck disable=SC2157
|
||||
if [ -n "@coreutils_bin@" ]; then
|
||||
PATH="@coreutils_bin@/bin"
|
||||
fi
|
||||
|
||||
source @out@/nix-support/utils.sh
|
||||
|
||||
if [ -z "${NIX_@infixSalt@_GNAT_WRAPPER_FLAGS_SET:-}" ]; then
|
||||
source @out@/nix-support/add-flags.sh
|
||||
fi
|
||||
|
||||
|
||||
# Figure out if linker flags should be passed. GCC prints annoying
|
||||
# warnings when they are not needed.
|
||||
dontLink=0
|
||||
nonFlagArgs=0
|
||||
|
||||
for i in "$@"; do
|
||||
if [ "$i" = -c ]; then
|
||||
dontLink=1
|
||||
elif [ "$i" = -M ]; then
|
||||
dontLink=1
|
||||
elif [ "${i:0:1}" != - ]; then
|
||||
nonFlagArgs=1
|
||||
fi
|
||||
done
|
||||
|
||||
# If we pass a flag like -Wl, then gcc will call the linker unless it
|
||||
# can figure out that it has to do something else (e.g., because of a
|
||||
# "-c" flag). So if no non-flag arguments are given, don't pass any
|
||||
# linker flags. This catches cases like "gcc" (should just print
|
||||
# "gcc: no input files") and "gcc -v" (should print the version).
|
||||
if [ "$nonFlagArgs" = 0 ]; then
|
||||
dontLink=1
|
||||
fi
|
||||
|
||||
|
||||
# Optionally filter out paths not refering to the store.
|
||||
params=("$@")
|
||||
if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then
|
||||
rest=()
|
||||
for p in "${params[@]}"; do
|
||||
if [ "${p:0:3}" = -L/ ] && badPath "${p:2}"; then
|
||||
skip "${p:2}"
|
||||
elif [ "${p:0:3}" = -I/ ] && badPath "${p:2}"; then
|
||||
skip "${p:2}"
|
||||
elif [ "${p:0:4}" = -aI/ ] && badPath "${p:3}"; then
|
||||
skip "${p:2}"
|
||||
elif [ "${p:0:4}" = -aO/ ] && badPath "${p:3}"; then
|
||||
skip "${p:2}"
|
||||
else
|
||||
rest+=("$p")
|
||||
fi
|
||||
done
|
||||
params=("${rest[@]}")
|
||||
fi
|
||||
|
||||
|
||||
# Clear march/mtune=native -- they bring impurity.
|
||||
if [ "$NIX_@infixSalt@_ENFORCE_NO_NATIVE" = 1 ]; then
|
||||
rest=()
|
||||
for p in "${params[@]}"; do
|
||||
if [[ "$p" = -m*=native ]]; then
|
||||
skip "$p"
|
||||
else
|
||||
rest+=("$p")
|
||||
fi
|
||||
done
|
||||
params=("${rest[@]}")
|
||||
fi
|
||||
|
||||
|
||||
# Add the flags for the GNAT compiler proper.
|
||||
extraAfter=($NIX_@infixSalt@_GNATFLAGS_COMPILE)
|
||||
extraBefore=()
|
||||
|
||||
if [ "$(basename "$0")x" = "gnatmakex" ]; then
|
||||
extraBefore=("--GNATBIND=@out@/bin/gnatbind" "--GNATLINK=@out@/bin/gnatlink ")
|
||||
fi
|
||||
|
||||
#if [ "$dontLink" != 1 ]; then
|
||||
# # Add the flags that should be passed to the linker (and prevent
|
||||
# # `ld-wrapper' from adding NIX_@infixSalt@_LDFLAGS again).
|
||||
# for i in $NIX_@infixSalt@_LDFLAGS_BEFORE; do
|
||||
# extraBefore+=("-largs" "$i")
|
||||
# done
|
||||
# for i in $NIX_@infixSalt@_LDFLAGS; do
|
||||
# if [ "${i:0:3}" = -L/ ]; then
|
||||
# extraAfter+=("$i")
|
||||
# else
|
||||
# extraAfter+=("-largs" "$i")
|
||||
# fi
|
||||
# done
|
||||
# export NIX_@infixSalt@_LDFLAGS_SET=1
|
||||
#fi
|
||||
|
||||
# Optionally print debug info.
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
||||
echo "extra flags before to @prog@:" >&2
|
||||
printf " %q\n" "${extraBefore[@]}" >&2
|
||||
echo "original flags to @prog@:" >&2
|
||||
printf " %q\n" "${params[@]}" >&2
|
||||
echo "extra flags after to @prog@:" >&2
|
||||
printf " %q\n" "${extraAfter[@]}" >&2
|
||||
fi
|
||||
|
||||
PATH="$path_backup"
|
||||
exec @prog@ "${extraBefore[@]}" "${params[@]}" "${extraAfter[@]}"
|
||||
@@ -1,40 +0,0 @@
|
||||
#! @shell@
|
||||
set -eu -o pipefail +o posix
|
||||
shopt -s nullglob
|
||||
|
||||
if (( "${NIX_DEBUG:-0}" >= 7 )); then
|
||||
set -x
|
||||
fi
|
||||
|
||||
# N.B. Gnat is not used during bootstrapping, so we don't need to
|
||||
# worry about the old bash empty array `set -u` workarounds.
|
||||
|
||||
# Add the flags for the GNAT compiler proper.
|
||||
extraAfter=("--GCC=@out@/bin/gcc")
|
||||
extraBefore=()
|
||||
|
||||
## Add the flags that should be passed to the linker (and prevent
|
||||
## `ld-wrapper' from adding NIX_@infixSalt@_LDFLAGS again).
|
||||
#for i in $NIX_@infixSalt@_LDFLAGS_BEFORE; do
|
||||
# extraBefore+=("-largs" "$i")
|
||||
#done
|
||||
#for i in $NIX_@infixSalt@_LDFLAGS; do
|
||||
# if [ "${i:0:3}" = -L/ ]; then
|
||||
# extraAfter+=("$i")
|
||||
# else
|
||||
# extraAfter+=("-largs" "$i")
|
||||
# fi
|
||||
#done
|
||||
#export NIX_@infixSalt@_LDFLAGS_SET=1
|
||||
|
||||
# Optionally print debug info.
|
||||
if (( "${NIX_DEBUG:-0}" >= 1 )); then
|
||||
echo "extra flags before to @prog@:" >&2
|
||||
printf " %q\n" "${extraBefore[@]}" >&2
|
||||
echo "original flags to @prog@:" >&2
|
||||
printf " %q\n" "$@" >&2
|
||||
echo "extra flags after to @prog@:" >&2
|
||||
printf " %q\n" "${extraAfter[@]}" >&2
|
||||
fi
|
||||
|
||||
exec @prog@ "${extraBefore[@]}" "$@" "${extraAfter[@]}"
|
||||
Reference in New Issue
Block a user