Some chicken and gambit fixes

This commit is contained in:
retropikzel 2025-03-01 19:02:53 +02:00
parent 91b1cff7f6
commit d82616ef8a
2 changed files with 140 additions and 136 deletions

View File

@ -30,9 +30,11 @@ test-script-docker:
docker build -f dockerfiles/test . --build-arg SCHEME=${SCHEME} --tag=pffi-${SCHEME}
docker run -v ${PWD}:/workdir pffi-${SCHEME} bash -c "cd /workdir && SCHEME=${SCHEME} script-r7rs -I . test.scm"
test-compile: libtest.so libtest.a
test-compile-library: libtest.so libtest.a
SCHEME=${SCHEME} compile-r7rs-library retropikzel/pffi.sld
SCHEME=${SCHEME} compile-r7rs -I . test.scm && ./test
test-compile: test-compile-library
SCHEME=${SCHEME} CFLAGS="-I." LDFLAGS="-ltest" compile-r7rs -I . test.scm && ./test
test-compile-docker: libtest.so libtest.a
docker build -f dockerfiles/test . --build-arg SCHEME=${SCHEME} --tag=pffi-${SCHEME}

View File

@ -63,15 +63,17 @@
(cond-expand
(gambit
(define-macro
(pffi-shared-object-auto-load headers object-name . options)
(pffi-shared-object-auto-load headers object-name options)
`(pffi-shared-object-load ,(car headers))))
((or chicken cyclone)
(define-syntax pffi-shared-object-auto-load
(syntax-rules ()
((_ headers object-name . options)
(pffi-shared-object-load headers)))))
(else
(define pffi-shared-object-auto-load
(lambda (headers object-name . options)
(cond-expand
(chicken (pffi-shared-object-load headers))
(cyclone (pffi-shared-object-load headers))
(else
(let* ((additional-paths (if (assoc 'additional-paths options)
(cdr (assoc 'additional-paths options))
(list)))
@ -201,4 +203,4 @@
(exit 1))
(pffi-shared-object-load headers
shared-object
`((additional-versions ,versions)))))))))))
`((additional-versions ,versions)))))))))