Skip to content

Latest commit

 

History

History
71 lines (47 loc) · 1.86 KB

embedded.md

File metadata and controls

71 lines (47 loc) · 1.86 KB

Embedded Rules

Summary: Basic tests pass and basic engine functionality verified; not extensively tested.

Raspberry Pi

Status: Core tests pass; basic engine functionality verified.

We've used unofficial Go tarballs from Dave Cheney.

The executable built with go build is about 15MB. Doing

go build --ldflags '-s'

gives a 10MB executable.

Then doing

sudo apt-get install upx
go get github.com/pwaller/goupx/
goupx ./rulesys

gives a 2.8MB executable.

Android

Status: Basic engine functionality verified.

We used the semi-official github.com/golang/mobile. In particular, we used its libhello approach.

In order to avoid clumsy, tricky native calls, we just used TCP on the loopback interface. Perhaps we can instead use UNIX domain sockets, which Android appears to support, to bypass the network stack. Or we would wrap a native Android API around the Go API. That approach is also supported by github.com/golang/mobile.