20-toolchain 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Build script for adjust the toolchain.
  2. #
  3. # Copyright (C) 2014-2017, 2020-2021 Matias Fonzo, <selk@dragora.org>
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. # This will be handled by libs/musl (post-install script):
  17. cat << EOF > /tools/bin/adjust-toolchain
  18. #! /bin/sh -
  19. if test -r /tools/bin/ld-new
  20. then
  21. set -e
  22. echo "\${0}: Adjusting toolchain ..."
  23. set -x
  24. CC=gcc
  25. TRIPLET="\$(\$CC -dumpmachine)"
  26. libSuffix=$libSuffix
  27. mv /tools/bin/ld /tools/bin/ld-old
  28. mv /tools/\${TRIPLET}/bin/ld /tools/\${TRIPLET}/bin/ld-old
  29. mv /tools/bin/ld-new /tools/bin/ld
  30. ln -sf /tools/bin/ld /tools/\${TRIPLET}/bin/ld
  31. \$CC -dumpspecs | sed \\
  32. -e 's@/tools@@g' \\
  33. -e "/\*startfile_prefix_spec:/{n;s@.*@/usr/lib\${libSuffix}/ @}" \\
  34. -e '/\*cpp:/{n;s@\$@ -isystem /usr/include@}' \\
  35. > "\$(dirname -- "\$(\$CC --print-libgcc-file-name)")"/specs
  36. fi
  37. EOF
  38. chmod 700 /tools/bin/adjust-toolchain