Skip to content

Commit

Permalink
Fix -Os
Browse files Browse the repository at this point in the history
  • Loading branch information
Jarred-Sumner committed Dec 6, 2024
1 parent f04df73 commit 2776bf2
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,37 +121,43 @@ jobs:
os: big-ubuntu
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Debug"
RELEASE_FLAGS: "-O2 -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-arm64-debug
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Debug"
RELEASE_FLAGS: "-O2 -DNDEBUG=1"
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
label: bun-webkit-linux-arm64-lto
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O2 -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-arm64
os: linux-arm64-gh
package_json_arch: "arm64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O2 -DNDEBUG=1"
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
label: bun-webkit-linux-amd64-lto
os: big-ubuntu
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-O2 -DNDEBUG=1"
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables -Os"
label: bun-webkit-linux-amd64-smol
os: big-ubuntu
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Release"
RELEASE_FLAGS: "-Os -DNDEBUG=1"
- lto_flag: ""
label: bun-webkit-linux-amd64
os: big-ubuntu
package_json_arch: "x64"
CMAKE_BUILD_TYPE: "Release"

RELEASE_FLAGS: "-O2 -DNDEBUG=1"
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
Expand All @@ -166,6 +172,8 @@ jobs:
with:
install: true
- name: Run
env:
RELEASE_FLAGS: ${{matrix.RELEASE_FLAGS}}
run: |
rm -rf ${{runner.temp}}/bun-webkit ${{runner.temp}}/bun-webkit.tar.gz
WEBKIT_RELEASE_TYPE=${{matrix.CMAKE_BUILD_TYPE}} CPU="native" cpu=native LTO_FLAG="${{matrix.lto_flag}}" temp=${{runner.temp}} bash release.sh
Expand Down
6 changes: 5 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ ARG MARCH_FLAG=""
ARG WEBKIT_RELEASE_TYPE=Release
ARG CPU=native
ARG LTO_FLAG="-flto=full -fwhole-program-vtables -fforce-emit-vtables "
ARG RELEASE_FLAGS="-O2 -DNDEBUG=1"
ARG LLVM_VERSION="18"
ARG DEFAULT_CFLAGS="-mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -ffunction-sections -fdata-sections -faddrsig -fno-unwind-tables -fno-asynchronous-unwind-tables -DU_STATIC_IMPLEMENTATION=1 "
ARG DEBIAN_VERSION="bookworm"
Expand All @@ -15,6 +16,7 @@ ARG CPU
ARG LTO_FLAG
ARG LLVM_VERSION
ARG DEFAULT_CFLAGS
ARG RELEASE_FLAGS
ARG DEBIAN_VERSION
ARG GLIBC_VERSION

Expand Down Expand Up @@ -121,7 +123,7 @@ WORKDIR /webkit

ENV CPU=${CPU}
ENV MARCH_FLAG=${MARCH_FLAG}

ENV RELEASE_FLAGS=${RELEASE_FLAGS}

RUN --mount=type=tmpfs,target=/webkitbuild \
export CFLAGS="$CFLAGS $LTO_FLAG -ffile-prefix-map=/webkit/Source=vendor/WebKit/Source -ffile-prefix-map=/webkitbuild/=. " && \
Expand All @@ -144,6 +146,8 @@ RUN --mount=type=tmpfs,target=/webkitbuild \
-DCMAKE_RANLIB=$(which llvm-ranlib) \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_C_FLAGS_RELEASE="$RELEASE_FLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE="$RELEASE_FLAGS" \
-DICU_ROOT=/icu \
-G Ninja \
/webkit && \
Expand Down
13 changes: 12 additions & 1 deletion release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,17 @@ rm -rf $temp/bun-webkit

echo "Building $CONTAINER_NAME to $temp/bun-webkit"

docker buildx build -f Dockerfile -t $CONTAINER_NAME --build-arg LTO_FLAG="$LTO_FLAG" --build-arg WEBKIT_RELEASE_TYPE=$WEBKIT_RELEASE_TYPE --progress=plain --platform=linux/$BUILDKIT_ARCH --target=artifact --output type=local,dest=$temp/bun-webkit .
docker buildx build \
-f Dockerfile \
-t $CONTAINER_NAME \
--build-arg LTO_FLAG="$LTO_FLAG" \
--build-arg RELEASE_FLAGS="$RELEASE_FLAGS" \
--build-arg WEBKIT_RELEASE_TYPE=$WEBKIT_RELEASE_TYPE \
--build-arg RELEASE_FLAGS="${RELEASE_FLAGS:-"-O2 -DNDEBUG=1"}" \
--progress=plain \
--platform=linux/$BUILDKIT_ARCH \
--target=artifact \
--output type=local,dest=$temp/bun-webkit \
.

echo "Successfully built $CONTAINER_NAME to $temp/bun-webkit"

0 comments on commit 2776bf2

Please sign in to comment.