commit
b2d91f55ec
3 changed files with 46 additions and 1 deletions
27
.circleci/config.yml
Normal file
27
.circleci/config.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
version: 2
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
docker:
|
||||||
|
- image: trzeci/emscripten
|
||||||
|
|
||||||
|
working_directory: ~/repo
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run:
|
||||||
|
name: Native Compile
|
||||||
|
command: make
|
||||||
|
- run:
|
||||||
|
name: Native Tests
|
||||||
|
command: make test
|
||||||
|
- run:
|
||||||
|
name: JS Compile
|
||||||
|
command: make js
|
||||||
|
- run:
|
||||||
|
name: Install JS Deps
|
||||||
|
working_directory: ~/repo/javascript
|
||||||
|
command: npm install
|
||||||
|
- run:
|
||||||
|
name: JS Tests
|
||||||
|
working_directory: ~/repo/javascript
|
||||||
|
command: npm run test
|
2
Makefile
2
Makefile
|
@ -219,7 +219,7 @@ fuzzers: $(FUZZER_BINARIES) $(FUZZER_DEBUG_BINARIES)
|
||||||
.PHONY: fuzzers
|
.PHONY: fuzzers
|
||||||
|
|
||||||
$(JS_EXPORTED_FUNCTIONS): $(PUBLIC_HEADERS)
|
$(JS_EXPORTED_FUNCTIONS): $(PUBLIC_HEADERS)
|
||||||
perl -MJSON -ne '$$f{"_$$1"}=1 if /(olm_[^( ]*)\(/; END { @f=sort keys %f; print encode_json \@f }' $^ > $@.tmp
|
./exports.py $^ > $@.tmp
|
||||||
mv $@.tmp $@
|
mv $@.tmp $@
|
||||||
|
|
||||||
all: test js lib debug doc
|
all: test js lib debug doc
|
||||||
|
|
18
exports.py
Executable file
18
exports.py
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import re
|
||||||
|
import json
|
||||||
|
|
||||||
|
expr = re.compile(r"(olm_[^( ]*)\(")
|
||||||
|
|
||||||
|
exports = set()
|
||||||
|
|
||||||
|
for f in sys.argv[1:]:
|
||||||
|
with open(f) as fp:
|
||||||
|
for line in fp:
|
||||||
|
matches = expr.search(line)
|
||||||
|
if matches is not None:
|
||||||
|
exports.add('_%s' % (matches.group(1),))
|
||||||
|
|
||||||
|
json.dump(sorted(exports), sys.stdout)
|
Loading…
Reference in a new issue