Chibi fixes

This commit is contained in:
retropikzel 2025-07-11 23:50:22 +03:00
parent 7eb54ddfdd
commit 1957a05e51
2 changed files with 17 additions and 4 deletions

View File

@ -6,9 +6,9 @@ VERSION=$(shell awk '/version:/{ print $$2 }' README.md )
TEST=primitives TEST=primitives
SCHEME=chibi SCHEME=chibi
all: package all: build
package: build:
markdown README.md > README.html markdown README.md > README.html
snow-chibi package \ snow-chibi package \
--version=${VERSION} \ --version=${VERSION} \
@ -21,6 +21,9 @@ package:
install: install:
snow-chibi --impls=${SCHEME} install foreign-c-${VERSION}.tgz snow-chibi --impls=${SCHEME} install foreign-c-${VERSION}.tgz
uninstall:
snow-chibi --impls=${SCHEME} remove foreign.c
install-jenkins: install-jenkins:
snow-chibi --impls=${SCHEME} --always-yes install foreign-c-${VERSION}.tgz snow-chibi --impls=${SCHEME} --always-yes install foreign-c-${VERSION}.tgz
@ -33,6 +36,15 @@ test-java: tmp/test/libtest.o tmp/test/libtest.so tmp/test/libtest.a
cd tmp/test \ cd tmp/test \
&& ${JAVA_HOME}/bin/java --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --enable-preview -jar kawa.jar --r7rs --full-tailcalls -Dkawa.import.path=*.sld:./snow/*.sld:./snow/retropikzel/*.sld ${TEST}.scm && ${JAVA_HOME}/bin/java --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --enable-preview -jar kawa.jar --r7rs --full-tailcalls -Dkawa.import.path=*.sld:./snow/*.sld:./snow/retropikzel/*.sld ${TEST}.scm
test-chibi: tmp/test/libtest.o tmp/test/libtest.so tmp/test/libtest.a
make chibi
mkdir -p tmp/test
cp kawa.jar tmp/test/
cp -r foreign tmp/test/
cp tests/*.scm tmp/test/
cp tests/c-include/libtest.h tmp/test/
cd tmp/test && chibi-scheme -I . ${TEST}.scm
test: tmp/test/libtest.o tmp/test/libtest.so tmp/test/libtest.a test: tmp/test/libtest.o tmp/test/libtest.so tmp/test/libtest.a
make ${SCHEME} make ${SCHEME}
cp -r foreign tmp/test/ cp -r foreign tmp/test/
@ -67,7 +79,7 @@ test-compile-r7rs-wine:
test-docker: test-docker:
docker build --build-arg SCHEME=${SCHEME} --tag=r7rs-pffi-test-${SCHEME} -f dockerfiles/Dockerfile.test . docker build --build-arg SCHEME=${SCHEME} --tag=r7rs-pffi-test-${SCHEME} -f dockerfiles/Dockerfile.test .
docker run -it -v "${PWD}:/workdir" -w /workdir -t r7rs-pffi-test-${SCHEME} sh -c "make SCHEME=${SCHEME} TEST=${TEST} test-compile-r7rs" docker run -it -v "${PWD}:/workdir" -w /workdir -t r7rs-pffi-test-${SCHEME} sh -c "make SCHEME=${SCHEME} TEST=${TEST} test"
tmp/test/libtest.o: tests/c-src/libtest.c tmp/test/libtest.o: tests/c-src/libtest.c
mkdir -p tmp/test mkdir -p tmp/test

View File

@ -96,10 +96,11 @@
(cond-expand (cond-expand
(chicken #t) ; FIXME (chicken #t) ; FIXME
(kawa #t) ; FIXME (kawa #t) ; FIXME
(chibi (define c-null? pointer?))
(else (define c-null? (else (define c-null?
(lambda (pointer) (lambda (pointer)
(if (c-bytevector? pointer) (if (c-bytevector? pointer)
(= (c-memset-pointer->address pointer 0 0) 0) (= (c-memset-pointer->address pointer 0 0 0) 0)
#f))))) #f)))))
#;(define c-bytevector->address #;(define c-bytevector->address