config 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # vim: filetype=yaml sw=2
  2. filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
  3. # Note: When updating the gcc version, if this includes a libstdc++
  4. # ABI change we should also update projects/firefox/abicheck.cc to
  5. # require the new version.
  6. version: 8.3.0
  7. var:
  8. container:
  9. use_container: 1
  10. deps:
  11. - build-essential
  12. - libmpc-dev
  13. setup: |
  14. mkdir -p /var/tmp/dist
  15. tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %]
  16. export PATH="/var/tmp/dist/gcc/bin:$PATH"
  17. export LD_LIBRARY_PATH=/var/tmp/dist/gcc/lib64:/var/tmp/dist/gcc/lib32
  18. [% IF c("hardened_gcc") -%]
  19. # Config options for hardening-wrapper
  20. export DEB_BUILD_HARDENING=1
  21. export DEB_BUILD_HARDENING_STACKPROTECTOR=1
  22. export DEB_BUILD_HARDENING_FORTIFY=1
  23. export DEB_BUILD_HARDENING_FORMAT=1
  24. export DEB_BUILD_HARDENING_PIE=1
  25. # Make sure we use the hardening wrapper
  26. pushd /var/tmp/dist/gcc/bin
  27. cp /usr/bin/hardened-cc ./
  28. mv gcc gcc.real
  29. mv c++ c++.real
  30. mv g++ g++.real
  31. ln -sf hardened-cc gcc
  32. ln -sf hardened-cc c++
  33. ln -sf hardened-cc g++
  34. popd
  35. [% END -%]
  36. targets:
  37. windows:
  38. var:
  39. configure_opt: --disable-multilib --enable-languages=c,c++
  40. arch_deps:
  41. - libc6-dev
  42. - zlib1g-dev
  43. linux:
  44. hardened_gcc: 1
  45. var:
  46. configure_opt: --enable-multilib --enable-languages=c,c++ --with-arch_32=i686
  47. arch_deps:
  48. - hardening-wrapper
  49. - libc6-dev-i386
  50. input_files:
  51. - project: container-image
  52. - URL: 'https://ftp.gnu.org/gnu/gcc/gcc-[% c("version") %]/gcc-[% c("version") %].tar.xz'
  53. sha256sum: 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c