Skip to content

Commit

Permalink
Build top-level SRFI shim modules (#829)
Browse files Browse the repository at this point in the history
* Build top-level SRFI shim modules

Closes #596

* srfi cpackages: 146, 159, 160
  • Loading branch information
vyzo authored Sep 13, 2023
1 parent 742158f commit 6c17ace
Show file tree
Hide file tree
Showing 63 changed files with 160 additions and 1 deletion.
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ jobs:
run: |
. ./build-env.sh
./src/build.sh r7rs-large
- name: Build Gerbil srfi shims
run: |
. ./build-env.sh
./src/build.sh srfi
- name: Build Gerbil tools
run: |
. ./build-env.sh
Expand Down
11 changes: 10 additions & 1 deletion src/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,11 @@ build_r7rs_large() {
(cd r7rs-large && ./build.ss)
}

build_srfi() {
feedback_low "Building SRFI shims"
(cd srfi && ./build.ss)
}

build_tools () {
feedback_low "Building gerbil tools"
(cd tools && ./build.ss)
Expand Down Expand Up @@ -253,6 +258,7 @@ build_gerbil() {
build_libgerbil || die
build_lang || die
build_r7rs_large || die
build_srfi || die
build_tools || die
build_tags || die
}
Expand Down Expand Up @@ -289,6 +295,9 @@ else
"r7rs-large")
build_r7rs_large || die
;;
"srfi")
build_srfi || die
;;
"tools")
build_tools || die
;;
Expand All @@ -301,7 +310,7 @@ else
*)
feedback_err "Unknown command."
feedback_err \
"Correct usage: ./build.sh [prepare|gambit|boot-gxi|stage0|stage1|stdlib|libgerbil|lang|r7rs-large|tools|tags]"
"Correct usage: ./build.sh [prepare|gambit|boot-gxi|stage0|stage1|stdlib|libgerbil|lang|r7rs-large|srfi|tools|tags]"
die
;;
esac
Expand Down
2 changes: 2 additions & 0 deletions src/srfi/1.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/1) (export (import: :std/srfi/1))

2 changes: 2 additions & 0 deletions src/srfi/101.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/101) (export (import: :std/srfi/101))

2 changes: 2 additions & 0 deletions src/srfi/113.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/113) (export (import: :std/srfi/113))

2 changes: 2 additions & 0 deletions src/srfi/115.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/115) (export (import: :std/srfi/115))

2 changes: 2 additions & 0 deletions src/srfi/116.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/116) (export (import: :std/srfi/116))

2 changes: 2 additions & 0 deletions src/srfi/117.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/117) (export (import: :std/srfi/117))

2 changes: 2 additions & 0 deletions src/srfi/121.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/121) (export (import: :std/srfi/121))

2 changes: 2 additions & 0 deletions src/srfi/124.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/124) (export (import: :std/srfi/124))

2 changes: 2 additions & 0 deletions src/srfi/127.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/127) (export (import: :std/srfi/127))

2 changes: 2 additions & 0 deletions src/srfi/128.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/128) (export (import: :std/srfi/128))

2 changes: 2 additions & 0 deletions src/srfi/13.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/13) (export (import: :std/srfi/13))

2 changes: 2 additions & 0 deletions src/srfi/130.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/130) (export (import: :std/srfi/130))

2 changes: 2 additions & 0 deletions src/srfi/132.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/132) (export (import: :std/srfi/132))

2 changes: 2 additions & 0 deletions src/srfi/133.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/133) (export (import: :std/srfi/133))

2 changes: 2 additions & 0 deletions src/srfi/134.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/134) (export (import: :std/srfi/134))

2 changes: 2 additions & 0 deletions src/srfi/135.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/135) (export (import: :std/srfi/135))

2 changes: 2 additions & 0 deletions src/srfi/14.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/14) (export (import: :std/srfi/14))

2 changes: 2 additions & 0 deletions src/srfi/141.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/141) (export (import: :std/srfi/141))

2 changes: 2 additions & 0 deletions src/srfi/143.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/143) (export (import: :std/srfi/143))

2 changes: 2 additions & 0 deletions src/srfi/144.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/144) (export (import: :std/srfi/144))

2 changes: 2 additions & 0 deletions src/srfi/145.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/145) (export (import: :std/srfi/145))

2 changes: 2 additions & 0 deletions src/srfi/146.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/146) (export (import: :std/srfi/146))

1 change: 1 addition & 0 deletions src/srfi/146/hamt-map.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/146/hamt-map) (export (import: :std/srfi/146/hamt-map))
1 change: 1 addition & 0 deletions src/srfi/146/hamt-misc.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/146/hamt-misc) (export (import: :std/srfi/146/hamt-misc))
1 change: 1 addition & 0 deletions src/srfi/146/hamt.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/146/hamt) (export (import: :std/srfi/146/hamt))
1 change: 1 addition & 0 deletions src/srfi/146/hash.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/146/hash) (export (import: :std/srfi/146/hash))
1 change: 1 addition & 0 deletions src/srfi/146/vector-edit.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/146/vector-edit) (export (import: :std/srfi/146/vector-edit))
2 changes: 2 additions & 0 deletions src/srfi/151.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/151) (export (import: :std/srfi/151))

2 changes: 2 additions & 0 deletions src/srfi/158.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/158) (export (import: :std/srfi/158))

2 changes: 2 additions & 0 deletions src/srfi/159.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/159) (export (import: :std/srfi/159))

1 change: 1 addition & 0 deletions src/srfi/159/base.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/base) (export (import: :std/srfi/159/base))
1 change: 1 addition & 0 deletions src/srfi/159/color.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/color) (export (import: :std/srfi/159/color))
1 change: 1 addition & 0 deletions src/srfi/159/columnar.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/columnar) (export (import: :std/srfi/159/columnar))
1 change: 1 addition & 0 deletions src/srfi/159/environment.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/environment) (export (import: :std/srfi/159/environment))
1 change: 1 addition & 0 deletions src/srfi/159/pretty.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/pretty) (export (import: :std/srfi/159/pretty))
1 change: 1 addition & 0 deletions src/srfi/159/show.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/show) (export (import: :std/srfi/159/show))
1 change: 1 addition & 0 deletions src/srfi/159/string.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/string) (export (import: :std/srfi/159/string))
1 change: 1 addition & 0 deletions src/srfi/159/unicode.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/159/unicode) (export (import: :std/srfi/159/unicode))
1 change: 1 addition & 0 deletions src/srfi/160/base.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/base) (export (import: :std/srfi/160/base))
1 change: 1 addition & 0 deletions src/srfi/160/c128.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/c128) (export (import: :std/srfi/160/c128))
1 change: 1 addition & 0 deletions src/srfi/160/c64.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/c64) (export (import: :std/srfi/160/c64))
1 change: 1 addition & 0 deletions src/srfi/160/f32.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/f32) (export (import: :std/srfi/160/f32))
1 change: 1 addition & 0 deletions src/srfi/160/f64.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/f64) (export (import: :std/srfi/160/f64))
1 change: 1 addition & 0 deletions src/srfi/160/s16.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/s16) (export (import: :std/srfi/160/s16))
1 change: 1 addition & 0 deletions src/srfi/160/s32.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/s32) (export (import: :std/srfi/160/s32))
1 change: 1 addition & 0 deletions src/srfi/160/s64.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/s64) (export (import: :std/srfi/160/s64))
1 change: 1 addition & 0 deletions src/srfi/160/s8.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/s8) (export (import: :std/srfi/160/s8))
1 change: 1 addition & 0 deletions src/srfi/160/u16.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/u16) (export (import: :std/srfi/160/u16))
1 change: 1 addition & 0 deletions src/srfi/160/u32.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/u32) (export (import: :std/srfi/160/u32))
1 change: 1 addition & 0 deletions src/srfi/160/u64.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/u64) (export (import: :std/srfi/160/u64))
1 change: 1 addition & 0 deletions src/srfi/160/u8.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(import :std/srfi/160/u8) (export (import: :std/srfi/160/u8))
2 changes: 2 additions & 0 deletions src/srfi/19.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/19) (export (import: :std/srfi/19))

2 changes: 2 additions & 0 deletions src/srfi/41.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/41) (export (import: :std/srfi/41))

2 changes: 2 additions & 0 deletions src/srfi/42.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/42) (export (import: :std/srfi/42))

2 changes: 2 additions & 0 deletions src/srfi/43.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/43) (export (import: :std/srfi/43))

2 changes: 2 additions & 0 deletions src/srfi/78.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/78) (export (import: :std/srfi/78))

2 changes: 2 additions & 0 deletions src/srfi/8.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/8) (export (import: :std/srfi/8))

2 changes: 2 additions & 0 deletions src/srfi/9.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/9) (export (import: :std/srfi/9))

2 changes: 2 additions & 0 deletions src/srfi/95.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(import :std/srfi/95) (export (import: :std/srfi/95))

53 changes: 53 additions & 0 deletions src/srfi/build.ss
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env gxi
;; -*- Gerbil -*-
(import :std/build-script)

(def (srfi-package prefix)
(lambda (sym)
(string-append prefix (symbol->string sym))))

(defbuild-script
(append
(map number->string
'(1
8
9
13
14
19
41
42
43
78
95
101
113
115
116
117
121
124
127
128
130
132
133
134
135
141
143
144
145
146
151
158
159))
(map (srfi-package "146/")
'(hamt hamt-map hamt-misc hash vector-edit))
(map (srfi-package "159/")
'(base color columnar environment pretty show string unicode))
(map (srfi-package "160/")
'(base c128 c64 f32 f64 s16 s32 s64 s8 u16 u32 u64 u8)))
libdir: (path-expand "lib" (getenv "GERBIL_BUILD_PREFIX" (gerbil-home)))
bindir: (path-expand "bin" (getenv "GERBIL_BUILD_PREFIX" (gerbil-home)))
debug: #f)
1 change: 1 addition & 0 deletions src/srfi/gerbil.pkg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(package: srfi)

0 comments on commit 6c17ace

Please sign in to comment.