;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: defpackage.lisp,v 1.10 2007-02-19 14:42:54 espen Exp $
+;; $Id: defpackage.lisp,v 1.16 2008-12-10 02:39:17 espen Exp $
(defpackage "GFFI"
(:use "COMMON-LISP" "AUTOEXPORT" "PKG-CONFIG" "CLG-UTILS")
#+clisp(:use "CLOS" "EXT")
#+(or cmu sbcl)(:shadow "POINTER")
#+cmu(:shadowing-import-from "PCL" "CLASS-DIRECT-SUPERCLASSES")
- #+clisp(:shadow "TYPE-EXPAND-1" "SLOT-DEFINITION-TYPE")
- #+(or cmu sbcl)
- (:import-from #+cmu"PCL" #+sbcl"SB-PCL"
- "READER-FUNCTION" "WRITER-FUNCTION" "BOUNDP-FUNCTION"
- "INITIALIZE-INTERNAL-SLOT-FUNCTIONS" "COMPUTE-SLOT-ACCESSOR-INFO"
- "COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS"
- #?-(pkg-config:sbcl>= 0 9 8)"INITIALIZE-INTERNAL-SLOT-GFS")
+ #+clisp(:shadow "TYPE-EXPAND-1" "SLOT-DEFINITION-TYPE" "BYTE")
#+cmu(:import-from "ALIEN" "CALLBACK")
#+(or cmu sbcl)
(:import-from #+cmu"ALIEN" #+sbcl"SB-ALIEN"
"ALIEN-SAP")
#+cmu(:import-from "C-CALL" "VOID" "C-STRING")
#+sbcl(:import-from "SB-ALIEN" "VOID" "C-STRING")
+
+ ;; We override COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS for virtual slots
+ ;; and proxy classes.
+ #+(or cmu sbcl)
+ (:import-from
+ #+cmu"PCL" #+sbcl"SB-PCL"
+ "COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS")
+
;; Symbols from memory.lisp
(:export "MAKE-POINTER" "POINTER-ADDRESS" "NULL-POINTER-P" "POINTER="
- "POINTER+" "REF-POINTER" "REF-BYTE" "ALLOCATE-MEMORY"
+ "POINTER+" "REF-POINTER"
+ "REF-INT-8" "REF-INT-16" "REF-INT-32" "REF-INT-64"
+ "REF-UINT-8" "REF-UINT-16" "REF-UINT-32" "REF-UINT-64"
+ "REF-DOUBLE-FLOAT" "REF-SINGLE-FLOAT" "ALLOCATE-MEMORY"
"DEALLOCATE-MEMORY" "COPY-MEMORY" "CLEAR-MEMORY" "MEMORY-CLEAR-P"
"WITH-MEMORY" "WITH-POINTER" "*MEMORY-ALLOCATOR*"
- "*MEMORY-DEALLOCATOR*")
+ "*MEMORY-DEALLOCATOR*" #+cmu"WITH-PINNED-OBJECTS")
;; Symbols from interface.lisp
(:export "DEFBINDING" "MKBINDING" "USE-PREFIX" "PACKAGE-PREFIX"
"DEFINE-CALLBACK" "CALLBACK" "CALLBACK-ADDRESS"
"DEFINE-TYPE-GENERIC" "DEFINE-TYPE-METHOD" "IN-ARG-P" "OUT-ARG-P"
"DEFAULT-ALIEN-TYPE-NAME" "DEFAULT-TYPE-NAME" "TYPE-EXPAND"
- "TYPE-EXPAND-1" "TYPE-EXPAND-TO")
+ "TYPE-EXPAND-1" "TYPE-EXPAND-TO" "TYPE-EQUAL-P")
;; Symbols from basic-types.lisp
(:export "LONG" "UNSIGNED-LONG" "INT" "UNSIGNED-INT" "SHORT" "UNSIGNED-SHORT"
"SIGNED" "UNSIGNED" "CHAR" "POINTER" "BOOL" "COPY-OF" "STATIC"
"READER-FUNCTION" "WRITER-FUNCTION" "GETTER-FUNCTION"
"PEEK-FUNCTION" "DESTROY-FUNCTION" "UNBOUND-VALUE"
"COPY-FUNCTION" "ASSERT-INLINED" "ASSERT-NOT-INLINED"
- "UTF8-LENGTH" "OPTIMIZED-DOUBLE-FLOAT" "POINTER-DATA")
+ "UTF8-LENGTH" "OPTIMIZED-DOUBLE-FLOAT" "POINTER-DATA"
+ "ARGUMENT-TYPE" "RETURN-TYPE")
;; Symbols from vector.lisp
(:export "MAKE-C-VECTOR" "MAP-C-VECTOR" "WITH-C-VECTOR" "COUNTED-VECTOR"
- "NULL-TERMINATED-VECTOR")
+ "NULL-TERMINATED-VECTOR" "VECTOR-READER-FUNCTION"
+ "VECTOR-WRITER-FUNCTION" "VECTOR-REF-INT-8" "VECTOR-REF-INT-16"
+ "VECTOR-REF-UINT-8" "VECTOR-REF-UINT-16" "VECTOR-REF-UINT-32"
+ "VECTOR-REF-UINT-64" "VECTOR-REF-DOUBLE-FLOAT"
+ "VECTOR-REF-SINGLE-FLOAT" "UNBOXED-VECTOR")
;; Symbols from enums.lisp
(:export "ENUM" "ENUM-INT" "INT-ENUM" "ENUM-MAPPING" "DEFINE-ENUM-TYPE"
"FLAGS" "DEFINE-FLAGS-TYPE")