diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2017-12-05 19:27:09 +0200 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2017-12-05 19:27:09 +0200 |
| commit | 7ee6dfc00d26bd41b334386115dd2a58cfd80aab (patch) | |
| tree | fb4d6ae992a7b683d6b938ae205104b1279595d4 /3rdparty/create_gumbo_wrapper.nim | |
| download | nim-gumbo-parser-master.tar.gz nim-gumbo-parser-master.zip | |
Diffstat (limited to '3rdparty/create_gumbo_wrapper.nim')
| -rw-r--r-- | 3rdparty/create_gumbo_wrapper.nim | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/3rdparty/create_gumbo_wrapper.nim b/3rdparty/create_gumbo_wrapper.nim new file mode 100644 index 0000000..86c8b99 --- /dev/null +++ b/3rdparty/create_gumbo_wrapper.nim @@ -0,0 +1,27 @@ +import json +import os +import osproc +import strutils +import sequtils +import pegs + +let gumboHeader = getAppDir() / "gumbo-parser" / "src" / "gumbo.h" +let tmpFile = getAppDir() / "gumbo.nim.tmp" +let outputFile = getAppDir() / "gumbo.nim" + +let dynlibPeg = peg"','\s*'dynlib: DYNLIB'" + +let args = [ + "--skipinclude", + "--skipcomments", + "--dynlib:DYNLIB", + "--out:" & tmpFile, + "--debug", + gumboHeader +] + +echo(execProcess("c2nim", args, nil, {poEchoCmd, poUsePath})) + +transformFile(tmpFile, outputFile, [(pattern: dynlibPeg, repl: "")]) + +removeFile(tmpFile) |
