build 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. [% c("var/set_default_env") -%]
  3. [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
  4. distdir=/var/tmp/dist/[% project %]
  5. mkdir -p /var/tmp/build
  6. tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
  7. cd /var/tmp/build/[% project %]-[% c('version') %]
  8. [% IF c("var/osname") == "linux-i686" -%]
  9. export CC='gcc -m32'
  10. [% END %]
  11. # OpenSSL prepends the host triple to $CC
  12. [% IF c("var/macos") -%]
  13. # Tricking OpenSSL into using our clang as cross-compiler
  14. ln -s $clangdir/bin/clang $clangdir/bin/[% c("var/build_target") %]-cc
  15. export CC="cc [% c("var/FLAGS") %]"
  16. [% END -%]
  17. [% IF c("var/windows") -%]
  18. # Otherwise it falls back to gcc. This way we can remain generic and switch
  19. # from GCC to Clang and vice versa.
  20. export CC=cc
  21. [% END -%]
  22. export SOURCE_DATE_EPOCH='[% c("timestamp") %]'
  23. ./Configure [% c('var/configure_opts') %]
  24. make -j[% c("num_procs") %]
  25. # https://github.com/openssl/openssl/issues/8170
  26. make -j[% c("num_procs") %] DESTDIR="$distdir" install
  27. cd /var/tmp/dist
  28. ln -s '[% c("var/openssldir") %]' openssl/openssl
  29. [% c('tar', {
  30. tar_src => [ project ],
  31. tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
  32. }) %]