Skip to content

Incorrect command line flags when providing path for SBCL #37

@rpgoldman

Description

@rpgoldman

When I make buildapp with an absolute pathname for SBCL, like this:

make DESTDIR=/home/rpg/.local/bin/ LISP=/opt/sbcl/current/bin/sbcl

I get the wrong command line arguments to SBCL (--no-init instead of --no-userinit and --no-sysinit):

/opt/sbcl/current/bin/sbcl --quiet --no-init \
  --eval "(require 'asdf)" \
  --eval "(push \"$(pwd)/\" asdf:*central-registry*)" \
  --eval "(require 'buildapp)" \
          --eval "(buildapp::build-buildapp)" \
          --eval "#+sbcl (exit) #+ccl (quit)"

When I use simply sbcl I do not get this problem:

$ make DESTDIR=/home/rpg/.local/bin/ LISP=sbcl
sbcl --noinform --no-userinit --no-sysinit --disable-debugger \
  --eval "(require 'asdf)" \
  --eval "(push \"$(pwd)/\" asdf:*central-registry*)" \
  --eval "(require 'buildapp)" \
          --eval "(buildapp::build-buildapp)" \
          --eval "#+sbcl (exit) #+ccl (quit)"

This is due to a bug in the Makefile:

ifeq ($(LISP),sbcl)
FLAGS=--noinform --no-userinit --no-sysinit --disable-debugger
else
FLAGS=--quiet --no-init
endif

The check for sbcl should be a substring or basename check, not an absolute check.

I will try to get you an MR for this; I don't have time at the moment, but am filing this issue so I don't forget.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions