Browse Source

[mac] fixed compatibility with osx 10.13 (closes #10110)

Aleksandr Kuzmenko 4 years ago
parent
commit
fa3449cb08

+ 108 - 87
.github/workflows/main.yml

@@ -35,7 +35,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -45,7 +45,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -55,10 +55,10 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       - name: choco install nsis
       - name: choco install nsis
         uses: nick-invision/retry@v1
         uses: nick-invision/retry@v1
         with:
         with:
@@ -71,7 +71,7 @@ jobs:
       - name: Prepend Chocolatey path
       - name: Prepend Chocolatey path
         shell: pwsh
         shell: pwsh
         run: Write-Host "::add-path::C:\ProgramData\chocolatey\bin"
         run: Write-Host "::add-path::C:\ProgramData\chocolatey\bin"
-      
+
       - name: Install OCaml and OCaml libraries
       - name: Install OCaml and OCaml libraries
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -94,16 +94,16 @@ jobs:
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam install haxe --deps-only --yes 2>&1')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam install haxe --deps-only --yes 2>&1')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam list')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam list')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'ocamlopt -v')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'ocamlopt -v')
-      
+
       - name: Expose mingw dll files
       - name: Expose mingw dll files
         shell: pwsh
         shell: pwsh
         run: Write-Host "::add-path::${env:CYG_ROOT}/usr/$($env:MINGW_ARCH)-w64-mingw32/sys-root/mingw/bin"
         run: Write-Host "::add-path::${env:CYG_ROOT}/usr/$($env:MINGW_ARCH)-w64-mingw32/sys-root/mingw/bin"
-      
+
       - name: Set ADD_REVISION=1 for non-release
       - name: Set ADD_REVISION=1 for non-release
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         shell: pwsh
         shell: pwsh
         run: echo "ADD_REVISION=1" >> $Env:GITHUB_ENV
         run: echo "ADD_REVISION=1" >> $Env:GITHUB_ENV
-      
+
       - name: Build Haxe
       - name: Build Haxe
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -115,13 +115,13 @@ jobs:
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxe.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxe.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxelib.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxelib.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && ls ./out')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && ls ./out')
-      
+
       - name: Upload artifact
       - name: Upload artifact
         uses: actions/[email protected]
         uses: actions/[email protected]
         with:
         with:
           name: win${{env.ARCH}}Binaries
           name: win${{env.ARCH}}Binaries
           path: out
           path: out
-      
+
 
 
   windows-build:
   windows-build:
     runs-on: windows-latest
     runs-on: windows-latest
@@ -143,7 +143,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -153,7 +153,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -163,10 +163,10 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       - name: choco install nsis
       - name: choco install nsis
         uses: nick-invision/retry@v1
         uses: nick-invision/retry@v1
         with:
         with:
@@ -179,7 +179,7 @@ jobs:
       - name: Prepend Chocolatey path
       - name: Prepend Chocolatey path
         shell: pwsh
         shell: pwsh
         run: Write-Host "::add-path::C:\ProgramData\chocolatey\bin"
         run: Write-Host "::add-path::C:\ProgramData\chocolatey\bin"
-      
+
       - name: Install OCaml and OCaml libraries
       - name: Install OCaml and OCaml libraries
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -202,16 +202,16 @@ jobs:
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam install haxe --deps-only --yes 2>&1')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam install haxe --deps-only --yes 2>&1')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam list')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam list')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'ocamlopt -v')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'ocamlopt -v')
-      
+
       - name: Expose mingw dll files
       - name: Expose mingw dll files
         shell: pwsh
         shell: pwsh
         run: Write-Host "::add-path::${env:CYG_ROOT}/usr/$($env:MINGW_ARCH)-w64-mingw32/sys-root/mingw/bin"
         run: Write-Host "::add-path::${env:CYG_ROOT}/usr/$($env:MINGW_ARCH)-w64-mingw32/sys-root/mingw/bin"
-      
+
       - name: Set ADD_REVISION=1 for non-release
       - name: Set ADD_REVISION=1 for non-release
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         shell: pwsh
         shell: pwsh
         run: echo "ADD_REVISION=1" >> $Env:GITHUB_ENV
         run: echo "ADD_REVISION=1" >> $Env:GITHUB_ENV
-      
+
       - name: Build Haxe
       - name: Build Haxe
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -223,13 +223,13 @@ jobs:
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxe.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxe.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxelib.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxelib.exe')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && ls ./out')
           & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && ls ./out')
-      
+
       - name: Upload artifact
       - name: Upload artifact
         uses: actions/[email protected]
         uses: actions/[email protected]
         with:
         with:
           name: win${{env.ARCH}}Binaries
           name: win${{env.ARCH}}Binaries
           path: out
           path: out
-      
+
 
 
   linux-build:
   linux-build:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
@@ -245,7 +245,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -255,7 +255,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -265,10 +265,10 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       - name: Install dependencies
       - name: Install dependencies
         run: |
         run: |
           set -ex
           set -ex
@@ -276,7 +276,7 @@ jobs:
           sudo add-apt-repository ppa:haxe/ocaml -y # provides newer version of mbedtls
           sudo add-apt-repository ppa:haxe/ocaml -y # provides newer version of mbedtls
           sudo apt-get update -qqy
           sudo apt-get update -qqy
           sudo apt-get install -qqy ocaml-nox camlp5 opam libpcre3-dev zlib1g-dev libgtk2.0-dev libmbedtls-dev ninja-build libstring-shellquote-perl
           sudo apt-get install -qqy ocaml-nox camlp5 opam libpcre3-dev zlib1g-dev libgtk2.0-dev libmbedtls-dev ninja-build libstring-shellquote-perl
-      
+
       - name: Install OCaml libraries
       - name: Install OCaml libraries
         run: |
         run: |
           set -ex
           set -ex
@@ -286,11 +286,11 @@ jobs:
           opam install haxe --deps-only
           opam install haxe --deps-only
           opam list
           opam list
           ocamlopt -v
           ocamlopt -v
-      
+
       - name: Set ADD_REVISION=1 for non-release
       - name: Set ADD_REVISION=1 for non-release
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         run: echo "ADD_REVISION=1" >> $GITHUB_ENV
         run: echo "ADD_REVISION=1" >> $GITHUB_ENV
-      
+
       - name: Build Haxe
       - name: Build Haxe
         run: |
         run: |
           set -ex
           set -ex
@@ -301,13 +301,13 @@ jobs:
           ls -l out
           ls -l out
           ldd -v ./haxe
           ldd -v ./haxe
           ldd -v ./haxelib
           ldd -v ./haxelib
-      
+
       # https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
       # https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
       - name: Extract branch name
       - name: Extract branch name
         id: extract_branch
         id: extract_branch
         shell: bash
         shell: bash
         run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
         run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
-      
+
       - name: Build xmldoc
       - name: Build xmldoc
         run: |
         run: |
           set -ex
           set -ex
@@ -318,25 +318,26 @@ jobs:
               "branch": "${{ steps.extract_branch.outputs.branch }}"
               "branch": "${{ steps.extract_branch.outputs.branch }}"
             }
             }
           EOL
           EOL
-      
+
       - name: Upload xmldoc artifact
       - name: Upload xmldoc artifact
         uses: actions/[email protected]
         uses: actions/[email protected]
         with:
         with:
           name: xmldoc
           name: xmldoc
           path: extra/doc
           path: extra/doc
-      
+
       - name: Upload artifact
       - name: Upload artifact
         uses: actions/[email protected]
         uses: actions/[email protected]
         with:
         with:
           name: linuxBinaries
           name: linuxBinaries
           path: out
           path: out
-      
+
 
 
   mac-build:
   mac-build:
     runs-on: macos-latest
     runs-on: macos-latest
     env:
     env:
       PLATFORM: mac
       PLATFORM: mac
       OPAMYES: 1
       OPAMYES: 1
+      MACOSX_DEPLOYMENT_TARGET: 10.13
     steps:
     steps:
       - uses: actions/checkout@main
       - uses: actions/checkout@main
         with:
         with:
@@ -346,7 +347,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -356,7 +357,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -366,11 +367,15 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       - name: Install dependencies
       - name: Install dependencies
+        env:
+          ZLIB_VERSION: 1.2.11
+          MBEDTLS_VERSION: 2.25.0
+          PCRE_VERSION: 8.44
         run: |
         run: |
           set -ex
           set -ex
           brew uninstall [email protected] || echo
           brew uninstall [email protected] || echo
@@ -383,38 +388,54 @@ jobs:
           brew install cpanminus
           brew install cpanminus
           cpanm IPC::System::Simple
           cpanm IPC::System::Simple
           cpanm String::ShellQuote
           cpanm String::ShellQuote
-      
+          curl -L https://www.zlib.net/zlib-$ZLIB_VERSION.tar.gz | tar xz
+          cd zlib-$ZLIB_VERSION
+          ./configure
+          make && make install
+          curl -L https://github.com/ARMmbed/mbedtls/archive/v$MBEDTLS_VERSION.tar.gz | tar xz
+          cd mbedtls-$MBEDTLS_VERSION
+          make && make install
+          curl -L https://ftp.pcre.org/pub/pcre/pcre-$PCRE_VERSION.tar.gz | tar xz
+          cd pcre-$PCRE_VERSION
+          ./configure
+          make && make install
+
+
       - name: Install OCaml libraries
       - name: Install OCaml libraries
         run: |
         run: |
           set -ex
           set -ex
           opam init # --disable-sandboxing
           opam init # --disable-sandboxing
           opam update
           opam update
+          opam switch create 4.07.1
+          eval $(opam env)
+          opam env
+          opam pin add ctypes 0.17.1 --yes
           opam pin add haxe . --no-action
           opam pin add haxe . --no-action
           opam install haxe --deps-only
           opam install haxe --deps-only
           opam list
           opam list
           ocamlopt -v
           ocamlopt -v
-      
+
       - name: Set ADD_REVISION=1 for non-release
       - name: Set ADD_REVISION=1 for non-release
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         if: ${{ !startsWith(github.ref, 'refs/tags/') }}
         run: echo "ADD_REVISION=1" >> $GITHUB_ENV
         run: echo "ADD_REVISION=1" >> $GITHUB_ENV
-      
+
       - name: Build Haxe
       - name: Build Haxe
         run: |
         run: |
           set -ex
           set -ex
           eval $(opam env)
           eval $(opam env)
-          opam config exec -- make -s -j`sysctl -n hw.ncpu` STATICLINK=1 "LIB_PARAMS=/usr/local/opt/zlib/lib/libz.a /usr/local/lib/libpcre.a /usr/local/lib/libmbedtls.a /usr/local/lib/libmbedcrypto.a /usr/local/lib/libmbedx509.a -cclib '-framework Security -framework CoreFoundation'" haxe
+          opam config exec -- make -s -j`sysctl -n hw.ncpu` STATICLINK=1 "LIB_PARAMS=/usr/local/lib/libz.a /usr/local/lib/libpcre.a /usr/local/lib/libmbedtls.a /usr/local/lib/libmbedcrypto.a /usr/local/lib/libmbedx509.a -cclib '-framework Security -framework CoreFoundation'" haxe
           opam config exec -- make -s haxelib
           opam config exec -- make -s haxelib
           make -s package_unix package_installer_mac
           make -s package_unix package_installer_mac
           ls -l out
           ls -l out
           otool -L ./haxe
           otool -L ./haxe
           otool -L ./haxelib
           otool -L ./haxelib
-      
+
       - name: Upload artifact
       - name: Upload artifact
         uses: actions/[email protected]
         uses: actions/[email protected]
         with:
         with:
           name: macBinaries
           name: macBinaries
           path: out
           path: out
-      
+
 
 
   windows64-test:
   windows64-test:
     needs: windows64-build
     needs: windows64-build
@@ -442,7 +463,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -452,7 +473,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -462,17 +483,17 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       # - name: Quick test
       # - name: Quick test
       #   shell: pwsh
       #   shell: pwsh
       #   run: |
       #   run: |
       #     $DOWNLOADDIR="./win$($env:ARCH)Binaries"
       #     $DOWNLOADDIR="./win$($env:ARCH)Binaries"
       #     new-item -Name $DOWNLOADDIR -ItemType directory
       #     new-item -Name $DOWNLOADDIR -ItemType directory
       #     Invoke-WebRequest https://build.haxe.org/builds/haxe/$env:PLATFORM/haxe_latest.zip -OutFile $DOWNLOADDIR/haxe_bin.zip
       #     Invoke-WebRequest https://build.haxe.org/builds/haxe/$env:PLATFORM/haxe_latest.zip -OutFile $DOWNLOADDIR/haxe_bin.zip
-      
+
       - name: Setup Haxe
       - name: Setup Haxe
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -482,11 +503,11 @@ jobs:
           $HAXEPATH = Get-ChildItem $DOWNLOADDIR/haxe_*_* -Directory
           $HAXEPATH = Get-ChildItem $DOWNLOADDIR/haxe_*_* -Directory
           Write-Host "::add-path::$HAXEPATH"
           Write-Host "::add-path::$HAXEPATH"
           Write-Host "::set-env name=HAXELIB_ROOT::$HAXEPATH\lib"
           Write-Host "::set-env name=HAXELIB_ROOT::$HAXEPATH\lib"
-      
+
       - name: Print Haxe version
       - name: Print Haxe version
         shell: pwsh
         shell: pwsh
         run: haxe -version
         run: haxe -version
-      
+
       - name: "Make Python 3 be available as python3 in the cmdline"
       - name: "Make Python 3 be available as python3 in the cmdline"
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -495,7 +516,7 @@ jobs:
           $py3path = $pypath.replace("python.exe","python3.exe")
           $py3path = $pypath.replace("python.exe","python3.exe")
           cmd /c mklink $py3path $pypath
           cmd /c mklink $py3path $pypath
           python3 -V
           python3 -V
-      
+
       - name: Install hererocks
       - name: Install hererocks
         if: matrix.target == 'lua'
         if: matrix.target == 'lua'
         shell: cmd
         shell: cmd
@@ -503,18 +524,18 @@ jobs:
           pip install hererocks
           pip install hererocks
           hererocks lua53 -l5.3 -rlatest
           hererocks lua53 -l5.3 -rlatest
           call lua53/bin/activate
           call lua53/bin/activate
-      
+
       - name: Setup haxelib
       - name: Setup haxelib
         shell: pwsh
         shell: pwsh
         run: |
         run: |
           mkdir "$env:HAXELIB_ROOT"
           mkdir "$env:HAXELIB_ROOT"
           haxelib setup "$env:HAXELIB_ROOT"
           haxelib setup "$env:HAXELIB_ROOT"
-      
+
       - name: Test
       - name: Test
         shell: pwsh
         shell: pwsh
         run: haxe RunCi.hxml
         run: haxe RunCi.hxml
         working-directory: ${{github.workspace}}/tests
         working-directory: ${{github.workspace}}/tests
-      
+
 
 
   windows-test:
   windows-test:
     needs: windows-build
     needs: windows-build
@@ -543,7 +564,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -553,7 +574,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -563,17 +584,17 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       # - name: Quick test
       # - name: Quick test
       #   shell: pwsh
       #   shell: pwsh
       #   run: |
       #   run: |
       #     $DOWNLOADDIR="./win$($env:ARCH)Binaries"
       #     $DOWNLOADDIR="./win$($env:ARCH)Binaries"
       #     new-item -Name $DOWNLOADDIR -ItemType directory
       #     new-item -Name $DOWNLOADDIR -ItemType directory
       #     Invoke-WebRequest https://build.haxe.org/builds/haxe/$env:PLATFORM/haxe_latest.zip -OutFile $DOWNLOADDIR/haxe_bin.zip
       #     Invoke-WebRequest https://build.haxe.org/builds/haxe/$env:PLATFORM/haxe_latest.zip -OutFile $DOWNLOADDIR/haxe_bin.zip
-      
+
       - name: Setup Haxe
       - name: Setup Haxe
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -583,11 +604,11 @@ jobs:
           $HAXEPATH = Get-ChildItem $DOWNLOADDIR/haxe_*_* -Directory
           $HAXEPATH = Get-ChildItem $DOWNLOADDIR/haxe_*_* -Directory
           Write-Host "::add-path::$HAXEPATH"
           Write-Host "::add-path::$HAXEPATH"
           Write-Host "::set-env name=HAXELIB_ROOT::$HAXEPATH\lib"
           Write-Host "::set-env name=HAXELIB_ROOT::$HAXEPATH\lib"
-      
+
       - name: Print Haxe version
       - name: Print Haxe version
         shell: pwsh
         shell: pwsh
         run: haxe -version
         run: haxe -version
-      
+
       - name: "Make Python 3 be available as python3 in the cmdline"
       - name: "Make Python 3 be available as python3 in the cmdline"
         shell: pwsh
         shell: pwsh
         run: |
         run: |
@@ -596,7 +617,7 @@ jobs:
           $py3path = $pypath.replace("python.exe","python3.exe")
           $py3path = $pypath.replace("python.exe","python3.exe")
           cmd /c mklink $py3path $pypath
           cmd /c mklink $py3path $pypath
           python3 -V
           python3 -V
-      
+
       - name: Install hererocks
       - name: Install hererocks
         if: matrix.target == 'lua'
         if: matrix.target == 'lua'
         shell: cmd
         shell: cmd
@@ -604,18 +625,18 @@ jobs:
           pip install hererocks
           pip install hererocks
           hererocks lua53 -l5.3 -rlatest
           hererocks lua53 -l5.3 -rlatest
           call lua53/bin/activate
           call lua53/bin/activate
-      
+
       - name: Setup haxelib
       - name: Setup haxelib
         shell: pwsh
         shell: pwsh
         run: |
         run: |
           mkdir "$env:HAXELIB_ROOT"
           mkdir "$env:HAXELIB_ROOT"
           haxelib setup "$env:HAXELIB_ROOT"
           haxelib setup "$env:HAXELIB_ROOT"
-      
+
       - name: Test
       - name: Test
         shell: pwsh
         shell: pwsh
         run: haxe RunCi.hxml
         run: haxe RunCi.hxml
         working-directory: ${{github.workspace}}/tests
         working-directory: ${{github.workspace}}/tests
-      
+
 
 
   linux-test:
   linux-test:
     needs: linux-build
     needs: linux-build
@@ -653,7 +674,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -663,7 +684,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -673,17 +694,17 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       - name: Setup Haxe
       - name: Setup Haxe
         run: |
         run: |
           # mkdir ./linuxBinaries
           # mkdir ./linuxBinaries
           # curl -sSL https://build.haxe.org/builds/haxe/linux64/haxe_latest.tar.gz -o ./linuxBinaries/haxe_bin.tar.gz
           # curl -sSL https://build.haxe.org/builds/haxe/linux64/haxe_latest.tar.gz -o ./linuxBinaries/haxe_bin.tar.gz
-      
+
           sudo apt install -qqy libmbedtls-dev
           sudo apt install -qqy libmbedtls-dev
-      
+
           set -ex
           set -ex
           tar -xf linuxBinaries/*_bin.tar.gz -C linuxBinaries --strip-components=1
           tar -xf linuxBinaries/*_bin.tar.gz -C linuxBinaries --strip-components=1
           sudo mkdir -p /usr/local/bin/
           sudo mkdir -p /usr/local/bin/
@@ -691,39 +712,39 @@ jobs:
           sudo ln -s `pwd`/linuxBinaries/haxe /usr/local/bin/haxe
           sudo ln -s `pwd`/linuxBinaries/haxe /usr/local/bin/haxe
           sudo ln -s `pwd`/linuxBinaries/haxelib /usr/local/bin/haxelib
           sudo ln -s `pwd`/linuxBinaries/haxelib /usr/local/bin/haxelib
           sudo ln -s `pwd`/linuxBinaries/std /usr/local/share/haxe/std
           sudo ln -s `pwd`/linuxBinaries/std /usr/local/share/haxe/std
-      
+
       - name: Print Haxe version
       - name: Print Haxe version
         run: haxe -version
         run: haxe -version
-      
+
       - name: Setup haxelib
       - name: Setup haxelib
         run: |
         run: |
           set -ex
           set -ex
           mkdir ~/haxelib
           mkdir ~/haxelib
           haxelib setup ~/haxelib
           haxelib setup ~/haxelib
-      
+
       - name: Install apt packages
       - name: Install apt packages
         if: matrix.APT_PACKAGES
         if: matrix.APT_PACKAGES
         run: |
         run: |
           set -ex
           set -ex
           sudo apt update -qqy
           sudo apt update -qqy
           sudo apt install -qqy ${{matrix.APT_PACKAGES}}
           sudo apt install -qqy ${{matrix.APT_PACKAGES}}
-      
+
       - name: Flash setup
       - name: Flash setup
         if: matrix.target == 'flash9'
         if: matrix.target == 'flash9'
         run: export DISPLAY=:99.0
         run: export DISPLAY=:99.0
-      
+
       - name: Test
       - name: Test
         if: success() && !(matrix.SAUCE && matrix.SAUCE_ACCESS_KEY)
         if: success() && !(matrix.SAUCE && matrix.SAUCE_ACCESS_KEY)
         run: haxe RunCi.hxml
         run: haxe RunCi.hxml
         working-directory: ${{github.workspace}}/tests
         working-directory: ${{github.workspace}}/tests
-      
+
       - name: Test (with SauceLabs)
       - name: Test (with SauceLabs)
         if: matrix.target == 'js' && success() && matrix.SAUCE && matrix.SAUCE_ACCESS_KEY
         if: matrix.target == 'js' && success() && matrix.SAUCE && matrix.SAUCE_ACCESS_KEY
         run: haxe RunCi.hxml
         run: haxe RunCi.hxml
         working-directory: ${{github.workspace}}/tests
         working-directory: ${{github.workspace}}/tests
         env:
         env:
           SAUCE_ACCESS_KEY: matrix.SAUCE_ACCESS_KEY
           SAUCE_ACCESS_KEY: matrix.SAUCE_ACCESS_KEY
-      
+
 
 
   mac-test:
   mac-test:
     needs: mac-build
     needs: mac-build
@@ -751,7 +772,7 @@ jobs:
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         if: ${{ !startsWith(env.PLATFORM, 'windows') }}
         run: |
         run: |
           set -ex
           set -ex
-      
+
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $RUNNER_TEMP/neko_latest.tar.gz
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           tar -xf $RUNNER_TEMP/neko_latest.tar.gz -C $RUNNER_TEMP
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
           NEKOPATH=`echo $RUNNER_TEMP/neko-*-*`
@@ -761,7 +782,7 @@ jobs:
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/libneko.*                      /usr/local/lib/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           sudo ln -s $NEKOPATH/*.ndll                         /usr/local/lib/neko/
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV
-      
+
       - name: Install Neko using snapshot from S3 (Windows)
       - name: Install Neko using snapshot from S3 (Windows)
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         if: ${{ startsWith(env.PLATFORM, 'windows') }}
         shell: pwsh
         shell: pwsh
@@ -771,15 +792,15 @@ jobs:
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           $NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-*
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "$NEKOPATH" >> $env:GITHUB_PATH
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
           echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV
-      
+
       - name: Print Neko version
       - name: Print Neko version
         run: neko -version 2>&1
         run: neko -version 2>&1
-      
+
       - name: Setup Haxe
       - name: Setup Haxe
         run: |
         run: |
           # mkdir ./macBinaries
           # mkdir ./macBinaries
           # curl -sSL https://build.haxe.org/builds/haxe/mac/haxe_latest.tar.gz -o ./macBinaries/haxe_bin.tar.gz
           # curl -sSL https://build.haxe.org/builds/haxe/mac/haxe_latest.tar.gz -o ./macBinaries/haxe_bin.tar.gz
-      
+
           set -ex
           set -ex
           tar -xf macBinaries/*_bin.tar.gz -C macBinaries --strip-components=1
           tar -xf macBinaries/*_bin.tar.gz -C macBinaries --strip-components=1
           sudo mkdir -p /usr/local/bin/
           sudo mkdir -p /usr/local/bin/
@@ -787,27 +808,27 @@ jobs:
           sudo ln -s `pwd`/macBinaries/haxe /usr/local/bin/haxe
           sudo ln -s `pwd`/macBinaries/haxe /usr/local/bin/haxe
           sudo ln -s `pwd`/macBinaries/haxelib /usr/local/bin/haxelib
           sudo ln -s `pwd`/macBinaries/haxelib /usr/local/bin/haxelib
           sudo ln -s `pwd`/macBinaries/std /usr/local/share/haxe/std
           sudo ln -s `pwd`/macBinaries/std /usr/local/share/haxe/std
-      
+
       - name: Print Haxe version
       - name: Print Haxe version
         run: haxe -version
         run: haxe -version
-      
+
       - name: Setup haxelib
       - name: Setup haxelib
         run: |
         run: |
           set -ex
           set -ex
           mkdir ~/haxelib
           mkdir ~/haxelib
           haxelib setup ~/haxelib
           haxelib setup ~/haxelib
-      
+
       - name: Install homebrew packages
       - name: Install homebrew packages
         if: matrix.BREW_PACKAGES
         if: matrix.BREW_PACKAGES
         run: brew install ${{matrix.BREW_PACKAGES}}
         run: brew install ${{matrix.BREW_PACKAGES}}
-      
+
       - name: Test
       - name: Test
         run: |
         run: |
           # disable invalid Unicode filenames on APFS
           # disable invalid Unicode filenames on APFS
           echo "" > sys/compile-fs.hxml
           echo "" > sys/compile-fs.hxml
           haxe RunCi.hxml
           haxe RunCi.hxml
         working-directory: ${{github.workspace}}/tests
         working-directory: ${{github.workspace}}/tests
-      
+
 
 
   deploy:
   deploy:
     if: github.event_name != 'pull_request'
     if: github.event_name != 'pull_request'

+ 1 - 0
extra/CHANGES.txt

@@ -8,6 +8,7 @@
 
 
 	Bugfixes:
 	Bugfixes:
 
 
+	all : fixed compiler compatibility with OS X 10.13 (#10110)
 	all : fixed compiler hanging on `switch` for abstracts with implicit casts involving type parameters and constraints (#10082)
 	all : fixed compiler hanging on `switch` for abstracts with implicit casts involving type parameters and constraints (#10082)
 	all : fixed inlining of `haxe.DynamicAccess.keyValueIterator` (#10118)
 	all : fixed inlining of `haxe.DynamicAccess.keyValueIterator` (#10118)
 	analyzer : fixed side effect handling for enums (#10032)
 	analyzer : fixed side effect handling for enums (#10032)

+ 21 - 1
extra/github-actions/build-mac.yml

@@ -1,4 +1,8 @@
 - name: Install dependencies
 - name: Install dependencies
+  env:
+    ZLIB_VERSION: 1.2.11
+    MBEDTLS_VERSION: 2.25.0
+    PCRE_VERSION: 8.44
   run: |
   run: |
     set -ex
     set -ex
     brew uninstall [email protected] || echo
     brew uninstall [email protected] || echo
@@ -11,12 +15,28 @@
     brew install cpanminus
     brew install cpanminus
     cpanm IPC::System::Simple
     cpanm IPC::System::Simple
     cpanm String::ShellQuote
     cpanm String::ShellQuote
+    curl -L https://www.zlib.net/zlib-$ZLIB_VERSION.tar.gz | tar xz
+    cd zlib-$ZLIB_VERSION
+    ./configure
+    make && make install
+    curl -L https://github.com/ARMmbed/mbedtls/archive/v$MBEDTLS_VERSION.tar.gz | tar xz
+    cd mbedtls-$MBEDTLS_VERSION
+    make && make install
+    curl -L https://ftp.pcre.org/pub/pcre/pcre-$PCRE_VERSION.tar.gz | tar xz
+    cd pcre-$PCRE_VERSION
+    ./configure
+    make && make install
+
 
 
 - name: Install OCaml libraries
 - name: Install OCaml libraries
   run: |
   run: |
     set -ex
     set -ex
     opam init # --disable-sandboxing
     opam init # --disable-sandboxing
     opam update
     opam update
+    opam switch create 4.07.1
+    eval $(opam env)
+    opam env
+    opam pin add ctypes 0.17.1 --yes
     opam pin add haxe . --no-action
     opam pin add haxe . --no-action
     opam install haxe --deps-only
     opam install haxe --deps-only
     opam list
     opam list
@@ -30,7 +50,7 @@
   run: |
   run: |
     set -ex
     set -ex
     eval $(opam env)
     eval $(opam env)
-    opam config exec -- make -s -j`sysctl -n hw.ncpu` STATICLINK=1 "LIB_PARAMS=/usr/local/opt/zlib/lib/libz.a /usr/local/lib/libpcre.a /usr/local/lib/libmbedtls.a /usr/local/lib/libmbedcrypto.a /usr/local/lib/libmbedx509.a -cclib '-framework Security -framework CoreFoundation'" haxe
+    opam config exec -- make -s -j`sysctl -n hw.ncpu` STATICLINK=1 "LIB_PARAMS=/usr/local/lib/libz.a /usr/local/lib/libpcre.a /usr/local/lib/libmbedtls.a /usr/local/lib/libmbedcrypto.a /usr/local/lib/libmbedx509.a -cclib '-framework Security -framework CoreFoundation'" haxe
     opam config exec -- make -s haxelib
     opam config exec -- make -s haxelib
     make -s package_unix package_installer_mac
     make -s package_unix package_installer_mac
     ls -l out
     ls -l out

+ 1 - 0
extra/github-actions/workflows/main.yml

@@ -70,6 +70,7 @@ jobs:
     env:
     env:
       PLATFORM: mac
       PLATFORM: mac
       OPAMYES: 1
       OPAMYES: 1
+      MACOSX_DEPLOYMENT_TARGET: 10.13
     steps:
     steps:
       - uses: actions/checkout@main
       - uses: actions/checkout@main
         with:
         with: