janneke pushed a commit to branch core-packages-team in repository guix. commit 3d19db75da4882b599e93d1b395138566036026c Author: Janneke Nieuwenhuizen <jann...@gnu.org> AuthorDate: Wed Dec 11 10:54:37 2024 +0100
Revert "guix: build-system: cmake: Rework cross compilation." We should probably include this patch set, but no rust world rebuild for me right now! This reverts commit a1dda308571841de1a2c223d7864622d304cdf30. Change-Id: I5cce844a3059fce21bf9c880a20042cfc1ee4ffa --- guix/build-system/cmake.scm | 20 +------------------- guix/build/cmake-build-system.scm | 11 +++++++++++ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 8a3a183524..0b8a651ee0 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -39,15 +39,6 @@ ;; ;; Code: -(define* (cmake-system-name-for-target - #:optional (target (or (%current-target-system) - (%current-system)))) - (cond ((target-hurd? target) "GNU") - ((target-linux? target) "Linux") - ((target-mingw? target) "Windows") - ;; For avr, or1k-elf, xtensa-ath9k-elf - (else "Generic"))) - (define %cmake-build-system-modules ;; Build-side modules imported by default. `((guix build cmake-build-system) @@ -240,16 +231,7 @@ build system." search-path-specification->sexp native-search-paths) #:phases #$phases - #:configure-flags - `(#$(string-append "-DCMAKE_C_COMPILER=" - (cc-for-target target)) - #$(string-append "-DCMAKE_CXX_COMPILER=" - (cxx-for-target target)) - #$(string-append "-DCMAKE_SYSTEM_NAME=" - (cmake-system-name-for-target target)) - ,@#$(if (pair? configure-flags) - (sexp->gexp configure-flags) - configure-flags)) + #:configure-flags #$configure-flags #:make-flags #$make-flags #:out-of-source? #$out-of-source? #:build-type #$build-type diff --git a/guix/build/cmake-build-system.scm b/guix/build/cmake-build-system.scm index 61033061c6..d1ff5071be 100644 --- a/guix/build/cmake-build-system.scm +++ b/guix/build/cmake-build-system.scm @@ -62,6 +62,17 @@ ,(string-append "-DCMAKE_INSTALL_RPATH=" out "/lib") ;; enable verbose output from builds "-DCMAKE_VERBOSE_MAKEFILE=ON" + + ;; Cross-build + ,@(if target + (list (string-append "-DCMAKE_C_COMPILER=" + target "-gcc") + (string-append "-DCMAKE_CXX_COMPILER=" + target "-g++") + (if (string-contains target "mingw") + "-DCMAKE_SYSTEM_NAME=Windows" + "-DCMAKE_SYSTEM_NAME=Linux")) + '()) ,@configure-flags))) (format #t "running 'cmake' with arguments ~s~%" args) (apply invoke "cmake" args))))