From fde1349ff8a31f843fa8d27133bb20dc013ac436 Mon Sep 17 00:00:00 2001 From: retropikzel Date: Fri, 27 Jun 2025 16:27:50 +0300 Subject: [PATCH] Working towards snow-fort release --- Jenkinsfile | 2 +- Makefile | 15 ++++++++++++--- README.md | 18 ++++++++++++++++-- documentation/foreign-c.html | 21 +++++++++++++++++---- documentation/foreign-c.pdf | Bin 46044 -> 46215 bytes foreign/c.sld | 4 ++-- foreign/c/libc.scm | 15 ++++----------- foreign/c/pointer.scm | 5 +++++ tests/hello.scm | 5 +++++ tests/primitives.scm | 10 ++++++++++ 10 files changed, 72 insertions(+), 23 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d40d546..4a729f8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,7 @@ pipeline { stage("${implementation} snow-chibi install test") { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh "docker build --build-arg COMPILE_R7RS=${implementation} --tag=r7rs-pffi-test-${implementation} -f dockerfiles/Dockerfile.snow-chibi-install-test ." - sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t r7rs-pffi-test-${implementation} sh -c \"make clean-package package && snow-chibi install --impls=${implementation} foreign-c-0.10.0.tgz && cp tests/hello.scm /tmp/ && cd /tmp && COMPILE_R7RS=${implementation} compile-r7rs -o hello hello.scm && ./hello\"" + sh "docker run -v ${WORKSPACE}:/workdir -w /workdir -t r7rs-pffi-test-${implementation} sh -c \"make snow-chibi-install COMPILE_R7RS=${implementation} && cp tests/hello.scm /tmp/ && cd /tmp && COMPILE_R7RS=${implementation} compile-r7rs -o hello hello.scm && ./hello\"" } } } diff --git a/Makefile b/Makefile index cf3dcaf..45f6799 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ DOCKER_INIT=cd /workdir && make clean && VERSION=$(shell awk '/version:/{ print $$2 }' README.md ) TESTNAME=primitives -package: docs +package: documentation snow-chibi package \ --version=${VERSION} \ --authors="Retropikzel" \ @@ -14,6 +14,9 @@ package: docs --description="Portable foreign function interface for R7RS Schemes" \ foreign/c.sld +snow-chibi-install: clean-package package + snow-chibi --impls=${COMPILE_R7RS} install foreign-c-${VERSION}.tgz + clean-package: rm -rf *.tgz @@ -32,11 +35,17 @@ test-compile-r7rs: tmp/test/libtest.o tmp/test/libtest.so tmp/test/libtest.a cp tests/*.scm tmp/test/ cp tests/c-include/libtest.h tmp/test/ cd tmp/test && \ - COMPILE_R7RS_GAMBIT="-cc-options \"-ltest -I. -L\" -ld-options \"-L.\"" \ COMPILE_R7RS_CHICKEN="-L -static -L -ltest -I. -L." \ compile-r7rs -I . -o ${TESTNAME} ${TESTNAME}.scm cd tmp/test && ./${TESTNAME} +test-compile-r7rs-snow: tmp/test/libtest.o tmp/test/libtest.so tmp/test/libtest.a + cp tests/*.scm tmp/test/ + cp tests/c-include/libtest.h tmp/test/ + cd tmp/test && \ + compile-r7rs -o hello hello.scm + cd tmp/test && ./hello + test-compile-r7rs-wine: cp -r foreign tmp/test/ cp tests/*.scm tmp/test/ @@ -65,7 +74,7 @@ tmp/test/libtest.a: tmp/test/libtest.o tests/c-src/libtest.c documentation/foreign-c.html: # apt-get install pandoc weasyprint -docs: +documentation: README.md mkdir -p documentation pandoc --standalone \ --template templates/documentation.html README.md \ diff --git a/README.md b/README.md index 45d6ced..a1e3001 100644 --- a/README.md +++ b/README.md @@ -144,17 +144,31 @@ Required versions: ## Installation +### Snow-fort + +[https://snow-fort.org/](https://snow-fort.org/) + +Installable with snow-chibi for following implementations. + +- Chibi +- Kawa +- STklos + +### Manul + Either download the latest release from [https://git.sr.ht/~retropikzel/foreign-c/refs](https://git.sr.ht/~retropikzel/foreign-c/refs) -or git clone, preferably with a tag, and copy the _foreign_ directory to your +or git clone, tag, and copy the _foreign_ directory to your library directory. Example assuming libraries in directory _snow_: git clone https://git.sr.ht/~retropikzel/foreign-c --branch LATEST_VERSION + cd foreign-c + make SCHEME_IMPLEMENTATION_NAME + cd .. mkdir -p snow cp -r foreign-c/foreign snow/ - make -C snow/foreign/c SCHEME_IMPLEMENTATION_NAME With most implementations the make command does not compile anything. When that is the case it will say "Nothing to build on SCHEME\_IMPLEMENTATION\_NAME." diff --git a/documentation/foreign-c.html b/documentation/foreign-c.html index 7d21b37..c1c293e 100644 --- a/documentation/foreign-c.html +++ b/documentation/foreign-c.html @@ -366,15 +366,28 @@ Schemes - 0.10.0

Installation

+

Snow-fort

+

https://snow-fort.org/

+

Installable with snow-chibi for following + implementations.

+ +

Manul

Either download the latest release from https://git.sr.ht/~retropikzel/foreign-c/refs - or git clone, preferably with a tag, and copy the - foreign directory to your library directory.

+ or git clone, tag, and copy the foreign directory to + your library directory.

Example assuming libraries in directory snow:

git clone https://git.sr.ht/~retropikzel/foreign-c --branch LATEST_VERSION
+cd foreign-c
+make SCHEME_IMPLEMENTATION_NAME
+cd ..
 mkdir -p snow
-cp -r foreign-c/foreign snow/
-make -C snow/foreign/c SCHEME_IMPLEMENTATION_NAME
+cp -r foreign-c/foreign snow/

With most implementations the make command does not compile anything. When that is the case it will say “Nothing to build on SCHEME_IMPLEMENTATION_NAME.”

diff --git a/documentation/foreign-c.pdf b/documentation/foreign-c.pdf index b99ec83d84b8a55527c47f5eecb0bcacc7ddd0b7..dada921e886e0c00eea82b1e947c3cc1ee3e5228 100644 GIT binary patch delta 39863 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 G*#85^&FiuN diff --git a/foreign/c.sld b/foreign/c.sld index 444c287..121c725 100644 --- a/foreign/c.sld +++ b/foreign/c.sld @@ -201,7 +201,7 @@ c-bytevector->bytevector ;;;; Utilities - libc + libc-name ;; TODO endianness native-endianness @@ -314,7 +314,7 @@ (gambit (include "c/primitives/gambit.scm")) (gauche (include "c/primitives/gauche/define-c-procedure.scm")) ;(gerbil (include "c/primitives/gerbil.scm")) - (guile (include "c/primitives/guile.scm")) + (guile (include "./c/primitives/guile.scm")) (kawa (include "c/primitives/kawa.scm")) (mit-scheme (include "c/primitives/mit-scheme.scm")) ;(larceny (include "c/primitives/larceny.scm")) diff --git a/foreign/c/libc.scm b/foreign/c/libc.scm index 45cc695..27ec05f 100644 --- a/foreign/c/libc.scm +++ b/foreign/c/libc.scm @@ -1,14 +1,7 @@ (cond-expand (windows - (define-c-library libc - '("stdlib.h" "stdio.h" "string.h") - "ucrtbase" - '())) + (define libc-name "ucrtbase")) (else - (define c-library "c") - (when (get-environment-variable "BE_HOST_CPU") - (set! c-library "root")) - (define-c-library libc - '("stdlib.h" "stdio.h" "string.h") - "c" - '((additional-versions ("0" "6")))))) + (define libc-name + (cond ((get-environment-variable "BE_HOST_CPU") "root") ; Haiku + (else "c"))))) diff --git a/foreign/c/pointer.scm b/foreign/c/pointer.scm index bbb95cc..edbaaaa 100644 --- a/foreign/c/pointer.scm +++ b/foreign/c/pointer.scm @@ -1,3 +1,8 @@ +(define-c-library libc + '("stdlib.h" "stdio.h" "string.h") + libc-name + '((additional-versions ("0" "6")))) + (define-c-procedure c-calloc libc 'calloc 'pointer '(int int)) (cond-expand (gambit diff --git a/tests/hello.scm b/tests/hello.scm index dc3b997..219700c 100644 --- a/tests/hello.scm +++ b/tests/hello.scm @@ -2,6 +2,11 @@ (scheme write) (foreign c)) +(define-c-library libc + '("stdlib.h" "stdio.h" "string.h") + libc-name + '((additional-versions ("0" "6")))) + (define-c-procedure c-puts libc 'puts 'int '(pointer)) (c-puts (string->c-utf8 "Hello from C!")) diff --git a/tests/primitives.scm b/tests/primitives.scm index ea57c5a..dc513bf 100644 --- a/tests/primitives.scm +++ b/tests/primitives.scm @@ -5,6 +5,16 @@ (scheme process-context) (foreign c)) + +(display "libc-name:" ) +(display libc-name) +(newline) + +(define-c-library libc + '("stdlib.h" "stdio.h" "string.h") + libc-name + '((additional-versions ("0" "6")))) + ;; util (define header-count 1)