Make chicken build dynamic

This commit is contained in:
retropikzel 2025-07-06 12:51:13 +03:00
parent a74b547711
commit fde563496f
1 changed files with 10 additions and 35 deletions

View File

@ -51,16 +51,8 @@
(out (string-append (if (string-starts-with? library-file "srfi") (out (string-append (if (string-starts-with? library-file "srfi")
(string-replace (string-cut-from-end library-file 4) #\/ #\-) (string-replace (string-cut-from-end library-file 4) #\/ #\-)
(string-replace (string-cut-from-end library-file 4) #\/ #\.)) (string-replace (string-cut-from-end library-file 4) #\/ #\.))
".o")) ".so")))
(static-out (string-append (if (string-starts-with? library-file "srfi") (apply string-append `("csc -R r7rs -X r7rs -s -J"
(string-replace (string-cut-from-end library-file 4) #\/ #\-)
(string-replace (string-cut-from-end library-file 4) #\/ #\.))
".a")))
(apply string-append `("csc -R r7rs -X r7rs -static -c -J"
" "
"-unit"
" "
,unit
" " " "
"-o" "-o"
" " " "
@ -68,18 +60,9 @@
" " " "
,(util-getenv "COMPILE_R7RS_CHICKEN") ,(util-getenv "COMPILE_R7RS_CHICKEN")
" " " "
,(search-library-file (append prepend-directories append-directories) library-file) ,(search-library-file (append prepend-directories append-directories) library-file))))))
" "
"&&"
" "
"ar rcs"
" "
,static-out
" "
,out
" ")))))
(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 `("csc -R r7rs -X r7rs -static" (apply string-append `("csc -R r7rs -X r7rs"
" " " "
,(util-getenv "COMPILE_R7RS_CHICKEN") ,(util-getenv "COMPILE_R7RS_CHICKEN")
" " " "
@ -87,14 +70,6 @@
(string-append "-I " item " ")) (string-append "-I " item " "))
(append append-directories prepend-directories)) (append append-directories prepend-directories))
" " " "
,@(map (lambda (library-file)
(string-append "-uses "
(if (string-starts-with? library-file "srfi")
(string-replace (string-cut-from-end library-file 4) #\/ #\-)
(string-replace (string-cut-from-end library-file 4) #\/ #\.))
" "))
library-files)
" "
"-output-file" "-output-file"
" " " "
,output-file ,output-file
@ -422,17 +397,17 @@
(type . interpreter) (type . interpreter)
(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
`(;"MOSH_LOAD_PATH=" `("MOSH_LOAD_PATH="
;,@(map (lambda (item) (string-append item ":")) prepend-directories) ,@(map (lambda (item) (string-append item ":")) prepend-directories)
;,@(map (lambda (item) (string-append item ":")) append-directories) ,@(map (lambda (item) (string-append item ":")) append-directories)
" " " "
"mosh" "mosh"
" " " "
,(util-getenv "COMPILE_R7RS_MOSH") ,(util-getenv "COMPILE_R7RS_MOSH")
" " " "
,@(map (lambda (item) (string-append "--loadpath=" item " ")) ;,@(map (lambda (item) (string-append "--loadpath=" item " "))
(append append-directories prepend-directories)) ;(append append-directories prepend-directories))
" " ;" "
,input-file))))) ,input-file)))))
(picrin (picrin
(type . interpreter) (type . interpreter)