`:entry-point` in ASDF file is ignored
Given a simple system:
test-entry-point.asd
(defsystem test-entry-point
:build-operation "program-op"
:build-pathname "test-entry-point"
:entry-point "test-entry-point:main"
:components ((:file "package"))
:depends-on (#:asdf))
package.lisp
(defpackage test-entry-point
(:use #:cl)
(:export #:main))
(in-package #:test-entry-point)
(defun main ()
(format t "Hello World!~%"))
In other implementations like SBCL, CCL, and Clisp, (asdf:make :test-entry-point) will produce an executable file that directly invokes the function defined after :entry-point in the system definition file, while ECL ignores this option. It seems only possible to achieve the same thing via (asdf:make-build :test-entry-point :type :program :epilogue-code '(progn (uiop:symbol-call :test-entry-point :main) (si:exit))), which makes it inconvenient to build a standalone executable in ECL.
ECL and system information:
VERSION "21.2.1"
VCS-ID "UNKNOWN"
OS "Linux"
OS-VERSION "5.15.78-1-MANJARO"
MACHINE-TYPE "x86_64"
FEATURES (:QUICKLISP :ASDF-PACKAGE-SYSTEM :ASDF3.1 :ASDF3 :ASDF2 :ASDF
:OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :WALKER :CDR-1
:CDR-5 :LINUX :FORMATTER :CDR-7 :ECL-WEAK-HASH :LITTLE-ENDIAN
:ECL-READ-WRITE-LOCK :LONG-LONG :UINT64-T :UINT32-T :UINT16-T
:COMPLEX-FLOAT :LONG-FLOAT :UNICODE :DFFI :CLOS-STREAMS
:CMU-FORMAT :UNIX :ECL-PDE :DLOPEN :CLOS :THREADS :BOEHM-GC
:ANSI-CL :COMMON-LISP :FLOATING-POINT-EXCEPTIONS
:IEEE-FLOATING-POINT :PACKAGE-LOCAL-NICKNAMES :CDR-14
:PREFIXED-API :FFI :X86_64 :COMMON :ECL)