diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-03-20 16:13:20 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2020-03-22 13:20:07 +0100 |
commit | c086c5af1c48f5caf749ff33498d051d5378d361 (patch) | |
tree | 77f22ebbe9182e37a61d44ae3cbfb56ca80f04bd /guix/build | |
parent | 5c79f238634c5adb6657f1b4b1bb4ddb8bb73ef1 (diff) |
build-system: linux-module: Fix cross compilation.
* guix/build-system/linux-module.scm (default-kmod, default-gcc): Delete
procedures.
(system->arch): New procedure.
(make-linux-module-builder)[native-inputs]: Move linux...
[inputs]: ...to here.
(linux-module-build-cross): New procedure.
(linux-module-build): Add TARGET. Pass TARGET and ARCH to build side.
(lower): Allow cross-compilation. Move "linux" and "linux-module-builder"
to host-inputs. Add target-inputs. Call linux-module-build-cross if
TARGET is set, linux-module-build otherwise.
* guix/build/linux-module-build-system.scm (configure): Add ARCH argument.
(linux-module-build): Adjust comment.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Diffstat (limited to 'guix/build')
-rw-r--r-- | guix/build/linux-module-build-system.scm | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/guix/build/linux-module-build-system.scm b/guix/build/linux-module-build-system.scm index 8145d5a724..73d6b101f6 100644 --- a/guix/build/linux-module-build-system.scm +++ b/guix/build/linux-module-build-system.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,14 +34,13 @@ ;; Code: ;; Copied from make-linux-libre's "configure" phase. -(define* (configure #:key inputs target #:allow-other-keys) +(define* (configure #:key inputs target arch #:allow-other-keys) (setenv "KCONFIG_NOTIMESTAMP" "1") (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH")) - ;(let ((arch ,(system->linux-architecture - ; (or (%current-target-system) - ; (%current-system))))) - ; (setenv "ARCH" arch) - ; (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))) + + (setenv "ARCH" arch) + (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")) + (when target (setenv "CROSS_COMPILE" (string-append target "-")) (format #t "`CROSS_COMPILE' set to `~a'~%" @@ -85,8 +85,9 @@ (replace 'install install))) (define* (linux-module-build #:key inputs (phases %standard-phases) - #:allow-other-keys #:rest args) - "Build the given package, applying all of PHASES in order, with a Linux kernel in attendance." + #:allow-other-keys #:rest args) + "Build the given package, applying all of PHASES in order, with a Linux +kernel in attendance." (apply gnu:gnu-build #:inputs inputs #:phases phases args)) |