mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-17 15:34:18 +08:00
Add clang-install to relibc prefix and use them for llvm-config
This commit is contained in:
parent
4478e8755a
commit
2822d533ea
1
bin/aarch64-unknown-redox-llvm-config
Symbolic link
1
bin/aarch64-unknown-redox-llvm-config
Symbolic link
@ -0,0 +1 @@
|
||||
x86_64-unknown-redox-llvm-config
|
||||
@ -2,16 +2,15 @@
|
||||
|
||||
# This script wraps llvm-config that intended for cross compiling to Redox.
|
||||
# Because we can't run llvm-config compiled to Redox, we wrap it here.
|
||||
# Any recipes that calls this script must have "host:llvm.runtime" available.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
LLVM_CONFIG = "/usr/bin/llvm-config"
|
||||
LLVM_CONFIG = "/bin/llvm-config"
|
||||
|
||||
def main():
|
||||
toolchain_path = os.environ.get("COOKBOOK_TOOLCHAIN")
|
||||
toolchain_path = os.environ.get("COOKBOOK_HOST_SYSROOT")
|
||||
sysroot_path = os.environ.get("COOKBOOK_SYSROOT")
|
||||
|
||||
if not toolchain_path or not sysroot_path:
|
||||
|
||||
@ -36,7 +36,7 @@ static_clean: | $(FSTOOLS_TAG)
|
||||
$(MAKE) c.bash,luajit,gettext,openssl1,pcre2,sdl1,zstd,zlib,bzip2,xz
|
||||
$(MAKE) c.expat,freetype2,libffi,libiconv,libjpeg,liborbital,libpng,libxml2,ncurses,ncursesw
|
||||
|
||||
$(PREFIX)/relibc-install: $(PREFIX)/rust-install $(PREFIX)/gcc-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/relibc-install: $(PREFIX)/clang-install $(PREFIX)/rust-install $(PREFIX)/gcc-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -45,6 +45,7 @@ else
|
||||
mkdir "$@.partial"
|
||||
cp -r "$(PREFIX)/gcc-install/". "$@.partial"
|
||||
cp -r "$(PREFIX)/rust-install/". "$@.partial"
|
||||
cp -r "$(PREFIX)/clang-install/". "$@.partial"
|
||||
rm -rf "$@.partial/$(GNU_TARGET)/include/"*
|
||||
cp -r "$(PREFIX)/gcc-install/$(GNU_TARGET)/include/c++" "$@.partial/$(GNU_TARGET)/include/c++"
|
||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
|
||||
@ -254,6 +255,7 @@ $(PREFIX_RUST_VERSION_TAG):
|
||||
rm -f "$(PREFIX)"/rust-std-host-install.tar.xz
|
||||
rm -f "$(PREFIX)"/rust-std-target-install.tar.xz
|
||||
rm -f "$(PREFIX)"/rust-src-install.tar.xz:
|
||||
mkdir -p "$(@D)"
|
||||
touch $@
|
||||
|
||||
$(PREFIX)/rustc-install.tar.xz: | $(PREFIX_RUST_VERSION_TAG)
|
||||
@ -364,7 +366,10 @@ else
|
||||
export PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \
|
||||
$(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) && \
|
||||
./target/release/repo cook host:llvm21 host:clang21 host:lld21
|
||||
# skipping dev, while llvm libraries is already in rust
|
||||
# skipping dev, llvm libraries is already in rust if building
|
||||
ifeq ($(PREFIX_USE_UPSTREAM_RUST_COMPILER),1)
|
||||
cp -r "$(LLVM_TARGET)/stage/usr/". "$@.partial"
|
||||
endif
|
||||
cp -r "$(LLVM_TARGET)/stage.runtime/usr/". "$@.partial"
|
||||
cp -r "$(CLANG_TARGET)/stage/usr/". "$@.partial"
|
||||
cp -r "$(LLD_TARGET)/stage/usr/". "$@.partial"
|
||||
|
||||
@ -10,12 +10,6 @@ dev-dependencies = [
|
||||
"libstdcxx", # no idea
|
||||
"llvm21.dev",
|
||||
"llvm21.runtime",
|
||||
"host:llvm21",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
"host:clang21", # for clang-tblgen
|
||||
"host:xz",
|
||||
"host:libarchive", # workaround for cmake error
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
@ -26,7 +20,6 @@ generate_cookbook_cmake_file $COOKBOOK_HOST_TARGET "" "$COOKBOOK_TOOLCHAIN" nati
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DLLVM_ROOT="${COOKBOOK_SYSROOT}"
|
||||
-DCLANG_LINK_CLANG_DYLIB=ON
|
||||
-DLLVM_TABLEGEN_EXE=${COOKBOOK_TOOLCHAIN}/bin/llvm-tblgen
|
||||
-DLIBCLANG_BUILD_STATIC=1
|
||||
-DLLVM_BUILD_UTILS=On
|
||||
|
||||
@ -52,6 +45,8 @@ COOKBOOK_SOURCE="$COOKBOOK_SOURCE/clang"
|
||||
|
||||
if [ "$TARGET" = "$COOKBOOK_HOST_TARGET" ]; then
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS+=( -DLLVM_TABLEGEN_EXE=${COOKBOOK_TOOLCHAIN}/bin/llvm-tblgen )
|
||||
|
||||
"${COOKBOOK_CMAKE}" "${COOKBOOK_SOURCE}" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=include \
|
||||
@ -75,7 +70,8 @@ else
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath native.cmake)"
|
||||
-DCLANG_TABLEGEN_EXE=${COOKBOOK_TOOLCHAIN}/bin/clang-tblgen
|
||||
-DCLANG_TABLEGEN_EXE=${COOKBOOK_HOST_SYSROOT}/bin/clang-tblgen
|
||||
-DLLVM_TABLEGEN_EXE=${COOKBOOK_HOST_SYSROOT}/bin/llvm-tblgen
|
||||
)
|
||||
cookbook_cmake
|
||||
|
||||
|
||||
@ -10,11 +10,6 @@ dependencies = [
|
||||
dev-dependencies = [
|
||||
"llvm21.dev",
|
||||
"llvm21.runtime",
|
||||
"host:llvm21",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
"host:xz",
|
||||
"host:libarchive", # workaround for cmake error
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
@ -22,10 +17,15 @@ ARCH="$(echo "${TARGET}" | cut -d - -f1)"
|
||||
|
||||
generate_cookbook_cmake_file $COOKBOOK_HOST_TARGET "" "$COOKBOOK_TOOLCHAIN" native.cmake
|
||||
|
||||
if [ "$TARGET" = "$COOKBOOK_HOST_TARGET" ]; then
|
||||
COOKBOOK_CMAKE_FLAGS+=( -DLLVM_TABLEGEN_EXE=${COOKBOOK_TOOLCHAIN}/bin/llvm-tblgen )
|
||||
else
|
||||
COOKBOOK_CMAKE_FLAGS+=( -DLLVM_TABLEGEN_EXE=${COOKBOOK_HOST_SYSROOT}/bin/llvm-tblgen )
|
||||
fi
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DLLVM_ROOT="${COOKBOOK_SYSROOT}"
|
||||
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath native.cmake)"
|
||||
-DLLVM_TABLEGEN_EXE=${COOKBOOK_TOOLCHAIN}/bin/llvm-tblgen
|
||||
|
||||
# the shared options from llvm
|
||||
-DCMAKE_CXX_FLAGS="--std=gnu++11"
|
||||
|
||||
@ -15,9 +15,6 @@ dev-dependencies = [
|
||||
"llvm21.dev",
|
||||
"llvm21.runtime",
|
||||
"lld21",
|
||||
"host:llvm21",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
]
|
||||
|
||||
script = """
|
||||
|
||||
@ -14,8 +14,6 @@ dependencies = [
|
||||
]
|
||||
dev-dependencies = [
|
||||
"llvm21.dev",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
@ -15,8 +15,3 @@ dependencies = [
|
||||
"kerberos5",
|
||||
"zlib",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"host:clang21",
|
||||
"host:lld21",
|
||||
"host:llvm21.dev",
|
||||
]
|
||||
|
||||
@ -35,12 +35,6 @@ dependencies = [
|
||||
# "libepoxy",
|
||||
# "pipewire",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"host:llvm21",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
"host:clang21",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
|
||||
@ -37,12 +37,6 @@ dependencies = [
|
||||
# "libepoxy",
|
||||
# "pipewire",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"host:llvm21",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
"host:clang21",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
|
||||
@ -12,12 +12,6 @@ dependencies = [
|
||||
"mesa",
|
||||
"zlib",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"llvm21.dev",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
"host:libarchive", # workaround for cmake error
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
@ -41,7 +35,6 @@ export CLANGFLAGS="-I $PREFIX_INCLUDE/c++/13.2.0 -I $PREFIX_INCLUDE/c++/13.2.0/$
|
||||
#Mozjs specifics
|
||||
unset CC_WRAPPER
|
||||
export CARGO_MAKEFLAGS="-j $COOKBOOK_MAKE_JOBS" CCACHE="sccache"
|
||||
unset CC_WRAPPER
|
||||
|
||||
PACKAGE_PATH="ports/servoshell" cookbook_cargo
|
||||
|
||||
|
||||
@ -18,8 +18,6 @@ dependencies = [
|
||||
]
|
||||
dev-dependencies = [
|
||||
"llvm21.dev",
|
||||
"host:llvm21.dev",
|
||||
"host:llvm21.runtime",
|
||||
]
|
||||
|
||||
script = """
|
||||
|
||||
Loading…
Reference in New Issue
Block a user