This commit is contained in:
retropikzel 2024-11-15 08:17:20 +02:00
parent 20a05a5dc0
commit bbd51e93e1
4 changed files with 128 additions and 123 deletions

View File

@ -38,10 +38,10 @@ guarantees are being made just yet.
## Implementation table ## Implementation table
| | Chibi | Chicken | Cyclone | Gambit | Gauche | Gerbil | Guile | Kawa | Larceny | Mosh | Racket | Sagittarius | Skint | STklos | tr7 | Ypsilon | | | Chibi | Chicken 5 | Cyclone | Gambit | Gauche | Gerbil | Guile | Kawa | Larceny | Mosh | Racket | Sagittarius | Skint | STklos | tr7 | Ypsilon |
| ------------------------------- | ----- | ------- | ------- | ------- | ------ | ------ | ----- | ---- | ------- | ---- | ------ | ----------- | ----- | ------ | --- | ------- | | ------------------------------- | ----- | --------- | ------- | ------- | ------ | ------ | ----- | ---- | ------- | ---- | ------ | ----------- | ----- | ------ | --- | ------- |
| pffi-init | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | | | pffi-init | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | |
| pffi-size-of | X | X | X | | | | X | X | | X | X | X | | X | | | | pffi-size-of | X | X | X | X | | | X | X | | X | X | X | | X | | |
| pffi-shared-object-auto-load | X | X | X | | | | X | X | | X | X | X | | X | | | | pffi-shared-object-auto-load | X | X | X | | | | X | X | | X | X | X | | X | | |
| pffi-shared-object-load | X | X | X | | | | X | X | | X | X | X | | X | | | | pffi-shared-object-load | X | X | X | | | | X | X | | X | X | X | | X | | |
| pffi-pointer-null | X | X | X | | | | X | X | | X | X | X | | X | | | | pffi-pointer-null | X | X | X | | | | X | X | | X | X | X | | X | | |

View File

@ -91,9 +91,9 @@
(scheme process-context) (scheme process-context)
(only (gambit) c-declare c-lambda c-define)) (only (gambit) c-declare c-lambda c-define))
(export pffi-init (export pffi-init
;pffi-size-of pffi-size-of
;pffi-shared-object-auto-load pffi-shared-object-auto-load
;pffi-shared-object-load pffi-shared-object-load
;pffi-pointer-null ;pffi-pointer-null
;pffi-pointer-null? ;pffi-pointer-null?
;pffi-pointer-allocate ;pffi-pointer-allocate

View File

@ -42,13 +42,18 @@
(define auto-load-versions (list "")) (define auto-load-versions (list ""))
(define-syntax pffi-shared-object-auto-load (cond-expand
(gambit
(define-macro
(pffi-shared-object-auto-load headers additional-paths object-name additional-versions)
`(pffi-shared-object-load ,(car headers))))
(else
(define-syntax pffi-shared-object-auto-load
(syntax-rules () (syntax-rules ()
((pffi-shared-object-auto-load headers additional-paths object-name additional-versions) ((pffi-shared-object-auto-load headers additional-paths object-name additional-versions)
(cond-expand (cond-expand
(cyclone (pffi-shared-object-load headers)) (cyclone (pffi-shared-object-load headers))
(chicken (pffi-shared-object-load headers)) (chicken (pffi-shared-object-load headers))
(gambit (pffi-shared-object-load headers))
(else (else
(let* ((slash (cond-expand (windows (string #\\)) (else "/"))) (let* ((slash (cond-expand (windows (string #\\)) (else "/")))
(auto-load-paths (auto-load-paths
@ -142,4 +147,4 @@
(cons 'paths paths) (cons 'paths paths)
(cons 'platform-file-extension platform-file-extension) (cons 'platform-file-extension platform-file-extension)
(cons 'versions versions))) (cons 'versions versions)))
(pffi-shared-object-load headers shared-object)))))))) (pffi-shared-object-load headers shared-object))))))))))

View File

@ -53,7 +53,6 @@
(pffi-init) (pffi-init)
#|
;; pffi-size-of ;; pffi-size-of
(print-header 'pffi-size-of) (print-header 'pffi-size-of)
@ -203,6 +202,7 @@
(debug libc-stdlib) (debug libc-stdlib)
#|
;; pffi-pointer-null ;; pffi-pointer-null
(print-header 'pffi-pointer-null) (print-header 'pffi-pointer-null)