Skip to content

Commit b1b5f22

Browse files
authored
Merge pull request #118 from ocpmax/wasm-binding
wasm binding skeleton
2 parents 1af194e + f8003fc commit b1b5f22

40 files changed

+413
-96
lines changed

.drom

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# hash of toml configuration files
44
# used for generation of all files
5-
42a6a0e0c25a89f1894856d401f8f02e:.
5+
278dd51e1b58745b985a0d2ef237e412:.
66
# end context for .
77

88
# begin context for .github/workflows/doc-deploy.yml
@@ -32,7 +32,7 @@ ae6a87df5770f4f6a09196ec38906d5a:.gitignore
3232

3333
# begin context for LICENSE.md
3434
# file LICENSE.md
35-
c4286e88f0dca20a879274e23cf2cb8e:LICENSE.md
35+
a6eab40337af2e76a38e4c8d30866c0b:LICENSE.md
3636
# end context for LICENSE.md
3737

3838
# begin context for Makefile
@@ -42,7 +42,7 @@ c4286e88f0dca20a879274e23cf2cb8e:LICENSE.md
4242

4343
# begin context for README.md
4444
# file README.md
45-
5d523350230459e853bc57803b729e29:README.md
45+
1ff0ab35f115b004da7c51828b5d92af:README.md
4646
# end context for README.md
4747

4848
# begin context for docs/README.txt
@@ -62,7 +62,7 @@ e739f3026aa997af4026bc428f4c9ef6:docs/favicon.png
6262

6363
# begin context for docs/index.html
6464
# file docs/index.html
65-
b9a0f9e7e370fe84b6e7d3e90ceb9ba4:docs/index.html
65+
ed28d2e07e40a7874cbc18bbc06f1e2d:docs/index.html
6666
# end context for docs/index.html
6767

6868
# begin context for docs/sphinx/index.html
@@ -82,17 +82,17 @@ c8281f46ba9a11d0b61bc8ef67eaa357:docs/style.css
8282

8383
# begin context for drom.opam
8484
# file drom.opam
85-
29806d41b658c1110972b0b1f7576022:drom.opam
85+
d5855df69929294839ca6f0728f52c27:drom.opam
8686
# end context for drom.opam
8787

8888
# begin context for drom.toml
8989
# file drom.toml
90-
a1640359a014ab959a9798639997a921:drom.toml
90+
179c8354c2b44c8de53a607146742626:drom.toml
9191
# end context for drom.toml
9292

9393
# begin context for drom_lib.opam
9494
# file drom_lib.opam
95-
c11460be4cb80485ad3772b5301c6941:drom_lib.opam
95+
7b5671645f7a7334a5cb8c2b75aa1d9a:drom_lib.opam
9696
# end context for drom_lib.opam
9797

9898
# begin context for dune
@@ -102,7 +102,7 @@ c11460be4cb80485ad3772b5301c6941:drom_lib.opam
102102

103103
# begin context for dune-project
104104
# file dune-project
105-
a202354a3c0a360d9279fff87a67922d:dune-project
105+
70849131d65433a9c6ba0c1ea930197b:dune-project
106106
# end context for dune-project
107107

108108
# begin context for scripts/after.sh
@@ -147,7 +147,7 @@ dc4cee7810778bedcd7b9bfa95338ac4:sphinx/conf.py
147147

148148
# begin context for sphinx/license.rst
149149
# file sphinx/license.rst
150-
bba8067487813e5ef74a6ecfecfc7ac9:sphinx/license.rst
150+
6f8d8b2e533aaf4e245bb45f36589235:sphinx/license.rst
151151
# end context for sphinx/license.rst
152152

153153
# begin context for src/drom/dune
@@ -157,17 +157,17 @@ b2467739c3fd8542338ce53133b3fefd:src/drom/dune
157157

158158
# begin context for src/drom/index.mld
159159
# file src/drom/index.mld
160-
2818d15f527a37c2cfafe85ef89f675b:src/drom/index.mld
160+
155ff396ec5ab6ff5deb5f290c25634e:src/drom/index.mld
161161
# end context for src/drom/index.mld
162162

163163
# begin context for src/drom/main.ml
164164
# file src/drom/main.ml
165-
13a81bf0db841e7d20b3ef4a846e91bc:src/drom/main.ml
165+
46f55db0ab1ffc429e105af60218f0c8:src/drom/main.ml
166166
# end context for src/drom/main.ml
167167

168168
# begin context for src/drom/package.toml
169169
# file src/drom/package.toml
170-
74b32a0ebe66d431cd5a1a75e52c8093:src/drom/package.toml
170+
0df6a7d101efd463b801a3c71f967ed2:src/drom/package.toml
171171
# end context for src/drom/package.toml
172172

173173
# begin context for src/drom_lib/dune
@@ -177,17 +177,17 @@ b2467739c3fd8542338ce53133b3fefd:src/drom/dune
177177

178178
# begin context for src/drom_lib/index.mld
179179
# file src/drom_lib/index.mld
180-
3e03ec5e98f99c1d5b09dd366177ad13:src/drom_lib/index.mld
180+
410f9035731da781d0c50b063d81f834:src/drom_lib/index.mld
181181
# end context for src/drom_lib/index.mld
182182

183183
# begin context for src/drom_lib/package.toml
184184
# file src/drom_lib/package.toml
185-
393ea67e568f7326e7be36ee21a9aafc:src/drom_lib/package.toml
185+
44e05f9ed47a68f1c619629becf277d5:src/drom_lib/package.toml
186186
# end context for src/drom_lib/package.toml
187187

188188
# begin context for src/drom_lib/version.mlt
189189
# file src/drom_lib/version.mlt
190-
e2b5cde78b7715f604ce360b478884e2:src/drom_lib/version.mlt
190+
1e501a85255c8330e7be2911d58f03d8:src/drom_lib/version.mlt
191191
# end context for src/drom_lib/version.mlt
192192

193193
# begin context for test/expect-tests/dune

LICENSE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2021 OCamlPro SAS & Origin Labs SAS
1+
Copyright (c) 2020-2021 OCamlPro SAS & Origin Labs SAS
22

33
This software is distributed under the terms of the
44
GNU Lesser General Public License (LGPL) version 2.1 (included below).
@@ -170,7 +170,7 @@ If you develop a new library, and you want it to be of the greatest possible use
170170
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
171171

172172
one line to give the library's name and an idea of what it does.
173-
Copyright (C) year name of author
173+
Copyright (C) years name of author
174174

175175
This library is free software; you can redistribute it and/or
176176
modify it under the terms of the GNU Lesser General Public

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
# drom
66

7+
78
The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
89
user experience. It can be used to create full OCaml projects with
910
sphinx and odoc documentation. It has specific knowledge of Github and

docs/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
<div class="content">
1111
<div class="header">
1212
<h1>drom</h1>
13-
<p>The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
13+
<p>
14+
The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
1415
user experience. It can be used to create full OCaml projects with
1516
sphinx and odoc documentation. It has specific knowledge of Github and
1617
will generate files for Github Actions CI and Github pages.

drom.opam

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
# Do not modify, or add to the `skip` field of `drom.toml`.
33
opam-version: "2.0"
44
name: "drom"
5-
version: "0.2.2"
5+
version: "0.3.0"
66
license: "LGPL-2.1-only with OCaml-LGPL-linking-exception"
77
synopsis:
88
"The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience"
9-
description: """\
9+
description: """
10+
1011
The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
1112
user experience. It can be used to create full OCaml projects with
1213
sphinx and odoc documentation. It has specific knowledge of Github and

drom.toml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ license = "LGPL2"
1111
min-edition = "4.07.0"
1212
name = "drom"
1313
synopsis = "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience"
14-
version = "0.2.2"
14+
year = 2020
15+
version = "0.3.0"
1516

1617
# keys that you could also define:
1718
# odoc-target = "...odoc-target..."
@@ -24,8 +25,7 @@ version = "0.2.2"
2425
# homepage = "...homepage..."
2526

2627
[project]
27-
description = """
28-
The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
28+
description = """\nThe drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
2929
user experience. It can be used to create full OCaml projects with
3030
sphinx and odoc documentation. It has specific knowledge of Github and
3131
will generate files for Github Actions CI and Github pages.
@@ -69,18 +69,12 @@ ocaml-flags = "-w -a"
6969

7070
# project-wide fields (depends on project skeleton)
7171
[fields]
72-
dot-gitattributes-trailer = """
73-
share/drom/skeletons/projects/virtual/scripts/before*.sh text=lf
74-
share/drom/skeletons/projects/virtual/scripts/after*.sh text=lf
75-
"""
76-
72+
# ...
7773

7874
[[package]]
7975
dir = "src/drom"
8076
# edit 'src/drom/package.toml' for package-specific options
8177

82-
8378
[[package]]
8479
dir = "src/drom_lib"
8580
# edit 'src/drom_lib/package.toml' for package-specific options
86-

drom_lib.opam

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
# Do not modify, or add to the `skip` field of `drom.toml`.
33
opam-version: "2.0"
44
name: "drom_lib"
5-
version: "0.2.2"
5+
version: "0.3.0"
66
license: "LGPL-2.1-only with OCaml-LGPL-linking-exception"
77
synopsis:
88
"The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience"
9-
description: """\
9+
description: """
10+
1011
The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
1112
user experience. It can be used to create full OCaml projects with
1213
sphinx and odoc documentation. It has specific knowledge of Github and

dune

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,28 @@
202202
as "skeletons/packages/vue_library/templates/dune_")
203203
( "share/drom/skeletons/packages/vue_library/templates/hello.html"
204204
as "skeletons/packages/vue_library/templates/hello.html")
205+
( "share/drom/skeletons/packages/wasm_binding/build_wasm.sh"
206+
as "skeletons/packages/wasm_binding/build_wasm.sh")
207+
( "share/drom/skeletons/packages/wasm_binding/dune_"
208+
as "skeletons/packages/wasm_binding/dune_")
209+
( "share/drom/skeletons/packages/wasm_binding/index.mld"
210+
as "skeletons/packages/wasm_binding/index.mld")
211+
( "share/drom/skeletons/packages/wasm_binding/main.c"
212+
as "skeletons/packages/wasm_binding/main.c")
213+
( "share/drom/skeletons/packages/wasm_binding/main.h"
214+
as "skeletons/packages/wasm_binding/main.h")
215+
( "share/drom/skeletons/packages/wasm_binding/main.ml"
216+
as "skeletons/packages/wasm_binding/main.ml")
217+
( "share/drom/skeletons/packages/wasm_binding/package.toml"
218+
as "skeletons/packages/wasm_binding/package.toml")
219+
( "share/drom/skeletons/packages/wasm_binding/skeleton.toml"
220+
as "skeletons/packages/wasm_binding/skeleton.toml")
221+
( "share/drom/skeletons/packages/wasm_binding/stubs.c"
222+
as "skeletons/packages/wasm_binding/stubs.c")
223+
( "share/drom/skeletons/packages/wasm_binding/stubs.js"
224+
as "skeletons/packages/wasm_binding/stubs.js")
225+
( "share/drom/skeletons/packages/wasm_binding/wasm_utils.js"
226+
as "skeletons/packages/wasm_binding/wasm_utils.js")
205227
( "share/drom/skeletons/projects/c_binding/drom.toml"
206228
as "skeletons/projects/c_binding/drom.toml")
207229
( "share/drom/skeletons/projects/c_binding/skeleton.toml"
@@ -332,6 +354,10 @@
332354
as "skeletons/projects/vue/index.html")
333355
( "share/drom/skeletons/projects/vue/skeleton.toml"
334356
as "skeletons/projects/vue/skeleton.toml")
357+
( "share/drom/skeletons/projects/wasm_binding/drom.toml"
358+
as "skeletons/projects/wasm_binding/drom.toml")
359+
( "share/drom/skeletons/projects/wasm_binding/skeleton.toml"
360+
as "skeletons/projects/wasm_binding/skeleton.toml")
335361
)
336362
(section share)
337363
(package drom))

dune-project

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
(name drom)
44
(allow_approximate_merlin)
55
(generate_opam_files false)
6-
(version 0.2.2)
6+
(version 0.3.0)
77
(formatting (enabled_for ocaml reason))
88

99
(package
1010
(name drom)
1111
(synopsis "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience")
12-
(description "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like\nuser experience. It can be used to create full OCaml projects with\nsphinx and odoc documentation. It has specific knowledge of Github and\nwill generate files for Github Actions CI and Github pages.\n")
12+
(description "\nThe drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like\nuser experience. It can be used to create full OCaml projects with\nsphinx and odoc documentation. It has specific knowledge of Github and\nwill generate files for Github Actions CI and Github pages.\n")
1313
(depends
1414
(ocaml (>= 4.07.0))
1515
(drom_lib (= version))
@@ -22,7 +22,7 @@
2222
(package
2323
(name drom_lib)
2424
(synopsis "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience")
25-
(description "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like\nuser experience. It can be used to create full OCaml projects with\nsphinx and odoc documentation. It has specific knowledge of Github and\nwill generate files for Github Actions CI and Github pages.\n")
25+
(description "\nThe drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like\nuser experience. It can be used to create full OCaml projects with\nsphinx and odoc documentation. It has specific knowledge of Github and\nwill generate files for Github Actions CI and Github pages.\n")
2626
(depends
2727
(ocaml (>= 4.07.0))
2828
(toml (and (>= 6.0.0) (< 7.0.0)))

share/drom/licenses/GPL3.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ state the exclusion of warranty; and each file should have at least
642642
the "copyright" line and a pointer to where the full notice is found.
643643
644644
<one line to give the program's name and a brief idea of what it does.>
645-
Copyright (C) <year> <name of author>
645+
Copyright (C) <years> <name of author>
646646
647647
This program is free software: you can redistribute it and/or modify
648648
it under the terms of the GNU General Public License as published by
@@ -662,7 +662,7 @@ Also add information on how to contact you by electronic and paper mail.
662662
If the program does terminal interaction, make it output a short
663663
notice like this when it starts in an interactive mode:
664664
665-
<program> Copyright (C) <year> <name of author>
665+
<program> Copyright (C) <years> <name of author>
666666
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
667667
This is free software, and you are welcome to redistribute it
668668
under certain conditions; type `show c' for details.

0 commit comments

Comments
 (0)