build-mac.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. - name: Install dependencies
  2. env:
  3. # For compatibility with macOS 10.13
  4. ZLIB_VERSION: 1.3
  5. MBEDTLS_VERSION: 2.28.5
  6. PCRE2_VERSION: 10.42
  7. run: |
  8. set -ex
  9. brew uninstall [email protected] || echo
  10. brew uninstall [email protected] || echo
  11. brew untap local/openssl || echo
  12. brew untap local/python2 || echo
  13. brew update
  14. # brew unlink python@2
  15. brew bundle --file=tests/Brewfile --no-upgrade || brew link --overwrite awscli
  16. brew install libunistring
  17. brew install cpanminus
  18. cpanm IPC::System::Simple
  19. cpanm String::ShellQuote
  20. curl -L https://www.zlib.net/zlib-$ZLIB_VERSION.tar.gz | tar xz
  21. cd zlib-$ZLIB_VERSION
  22. ./configure
  23. make && make install
  24. cd ..
  25. curl -L https://github.com/ARMmbed/mbedtls/archive/v$MBEDTLS_VERSION.tar.gz | tar xz
  26. cd mbedtls-$MBEDTLS_VERSION
  27. make && make install
  28. cd ..
  29. curl -L https://github.com/PCRE2Project/pcre2/releases/download/pcre2-$PCRE2_VERSION/pcre2-$PCRE2_VERSION.tar.gz | tar xz
  30. cd pcre2-$PCRE2_VERSION
  31. ./configure --enable-unicode --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode-properties --enable-pcre2grep-libz --enable-pcre2grep-libbz2 --enable-jit
  32. make && make install
  33. cd ..
  34. - name: Install OCaml libraries
  35. if: steps.cache-opam.outputs.cache-hit != 'true'
  36. run: |
  37. set -ex
  38. opam init # --disable-sandboxing
  39. opam update
  40. opam switch create 4.08.1
  41. eval $(opam env)
  42. opam env
  43. opam pin add ctypes 0.17.1 --yes
  44. opam pin add haxe . --no-action
  45. opam install haxe --deps-only --assume-depexts
  46. opam list
  47. ocamlopt -v
  48. - name: Set ADD_REVISION=1 for non-release
  49. if: ${{ !startsWith(github.ref, 'refs/tags/') }}
  50. run: echo "ADD_REVISION=1" >> $GITHUB_ENV
  51. - name: Build Haxe
  52. run: |
  53. set -ex
  54. eval $(opam env)
  55. opam config exec -- make -s -j`sysctl -n hw.ncpu` STATICLINK=1 "LIB_PARAMS=/usr/local/lib/libz.a /usr/local/lib/libpcre2-8.a /usr/local/lib/libmbedtls.a /usr/local/lib/libmbedcrypto.a /usr/local/lib/libmbedx509.a -cclib '-framework Security -framework CoreFoundation'" haxe
  56. opam config exec -- make -s haxelib
  57. make -s package_unix package_installer_mac
  58. ls -l out
  59. otool -L ./haxe
  60. otool -L ./haxelib
  61. - name: Upload artifact
  62. uses: actions/upload-artifact@v3
  63. with:
  64. name: macBinaries
  65. path: out