d57c78bc71
This is how I did it: 1. `git clone https://github.com/ooni/probe-engine internal/engine` 2. ``` (cd internal/engine && git describe --tags) v0.23.0 ``` 3. `nvim go.mod` (merging `go.mod` with `internal/engine/go.mod` 4. `rm -rf internal/.git internal/engine/go.{mod,sum}` 5. `git add internal/engine` 6. `find . -type f -name \*.go -exec sed -i 's@/ooni/probe-engine@/ooni/probe-cli/v3/internal/engine@g' {} \;` 7. `go build ./...` (passes) 8. `go test -race ./...` (temporary failure on RiseupVPN) 9. `go mod tidy` 10. this commit message Once this piece of work is done, we can build a new version of `ooniprobe` that is using `internal/engine` directly. We need to do more work to ensure all the other functionality in `probe-engine` (e.g. making mobile packages) are still WAI. Part of https://github.com/ooni/probe/issues/1335 |
||
---|---|---|
.. | ||
testdata | ||
.gitignore | ||
buildtest.bash | ||
ooniffi_test.go | ||
ooniffi.c | ||
ooniffi.def | ||
ooniffi.go | ||
ooniffi.h | ||
README.md |
Directory github.com/ooni/probe-engine/libooniffi
This directory contains code to generate shared/static libraries with a Measurement Kit compatible ABI. To this end, we wrap the oonimkall API with a simple C API.
The generated libraries have a Measurement Kit compatible ABI. You can also instruct your compiler so that ooniffi.h defines macros that make code written for Measurement Kit compile and work. To this end, please see comments insider ooniffi.h.
To see how we compile this library for several systems, please take a look at libooniffi.yml.
This is not used in any OONI product. We may break something in ooniffi without noticing it. Please, be aware of that.