Commit 9bf90505 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

4.1.3.2: dispatcher preempts default entry-point. update .asd metadata.

parent c4c90a50
#!/bin/sh
#| cl-launch.sh -- shell wrapper for Common Lisp -*- Lisp -*-
CL_LAUNCH_VERSION='4.1.3.1'
CL_LAUNCH_VERSION='4.1.3.2'
license_information () {
AUTHOR_NOTE="\
# Please send your improvements to the author:
......@@ -1739,19 +1739,17 @@ print_cl_launch_asd () {
cat<<END
;;; -*- Lisp -*-
;; This file is for the sake of building systems that depend on cl-launch,
;; and/or binaries from implementations that link instead of dump (i.e. ECL).
;; cl-launch also used to be used as a way to redirect fasls, like
;; asdf-binary-locations or common-lisp-controller, in times before ASDF 2.
;; and of binaries from implementations that link instead of dump (i.e. ECL).
;;
;; It is only safe to upgrade ASDF itself as part of an ASDF operation
;; if the initial ASDF is more recent than 2.014.8.
;; If the initial ASDF isn't, you're likely in trouble.
;;
(asdf:defsystem :cl-launch
:defsystem-depends-on ("asdf-package-system")
:class :package-inferred-system
:depends-on ((:version "asdf" "3.1.2")) ; we want some recent enough ASDF and UIOP
#-asdf3.1 (error "cl-launch requires asdf 3.1")
(defsystem "cl-launch"
:version "${CL_LAUNCH_VERSION}"
:description "Runtime for cl-launch"
:licence "MIT"
:author "Francois-Rene Rideau"
:depends-on ((:version "asdf" "3.1.2")) ; we need package-inferred-system and a recent UIOP
:class :package-inferred-system
:components ((:file "launcher")))
END
}
......@@ -2353,8 +2351,8 @@ NIL
;; Most implementations provide ASDF, but while most of them are case-insensitive,
;; CLISP is case-sensitive, so we need to specify a lowercase string,
;; and not the keyword :asdf or symbol 'asdf.
;; Most recent implementations provide ASDF 3, but some of them only ASDF 2
;; and antique versions only of ASDF 1.
;; All recent implementations provide ASDF 3,
;; but older variants in the wild may only provide ASDF 2 or even ASDF 1.
#'(lambda () (funcall 'require "asdf")))
(try-file-stage-1 "asdf" "default (visible)" (user-homedir-pathname)
"~/" '("common-lisp"))
......@@ -2570,7 +2568,9 @@ Returns two values: the fasl path, and T if the file was (re)compiled"
;; return the new list of dependencies, i.e. a singleton of the actual system name.
(let ((sys (strcat "cl-launch-" stem)))
(eval `(handler-bind ((warning #'muffle-warning))
(defsystem ,sys :pathname ,*temporary-directory* :depends-on ,(reverse rdeps) ,@options)
(defsystem ,sys
:version "0" :author "cl-launch user" :description "generated by cl-launch"
:pathname ,*temporary-directory* :depends-on ,(reverse rdeps) ,@options)
(defmethod input-files ((o operation) (s (eql (find-system ,sys))))
',(cl-launch-files))))
(list sys)))
......
......@@ -70,3 +70,6 @@ If NAME is NIL, return the value of *DEFAULT-BEHAVIOR*."
(defun dispatch-entry (argv &optional (name (get-name)))
(funcall (or (get-entry name) *default-behavior*) argv))
(when (null *image-entry-point*)
(setf *image-entry-point* #'dispatcher))
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment