chiark / gitweb /
Initial revision
[clg] / tools / sharedlib.lisp
1 (in-package "ALIEN")
2 (export '(load-shared-library))
3 (in-package "SYSTEM")
4 (import 'alien:load-shared-library)
5
6 (defun load-shared-library (file &key init prototype initargs)
7   (format t ";;; Loading shared library ~A~%" file)
8   (load-object-file file)
9   (when init
10     (apply
11      #'alien:alien-funcall
12      (alien::%heap-alien
13       (alien::make-heap-alien-info
14        :type (alien::parse-alien-type (or prototype `(function c-call:void)))
15        :sap-form (system:foreign-symbol-address init)))
16      initargs)))
17