196 lines
6.0 KiB
Scheme
196 lines
6.0 KiB
Scheme
(define-library
|
|
(retropikzel pffi)
|
|
(cond-expand
|
|
(chibi
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(chibi ast)
|
|
(chibi))
|
|
(include-shared "pffi/chibi-pffi"))
|
|
(chicken
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(chicken base)
|
|
(chicken foreign)
|
|
(chicken locative)
|
|
(chicken syntax)
|
|
(chicken memory)
|
|
(chicken random)))
|
|
(cyclone
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(cyclone foreign)
|
|
(scheme cyclone primitives)))
|
|
(gambit
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(only (gambit) c-declare c-lambda c-define define-macro)))
|
|
(gauche
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(gauche base)
|
|
(retropikzel pffi gauche)))
|
|
(gerbil
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)))
|
|
(guile
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(rnrs bytevectors)
|
|
(system foreign)
|
|
(system foreign-library)
|
|
(only (guile) include-from-path)))
|
|
(kawa
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)))
|
|
(larceny
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(rename (primitives r5rs:require) (r5rs:require require))
|
|
(primitives std-ffi)
|
|
(primitives foreign-procedure)
|
|
(primitives foreign-file)
|
|
(primitives foreign-stdlib)))
|
|
(mosh
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(mosh ffi)))
|
|
(racket
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(only (racket base) system-type)
|
|
(ffi winapi)
|
|
(compatibility mlist)
|
|
(ffi unsafe)
|
|
(ffi vector)))
|
|
(sagittarius
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(sagittarius ffi)
|
|
(sagittarius)))
|
|
(skint
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)))
|
|
(stklos
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(stklos))
|
|
(export make-external-function
|
|
calculate-struct-size-and-offsets
|
|
struct-make))
|
|
(tr7
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)))
|
|
(ypsilon
|
|
(import (scheme base)
|
|
(scheme write)
|
|
(scheme char)
|
|
(scheme file)
|
|
(scheme process-context)
|
|
(ypsilon c-ffi)
|
|
(ypsilon c-types)
|
|
(only (core) define-macro syntax-case))))
|
|
(export pffi-init
|
|
pffi-size-of
|
|
pffi-type?
|
|
pffi-align-of
|
|
pffi-define-library
|
|
pffi-pointer-null
|
|
pffi-pointer-null?
|
|
pffi-pointer-allocate
|
|
pffi-pointer-address
|
|
pffi-pointer?
|
|
pffi-pointer-free
|
|
pffi-pointer-set!
|
|
pffi-pointer-get
|
|
pffi-string->pointer
|
|
pffi-pointer->string
|
|
pffi-define-struct
|
|
pffi-struct-pointer
|
|
pffi-struct-offset-get
|
|
pffi-struct-get
|
|
pffi-struct-set!
|
|
pffi-struct-dereference
|
|
pffi-array-allocate
|
|
pffi-array?
|
|
pffi-pointer->array
|
|
pffi-array-get
|
|
pffi-array-set!
|
|
pffi-list->array
|
|
pffi-array->list
|
|
pffi-define
|
|
pffi-define-callback)
|
|
(cond-expand
|
|
(chibi (include "pffi/chibi.scm"))
|
|
(chicken-5 (include "pffi/chicken.scm"))
|
|
(chicken-6 (include-relative "pffi/chicken.scm"))
|
|
(cyclone (include "pffi/cyclone.scm"))
|
|
(gambit (include "pffi/gambit.scm"))
|
|
(gauche (include "pffi/gauche.scm"))
|
|
(gerbil (include "pffi/gerbil.scm"))
|
|
(guile (include "pffi/guile.scm"))
|
|
(kawa (include "pffi/kawa.scm"))
|
|
(larceny (include "pffi/larceny.scm"))
|
|
(mosh (include "pffi/mosh.scm"))
|
|
(racket (include "pffi/racket.scm"))
|
|
(sagittarius (include "pffi/sagittarius.scm"))
|
|
(skint (include "pffi/skint.scm"))
|
|
(stklos (include "pffi/stklos.scm"))
|
|
(tr7 (include "pffi/tr7.scm"))
|
|
(ypsilon (include "pffi/ypsilon.scm")))
|
|
;(include "pffi/shared/union.scm")
|
|
(cond-expand
|
|
(chicken-6 (include-relative "pffi/shared/main.scm")
|
|
(include-relative "pffi/shared/pointer.scm")
|
|
(include-relative "pffi/shared/array.scm")
|
|
(include-relative "pffi/shared/struct.scm"))
|
|
(else (include "pffi/shared/main.scm")
|
|
(include "pffi/shared/pointer.scm")
|
|
(include "pffi/shared/array.scm")
|
|
(include "pffi/shared/struct.scm"))))
|