mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-07-03 10:08:45 +08:00
Make it easier to compile cmake software dynamically
This commit is contained in:
parent
5064d0e02e
commit
8e48e73584
@ -24,7 +24,7 @@ DYNAMIC_INIT
|
||||
|
||||
export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib $LDFLAGS"
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DBUILD_TESTING=Off
|
||||
-DCMAKE_USE_SYSTEM_BZIP2=On
|
||||
-DCMAKE_USE_SYSTEM_CURL=On
|
||||
|
||||
@ -31,7 +31,7 @@ case "${TARGET}" in
|
||||
;;
|
||||
esac
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DCMAKE_CXX_FLAGS="--std=gnu++11"
|
||||
-DBUILD_SHARED_LIBS=False
|
||||
-DLLVM_LINK_LLVM_DYLIB=On
|
||||
|
||||
@ -23,7 +23,7 @@ export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL"
|
||||
export SDLCONFIG="${COOKBOOK_SYSROOT}/bin/sdl-config --prefix=${COOKBOOK_SYSROOT}"
|
||||
|
||||
export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib"
|
||||
if [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then
|
||||
if [ "${COOKBOOK_DYNAMIC}" != "1" ]; then
|
||||
LDFLAGS+=" -static"
|
||||
fi
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ export bindir="${prefix}/games"
|
||||
export icondir="/ui/icons/apps"
|
||||
export gamesdir="${prefix}/share/games"
|
||||
|
||||
if ! [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then
|
||||
if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then
|
||||
LDFLAGS+=" -lstdc++"
|
||||
fi
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ export USE_SDL2=1
|
||||
export USE_CODEC_MP3=0
|
||||
export DO_USERDIRS=1
|
||||
|
||||
if ! [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then
|
||||
if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then
|
||||
LDFLAGS+=" -lstdc++"
|
||||
fi
|
||||
|
||||
|
||||
@ -6,6 +6,6 @@ blake3 = "3efc14da55c56fc0a6a50f109d9e1ee8a91f5ae7dd17a21d3aebe04a65f3ee96"
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_cmake
|
||||
"""
|
||||
|
||||
@ -8,7 +8,7 @@ template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DBUILD_TESTING=Off
|
||||
)
|
||||
cookbook_cmake
|
||||
|
||||
@ -17,27 +17,19 @@ export CFLAGS+=" -DHAVE_PTHREAD=1"
|
||||
export CPPFLAGS+=" -DHAVE_PTHREAD=1"
|
||||
export LLVM_CONFIG="${TARGET}-llvm-config"
|
||||
|
||||
if [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then
|
||||
export LDFLAGS+=" --static"
|
||||
export DEFAULTLIB="static"
|
||||
export LLVMSHARED="disabled"
|
||||
if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then
|
||||
COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=enabled)
|
||||
else
|
||||
export DEFAULTLIB="shared"
|
||||
export LLVMSHARED="enabled"
|
||||
COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=disabled)
|
||||
fi
|
||||
|
||||
COOKBOOK_MESON_FLAGS=(
|
||||
-Ddefault_library="${DEFAULTLIB}"
|
||||
-Dglx=disabled
|
||||
-Dllvm=enabled
|
||||
-Dosmesa=true
|
||||
-Dplatforms=
|
||||
-Dshader-cache=disabled
|
||||
-Dshared-llvm="${LLVMSHARED}"
|
||||
cookbook_meson \
|
||||
-Dglx=disabled \
|
||||
-Dllvm=enabled \
|
||||
-Dosmesa=true \
|
||||
-Dplatforms= \
|
||||
-Dshader-cache=disabled \
|
||||
-Dshared-glapi=disabled
|
||||
)
|
||||
|
||||
cookbook_meson
|
||||
|
||||
# Hack to add LLVM libs
|
||||
#TODO: only add necessary LLVM libs, not all of them
|
||||
|
||||
@ -13,7 +13,7 @@ dependencies = [
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-Dprotobuf_BUILD_TESTS=OFF
|
||||
)
|
||||
cookbook_cmake
|
||||
|
||||
@ -228,6 +228,12 @@ function DYNAMIC_INIT {
|
||||
--disable-static
|
||||
)
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
-DBUILD_SHARED_LIBS=True
|
||||
-DENABLE_SHARED=True
|
||||
-DENABLE_STATIC=False
|
||||
)
|
||||
|
||||
COOKBOOK_MESON_FLAGS=(
|
||||
--buildtype release
|
||||
--wrap-mode nofallback
|
||||
@ -255,6 +261,12 @@ function DYNAMIC_STATIC_INIT {
|
||||
--enable-static
|
||||
)
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
-DBUILD_SHARED_LIBS=True
|
||||
-DENABLE_SHARED=True
|
||||
-DENABLE_STATIC=True
|
||||
)
|
||||
|
||||
COOKBOOK_MESON_FLAGS=(
|
||||
--buildtype release
|
||||
--wrap-mode nofallback
|
||||
@ -927,6 +939,11 @@ function cookbook_configure {
|
||||
|
||||
COOKBOOK_CMAKE="cmake"
|
||||
COOKBOOK_NINJA="ninja"
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
-DBUILD_SHARED_LIBS=False
|
||||
-DENABLE_SHARED=False
|
||||
-DENABLE_STATIC=True
|
||||
)
|
||||
function cookbook_cmake {
|
||||
cat > cross_file.cmake <<EOF
|
||||
set(CMAKE_AR ${TARGET}-ar)
|
||||
@ -959,8 +976,6 @@ EOF
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_SBINDIR=bin \
|
||||
-DCMAKE_TOOLCHAIN_FILE=cross_file.cmake \
|
||||
-DBUILD_SHARED_LIBS=True \
|
||||
-DENABLE_STATIC=False \
|
||||
-GNinja \
|
||||
-Wno-dev \
|
||||
"${COOKBOOK_CMAKE_FLAGS[@]}" \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user