Chicken and Gambit fixes

This commit is contained in:
retropikzel 2025-07-17 18:23:07 +03:00
parent cb2092c134
commit 9343f86afd
2 changed files with 21 additions and 2 deletions

View File

@ -49,9 +49,15 @@ test-r7rs:
mkdir -p ${R7RSTMP} mkdir -p ${R7RSTMP}
mkdir -p ${R7RSTMP}/libs mkdir -p ${R7RSTMP}/libs
mkdir -p ${R7RSTMP}/libs/foo mkdir -p ${R7RSTMP}/libs/foo
echo "(import (scheme base) (foo bar)) (baz)" > ${R7RSTMP}/main.scm mkdir -p ${R7RSTMP}/libs/hello
echo "(import (scheme base) (foo bar)) (baz) (hello-word) (over-9000)" > ${R7RSTMP}/main.scm
echo "(define baz (lambda () (display \"Test successfull\") (newline)))" > ${R7RSTMP}/libs/foo/bar.scm echo "(define baz (lambda () (display \"Test successfull\") (newline)))" > ${R7RSTMP}/libs/foo/bar.scm
echo "(define-library (foo bar) (import (scheme base) (scheme write)) (export baz) (include \"bar.scm\"))" > ${R7RSTMP}/libs/foo/bar.sld echo "(define-library (foo bar) (import (scheme base) (scheme write) (hello world)) (export baz) (include \"bar.scm\"))" > ${R7RSTMP}/libs/foo/bar.sld
echo "(define hello-world (lambda () (+ 1 1)))" > ${R7RSTMP}/libs/hello/world.scm
echo "(define-library (hello world) (import (scheme base) (scheme write)) (export hello-world) (include \"world.scm\"))" > ${R7RSTMP}/libs/hello/world.sld
mkdir -p ${R7RSTMP}/libs/srfi
echo "(define over-9000 (lambda () (+ 1 1)))" > ${R7RSTMP}/libs/srfi/9001.scm
echo "(define-library (srfi 9001) (import (scheme base) (scheme write)) (export over-9000) (include \"9001.scm\"))" > ${R7RSTMP}/libs/srfi/9001.sld
cd ${R7RSTMP} && COMPILE_R7RS=${SCHEME} compile-r7rs -I ./libs -o main main.scm cd ${R7RSTMP} && COMPILE_R7RS=${SCHEME} compile-r7rs -I ./libs -o main main.scm
-cd ${R7RSTMP} && timeout 60 ./main > compile-r7rs-test-result.txt 2>&1 -cd ${R7RSTMP} && timeout 60 ./main > compile-r7rs-test-result.txt 2>&1
@grep "Test successfull" ${R7RSTMP}/compile-r7rs-test-result.txt || (echo "Test failed, output: " && cat ${R7RSTMP}/compile-r7rs-test-result.txt && exit 1) @grep "Test successfull" ${R7RSTMP}/compile-r7rs-test-result.txt || (echo "Test failed, output: " && cat ${R7RSTMP}/compile-r7rs-test-result.txt && exit 1)

View File

@ -105,6 +105,15 @@
,input-file))))) ,input-file)))))
(cyclone (cyclone
(type . compiler) (type . compiler)
#;(library-command . ,(lambda (library-file prepend-directories append-directories r6rs?)
(apply string-append
`("cyclone"
" "
,(util-getenv "COMPILE_R7RS_CYCLONE")
" "
,@(map (lambda (item) (string-append "-I " item " ")) prepend-directories)
,@(map (lambda (item) (string-append "-A " item " ")) append-directories)
,library-file))))
(command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?) (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
(apply string-append (apply string-append
`("cyclone" `("cyclone"
@ -138,6 +147,10 @@
(type . compiler) (type . compiler)
(library-command . ,(lambda (library-file prepend-directories append-directories r6rs?) (library-command . ,(lambda (library-file prepend-directories append-directories r6rs?)
(apply string-append `("gsc -obj " (apply string-append `("gsc -obj "
,@(map (lambda (item)
(string-append item "/ "))
(append prepend-directories
append-directories))
,(search-library-file (append append-directories ,(search-library-file (append append-directories
prepend-directories) prepend-directories)
library-file))))) library-file)))))