1 ;;; ASDF Definition. -*- lisp -*-
3 (defpackage :asdf-component-shared-unix-library-system
5 (:export #:shared-unix-library))
7 (in-package :asdf-component-shared-unix-library-system)
9 (defclass shared-unix-library (source-file)
12 (defmethod source-file-type ((component shared-unix-library) system)
15 (defmethod input-files (operation (component shared-unix-library))
18 (defmethod output-files ((operation compile-op) (component shared-unix-library))
21 (defmethod perform ((operation compile-op) (component shared-unix-library))
23 (defmethod operation-done-p ((o compile-op) (c shared-unix-library))
25 (defmethod operation-done-p ((o load-op) (c shared-unix-library))
28 (defmethod perform ((operation load-op) (component shared-unix-library))
29 (flet ((load-lib (lib)
31 (cffi:load-foreign-library lib)
32 #+(and (not cffi) sbcl)
33 (sb-alien:load-shared-object lib)
34 #+(and (not cffi) allegro)
36 #-(or sbcl allegro cffi)
37 (error "No foreign library support")))
38 (handler-case (load-lib (component-pathname component))
39 (error (e) (declare (ignore e))
42 (pushnew :asdf-component-shared-unix-library *features*)
44 (asdf:defsystem :asdf-component-shared-unix-library
45 :name "ASDF component :shared-unix-library"