diff options
author | David Craven <david@craven.ch> | 2016-09-02 18:05:37 +0200 |
---|---|---|
committer | David Craven <david@craven.ch> | 2016-09-13 16:45:41 +0200 |
commit | 4b42703ed551cd70dcc4dba3991c25737dd74f4a (patch) | |
tree | 8d84af337b3c7572646565776a68da2aa494f5f3 | |
parent | 9416459b7294e7229613f15a475ea8a65f0cc303 (diff) | |
download | guix-4b42703ed551cd70dcc4dba3991c25737dd74f4a.tar.gz |
gnu: linux-libre: Add support for cross-compilation.
* gnu/packages/linux.scm (linux-libre): Add support for cross-compilation.
-rw-r--r-- | gnu/packages/linux.scm | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index cb374e49be..86681754ce 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -291,17 +291,22 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration." #:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs target #:allow-other-keys) ;; Avoid introducing timestamps (setenv "KCONFIG_NOTIMESTAMP" "1") (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH")) + ;; Set ARCH and CROSS_COMPILE (let ((arch ,(system->linux-architecture (or (%current-target-system) (%current-system))))) - (setenv "ARCH" arch)) + (setenv "ARCH" arch) + (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")) - (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")) + (when target + (setenv "CROSS_COMPILE" (string-append target "-")) + (format #t "`CROSS_COMPILE' set to `~a'~%" + (getenv "CROSS_COMPILE")))) (let ((build (assoc-ref %standard-phases 'build)) (config (assoc-ref inputs "kconfig"))) @@ -334,10 +339,10 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration." (zero? (system* "make" "oldconfig"))))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (moddir (string-append out "/lib/modules")) - (mit (assoc-ref inputs "module-init-tools"))) + (mit (assoc-ref (or native-inputs inputs) "module-init-tools"))) (mkdir-p moddir) (for-each (lambda (file) (copy-file file |