build: Have configure respect GUILE_LOAD_PATH for mes to find Nyacc.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 15 Dec 2019 09:10:23 +0000 (10:10 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 20 Jan 2020 21:47:52 +0000 (22:47 +0100)
* configure: Substitute GUILE_LOAD_PATH from %load-path.
* configure.sh: Likewise.
* build-aux/config.make.in: Add GUILE_LOAD_PATH as subtitution variable.
* build-aux/config.sh.in: Likewise.
* mes/module/mes/guile.mes (%load-path): New variable.

build-aux/config.make.in
build-aux/config.sh.in
configure
configure.sh
mes/module/mes/guile.mes

index 0bedf9115663622987ce70856b98462e6c2bcaaa..1e250e5efda5539a24daf7e7cf1935ccc66b2ddf 100644 (file)
@@ -28,6 +28,7 @@ GIT:=@GIT@
 GUILD:=@GUILD@
 GUILE:=@GUILE@
 GUILE_EFFECTIVE_VERSION:=@GUILE_EFFECTIVE_VERSION@
+GUILE_LOAD_PATH:=@GUILE_LOAD_PATH@
 GUIX:=@GUIX@
 HELP2MAN:=@HELP2MAN@
 HEX2:=@HEX2@
index affc2d60533ffe05f90baae08ec6e9999a35d769..4e2953e5585ff92183d00a498d7af4d120a272e5 100644 (file)
@@ -29,6 +29,7 @@ GIT="@GIT@"
 GUILD="@GUILD@"
 GUILE="@GUILE@"
 GUILE_EFFECTIVE_VERSION="@GUILE_EFFECTIVE_VERSION@"
+GUILE_LOAD_PATH="@GUILE_LOAD_PATH@"
 GUIX="@GUIX@"
 HELP2MAN="@HELP2MAN@"
 HEX2="@HEX2@"
index d1acfebb43478a4585a10535bca3ecc323635af1..a7b701afcb2a30dc74839eb3630cdb264de9795f 100755 (executable)
--- a/configure
+++ b/configure
@@ -388,6 +388,7 @@ Some influential environment variables:
   LDFLAGS           C linker flags
   GUILE             guile command
   GUILD             guild command
+  GUILE_LOAD_PATH   guile load path; where to find Nyacc
   MES_FOR_BUILD     build system MES [can be mes or guile]
 " PACKAGE VERSION (getenv "prefix")))
 
@@ -410,6 +411,8 @@ Some influential environment variables:
          (includedir (option-ref options 'includedir "${prefix}/include"))
          (libdir (option-ref options 'libdir "${prefix}/lib"))
          (pkgdatadir (string-append datadir "/mes"))
+         (guile-load-path (if (and (pair? %load-path) (equal? (car %load-path) ".")) (cdr %load-path)
+                              %load-path))
          (guile-effective-version (effective-version))
          (guile-site-dir (if (equal? prefix ".") (canonicalize-path ".")
                              (string-append prefix "/share/guile/site/" guile-effective-version)))
@@ -614,7 +617,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system)
                      ("@mandir@" . ,mandir)
                      ("@sysconfdir@" . ,sysconfdir)
 
-                     ("@GUILE_EFFECTIVE_VERSION@" . ,(effective-version))
                      ("@colors@" . ,(if disable-colors? "no" "yes"))
                      ("@V@" . ,(if disable-silent-rules? "1" "0"))
 
@@ -625,6 +627,8 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system)
                      ("@DOT@" . ,(or (file-name "dot" deps) ""))
                      ("@GIT@" . ,(or (file-name "git" deps) ""))
                      ("@GUILE@" . ,guile)
+                     ("@GUILE_EFFECTIVE_VERSION@" . ,(effective-version))
+                     ("@GUILE_LOAD_PATH@" . ,(string-join guile-load-path ":"))
                      ("@GUIX@" . ,(or (file-name "guix" deps) ""))
                      ("@HELP2MAN@" . ,(or (file-name "help2man" deps) ""))
                      ("@MAKEINFO@" . ,(or (file-name "makeinfo" deps) ""))
index 5b5a4a93951e9dda2053092c57c59c5ba80a0c23..086c18e2e4a82844d24e5efaa5d607416b872708 100755 (executable)
@@ -151,6 +151,7 @@ subst () {
     -e s,"@pkgdatadir@,$pkgdatadir,"\
     -e s,"@sysconfdir@,$sysconfdir,"\
     -e s,"@GUILE_EFFECTIVE_VERSION@,$GUILE_EFFECTIVE_VERSION,"\
+    -e s,"@GUILE_LOAD_PATH@,$GUILE_LOAD_PATH,"\
     -e s,"@V@,$V,"\
     -e s,"@AR@,$AR,"\
     -e s,"@BASH@,$BASH,"\
index 00524d00365b6aeac304c95bb6c345e927263931..42ac445ee683acf51e54bb49a5addc567bd80948 100644 (file)
@@ -32,6 +32,8 @@
 (mes-use-module (mes display))
 (mes-use-module (mes simple-format))
 
+(define %load-path (or (and=> (getenv "GUILE_LOAD_PATH") (lambda (x) (string-split x #\:))) '()))
+
 (define (drain-input port) (read-string))
 
 (define (read-line . rest)