diff --git a/.github/workflows/v8build.yml b/.github/workflows/v8build.yml index bb7951e9..b9cd7ea4 100644 --- a/.github/workflows/v8build.yml +++ b/.github/workflows/v8build.yml @@ -16,9 +16,6 @@ jobs: # https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md#xcode platform: [ubuntu-18.04, macos-11] arch: [x86_64, arm64] - exclude: - - platform: ubuntu-18.04 - arch: arm64 runs-on: ${{ matrix.platform }} steps: - name: Checkout @@ -29,6 +26,9 @@ jobs: - name: Update depot_tools fetch config run: cd deps/depot_tools && git config --unset-all remote.origin.fetch; git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* shell: bash + - name: Install g++-aarch64-linux-gnu + if: matrix.platform == 'ubuntu-18.04' && matrix.arch == 'arm64' + run: sudo apt update && sudo apt install g++-aarch64-linux-gnu -y - name: Build V8 linux if: matrix.platform == 'ubuntu-18.04' run: cd deps && ./build.py --no-clang --arch ${{ matrix.arch }} diff --git a/cgo.go b/cgo.go index 6a3a842c..90f92c2a 100644 --- a/cgo.go +++ b/cgo.go @@ -10,7 +10,8 @@ package v8go // #cgo LDFLAGS: -pthread -lv8 // #cgo darwin,amd64 LDFLAGS: -L${SRCDIR}/deps/darwin_x86_64 // #cgo darwin,arm64 LDFLAGS: -L${SRCDIR}/deps/darwin_arm64 -// #cgo linux LDFLAGS: -L${SRCDIR}/deps/linux_x86_64 -ldl +// #cgo linux,amd64 LDFLAGS: -L${SRCDIR}/deps/linux_x86_64 -ldl +// #cgo linux,arm64 LDFLAGS: -L${SRCDIR}/deps/linux_arm64 -ldl import "C" // These imports forces `go mod vendor` to pull in all the folders that @@ -20,5 +21,6 @@ import ( _ "rogchap.com/v8go/deps/darwin_arm64" _ "rogchap.com/v8go/deps/darwin_x86_64" _ "rogchap.com/v8go/deps/include" + _ "rogchap.com/v8go/deps/linux_arm64" _ "rogchap.com/v8go/deps/linux_x86_64" ) diff --git a/deps/depot_tools b/deps/depot_tools index 85d7fe7f..db41eed6 160000 --- a/deps/depot_tools +++ b/deps/depot_tools @@ -1 +1 @@ -Subproject commit 85d7fe7fe82ad5876c2bb95784d9b9f282115f92 +Subproject commit db41eed6b7442273b54bac9695567d97b60718de diff --git a/deps/linux_arm64/libv8.a b/deps/linux_arm64/libv8.a new file mode 100644 index 00000000..f4bff3cd Binary files /dev/null and b/deps/linux_arm64/libv8.a differ diff --git a/deps/linux_arm64/vendor.go b/deps/linux_arm64/vendor.go new file mode 100644 index 00000000..17652edc --- /dev/null +++ b/deps/linux_arm64/vendor.go @@ -0,0 +1,3 @@ +// Package linux_arm64 is required to provide support for vendoring modules +// DO NOT REMOVE +package linux_arm64