From 311eefc961904550bb68c2f4898e6ee86f113185 Mon Sep 17 00:00:00 2001 From: retropikzel Date: Wed, 30 Apr 2025 20:34:05 +0300 Subject: [PATCH] Some Kawa fixes --- libs/data.sld | 24 +++++++++++------------- libs/util.sld | 11 ++++++++++- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/libs/data.sld b/libs/data.sld index 216d1c4..dce01dc 100644 --- a/libs/data.sld +++ b/libs/data.sld @@ -187,12 +187,10 @@ ,input-file))))) (gerbil (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 `("gxc" " " - "-O" - " " ,(util-getenv "COMPILE_R7RS_GERBIL") " " ,library-file)))) @@ -202,8 +200,12 @@ " " ,(util-getenv "COMPILE_R7RS_GERBIL") " " + "-prelude \":scheme/r7rs\"" + " " "-exe" " " + "-static" + " " ,@(map (lambda (item) (string-append item "/ ")) prepend-directories) ,@(map (lambda (item) (string-append item "/ ")) append-directories) " " @@ -294,7 +296,7 @@ " " ,(util-getenv "COMPILE_R7RS_KAWA") " " - "-Dkawa.import.path=" + "-Dkawa.import.path=.:" ,@(map (lambda (item) (string-append item "/*.sld:")) (append prepend-directories append-directories)) @@ -378,20 +380,16 @@ (type . interpreter) (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?) (apply string-append - `("MOSH_LOAD_PATH=" - ,@(map (lambda (item) - (string-append item ":")) - prepend-directories) - ,@(map (lambda (item) - (string-append item ":")) - append-directories) + `(;"MOSH_LOAD_PATH=" + ;,@(map (lambda (item) (string-append item ":")) prepend-directories) + ;,@(map (lambda (item) (string-append item ":")) append-directories) " " "mosh" " " ,(util-getenv "COMPILE_R7RS_MOSH") " " - ;,@(map (lambda (item) (string-append "--loadpath=" item " ")) prepend-directories) - ;,@(map (lambda (item) (string-append "--loadpath=" item " ")) append-directories) + ,@(map (lambda (item) (string-append "--loadpath=" item " ")) prepend-directories) + ,@(map (lambda (item) (string-append "--loadpath=" item " ")) append-directories) " " ,input-file))))) (picrin diff --git a/libs/util.sld b/libs/util.sld index e88409f..b3262ab 100644 --- a/libs/util.sld +++ b/libs/util.sld @@ -12,7 +12,8 @@ path->filename change-file-suffix string-join - util-getenv) + util-getenv + dirname) (begin (define util-getenv @@ -21,6 +22,14 @@ (get-environment-variable name) ""))) + (define dirname + (lambda (path) + (letrec ((looper (lambda (dirpath) + (cond ((= (string-length dirpath) 0) dirpath) + ((char=? (string-ref dirpath 0) #\/) (string-copy dirpath 1)) + (else (looper (string-copy dirpath 1))))))) + (string-reverse (looper (string-reverse path)))))) + (define string-replace (lambda (string-content replace with) (string-map (lambda (c)