1
0
Fork 0

Debug additions

This commit is contained in:
retropikzel 2025-11-27 09:38:35 +02:00
parent 168d749d6d
commit 320e32d393
4 changed files with 49 additions and 52 deletions

View File

@ -1,26 +1,9 @@
ARG SCHEME=chibi
ARG IMAGE=chibi:head
FROM debian:bookworm AS cache
RUN apt-get update && apt-get install -y gcc make git
WORKDIR /cache
RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1
WORKDIR /cache/chibi-scheme
RUN make
ARG SCHEME=chibi ARG SCHEME=chibi
ARG IMAGE=chibi:head ARG IMAGE=chibi:head
FROM schemers/${IMAGE} FROM schemers/${IMAGE}
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y gauche make
--no-install-recommends \
build-essential libffi-dev unzip php libreadline-dev
COPY --from=cache /cache /cache
WORKDIR /cache/chibi-scheme
RUN make install
WORKDIR /
RUN mkdir -p ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm
RUN snow-chibi install --always-yes "(foreign c)"
RUN snow-chibi install --always-yes "(srfi 170)"
COPY Makefile . COPY Makefile .
COPY libs libs/ COPY libs libs/
COPY compile-r7rs.scm . COPY compile-scheme.scm .
RUN make build-chibi && make install COPY doc doc/
RUN make build-gauche && make install

View File

@ -124,7 +124,7 @@ test-r7rs:
rm -rf ${R7RSTMP} rm -rf ${R7RSTMP}
mkdir -p ${R7RSTMP} mkdir -p ${R7RSTMP}
cp -r r7rs-testfiles/* ${R7RSTMP}/ cp -r r7rs-testfiles/* ${R7RSTMP}/
cd ${R7RSTMP} && COMPILE_R7RS=${SCHEME} compile-scheme -I ./libs main.scm cd ${R7RSTMP} && COMPILE_R7RS=${SCHEME} compile-scheme -I --debug ./libs main.scm
-cd ${R7RSTMP} && ./main 1 2 3 > test-result.txt 2>&1 -cd ${R7RSTMP} && ./main 1 2 3 > test-result.txt 2>&1
@grep "Test successfull (\"1\" \"2\" \"3\")" ${R7RSTMP}/test-result.txt || (echo "Test failed, output: " && cat ${R7RSTMP}/test-result.txt && exit 1) @grep "Test successfull (\"1\" \"2\" \"3\")" ${R7RSTMP}/test-result.txt || (echo "Test failed, output: " && cat ${R7RSTMP}/test-result.txt && exit 1)

View File

@ -216,6 +216,11 @@
(apply (cdr (assoc 'library-command (cdr (assoc scheme data)))) (apply (cdr (assoc 'library-command (cdr (assoc scheme data))))
(list library-file prepend-directories append-directories r6rs?)))) (list library-file prepend-directories append-directories r6rs?))))
(when debug?
(display "[debug] scheme-library-command: ")
(write scheme-library-command)
(newline))
(define list-of-features (define list-of-features
(letrec ((looper (lambda (rest result) (letrec ((looper (lambda (rest result)

View File

@ -190,36 +190,45 @@
" " " "
,args))))) ,args)))))
#;(gambit #;(gambit
(type . compiler) (type . compiler)
(library-command . ,(lambda (library-file prepend-directories append-directories r6rs?) (library-command . ,(lambda (library-file prepend-directories append-directories r6rs?)
`(,(string-append "gsc " `(,(string-append "gsc "
(apply string-append (apply string-append
(map (lambda (item) (map (lambda (item)
(string-append item "/ ")) (string-append item "/ "))
(append prepend-directories (append prepend-directories
append-directories))) append-directories)))
(search-library-file (append append-directories (search-library-file (append append-directories
prepend-directories) prepend-directories)
library-file))))) library-file)))))
(command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?) (command . ,(lambda (exec-cmd
(let ((output-tmp-file (string-append output-file ".tmp"))) script-file
`(,(string-append "echo \"#!/usr/bin/env gsi -:r7rs,search=" args
(apply string-append input-file
(map (lambda (item) output-file
(string-append item "/ ")) prepend-directories
(append prepend-directories append-directories
append-directories))) library-files
"\" > " output-tmp-file) r6rs?
,(string-append "cat " input-file " >> " output-tmp-file) compilation-target)
,(string-append "gsc " (let ((output-tmp-file (string-append output-file ".tmp")))
(apply string-append `(,(string-append "echo \"#!/usr/bin/env gsi -:r7rs,search="
(map (lambda (item) (apply string-append
(string-append item "/ ")) (map (lambda (item)
(append prepend-directories (string-append item "/ "))
append-directories))) (append prepend-directories
" -o " output-file append-directories)))
" -exe -nopreload " "\" > " output-tmp-file)
output-tmp-file)))))) ,(string-append "cat " input-file " >> " output-tmp-file)
,(string-append "gsc "
(apply string-append
(map (lambda (item)
(string-append item "/ "))
(append prepend-directories
append-directories)))
" -o " output-file
" -exe -nopreload "
output-tmp-file))))))
(gauche (gauche
(type . interpreter) (type . interpreter)
(command . ,(lambda (exec-cmd (command . ,(lambda (exec-cmd