From e3ab8f7ff9d4c5d1f8afd0a6ebcaebb787dd840a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 13 Jan 2025 10:11:42 +0100 Subject: [PATCH 1/8] fix: Windows stage0 linking --- src/CMakeLists.txt | 2 ++ stage0/src/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 95eece17470a..258f14fb18ab 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -140,6 +140,8 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") string(APPEND LEAN_EXTRA_LINKER_FLAGS " -Wl,--stack,${LEAN_WIN_STACK_SIZE}") set(EXTRA_UTIL_LIBS ${EXTRA_UTIL_LIBS} -lpsapi) endif() + # Link against winsock2 + string(APPEND LEAN_EXTRA_LINKER_FLAGS " -lws2_32") string(APPEND LEAN_EXTRA_CXX_FLAGS " -D LEAN_WINDOWS -D LEAN_WIN_STACK_SIZE=${LEAN_WIN_STACK_SIZE}") # do not import the world from windows.h using appropriately named flag string(APPEND LEAN_EXTRA_CXX_FLAGS " -D WIN32_LEAN_AND_MEAN") diff --git a/stage0/src/CMakeLists.txt b/stage0/src/CMakeLists.txt index 95eece17470a..258f14fb18ab 100644 --- a/stage0/src/CMakeLists.txt +++ b/stage0/src/CMakeLists.txt @@ -140,6 +140,8 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") string(APPEND LEAN_EXTRA_LINKER_FLAGS " -Wl,--stack,${LEAN_WIN_STACK_SIZE}") set(EXTRA_UTIL_LIBS ${EXTRA_UTIL_LIBS} -lpsapi) endif() + # Link against winsock2 + string(APPEND LEAN_EXTRA_LINKER_FLAGS " -lws2_32") string(APPEND LEAN_EXTRA_CXX_FLAGS " -D LEAN_WINDOWS -D LEAN_WIN_STACK_SIZE=${LEAN_WIN_STACK_SIZE}") # do not import the world from windows.h using appropriately named flag string(APPEND LEAN_EXTRA_CXX_FLAGS " -D WIN32_LEAN_AND_MEAN") From a4111208033877f88fa0a8b0b9a02fd6e0d24aeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 13 Jan 2025 14:42:59 +0100 Subject: [PATCH 2/8] chore: next try --- src/CMakeLists.txt | 6 ++---- src/cmake/Modules/FindLibUV.cmake | 15 ++++++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 258f14fb18ab..5f3aee4c13c6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -140,8 +140,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") string(APPEND LEAN_EXTRA_LINKER_FLAGS " -Wl,--stack,${LEAN_WIN_STACK_SIZE}") set(EXTRA_UTIL_LIBS ${EXTRA_UTIL_LIBS} -lpsapi) endif() - # Link against winsock2 - string(APPEND LEAN_EXTRA_LINKER_FLAGS " -lws2_32") string(APPEND LEAN_EXTRA_CXX_FLAGS " -D LEAN_WINDOWS -D LEAN_WIN_STACK_SIZE=${LEAN_WIN_STACK_SIZE}") # do not import the world from windows.h using appropriately named flag string(APPEND LEAN_EXTRA_CXX_FLAGS " -D WIN32_LEAN_AND_MEAN") @@ -298,13 +296,13 @@ index 5e8e0166..f3b29134 100644 BUILD_IN_SOURCE ON INSTALL_COMMAND "") set(LIBUV_INCLUDE_DIR "${CMAKE_BINARY_DIR}/libuv/src/libuv/include") - set(LIBUV_LIBRARIES "${CMAKE_BINARY_DIR}/libuv/src/libuv/libuv.a") + set(LIBUV_LDFLAGS "${CMAKE_BINARY_DIR}/libuv/src/libuv/libuv.a") else() find_package(LibUV 1.0.0 REQUIRED) endif() include_directories(${LIBUV_INCLUDE_DIR}) if(NOT LEAN_STANDALONE) - string(APPEND LEAN_EXTRA_LINKER_FLAGS " ${LIBUV_LIBRARIES}") + string(JOIN " " LEAN_EXTRA_LINKER_FLAGS ${LIBUV_LDFLAGS}) endif() # Windows SDK (for ICU) diff --git a/src/cmake/Modules/FindLibUV.cmake b/src/cmake/Modules/FindLibUV.cmake index 96cebd82bd94..09d35c08f247 100644 --- a/src/cmake/Modules/FindLibUV.cmake +++ b/src/cmake/Modules/FindLibUV.cmake @@ -1,12 +1,13 @@ -if (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARIES) +if (LIBUV_FOUND) # Already in cache, be silent set(LIBUV_FIND_QUIETLY TRUE) -endif (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARIES) +endif (LIBUV_FOUND) -find_path(LIBUV_INCLUDE_DIR NAMES uv.h) -find_library(LIBUV_LIBRARIES NAMES uv libuv REQUIRED) -MESSAGE(STATUS "LIBUV: " ${LIBUV_LIBRARIES}) +find_package(PkgConfig REQUIRED) +pkg_search_module(LIBUV REQUIRED libuv) +MESSAGE(STATUS "LIBUV_LDFLAGS: " ${LIBUV_LDFLAGS}) +MESSAGE(STATUS "LIBUV_INCLUDE_DIR: " ${LIBUV_INCLUDE_DIR}) include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_INCLUDE_DIR LIBUV_LIBRARIES) -mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LIBRARIES) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_FOUND) +mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LDFLAGS) From 79b2379198182af0613f0b0221533125e92b3d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 13 Jan 2025 14:54:07 +0100 Subject: [PATCH 3/8] chore: restore --- stage0/src/CMakeLists.txt | 6 ++---- stage0/src/cmake/Modules/FindLibUV.cmake | 15 ++++++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/stage0/src/CMakeLists.txt b/stage0/src/CMakeLists.txt index 258f14fb18ab..5f3aee4c13c6 100644 --- a/stage0/src/CMakeLists.txt +++ b/stage0/src/CMakeLists.txt @@ -140,8 +140,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") string(APPEND LEAN_EXTRA_LINKER_FLAGS " -Wl,--stack,${LEAN_WIN_STACK_SIZE}") set(EXTRA_UTIL_LIBS ${EXTRA_UTIL_LIBS} -lpsapi) endif() - # Link against winsock2 - string(APPEND LEAN_EXTRA_LINKER_FLAGS " -lws2_32") string(APPEND LEAN_EXTRA_CXX_FLAGS " -D LEAN_WINDOWS -D LEAN_WIN_STACK_SIZE=${LEAN_WIN_STACK_SIZE}") # do not import the world from windows.h using appropriately named flag string(APPEND LEAN_EXTRA_CXX_FLAGS " -D WIN32_LEAN_AND_MEAN") @@ -298,13 +296,13 @@ index 5e8e0166..f3b29134 100644 BUILD_IN_SOURCE ON INSTALL_COMMAND "") set(LIBUV_INCLUDE_DIR "${CMAKE_BINARY_DIR}/libuv/src/libuv/include") - set(LIBUV_LIBRARIES "${CMAKE_BINARY_DIR}/libuv/src/libuv/libuv.a") + set(LIBUV_LDFLAGS "${CMAKE_BINARY_DIR}/libuv/src/libuv/libuv.a") else() find_package(LibUV 1.0.0 REQUIRED) endif() include_directories(${LIBUV_INCLUDE_DIR}) if(NOT LEAN_STANDALONE) - string(APPEND LEAN_EXTRA_LINKER_FLAGS " ${LIBUV_LIBRARIES}") + string(JOIN " " LEAN_EXTRA_LINKER_FLAGS ${LIBUV_LDFLAGS}) endif() # Windows SDK (for ICU) diff --git a/stage0/src/cmake/Modules/FindLibUV.cmake b/stage0/src/cmake/Modules/FindLibUV.cmake index 96cebd82bd94..09d35c08f247 100644 --- a/stage0/src/cmake/Modules/FindLibUV.cmake +++ b/stage0/src/cmake/Modules/FindLibUV.cmake @@ -1,12 +1,13 @@ -if (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARIES) +if (LIBUV_FOUND) # Already in cache, be silent set(LIBUV_FIND_QUIETLY TRUE) -endif (LIBUV_INCLUDE_DIR AND LIBUV_LIBRARIES) +endif (LIBUV_FOUND) -find_path(LIBUV_INCLUDE_DIR NAMES uv.h) -find_library(LIBUV_LIBRARIES NAMES uv libuv REQUIRED) -MESSAGE(STATUS "LIBUV: " ${LIBUV_LIBRARIES}) +find_package(PkgConfig REQUIRED) +pkg_search_module(LIBUV REQUIRED libuv) +MESSAGE(STATUS "LIBUV_LDFLAGS: " ${LIBUV_LDFLAGS}) +MESSAGE(STATUS "LIBUV_INCLUDE_DIR: " ${LIBUV_INCLUDE_DIR}) include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_INCLUDE_DIR LIBUV_LIBRARIES) -mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LIBRARIES) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_FOUND) +mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LDFLAGS) From a0b000b9d412aeaf374e4d3513698567c1090970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 13 Jan 2025 15:22:51 +0100 Subject: [PATCH 4/8] chore: next try --- src/CMakeLists.txt | 3 ++- stage0/src/CMakeLists.txt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5f3aee4c13c6..eb944c047c1f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -302,7 +302,8 @@ else() endif() include_directories(${LIBUV_INCLUDE_DIR}) if(NOT LEAN_STANDALONE) - string(JOIN " " LEAN_EXTRA_LINKER_FLAGS ${LIBUV_LDFLAGS}) + string(JOIN " " LIBUV_LDFLAGS ${LIBUV_LDFLAGS}) + string(APPEND LEAN_EXTRA_LINKER_FLAGS " ${LIBUV_LDFLAGS}") endif() # Windows SDK (for ICU) diff --git a/stage0/src/CMakeLists.txt b/stage0/src/CMakeLists.txt index 5f3aee4c13c6..eb944c047c1f 100644 --- a/stage0/src/CMakeLists.txt +++ b/stage0/src/CMakeLists.txt @@ -302,7 +302,8 @@ else() endif() include_directories(${LIBUV_INCLUDE_DIR}) if(NOT LEAN_STANDALONE) - string(JOIN " " LEAN_EXTRA_LINKER_FLAGS ${LIBUV_LDFLAGS}) + string(JOIN " " LIBUV_LDFLAGS ${LIBUV_LDFLAGS}) + string(APPEND LEAN_EXTRA_LINKER_FLAGS " ${LIBUV_LDFLAGS}") endif() # Windows SDK (for ICU) From e0e8088fb1a33ae67e609cd3b9febd5c2336afc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 13 Jan 2025 15:39:17 +0100 Subject: [PATCH 5/8] s --- src/CMakeLists.txt | 4 ++-- src/cmake/Modules/FindLibUV.cmake | 2 +- stage0/src/CMakeLists.txt | 4 ++-- stage0/src/cmake/Modules/FindLibUV.cmake | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index eb944c047c1f..bf37e32ca9ee 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -295,12 +295,12 @@ index 5e8e0166..f3b29134 100644 PATCH_COMMAND git reset --hard HEAD && printf "${LIBUV_PATCH}" > patch.diff && git apply patch.diff BUILD_IN_SOURCE ON INSTALL_COMMAND "") - set(LIBUV_INCLUDE_DIR "${CMAKE_BINARY_DIR}/libuv/src/libuv/include") + set(LIBUV_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/libuv/src/libuv/include") set(LIBUV_LDFLAGS "${CMAKE_BINARY_DIR}/libuv/src/libuv/libuv.a") else() find_package(LibUV 1.0.0 REQUIRED) endif() -include_directories(${LIBUV_INCLUDE_DIR}) +include_directories(${LIBUV_INCLUDE_DIRS}) if(NOT LEAN_STANDALONE) string(JOIN " " LIBUV_LDFLAGS ${LIBUV_LDFLAGS}) string(APPEND LEAN_EXTRA_LINKER_FLAGS " ${LIBUV_LDFLAGS}") diff --git a/src/cmake/Modules/FindLibUV.cmake b/src/cmake/Modules/FindLibUV.cmake index 09d35c08f247..9f55b9ce9fc7 100644 --- a/src/cmake/Modules/FindLibUV.cmake +++ b/src/cmake/Modules/FindLibUV.cmake @@ -6,7 +6,7 @@ endif (LIBUV_FOUND) find_package(PkgConfig REQUIRED) pkg_search_module(LIBUV REQUIRED libuv) MESSAGE(STATUS "LIBUV_LDFLAGS: " ${LIBUV_LDFLAGS}) -MESSAGE(STATUS "LIBUV_INCLUDE_DIR: " ${LIBUV_INCLUDE_DIR}) +MESSAGE(STATUS "LIBUV_INCLUDE_DIRS: " ${LIBUV_INCLUDE_DIRS}) include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_FOUND) diff --git a/stage0/src/CMakeLists.txt b/stage0/src/CMakeLists.txt index eb944c047c1f..bf37e32ca9ee 100644 --- a/stage0/src/CMakeLists.txt +++ b/stage0/src/CMakeLists.txt @@ -295,12 +295,12 @@ index 5e8e0166..f3b29134 100644 PATCH_COMMAND git reset --hard HEAD && printf "${LIBUV_PATCH}" > patch.diff && git apply patch.diff BUILD_IN_SOURCE ON INSTALL_COMMAND "") - set(LIBUV_INCLUDE_DIR "${CMAKE_BINARY_DIR}/libuv/src/libuv/include") + set(LIBUV_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/libuv/src/libuv/include") set(LIBUV_LDFLAGS "${CMAKE_BINARY_DIR}/libuv/src/libuv/libuv.a") else() find_package(LibUV 1.0.0 REQUIRED) endif() -include_directories(${LIBUV_INCLUDE_DIR}) +include_directories(${LIBUV_INCLUDE_DIRS}) if(NOT LEAN_STANDALONE) string(JOIN " " LIBUV_LDFLAGS ${LIBUV_LDFLAGS}) string(APPEND LEAN_EXTRA_LINKER_FLAGS " ${LIBUV_LDFLAGS}") diff --git a/stage0/src/cmake/Modules/FindLibUV.cmake b/stage0/src/cmake/Modules/FindLibUV.cmake index 09d35c08f247..9f55b9ce9fc7 100644 --- a/stage0/src/cmake/Modules/FindLibUV.cmake +++ b/stage0/src/cmake/Modules/FindLibUV.cmake @@ -6,7 +6,7 @@ endif (LIBUV_FOUND) find_package(PkgConfig REQUIRED) pkg_search_module(LIBUV REQUIRED libuv) MESSAGE(STATUS "LIBUV_LDFLAGS: " ${LIBUV_LDFLAGS}) -MESSAGE(STATUS "LIBUV_INCLUDE_DIR: " ${LIBUV_INCLUDE_DIR}) +MESSAGE(STATUS "LIBUV_INCLUDE_DIRS: " ${LIBUV_INCLUDE_DIRS}) include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_FOUND) From 0100cc9a168eee2d13d94478e46d7427e9574dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 13 Jan 2025 15:55:47 +0100 Subject: [PATCH 6/8] chore: add pkg-config to nix --- flake.nix | 2 +- src/cmake/Modules/FindLibUV.cmake | 2 +- stage0/src/cmake/Modules/FindLibUV.cmake | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 051498340d1d..372bf8263a42 100644 --- a/flake.nix +++ b/flake.nix @@ -28,7 +28,7 @@ stdenv = pkgs.overrideCC pkgs.stdenv lean-packages.llvmPackages.clang; } ({ buildInputs = with pkgs; [ - cmake gmp libuv ccache cadical + cmake gmp libuv ccache cadical pkg-config lean-packages.llvmPackages.llvm # llvm-symbolizer for asan/lsan gdb tree # for CI diff --git a/src/cmake/Modules/FindLibUV.cmake b/src/cmake/Modules/FindLibUV.cmake index 9f55b9ce9fc7..e20d1ef010c9 100644 --- a/src/cmake/Modules/FindLibUV.cmake +++ b/src/cmake/Modules/FindLibUV.cmake @@ -10,4 +10,4 @@ MESSAGE(STATUS "LIBUV_INCLUDE_DIRS: " ${LIBUV_INCLUDE_DIRS}) include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_FOUND) -mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LDFLAGS) +mark_as_advanced(LIBUV_INCLUDE_DIRS LIBUV_LDFLAGS) diff --git a/stage0/src/cmake/Modules/FindLibUV.cmake b/stage0/src/cmake/Modules/FindLibUV.cmake index 9f55b9ce9fc7..e20d1ef010c9 100644 --- a/stage0/src/cmake/Modules/FindLibUV.cmake +++ b/stage0/src/cmake/Modules/FindLibUV.cmake @@ -10,4 +10,4 @@ MESSAGE(STATUS "LIBUV_INCLUDE_DIRS: " ${LIBUV_INCLUDE_DIRS}) include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUV DEFAULT_MSG LIBUV_FOUND) -mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LDFLAGS) +mark_as_advanced(LIBUV_INCLUDE_DIRS LIBUV_LDFLAGS) From 26cf9d245a33e1745b89b52e5a6fdeb7c7089c50 Mon Sep 17 00:00:00 2001 From: Sebastian Ullrich Date: Mon, 13 Jan 2025 16:08:29 +0100 Subject: [PATCH 7/8] fix nix --- nix/bootstrap.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/bootstrap.nix b/nix/bootstrap.nix index 3c2b9b9151c9..c29a902593cf 100644 --- a/nix/bootstrap.nix +++ b/nix/bootstrap.nix @@ -1,12 +1,12 @@ { src, debug ? false, stage0debug ? false, extraCMakeFlags ? [], - stdenv, lib, cmake, gmp, libuv, cadical, git, gnumake, bash, buildLeanPackage, writeShellScriptBin, runCommand, symlinkJoin, lndir, perl, gnused, darwin, llvmPackages, linkFarmFromDrvs, + stdenv, lib, cmake, pkg-config, gmp, libuv, cadical, git, gnumake, bash, buildLeanPackage, writeShellScriptBin, runCommand, symlinkJoin, lndir, perl, gnused, darwin, llvmPackages, linkFarmFromDrvs, ... } @ args: with builtins; lib.warn "The Nix-based build is deprecated" rec { inherit stdenv; sourceByRegex = p: rs: lib.sourceByRegex p (map (r: "(/src/)?${r}") rs); buildCMake = args: stdenv.mkDerivation ({ - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ gmp libuv llvmPackages.llvm ]; # https://github.com/NixOS/nixpkgs/issues/60919 hardeningDisable = [ "all" ]; From 0f22591b39a50f30b3d80830f4ab2763ed6d9cae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 13 Jan 2025 21:37:13 +0100 Subject: [PATCH 8/8] chore: fix pkgconfig --- .github/workflows/ci.yml | 4 ++-- CMakeLists.txt | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1f8f424823d..56f5dfbd829f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -238,7 +238,7 @@ jobs: "name": "Linux 32bit", "os": "ubuntu-latest", // Use 32bit on stage0 and stage1 to keep oleans compatible - "CMAKE_OPTIONS": "-DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_MMAP=OFF -DUSE_GMP=OFF -DLEAN_EXTRA_CXX_FLAGS='-m32' -DLEANC_OPTS='-m32' -DMMAP=OFF -DLEAN_INSTALL_SUFFIX=-linux_x86 -DCMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/", + "CMAKE_OPTIONS": "-DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_MMAP=OFF -DUSE_GMP=OFF -DLEAN_EXTRA_CXX_FLAGS='-m32' -DLEANC_OPTS='-m32' -DMMAP=OFF -DLEAN_INSTALL_SUFFIX=-linux_x86 -DCMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ -DPKG_CONFIG_EXECUTABLE=/usr/bin/i386-linux-gnu-pkg-config", "cmultilib": true, "release": true, "check-level": 2, @@ -327,7 +327,7 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt-get update - sudo apt-get install -y gcc-multilib g++-multilib ccache libuv1-dev:i386 + sudo apt-get install -y gcc-multilib g++-multilib ccache libuv1-dev:i386 pkgconf:i386 if: matrix.cmultilib - name: Cache uses: actions/cache@v4 diff --git a/CMakeLists.txt b/CMakeLists.txt index 0626f53fc94c..5e0c2977bce3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,9 @@ foreach(var ${vars}) if("${var}" MATCHES "LLVM*") list(APPEND STAGE0_ARGS "-D${var}=${${var}}") endif() + if("${var}" MATCHES "PKG_CONFIG*") + list(APPEND STAGE0_ARGS "-D${var}=${${var}}") + endif() elseif(("${var}" MATCHES "CMAKE_.*") AND NOT ("${var}" MATCHES "CMAKE_BUILD_TYPE") AND NOT ("${var}" MATCHES "CMAKE_HOME_DIRECTORY")) list(APPEND PLATFORM_ARGS "-D${var}=${${var}}") endif()