[clbuild-devel] Optional parameter for 'clbuild {prebuild, lisp}'

Albert Krewinkel krewinkel at gmx.net
Mon Dec 22 18:42:59 UTC 2008


Hello,

David Lichteblau <david at lichteblau.com> writes:

> 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".

[snip]

Strange. I was not able to reproduce this error on my machine.  The
problem seems to be in line 352:

  if [ ! -x "$lisp_command" ]; then
      lisp_command=""
  fi

this is supposed to catch errors like the one you describe.  What
happens when you type
$ [ -x sbcl ] || echo "dammit"

into your shell?

I added a little more documentation to those functions (pushed to
c-l.net repo, I hope they are at least somewhat helpful).  When doing
this, I noted quite a few shortcomings of my approach.  The whole
"--implementation" thingy should be rethought.  Maybe allowing
executables as parameters isn't such a good idea after all.

HTH
Albert




More information about the clbuild-devel mailing list