clang #2

Closed
DarkCat09 wants to merge 2 commits from dev/dc09 into main

View file

@ -5,7 +5,7 @@ FROM ubuntu:25.04 AS build
RUN apt -qq update \ RUN apt -qq update \
&& apt -qq upgrade -y \ && apt -qq upgrade -y \
&& apt -qq install -y --no-install-recommends \ && apt -qq install -y --no-install-recommends \
ant ant-contrib autoconf build-essential ca-certificates clang cmake cpio curl execstack file git \ ant ant-contrib autoconf ca-certificates clang cmake cpio curl execstack file git openjdk-21-jdk-headless \
libasound2-dev libcups2-dev libdwarf-dev libelf-dev libexpat1-dev libffi-dev libfontconfig libfontconfig1-dev \ libasound2-dev libcups2-dev libdwarf-dev libelf-dev libexpat1-dev libffi-dev libfontconfig libfontconfig1-dev \
libfreetype6-dev libnuma-dev libssl-dev libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev libxtst-dev \ libfreetype6-dev libnuma-dev libssl-dev libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev libxtst-dev \
llvm-dev lld make nasm pkg-config python3 python3-dev rsync systemtap-sdt-dev unzip wget xvfb zip zlib1g-dev unzip \ llvm-dev lld make nasm pkg-config python3 python3-dev rsync systemtap-sdt-dev unzip wget xvfb zip zlib1g-dev unzip \
@ -27,18 +27,16 @@ RUN git clone --single-branch --depth 1 \
WORKDIR /build/src WORKDIR /build/src
RUN bash get_source.sh RUN bash get_source.sh
ENV CC=/usr/bin/clang CXX=/usr/bin/clang++ LD=/usr/bin/lld ENV CC=/usr/bin/clang CXX=/usr/bin/clang++ LD=/usr/bin/lld \
# TODO: add as args to configure CFLAGS="-Wno-error=nontrivial-memcall -O3 -flto -fwhole-program-vtables"
# CFLAGS="-O3 -flto -fwhole-program-vtables" \
# LDFLAGS="-Wl,-O1"
ENV CFLAGS="-Wno-error=nontrivial-memcall"
RUN bash configure \ RUN bash configure \
--with-boot-jdk=/build/bootjdk \ --with-boot-jdk=/usr/lib/jvm/java-21-openjdk-amd64 \
--with-openssl=system \ --with-openssl=system \
--with-toolchain-type=clang \ --with-toolchain-type=clang \
--enable-jvm-feature-link-time-opt \ --enable-jvm-feature-link-time-opt \
--with-extra-cflags="$CFLAGS" \ --with-extra-cflags="$CFLAGS" \
--with-extra-cxxflags="$CFLAGS" --with-extra-cxxflags="$CFLAGS" \
--with-extra-ldflags="-Wl,-O1"
RUN make all JOBS=$(nproc) RUN make all JOBS=$(nproc)
# jlink by advice from https://adoptium.net/blog/2021/10/jlink-to-produce-own-runtime/ # jlink by advice from https://adoptium.net/blog/2021/10/jlink-to-produce-own-runtime/