summaryrefslogtreecommitdiff
path: root/guix/build/linux-module-build-system.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2020-03-20 16:13:20 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2020-03-22 13:20:07 +0100
commitc086c5af1c48f5caf749ff33498d051d5378d361 (patch)
tree77f22ebbe9182e37a61d44ae3cbfb56ca80f04bd /guix/build/linux-module-build-system.scm
parent5c79f238634c5adb6657f1b4b1bb4ddb8bb73ef1 (diff)
downloadguix-patches-c086c5af1c48f5caf749ff33498d051d5378d361.tar
guix-patches-c086c5af1c48f5caf749ff33498d051d5378d361.tar.gz
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/linux-module-build-system.scm')
-rw-r--r--guix/build/linux-module-build-system.scm17
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))