Commit a584587b authored by Boey Maun Suang's avatar Boey Maun Suang
Browse files

cc-wrapper: Wrap/link all other GNAT commands

parent 3d64e7ed
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -236,10 +236,15 @@ stdenv.mkDerivation {
      fi
    ''

    # No need to wrap gnat, gnatkr, gnatname or gnatprep; we can just symlink them in
    + optionalString cc.langAda or false ''
      wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake
      wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind
      wrap ${targetPrefix}gnatlink ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatlink
      for cmd in gnatbind gnatchop gnatclean gnatlink gnatls gnatmake; do
        wrap ${targetPrefix}$cmd ${./gnat-wrapper.sh} $ccPath/${targetPrefix}$cmd
      done

      for cmd in gnat gnatkr gnatname gnatprep; do
        ln -s $ccPath/${targetPrefix}$cmd $out/bin/${targetPrefix}$cmd
      done

      # this symlink points to the unwrapped gnat's output "out". It is used by
      # our custom gprconfig compiler description to find GNAT's ada runtime. See
+26 −14
Original line number Diff line number Diff line
@@ -127,20 +127,32 @@ if [ "$NIX_ENFORCE_NO_NATIVE_@suffixSalt@" = 1 ]; then
    params=(${rest+"${rest[@]}"})
fi

if [ "$(basename $0)x" = "gnatmakex" ]; then
    extraBefore=("--GNATBIND=@out@/bin/gnatbind" "--GNATLINK=@out@/bin/gnatlink")
    extraAfter=($NIX_GNATFLAGS_COMPILE_@suffixSalt@ -cargs $NIX_GNATMAKE_CARGS_@suffixSalt@)
fi

if [ "$(basename $0)x" = "gnatbindx" ]; then
case "$(basename $0)x" in
    "gnatbindx")
        extraBefore=()
        extraAfter=($NIX_GNATFLAGS_COMPILE_@suffixSalt@)
fi

if [ "$(basename $0)x" = "gnatlinkx" ]; then
        ;;
    "gnatchopx")
        extraBefore=("--GCC=@out@/bin/gcc")
        extraAfter=()
        ;;
    "gnatcleanx")
        extraBefore=($NIX_GNATFLAGS_COMPILE_@suffixSalt@)
        extraAfter=()
        ;;
    "gnatlinkx")
        extraBefore=()
        extraAfter=("--GCC=@out@/bin/gcc")
fi
        ;;
    "gnatlsx")
        extraBefore=()
        extraAfter=($NIX_GNATFLAGS_COMPILE_@suffixSalt@)
        ;;
    "gnatmakex")
        extraBefore=("--GNATBIND=@out@/bin/gnatbind" "--GNATLINK=@out@/bin/gnatlink")
        extraAfter=($NIX_GNATFLAGS_COMPILE_@suffixSalt@ -cargs $NIX_GNATMAKE_CARGS_@suffixSalt@)
        ;;
esac

# As a very special hack, if the arguments are just `-v', then don't
# add anything.  This is to prevent `gcc -v' (which normally prints