guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/04: build-system: linux-module: Support source-directory.


From: guix-commits
Subject: 01/04: build-system: linux-module: Support source-directory.
Date: Tue, 14 Sep 2021 17:50:46 -0400 (EDT)

lilyp pushed a commit to branch master
in repository guix.

commit c8e2358cca79f24a0f1183d806e9dd00d6951712
Author: Liliana Marie Prikler <liliana.prikler@gmail.com>
AuthorDate: Tue Sep 14 23:27:36 2021 +0200

    build-system: linux-module: Support source-directory.
    
    As with guile-build-system, the module to be build need not necessarily live
    at the root of the build tree.
    
    * guix/build/linux-module-build-system.scm (build, install): Add
    source-directory argument and append it to "M" variable when invoking make.
    * guix/build-system/linux-module.scm (linux-module-build): Add
    source-directory argument.
---
 guix/build-system/linux-module.scm       | 4 +++-
 guix/build/linux-module-build-system.scm | 9 +++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/guix/build-system/linux-module.scm 
b/guix/build-system/linux-module.scm
index fc3d959..33bc8c9 100644
--- a/guix/build-system/linux-module.scm
+++ b/guix/build-system/linux-module.scm
@@ -158,6 +158,7 @@
                              (outputs '("out"))
                              (make-flags ''())
                              (system (%current-system))
+                             (source-directory ".")
                              (guile #f)
                              (substitutable? #t)
                              (imported-modules
@@ -175,7 +176,8 @@
                                       ((source)
                                        source)
                                       (source
-                                        source))
+                                       source))
+                     #:source-directory ,source-directory
                      #:search-paths ',(map search-path-specification->sexp
                                            search-paths)
                      #:phases ,phases
diff --git a/guix/build/linux-module-build-system.scm 
b/guix/build/linux-module-build-system.scm
index d51d76f..729ab61 100644
--- a/guix/build/linux-module-build-system.scm
+++ b/guix/build/linux-module-build-system.scm
@@ -49,16 +49,17 @@
   ; TODO: kernel ".config".
   #t)
 
-(define* (build #:key inputs make-flags #:allow-other-keys)
+(define* (build #:key inputs make-flags (source-directory ".") 
#:allow-other-keys)
   (apply invoke "make" "-C"
          (string-append (assoc-ref inputs "linux-module-builder")
                         "/lib/modules/build")
-         (string-append "M=" (getcwd))
+         (string-append "M=" (getcwd) "/" source-directory)
          (or make-flags '())))
 
 ;; This block was copied from make-linux-libre--only took the "modules_install"
 ;; part.
-(define* (install #:key make-flags inputs native-inputs outputs
+(define* (install #:key make-flags (source-directory ".")
+                  inputs native-inputs outputs
                   #:allow-other-keys)
   (let* ((out (assoc-ref outputs "out"))
          (moddir (string-append out "/lib/modules")))
@@ -67,7 +68,7 @@
     (apply invoke "make" "-C"
             (string-append (assoc-ref inputs "linux-module-builder")
                            "/lib/modules/build")
-            (string-append "M=" (getcwd))
+            (string-append "M=" (getcwd) "/" source-directory)
             ;; Disable depmod because the Guix system's module directory
             ;; is an union of potentially multiple packages.  It is not
             ;; possible to use depmod to usefully calculate a dependency



reply via email to

[Prev in Thread] Current Thread [Next in Thread]