Merge llvm18-shared and llvm18 into llvm18

This commit is contained in:
Jeremy Soller 2025-05-06 21:53:21 -06:00
parent 4cf2620d54
commit 9c433f4d48
No known key found for this signature in database
GPG Key ID: 670FDFB5428E05CA
7 changed files with 29 additions and 98 deletions

View File

@ -1,2 +0,0 @@
set(CMAKE_C_COMPILER cc)
set(CMAKE_CXX_COMPILER c++)

View File

@ -1,79 +0,0 @@
[source]
same_as = "../llvm18"
[build]
template = "custom"
dependencies = [
"zlib"
]
script = """
DYNAMIC_INIT
cat > CMakeToolchain-x86_64.cmake <<EOF
set(CMAKE_SYSTEM_NAME UnixPaths)
set(CMAKE_FIND_ROOT_PATH ${COOKBOOK_SYSROOT})
set(CMAKE_C_COMPILER ${TARGET}-gcc)
set(CMAKE_CXX_COMPILER ${TARGET}-g++)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
EOF
export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib $LDFLAGS"
COOKBOOK_MAKE="ninja"
COOKBOOK_CONFIGURE_FLAGS=(
-GNinja
-DCMAKE_TOOLCHAIN_FILE=./CMakeToolchain-x86_64.cmake
-DCMAKE_AR="$(which "${TARGET}-ar")"
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CROSSCOMPILING=True
-DCMAKE_CXX_FLAGS="--std=gnu++11"
-DCMAKE_RANLIB="$(which "${TARGET}-ranlib")"
-DCMAKE_INSTALL_PREFIX="/"
-DCMAKE_INSTALL_INCLUDEDIR="include"
-DCMAKE_INSTALL_OLDINCLUDEDIR="/include"
-DLLVM_LINK_LLVM_DYLIB=On
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath "${COOKBOOK_RECIPE}/native.cmake")"
-DLLVM_BUILD_BENCHMARKS=Off
-DLLVM_BUILD_EXAMPLES=Off
-DLLVM_BUILD_TESTS=Off
-DLLVM_BUILD_UTILS=Off
-DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET}"
-DLLVM_ENABLE_LTO=Off
-DLLVM_ENABLE_RTTI=On
-DLLVM_ENABLE_THREADS=On
-DLLVM_ENABLE_ZSTD=Off
-DLLVM_INCLUDE_BENCHMARKS=Off
-DLLVM_INCLUDE_EXAMPLES=Off
-DLLVM_INCLUDE_TESTS=Off
-DLLVM_INCLUDE_UTILS=Off
-DLLVM_OPTIMIZED_TABLEGEN=On
-DLLVM_TARGET_ARCH="$(echo "${TARGET}" | cut -d - -f1)"
-DLLVM_TARGETS_TO_BUILD=X86 # TODO: get from TARGET
-DLLVM_TOOL_LLVM_COV_BUILD=Off
-DLLVM_TOOL_LLVM_LTO_BUILD=Off
-DLLVM_TOOL_LLVM_LTO2_BUILD=Off
-DLLVM_TOOL_LLVM_PROFDATA_BUILD=Off
-DLLVM_TOOL_LLVM_RTDYLD_BUILD=Off
-DLLVM_TOOL_LLVM_XRAY_BUILD=Off
-DLLVM_TOOL_LLI_BUILD=Off
-DLLVM_TOOL_LTO_BUILD=Off
-DLLVM_TOOLS_INSTALL_DIR=bin
-DLLVM_UTILS_INSTALL_DIR=bin
-DUNIX=1
-DLLVM_ENABLE_PROJECTS="llvm"
-Wno-dev
"${COOKBOOK_SOURCE}/llvm"
)
set -x
cmake "${COOKBOOK_CONFIGURE_FLAGS[@]}"
ninja -j"${COOKBOOK_MAKE_JOBS}"
DESTDIR="${COOKBOOK_STAGE}" ninja install -j"${COOKBOOK_MAKE_JOBS}"
mv -vT "${COOKBOOK_STAGE}"/usr/include "${COOKBOOK_STAGE}/include"
mv -vT "${COOKBOOK_STAGE}"/usr/share "${COOKBOOK_STAGE}/share"
rmdir -v "${COOKBOOK_STAGE}"/usr
set +x
"""

View File

@ -1,3 +1,2 @@
set(CMAKE_C_COMPILER cc)
set(CMAKE_CXX_COMPILER c++)
set(CMAKE_EXE_LINKER_FLAGS)

View File

@ -9,18 +9,35 @@ dependencies = [
"zlib"
]
script = """
COOKBOOK_CONFIGURE="cmake"
DYNAMIC_INIT
cat > CMakeToolchain-x86_64.cmake <<EOF
set(CMAKE_SYSTEM_NAME UnixPaths)
set(CMAKE_FIND_ROOT_PATH ${COOKBOOK_SYSROOT})
set(CMAKE_C_COMPILER ${TARGET}-gcc)
set(CMAKE_CXX_COMPILER ${TARGET}-g++)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
EOF
export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib $LDFLAGS"
COOKBOOK_MAKE="ninja"
COOKBOOK_CONFIGURE_FLAGS=(
-GNinja
-DCMAKE_TOOLCHAIN_FILE=./CMakeToolchain-x86_64.cmake
-DCMAKE_AR="$(which "${TARGET}-ar")"
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CROSSCOMPILING=True
-DCMAKE_CXX_FLAGS="--std=gnu++11"
-DCMAKE_EXE_LINKER_FLAGS="-static"
-DCMAKE_RANLIB="$(which "${TARGET}-ranlib")"
-DCMAKE_INSTALL_PREFIX="/usr"
-DCMAKE_INSTALL_INCLUDEDIR="include"
-DCMAKE_INSTALL_OLDINCLUDEDIR="/include"
-DCMAKE_SYSTEM_NAME=Generic
-DLLVM_LINK_LLVM_DYLIB=On
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath "${COOKBOOK_RECIPE}/native.cmake")"
-DLLVM_BUILD_BENCHMARKS=Off
-DLLVM_BUILD_EXAMPLES=Off
@ -35,6 +52,7 @@ COOKBOOK_CONFIGURE_FLAGS=(
-DLLVM_INCLUDE_EXAMPLES=Off
-DLLVM_INCLUDE_TESTS=Off
-DLLVM_INCLUDE_UTILS=Off
-DLLVM_OPTIMIZED_TABLEGEN=On
-DLLVM_TARGET_ARCH="$(echo "${TARGET}" | cut -d - -f1)"
-DLLVM_TARGETS_TO_BUILD=X86 # TODO: get from TARGET
-DLLVM_TOOL_LLVM_COV_BUILD=Off
@ -47,19 +65,14 @@ COOKBOOK_CONFIGURE_FLAGS=(
-DLLVM_TOOL_LTO_BUILD=Off
-DLLVM_TOOLS_INSTALL_DIR=bin
-DLLVM_UTILS_INSTALL_DIR=bin
-DPYTHON_EXECUTABLE="/usr/bin/python2"
-DUNIX=1
-DZLIB_LIBRARY=-lz
-DZLIB_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
-DLLVM_ENABLE_PROJECTS="llvm"
-Wno-dev
"${COOKBOOK_SOURCE}/llvm"
)
LLVM_TABLEGEN="$(which llvm-tblgen-18 || true)"
if [ -n "${LLVM_TABLEGEN}" ]
then
COOKBOOK_CONFIGURE_FLAGS+=(-DLLVM_TABLEGEN="${LLVM_TABLEGEN}")
fi
COOKBOOK_CONFIGURE_FLAGS+=("${COOKBOOK_SOURCE}/llvm")
set -x
cookbook_configure
cmake "${COOKBOOK_CONFIGURE_FLAGS[@]}"
ninja -j"${COOKBOOK_MAKE_JOBS}"
DESTDIR="${COOKBOOK_STAGE}" ninja install -j"${COOKBOOK_MAKE_JOBS}"
set +x
"""

View File

@ -1,6 +1,6 @@
GIT=https://gitlab.redox-os.org/redox-os/rust.git
BRANCH=redox-2024-05-11
BUILD_DEPENDS=(llvm18-shared zlib)
BUILD_DEPENDS=(llvm18 zlib)
DEPENDS="gcc13 cargo"
PREPARE_COPY=0

View File

@ -12,7 +12,7 @@ dependencies = [
"libxcb",
"libxext",
"libxxf86vm",
"llvm18-shared",
"llvm18",
"mesa-x11",
"mesa-glu-x11",
"x11proto",

View File

@ -12,7 +12,7 @@ dependencies = [
"libxext",
"libxfixes",
"libxxf86vm",
"llvm18-shared",
"llvm18",
"x11proto",
"zlib",
]