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
| | 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-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-load | 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)
(only (gambit) c-declare c-lambda c-define))
(export pffi-init
;pffi-size-of
;pffi-shared-object-auto-load
;pffi-shared-object-load
pffi-size-of
pffi-shared-object-auto-load
pffi-shared-object-load
;pffi-pointer-null
;pffi-pointer-null?
;pffi-pointer-allocate

View File

@ -42,13 +42,18 @@
(define auto-load-versions (list ""))
(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 ()
((pffi-shared-object-auto-load headers additional-paths object-name additional-versions)
(cond-expand
(cyclone (pffi-shared-object-load headers))
(chicken (pffi-shared-object-load headers))
(gambit (pffi-shared-object-load headers))
(else
(let* ((slash (cond-expand (windows (string #\\)) (else "/")))
(auto-load-paths
@ -142,4 +147,4 @@
(cons 'paths paths)
(cons 'platform-file-extension platform-file-extension)
(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-size-of
(print-header 'pffi-size-of)
@ -203,6 +202,7 @@
(debug libc-stdlib)
#|
;; pffi-pointer-null
(print-header 'pffi-pointer-null)