diff options
| author | Andrey Listopadov <andreyorst@gmail.com> | 2023-08-28 22:13:21 +0300 |
|---|---|---|
| committer | Andrey Listopadov <andreyorst@gmail.com> | 2023-08-28 22:13:21 +0300 |
| commit | ae389b9480d46091bfd9b6843aebdc48aa577c16 (patch) | |
| tree | d484cbde3aa9394b8134d40bd55a5bdaaf9bdb17 /utils/build | |
| parent | 3332e86562d9381c5fcf6a6f5205240f5e9d4f39 (diff) | |
Update fennel-test, and add test runner script
Diffstat (limited to 'utils/build')
| -rw-r--r-- | utils/build | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/utils/build b/utils/build new file mode 100644 index 0000000..4c3c3db --- /dev/null +++ b/utils/build @@ -0,0 +1,17 @@ +(fn spit-lib [path to] + (with-open [lib (io.open path)] + (each [line (lib:lines)] + ;; patching compile-time variable used to store macro module + ;; namr because when loafing the combined file it will always + ;; equal the the main module and will break macros in vendored + ;; libraries. + (case (line:match "%(local lib%-name %(or %.%.%. (.*)") + name (to:write (.. "(local lib-name (or " name "\n")) + _ (to:write line "\n"))))) + +(with-open [cljlib (io.open "./cljlib.fnl" :w)] + (let [main (io.open "src/cljlib.fnl")] + (each [line (main:lines)] + (case (line:match ";;;###include (.*)") + (path) (spit-lib path cljlib) + _ (cljlib:write line "\n"))))) |