mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-17 14:51:20 -08:00
Warn when linking files that contain separate binary sections.
This commit is contained in:
parent
4c24b43755
commit
bfb7b7f7f9
1 changed files with 13 additions and 1 deletions
|
|
@ -450,7 +450,7 @@ output = si_safe_eval(2, ecl_read_from_cstring(lisp_code), Cnil);
|
|||
(multiple-value-bind (map array)
|
||||
(si::get-cdata path)
|
||||
(push (copy-seq array) submodules-data)
|
||||
(push (list (length array) init-fn) submodules)
|
||||
(push (list (length array) init-fn path) submodules)
|
||||
(si::munmap map)))))
|
||||
(setf submodules-data (apply #'concatenate '(array base-char (*))
|
||||
submodules-data))
|
||||
|
|
@ -462,6 +462,18 @@ output = si_safe_eval(2, ecl_read_from_cstring(lisp_code), Cnil);
|
|||
(setf init-name (compute-init-name output-name :kind target)))
|
||||
(unless main-name
|
||||
(setf main-name (compute-main-name output-name :kind target)))
|
||||
(unless (eq target :fasl)
|
||||
(let ((files-with-binary-data
|
||||
(loop for (size name path) in submodules
|
||||
when (plusp size)
|
||||
collect path)))
|
||||
(when files-with-binary-data
|
||||
(error "In C:BUILDER, when building file~%~T~A~%~
|
||||
tried to link together files that contained split binary data.~%~
|
||||
Unfortunately this is currently not possible. To avoid this~%~
|
||||
recompile the files setting C::*COMPILE-IN-CONSTANTS* to T.~%~
|
||||
List of offending files:~{~%~T~S~}"
|
||||
output-name files-with-binary-data))))
|
||||
(ecase target
|
||||
(:program
|
||||
(format c-file +lisp-program-init+ init-name "" submodules "")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue