[clbuild-devel] clbuild2 and CCL
David Lichteblau
david at lichteblau.com
Tue Jan 4 21:05:54 UTC 2011
Quoting Greg Pfeil (greg at technomadic.org):
> I'm trying to use clbuild2 with CCL and have had a couple issues. One is that there seems to be a bug with "--implementation" (diff attached).
>
> The other is that (after I've applied the aforementioned patch) when I do:
>
> clbuild --implementation ccl slime
>
> it still tries to use SBCL:
[...]
Two issues:
- Option processing happened too late, after loading the sources.
- To keep things simple, clbuild intentionally does not default
LISP_BINARY based on LISP_IMPLEMENTATION_TYPE anymore, which means
that clbuild doesn't know about all of CCL's weird binary names
like lx86cl64.
I have pushed support for --implementation and two new options, --type
and --binary. Please test!
Explanation:
In clbuild2, the user-specific configuration file clbuild.conf is tasked
with setting both LISP_IMPLEMENTATION_TYPE and LISP_BINARY (as well as
other variables needed, like SBCL_HOME or CCL_DEFAULT_DIRECTORY; a
default for the latter is computed if missing though).
Hence the new options --type (corresponding to LISP_IMPLEMENTATION_TYPE)
and --binary (corresponding to LISP_BINARY).
The existing option --implementation /path/to/xylisp is now parsed as
--type xylisp --binary /path/to/xylisp.
Option processing first sets variables FORCE_LISP_IMPLEMENTATION_TYPE
and FORCE_LISP_BINARY. It then runs clbuild.conf, and only afterwards
overrides the usual configuration with the values of the FORCE_*
variables, if FORCE_* is still set. The goal of that logic is to give
clbuild.conf a chance to override or customize the values specified on
the command line.
So the following works out of the box for me now:
clbuild --type ccl --binary ~/usr/ccl-1.6/lx86cl64 lisp
And the short version is possible, but depends on user-specific
customization in clbuild.conf to teach clbuild that the user intends ccl
to be a shortcut for lx86cl64:
clbuild --implementation ccl lisp
The clbuild.conf snippet for that would look like this:
case $FORCE_LISP_IMPLEMENTATION_TYPE in
ccl)
FORCE_LISP_BINARY=~/usr/ccl-1.6/lx86cl64
;;
esac
More examples in clbuild.conf.default.
d.
More information about the clbuild-devel
mailing list