summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2013-03-29 12:28:49 -0400
committerMark H Weaver <mhw@netris.org>2013-03-30 22:49:46 -0400
commitb05257b9232e2ee631c28b15cace5981c4927446 (patch)
treeb2f45e5bec9a67e3c6355d42f09d4dd34ad21351
parentbeac49b8e129b28902f4b600e15aa3b92c9ce7fd (diff)
downloadguile-b05257b9232e2ee631c28b15cace5981c4927446.tar.gz
Add -C command-line option to adjust %load-compiled-path.
* module/ice-9/command-line.scm (compile-shell-switches): Implement -C option. (*usage*): Add -C option. * doc/ref/guile-invoke.texi (Command-line Options): Add docs.
-rw-r--r--doc/ref/guile-invoke.texi3
-rw-r--r--module/ice-9/command-line.scm16
2 files changed, 18 insertions, 1 deletions
diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi
index 397bc47e4..866bf1de1 100644
--- a/doc/ref/guile-invoke.texi
+++ b/doc/ref/guile-invoke.texi
@@ -71,6 +71,9 @@ before any directories in the @env{GUILE_LOAD_PATH} environment
variable. Paths added here are @emph{not} in effect during execution of
the user's @file{.guile} file.
+@item -C @var{directory}
+Like @option{-L}, but adjusts the load path for @emph{compiled} files.
+
@item -x @var{extension}
Add @var{extension} to the front of Guile's load extension list
(@pxref{Load Paths, @code{%load-extensions}}). The specified extensions
diff --git a/module/ice-9/command-line.scm b/module/ice-9/command-line.scm
index 2aa50ec80..0211b851c 100644
--- a/module/ice-9/command-line.scm
+++ b/module/ice-9/command-line.scm
@@ -117,6 +117,7 @@ remaining arguments as the value of (command-line).
If FILE begins with `-' the -s switch is mandatory.
-L DIRECTORY add DIRECTORY to the front of the module load path
+ -C DIRECTORY like -L, but for compiled files
-x EXTENSION add EXTENSION to the front of the load extensions
-l FILE load source code from FILE
-e FUNCTION after reading script, apply FUNCTION to
@@ -194,6 +195,7 @@ If FILE begins with `-' the -s switch is mandatory.
(script-cell #f)
(entry-point #f)
(user-load-path '())
+ (user-load-compiled-path '())
(user-extensions '())
(interactive? #t)
(inhibit-user-init? #f)
@@ -264,6 +266,14 @@ If FILE begins with `-' the -s switch is mandatory.
(parse (cdr args)
out))
+ ((string=? arg "-C") ; add to %load-compiled-path
+ (if (null? args)
+ (error "missing argument to `-C' switch"))
+ (set! user-load-compiled-path
+ (cons (car args) user-load-compiled-path))
+ (parse (cdr args)
+ out))
+
((string=? arg "-x") ; add to %load-extensions
(if (null? args)
(error "missing argument to `-x' switch"))
@@ -430,11 +440,15 @@ If FILE begins with `-' the -s switch is mandatory.
`(set! %load-extensions (cons ,ext %load-extensions)))
user-extensions)
- ;; Add the user-specified load path here, so it won't be in
+ ;; Add the user-specified load paths here, so they won't be in
;; effect during the loading of the user's customization file.
,@(map (lambda (path)
`(set! %load-path (cons ,path %load-path)))
user-load-path)
+ ,@(map (lambda (path)
+ `(set! %load-compiled-path
+ (cons ,path %load-compiled-path)))
+ user-load-compiled-path)
;; Put accumulated actions in their correct order.
,@(reverse! out)