From fb877effb8dba8909ad439eca9334f392e71a03e Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sat, 9 Jul 2022 16:14:03 +0200 Subject: [PATCH] Meta+Ports: Automatically generate a meson cross file that we can use --- Meta/CMake/Superbuild/CMakeLists.txt | 2 ++ Ports/glib/.gitignore | 2 -- Ports/glib/cross_file-i686.txt | 16 ---------------- Ports/glib/cross_file-x86_64.txt | 16 ---------------- Ports/glib/package.sh | 2 +- Ports/powdertoy/.gitignore | 2 -- Ports/powdertoy/cross_file-i686.txt | 16 ---------------- Ports/powdertoy/cross_file-x86_64.txt | 16 ---------------- Ports/powdertoy/package.sh | 2 +- Toolchain/CMake/meson-cross-file-Clang.txt.in | 16 ++++++++++++++++ Toolchain/CMake/meson-cross-file-GNU.txt.in | 16 ++++++++++++++++ 11 files changed, 36 insertions(+), 70 deletions(-) delete mode 100644 Ports/glib/.gitignore delete mode 100644 Ports/glib/cross_file-i686.txt delete mode 100644 Ports/glib/cross_file-x86_64.txt delete mode 100644 Ports/powdertoy/.gitignore delete mode 100644 Ports/powdertoy/cross_file-i686.txt delete mode 100644 Ports/powdertoy/cross_file-x86_64.txt create mode 100644 Toolchain/CMake/meson-cross-file-Clang.txt.in create mode 100644 Toolchain/CMake/meson-cross-file-GNU.txt.in diff --git a/Meta/CMake/Superbuild/CMakeLists.txt b/Meta/CMake/Superbuild/CMakeLists.txt index d9b28e853ea..4125dc0b38c 100644 --- a/Meta/CMake/Superbuild/CMakeLists.txt +++ b/Meta/CMake/Superbuild/CMakeLists.txt @@ -50,6 +50,8 @@ set(SERENITY_TOOLCHAIN_FILE "${SERENITY_BUILD_DIR}/CMakeToolchain.txt" CACHE PAT # Support non-cross builds by stuffing this in a variable set(SERENITY_TOOLCHAIN_FILE_ARG "-DCMAKE_TOOLCHAIN_FILE:STRING=${SERENITY_TOOLCHAIN_FILE}") +configure_file("${SERENITY_SOURCE_DIR}/Toolchain/CMake/meson-cross-file-${SERENITY_TOOLCHAIN}.txt.in" "${SERENITY_BUILD_DIR}/meson-cross-file.txt" @ONLY) + # Allow the Ninja generators to output messages as they happen by assigning # these jobs to the 'console' job pool set(console_access "") diff --git a/Ports/glib/.gitignore b/Ports/glib/.gitignore deleted file mode 100644 index 37d9917f4b8..00000000000 --- a/Ports/glib/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -!cross_file-i686.txt -!cross_file-x86_64.txt diff --git a/Ports/glib/cross_file-i686.txt b/Ports/glib/cross_file-i686.txt deleted file mode 100644 index 5fb0a1fe2a7..00000000000 --- a/Ports/glib/cross_file-i686.txt +++ /dev/null @@ -1,16 +0,0 @@ -[binaries] -c = 'i686-pc-serenity-gcc' -cpp = 'i686-pc-serenity-g++' -ar = 'i686-pc-serenity-ar' -ranlib = 'i686-pc-serenity-ranlib' -pkgconfig = 'pkg-config' - -[properties] -sys_root = '../../../../Build/i686/Root' -needs_exe_wrapper = true - -[host_machine] -system = 'serenity' -cpu_family = 'x86' -cpu = 'i686' -endian = 'little' diff --git a/Ports/glib/cross_file-x86_64.txt b/Ports/glib/cross_file-x86_64.txt deleted file mode 100644 index dc11c6ba1a1..00000000000 --- a/Ports/glib/cross_file-x86_64.txt +++ /dev/null @@ -1,16 +0,0 @@ -[binaries] -c = 'x86_64-pc-serenity-gcc' -cpp = 'x86_64-pc-serenity-g++' -ar = 'x86_64-pc-serenity-ar' -ranlib = 'x86_64-pc-serenity-ranlib' -pkgconfig = 'pkg-config' - -[properties] -sys_root = '../../../../Build/x86_64/Root' -needs_exe_wrapper = true - -[host_machine] -system = 'serenity' -cpu_family = 'x86' -cpu = 'x86_64' -endian = 'little' diff --git a/Ports/glib/package.sh b/Ports/glib/package.sh index 5d650114590..67a5e45a2b4 100755 --- a/Ports/glib/package.sh +++ b/Ports/glib/package.sh @@ -4,7 +4,7 @@ version='2.73.0' files="https://gitlab.gnome.org/GNOME/glib/-/archive/${version}/glib-${version}.tar.gz glib-${version}.tar.gz 3f573319adbdf572d79255e8bae85c7e2902d1aa6177d2646605a00c0a607eca" auth_type='sha256' useconfigure='true' -configopts=("--cross-file" "../cross_file-${SERENITY_ARCH}.txt") +configopts=("--cross-file" "${SERENITY_BUILD_DIR}/meson-cross-file.txt") depends=("libiconv" "libffi" "zlib" "gettext" "pcre") configure() { diff --git a/Ports/powdertoy/.gitignore b/Ports/powdertoy/.gitignore deleted file mode 100644 index 37d9917f4b8..00000000000 --- a/Ports/powdertoy/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -!cross_file-i686.txt -!cross_file-x86_64.txt diff --git a/Ports/powdertoy/cross_file-i686.txt b/Ports/powdertoy/cross_file-i686.txt deleted file mode 100644 index 5fb0a1fe2a7..00000000000 --- a/Ports/powdertoy/cross_file-i686.txt +++ /dev/null @@ -1,16 +0,0 @@ -[binaries] -c = 'i686-pc-serenity-gcc' -cpp = 'i686-pc-serenity-g++' -ar = 'i686-pc-serenity-ar' -ranlib = 'i686-pc-serenity-ranlib' -pkgconfig = 'pkg-config' - -[properties] -sys_root = '../../../../Build/i686/Root' -needs_exe_wrapper = true - -[host_machine] -system = 'serenity' -cpu_family = 'x86' -cpu = 'i686' -endian = 'little' diff --git a/Ports/powdertoy/cross_file-x86_64.txt b/Ports/powdertoy/cross_file-x86_64.txt deleted file mode 100644 index dc11c6ba1a1..00000000000 --- a/Ports/powdertoy/cross_file-x86_64.txt +++ /dev/null @@ -1,16 +0,0 @@ -[binaries] -c = 'x86_64-pc-serenity-gcc' -cpp = 'x86_64-pc-serenity-g++' -ar = 'x86_64-pc-serenity-ar' -ranlib = 'x86_64-pc-serenity-ranlib' -pkgconfig = 'pkg-config' - -[properties] -sys_root = '../../../../Build/x86_64/Root' -needs_exe_wrapper = true - -[host_machine] -system = 'serenity' -cpu_family = 'x86' -cpu = 'x86_64' -endian = 'little' diff --git a/Ports/powdertoy/package.sh b/Ports/powdertoy/package.sh index bfdb2d87ec0..4b7c08c8095 100755 --- a/Ports/powdertoy/package.sh +++ b/Ports/powdertoy/package.sh @@ -2,7 +2,7 @@ port=powdertoy version=96.2.350 useconfigure=true -configopts=("-Dbuildtype=release" "build-release" "--cross-file" "../cross_file-${SERENITY_ARCH}.txt") +configopts=("-Dbuildtype=release" "build-release" "--cross-file" "${SERENITY_BUILD_DIR}/meson-cross-file.txt") depends=("luajit" "curl" "libfftw3f" "zlib" "SDL2") files="https://github.com/The-Powder-Toy/The-Powder-Toy/archive/refs/tags/v${version}.tar.gz The-Powder-Toy-${version}.tar.gz d95cbadee22632687661e8fc488bd64405d81c0dca737e16420f26e93ea5bf58" auth_type=sha256 diff --git a/Toolchain/CMake/meson-cross-file-Clang.txt.in b/Toolchain/CMake/meson-cross-file-Clang.txt.in new file mode 100644 index 00000000000..07444351069 --- /dev/null +++ b/Toolchain/CMake/meson-cross-file-Clang.txt.in @@ -0,0 +1,16 @@ +[binaries] +c = '@SERENITY_ARCH@-pc-serenity-clang' +cpp = '@SERENITY_ARCH@-pc-serenity-clang++' +ar = 'llvm-ar' +ranlib = 'llvm-ranlib' +pkgconfig = 'pkg-config' + +[properties] +sys_root = '@SERENITY_BUILD_DIR@/Root' +needs_exe_wrapper = true + +[host_machine] +system = 'serenity' +cpu_family = 'x86' +cpu = '@SERENITY_ARCH@' +endian = 'little' diff --git a/Toolchain/CMake/meson-cross-file-GNU.txt.in b/Toolchain/CMake/meson-cross-file-GNU.txt.in new file mode 100644 index 00000000000..505e9abf775 --- /dev/null +++ b/Toolchain/CMake/meson-cross-file-GNU.txt.in @@ -0,0 +1,16 @@ +[binaries] +c = '@SERENITY_ARCH@-pc-serenity-gcc' +cpp = '@SERENITY_ARCH@-pc-serenity-g++' +ar = '@SERENITY_ARCH@-pc-serenity-ar' +ranlib = '@SERENITY_ARCH@-pc-serenity-ranlib' +pkgconfig = 'pkg-config' + +[properties] +sys_root = '@SERENITY_BUILD_DIR@/Root' +needs_exe_wrapper = true + +[host_machine] +system = 'serenity' +cpu_family = 'x86' +cpu = '@SERENITY_ARCH@' +endian = 'little'