mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-12 12:21:15 -08:00
compiler: accept foreign object files
Sometimes we want to build with objects from CFFI (like wrappers). These doesn't have entry point and initialization function. If we'll encounter such an object just attach it without adding it to the initialization queue. Fixes #174. Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
This commit is contained in:
parent
bff9aced44
commit
970ccb7c36
2 changed files with 3 additions and 2 deletions
|
|
@ -471,7 +471,8 @@ output = si_safe_eval(2, ecl_read_from_cstring(lisp_code), ECL_NIL);
|
|||
(flags (guess-ld-flags path)))
|
||||
;; We should give a warning that we cannot link this module in
|
||||
(when flags (push flags ld-flags))
|
||||
(push (list init-fn path) submodules))))
|
||||
(when init-fn
|
||||
(push (list init-fn path) submodules)))))
|
||||
(setf submodules-data (apply #'concatenate '(array base-char (*))
|
||||
submodules-data))
|
||||
(setq c-file (open c-name :direction :output :external-format :default))
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ the function name it precedes."
|
|||
((:object :c :static-library :lib :shared-library :dll)
|
||||
(or (and (probe-file pathname)
|
||||
(find-init-name pathname :tag (kind->tag kind)))
|
||||
(error "Cannot find out entry point for binary file ~A" pathname)))
|
||||
(cmpnote "Cannot find out entry point for binary file ~A" pathname)))
|
||||
(otherwise (compute-init-name pathname kind))))
|
||||
|
||||
(defun remove-prefix (prefix name)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue