summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-08 10:04:38 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-09 12:55:45 -0400
commit9bf0a6e4a87c76852c3115476f76056434886181 (patch)
tree0c21878f58efc1dca8be85a359311412c8308c20
parent118fb307e02fe1bba0f296dd0ee0705d6f1b52ae (diff)
downloadguix-9bf0a6e4a87c76852c3115476f76056434886181.tar.gz
build: meson: Honor bindir, libdir and includedir.
This brings our meson-build-system closer to our gnu-build-system in terms of
using different installation prefixes based on the presence of outputs such as
"bin", "lib" or "include".

* guix/build/meson-build-system.scm (configure): Add --bindir, --libdir and
--includedir according to the presence of the "bin", "lib" and "include"
outputs, as done in gnu-build-system.
-rw-r--r--guix/build/meson-build-system.scm20
1 files changed, 19 insertions, 1 deletions
diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm
index 61ce45367d..d8d17e00e8 100644
--- a/guix/build/meson-build-system.scm
+++ b/guix/build/meson-build-system.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -41,10 +41,28 @@
                     #:allow-other-keys)
   "Configure the given package."
   (let* ((out (assoc-ref outputs "out"))
+         (bindir (assoc-ref outputs "bin"))
+         (libdir (assoc-ref outputs "lib"))
+         (includedir (assoc-ref outputs "include"))
          (source-dir (getcwd))
          (build-dir "../build")
          (prefix (assoc-ref outputs "out"))
          (args `(,(string-append "--prefix=" prefix)
+                 ,@(if bindir
+                       (list (string-append "--bindir=" bindir "/bin"))
+                       '())
+                 ,@(if libdir
+                       (cons (string-append "--libdir=" libdir "/lib")
+                             (if includedir
+                                 '()
+                                 (list
+                                  (string-append "--includedir="
+                                                 libdir "/include"))))
+                       '())
+                 ,@(if includedir
+                       (list (string-append "--includedir="
+                                            includedir "/include"))
+                       '())
                  ,(string-append "--buildtype=" build-type)
                  ,(string-append "-Dc_link_args=-Wl,-rpath="
                                  (assoc-ref outputs "out") "/lib")