Skip to content

Commit f61bc08

Browse files
authored
Merge pull request #67 from lightpanda-io/fix_build
Fix build
2 parents 46503a9 + fa1d7c2 commit f61bc08

File tree

5 files changed

+45
-27
lines changed

5 files changed

+45
-27
lines changed

.github/workflows/build-release.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
7777
- run: zig build get-v8
7878
- run: zig build -Doptimize=ReleaseSafe
79-
- run: mv mv v8/out/release/obj/zig/libc_v8.a libc_v8_${{steps.read-version.outputs.version}}_${{ env.OS }}_${{ env.ARCH }}.a
79+
- run: mv v8/out/release/obj/zig/libc_v8.a libc_v8_${{steps.read-version.outputs.version}}_${{ env.OS }}_${{ env.ARCH }}.a
8080

8181
- name: Upload the build
8282
uses: ncipollo/release-action@v1
@@ -107,11 +107,16 @@ jobs:
107107
108108
- run: |
109109
sudo apt-get update
110-
sudo apt-get install -yq libglib2.0-dev
110+
sudo apt-get install -yq libglib2.0-dev lld
111+
wget https://apt.llvm.org/llvm.sh
112+
chmod +x llvm.sh
113+
sudo ./llvm.sh 21
114+
sudo ln -nsf /usr/lib/llvm-21/lib/clang/21/lib/linux/libclang_rt.builtins-aarch64.a /usr/lib/llvm-21/lib/clang/21/lib/linux/libclang_rt.builtins.a && \
115+
sudo ln -nsf /usr/lib/llvm-21/lib/clang/21/lib/linux/ /usr/lib/llvm-21/lib/clang/21/lib/aarch64-unknown-linux-gnu
111116
112117
- run: zig build get-v8
113118
- run: zig build -Doptimize=ReleaseSafe
114-
- run: mv mv v8/out/release/obj/zig/libc_v8.a libc_v8_${{steps.read-version.outputs.version}}_${{ env.OS }}_${{ env.ARCH }}.a
119+
- run: mv v8/out/release/obj/zig/libc_v8.a libc_v8_${{steps.read-version.outputs.version}}_${{ env.OS }}_${{ env.ARCH }}.a
115120

116121
- name: Upload the build
117122
uses: ncipollo/release-action@v1
@@ -146,7 +151,7 @@ jobs:
146151
147152
- run: zig build get-v8
148153
- run: zig build -Doptimize=ReleaseSafe
149-
- run: mv mv v8/out/release/obj/zig/libc_v8.a libc_v8_${{steps.read-version.outputs.version}}_${{ env.OS }}_${{ env.ARCH }}.a
154+
- run: mv v8/out/release/obj/zig/libc_v8.a libc_v8_${{steps.read-version.outputs.version}}_${{ env.OS }}_${{ env.ARCH }}.a
150155

151156
- name: Upload the build
152157
uses: ncipollo/release-action@v1

build-tools/build_v8.sh

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,11 @@ set -o errtrace # inherits trap on ERR in function and subshell
66
source utils.sh
77

88
SRC_ROOT=${1:-"../src"}
9+
MODE=${2:-"debug"}
910

1011
cp ${SRC_ROOT}/binding.cpp src/
1112
cp ${SRC_ROOT}/inspector.h src/
1213

13-
ARCH=$(uname -m);
14-
case "$ARCH" in
15-
x86_64) ARCH="x64" ;;
16-
esac
17-
18-
case "$OSTYPE" in
19-
darwin*) OS="mac" ;;
20-
linux*) OS="linux" ;;
21-
*) fail "unsupported platform: ${OSTYPE}"
22-
esac
23-
24-
MODE=${2:-"debug"}
2514
OUT=out/${MODE}
2615

2716
if [[ ${MODE} == "release" ]]; then
@@ -35,18 +24,28 @@ fi
3524
mkdir -p src/zig
3625
cp BUILD.gn src/zig/
3726

27+
EXTRA_ARGS=""
28+
if [ "${OS}" = "linux" ] && [ "${ARCH}" == "arm64" ]; then
29+
EXTRA_ARGS="clang_base_path=\"/usr/lib/llvm-21\" clang_use_chrome_plugins=false treat_warnings_as_errors=false"
30+
fi
31+
32+
TARGET_ARCH=${ARCH}
33+
if [ "${ARCH}" = "amd64" ]; then
34+
TARGET_ARCH="x64"
35+
fi
36+
3837
tools/gn \
3938
--root=src \
4039
--root-target=//zig \
4140
--dotfile=.gn \
4241
gen ${OUT} \
4342
--args="
4443
target_os=\"${OS}\"
45-
target_cpu=\"${ARCH}\"
46-
host_cpu=\"${ARCH}\"
44+
target_cpu=\"${TARGET_ARCH}\"
45+
host_cpu=\"${TARGET_ARCH}\"
4746
is_debug=${IS_DEBUG}
4847
symbol_level=${SYMBOL_LEVEL}
49-
is_official_build=false
48+
is_official_build=false ${EXTRA_ARGS}
5049
"
5150

5251
tools/ninja -C ${OUT} "c_v8"

build-tools/get_tools.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ source utils.sh
77

88
mkdir -p tools/
99

10-
case "$OSTYPE" in
11-
darwin*) OS="mac" ;;
12-
linux*) OS="linux" ;;
13-
*) fail "unsupported platform: ${OSTYPE}"
14-
esac
15-
1610
if [ ! -f tools/gn ]; then
17-
download "https://chrome-infra-packages.appspot.com/dl/gn/gn/${OS}-amd64/+/latest" tools/gn.zip
11+
GN_ARCHIVE="${OS}-${ARCH}"
12+
download "https://chrome-infra-packages.appspot.com/dl/gn/gn/${GN_ARCHIVE}/+/latest" tools/gn.zip
1813
unzip -o tools/gn.zip -d tools
1914
fi
2015

2116
if [ ! -f tools/ninja ]; then
22-
download "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-${OS}.zip" tools/ninja.zip
17+
NINJA_ARCHIVE="ninja-${OS}.zip"
18+
if [ "${OS}" = "linux" ] && [ "${ARCH}" == "arm64" ]; then
19+
NINJA_ARCHIVE="ninja-linux-aarch64.zip"
20+
fi
21+
22+
download "https://github.com/ninja-build/ninja/releases/download/v1.12.1/${NINJA_ARCHIVE}" tools/ninja.zip
2323
unzip -o tools/ninja.zip -d tools
2424
fi

build-tools/get_v8.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
set -o errexit # exit on errors
33
set -o nounset # exit on use of uninitialized variable
44
set -o errtrace # inherits trap on ERR in function and subshell
5+
56
source utils.sh
67

78
REVISION=13.6.233.8

build-tools/utils.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,16 @@ download() {
1515
say "downloading ${1} into ${2}"
1616
curl -L ${1} -o ${2}
1717
}
18+
19+
case $(uname -m) in
20+
arm*) ARCH="arm64" ;;
21+
aarch64) ARCH="arm64" ;;
22+
x86_64) ARCH="amd64" ;;
23+
*) fail "unsupported architecture: $(uname -m)"
24+
esac
25+
26+
case "$OSTYPE" in
27+
darwin*) OS="mac" ;;
28+
linux*) OS="linux" ;;
29+
*) fail "unsupported platform: ${OSTYPE}"
30+
esac

0 commit comments

Comments
 (0)