From 14951e4c0bc2d8c4c9608b6b964d52d071643ce1 Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Wed, 22 Jan 2020 18:56:03 +0100 Subject: [PATCH] reintroduce init functions for modules Reintroduce the entry points like init_lib_CMP, init_lib_SOCKETS, ... we had in ECL 16.1.3 for our builtin modules linked as static libraries. --- src/bare.lsp.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bare.lsp.in b/src/bare.lsp.in index ac202a543..dd84abc71 100644 --- a/src/bare.lsp.in +++ b/src/bare.lsp.in @@ -148,6 +148,9 @@ name library depends-on (string name) compiled)) path)) +(defun init-name (name) + (concatenate 'string "init_lib_" (string-upcase (substitute #\_ #\- name)))) + (defun build-module (name sources &key additional-files depends-on (builtin nil) (dir "build:") ((:prefix si::*init-function-prefix*) "EXT")) @@ -158,7 +161,9 @@ (let* ((objects (compile-if-old dir sources :system-p t :c-file t :data-file t :h-file t)) (compiled-file-name (string name)) - (static-library (c::build-static-library name :lisp-files objects))) + (static-library (c::build-static-library name + :lisp-files objects + :init-name (init-name name)))) (push static-library *module-files*) (when builtin (push (intern name) *module-symbols*))