Restructuring codebase

This commit is contained in:
retropikzel 2025-11-21 10:22:10 +02:00
parent fdfab9f55e
commit 9449fae27c
4 changed files with 18 additions and 12 deletions

View File

@ -39,11 +39,11 @@ Akku.manifest:
akku install chez-srfi
test-r6rs: libtest.o libtest.so libtest.a Akku.manifest
#if [ "${SCHEME}" = "mosh" ]; then rm -rf Akku.manifest ; rm -rf Akku.lock ; rm -rf .akku ; fi
if [ "${SCHEME}" = "mosh" ]; then rm -rf Akku.manifest ; rm -rf Akku.lock ; rm -rf .akku ; fi
akku install
rm -rf test-r6rs
printf "#!r6rs\n(import (rnrs base) (rnrs control) (rnrs io simple) (rnrs files) (rnrs programs) (foreign c) (srfi :64))\n" > test-r6rs.sps
#printf "#!r6rs\n(import (rnrs base) (rnrs control) (rnrs io simple) (rnrs files) (rnrs programs) (foreign c guile-primitives) (srfi :64))\n" > test-r6rs.sps
#printf "#!r6rs\n(import (rnrs base) (rnrs control) (rnrs io simple) (rnrs files) (rnrs programs) (foreign c chez-primitives) (srfi :64))\n" > test-r6rs.sps
cat test.scm >> test-r6rs.sps
COMPILE_R7RS=${SCHEME} compile-scheme -I .akku/lib -o test-r6rs test-r6rs.sps
./test-r6rs

View File

@ -4,6 +4,7 @@
- Chez => 10.0.0
- R6RS
- Not working yet
- Chibi > 0.11
- R7RS
- At the time only 0.11 is out so build from git
@ -44,7 +45,6 @@
- R7RS
- Racket >= 8.16 [cs]
- R6RS
- Not working yet
- Unable to run tests as Rackets SRFI-64 implementation does not work
- R7RS
- Sagittarius >= 0.9.13
@ -55,7 +55,6 @@
- At the time only 2.10 is out so build from git
- Ypsilon >= 2.08
- R6RS
- Not working yet
- R7RS
## Work in progress implementations

View File

@ -1,6 +1,13 @@
(define-library
(foreign c)
(cond-expand
(guile
(import (scheme base)
(scheme write)
(scheme char)
(scheme file)
(scheme process-context)
(scheme inexact)))
((and r6rs larceny)
(import (rnrs base)
(rnrs lists)
@ -239,13 +246,13 @@
version))
(cadr (assoc 'additional-versions internal-options)))
(list)))
(slash (cond-expand (windows (string #\\)) (else "/")))
(slash (cond-expand (windows (string (string-ref "\\" 0))) (else "/")))
(auto-load-paths
(cond-expand
(windows
(append
(if (get-environment-variable "FOREIGN_C_LOAD_PATH")
(foreign-c:string-split (get-environment-variable "FOREIGN_C_LOAD_PATH") #\;)
(foreign-c:string-split (get-environment-variable "FOREIGN_C_LOAD_PATH") (string-ref ";" 0))
(list))
(if (get-environment-variable "SYSTEM")
(list (get-environment-variable "SYSTEM"))
@ -264,7 +271,7 @@
(list))
(list ".")
(if (get-environment-variable "PATH")
(foreign-c:string-split (get-environment-variable "PATH") #\;)
(foreign-c:string-split (get-environment-variable "PATH") (string-ref ";" 0))
(list))
(if (get-environment-variable "PWD")
(list (get-environment-variable "PWD"))
@ -272,7 +279,7 @@
(else
(append
(if (get-environment-variable "FOREIGN_C_LOAD_PATH")
(foreign-c:string-split (get-environment-variable "FOREIGN_C_LOAD_PATH") #\:)
(foreign-c:string-split (get-environment-variable "FOREIGN_C_LOAD_PATH") (string-ref ":" 0))
(list))
; Guix
(list (if (get-environment-variable "GUIX_ENVIRONMENT")
@ -281,7 +288,7 @@
"/run/current-system/profile/lib")
; Debian
(if (get-environment-variable "LD_LIBRARY_PATH")
(foreign-c:string-split (get-environment-variable "LD_LIBRARY_PATH") #\:)
(foreign-c:string-split (get-environment-variable "LD_LIBRARY_PATH") (string-ref ":" 0))
(list))
(cond-expand
(i386

View File

@ -1,10 +1,10 @@
(test-begin "foreign-c")
(display "Hello")
(newline)
;(display "Hello")
;(newline)
;; c-type-size
#|
;#|
(test-begin "c-type-size")
(test-equal (c-type-size 'int8) 1)