@@ -12,7 +12,30 @@ so_module("fmt/csv.so", [file("csv.o"), file("libcsv.o")], Tags is ["standard"])
1212 so_module("fmt/html.so", [file("lexbor.o")], [LEXBOR], Tags is ["standard"])
1313end>:
1414
15- let Html := so_module("fmt/html.so", [file("html.o")], [pkgconfig("--libs gumbo")], Tags is ["standard"])
15+ scope("gumbo";) do
16+ let GUMBO := file("gumbo/src/gumbo.h") => fun() do
17+ file("gumbo"):rmdir:mkdir:chdir
18+ execute("wget -nv https://codeberg.org/grisha/gumbo-parser/archive/0.13.0.tar.gz -O- | tar xvzP --strip-components=1")
19+ end
20+ CFLAGS := old + ["-I", GUMBO:dir]
21+ let Objects := [
22+ file("gumbo/src/attribute.o"),
23+ file("gumbo/src/parser.o"),
24+ file("gumbo/src/tag.o"),
25+ file("gumbo/src/util.o"),
26+ file("gumbo/src/char_ref.o"),
27+ file("gumbo/src/string_buffer.o"),
28+ file("gumbo/src/tokenizer.o"),
29+ file("gumbo/src/vector.o"),
30+ file("gumbo/src/error.o"),
31+ file("gumbo/src/string_piece.o"),
32+ file("gumbo/src/utf8.o")
33+ ]
34+ for Object in Objects do
35+ (Object % "c")[GUMBO] => fun() nil
36+ end
37+ so_module("fmt/html.so", [file("html.o")]:grow(Objects), [], Tags is ["standard"])
38+ end
1639
1740scope("md4c";) do
1841 let MD4C := file("md4c/src/md4c.c") => fun() do
0 commit comments