mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-11-05 04:06:38 +08:00
Merge branch 'libcxx-fix' into 'master'
Fixes to building libcxx See merge request redox-os/redox!2324
This commit is contained in:
commit
14ae5b8807
13
mk/prefix.mk
13
mk/prefix.mk
@ -34,7 +34,7 @@ UPSTREAM_RUSTC_VERSION=2026-05-24
|
||||
export PREFIX_RUSTFLAGS=-L $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib
|
||||
export RUSTUP_TOOLCHAIN=$(ROOT)/$(PREFIX_INSTALL)
|
||||
export REDOXER_TOOLCHAIN=$(RUSTUP_TOOLCHAIN)
|
||||
PREFIX_CONFIG=CI=1 COOKBOOK_CLEAN_BUILD=true COOKBOOK_CLEAN_TARGET=false COOKBOOK_VERBOSE=true COOKBOOK_NONSTOP=false
|
||||
PREFIX_CONFIG=CI=1 REDOXER_USE_CLANG=0 COOKBOOK_CLEAN_BUILD=true COOKBOOK_CLEAN_TARGET=false COOKBOOK_VERBOSE=true COOKBOOK_NONSTOP=false
|
||||
|
||||
prefix: $(PREFIX)/sysroot
|
||||
|
||||
@ -404,8 +404,8 @@ ifeq ($(PODMAN_BUILD),1)
|
||||
else
|
||||
@echo "\033[1;36;49mBuilding wasip1-libc-install\033[0m"
|
||||
rm -rf "$@.partial" "$@"
|
||||
export REDOXER_TOOLCHAIN=$(ROOT)/$(PREFIX)/clang-install REDOXER_USE_CLANG=1 PATH="$(ROOT)/$(PREFIX)/clang-install/bin:$$PATH" \
|
||||
$(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=wasm32-wasip1 COOKBOOK_CROSS_GNU_TARGET=wasm32-wasip1 && \
|
||||
export REDOXER_TOOLCHAIN=$(ROOT)/$(PREFIX)/clang-install $(PREFIX_CONFIG) PATH="$(ROOT)/$(PREFIX)/clang-install/bin:$$PATH" \
|
||||
REDOXER_USE_CLANG=1 COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=wasm32-wasip1 COOKBOOK_CROSS_GNU_TARGET=wasm32-wasip1 && \
|
||||
$(REPO_BIN) cook host:wasi-libc
|
||||
cp -r "$(WASIP1_LIBC_TARGET)/stage/usr/". "$@.partial"
|
||||
mkdir -p "$@.partial/share/wasi-sysroot"
|
||||
@ -434,7 +434,7 @@ endif
|
||||
endif
|
||||
|
||||
# BUILD CLANG ---------------------------------------------------
|
||||
$(PREFIX)/clang-install: | $(PREFIX)/relibc-freestanding-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/clang-install: | $(PREFIX)/gcc-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -449,8 +449,9 @@ else
|
||||
cp -r "$(CLANG_TARGET)/stage/usr/". "$@.partial"
|
||||
cp -r "$(LLD_TARGET)/stage/usr/". "$@.partial"
|
||||
rm -rf "$@.partial/lib/"*.a
|
||||
echo "--sysroot=$(ROOT)/$(PREFIX)/relibc-freestanding-install" > "$@.partial/bin/$(GNU_TARGET).cfg"
|
||||
export PATH="$(LIBTOOL_PATH)/bin:$(ROOT)/$@.partial/bin:$$PATH" $(PREFIX_CONFIG) \
|
||||
echo "--sysroot=$(ROOT)/$(PREFIX)/gcc-install" > "$@.partial/bin/$(GNU_TARGET).cfg"
|
||||
ln -s clang-21 "$@.partial/bin/$(TARGET)-clang"
|
||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" $(PREFIX_CONFIG) \
|
||||
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(HOST_TARGET) REDOXER_USE_CLANG=1 && \
|
||||
$(REPO_BIN) cook llvm-rt21
|
||||
cp -r "$(LLVM_RT_TARGET)/stage/usr/". "$@.partial"
|
||||
|
||||
@ -18,10 +18,14 @@ COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DCOMPILER_RT_BUILD_SANITIZERS=OFF
|
||||
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON
|
||||
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
|
||||
-DLIBCXX_USE_COMPILER_RT=ON
|
||||
-DLIBCXX_ENABLE_SHARED=OFF
|
||||
-DLIBCXX_ENABLE_LOCALIZATION=OFF # TODO: *_l functions
|
||||
-DLIBCXX_ENABLE_FILESYSTEM=OFF # TODO: fstream require locales
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF # TODO: libunwind need link.h
|
||||
-DLIBCXX_ENABLE_WIDE_CHARACTERS=OFF # TODO: wsctof, wsctold
|
||||
-DLIBCXXABI_USE_COMPILER_RT=ON
|
||||
-DLIBCXXABI_ENABLE_SHARED=OFF
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF # TODO: libunwind need link.h
|
||||
-DCOMPILER_RT_INSTALL_PATH="/usr/lib/clang/21"
|
||||
|
||||
# the shared options from llvm
|
||||
|
||||
@ -243,7 +243,7 @@ function generate_cookbook_cmake_file {
|
||||
SYSTEM_NAME="UnixPaths"
|
||||
fi
|
||||
|
||||
if [ -z "${REDOXER_USE_CLANG}" ]; then
|
||||
if [[ "$REDOXER_USE_CLANG" != "1" && "$REDOXER_USE_CLANG" != "true" ]]; then
|
||||
cat > $file <<EOF
|
||||
set(CMAKE_AR ${gcc_prefix}gcc-ar)
|
||||
set(CMAKE_CXX_COMPILER ${gcc_prefix}g++)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user