[clbuild-devel] Optional parameter for 'clbuild {prebuild, lisp}'
David Lichteblau
david at lichteblau.com
Mon Dec 22 10:02:00 UTC 2008
Hi,
Quoting Albert Krewinkel (krewinkel at gmx.net):
> $ ./clbuild --implementation sbcl COMMAND
> is now legal for the whole set of commands. Someone with better English
> skills than me please have a look at the documentation I added to the
> long-help output.
I'm having so trouble with this, and I'm hesitant to randomly "fix" code
that I don't fully understand, so I hope that you can help me with it.
Here's the situation:
* there's an SBCL compiled by clbuild in target/
* clbuild is invoked as
clbuild lisp
or
clbuild --implementation sbcl lisp
or, in particular, "clbuild slime", which ends up using the latter
form.
* DEFAULT_IMPLEMENTATION is set to sbcl in clbuild.conf
* SBCL isn't set in clbuild.conf
In this case, the SBCL from target/ should be used, but for some reason
that only works out for "clbuild lisp", not "clbuild --implementation
sbcl lisp".
I think the problem might be around here, where $SBCL is already set
properly, and then $1 takes precedence:
diff -rN -u old-clbuild/clbuild new-clbuild/clbuild
--- old-clbuild/clbuild 2008-12-22 10:51:48.000000000 +0100
+++ new-clbuild/clbuild 2008-12-22 10:51:48.000000000 +0100
@@ -282,7 +282,10 @@
if [ -z "$SBCL" ]; then
set_lisp_command sbcl
fi
+ echo '$SBCL:' "$SBCL"
+ echo '$1:' "$1"
lisp=${1:-$SBCL}
+ echo '$lisp:' "$lisp"
noinform="--noinform"
end_toplevel_options="--end-toplevel-options"
Output for the case that works:
: david at lanthan:~; clbuild lisp
$SBCL: /home/david/clbuild/target/bin/sbcl --core /home/david/clbuild/target/lib/sbcl/sbcl.core
$1:
$lisp: /home/david/clbuild/target/bin/sbcl --core /home/david/clbuild/target/lib/sbcl/sbcl.core
This is SBCL 1.0.23.62, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
*
Output for the case that doesn't work:
: david at lanthan:~; clbuild --implementation sbcl lisp
$SBCL: /home/david/clbuild/target/bin/sbcl --core /home/david/clbuild/target/lib/sbcl/sbcl.core
$1: sbcl
$lisp: sbcl
/home/david/bin/clbuild: line 382: sbcl: command not found
Thanks,
d.
More information about the clbuild-devel
mailing list