
Go 1.12 switched to using libSystem.dylib for system calls, because Apple recommends against doing direct system calls that Go 1.11 and earlier did. For more information, see: https://github.com/golang/go/issues/17490 https://developer.apple.com/library/archive/qa/qa1118/_index.html While the old syscall package was relatively easy to support in TinyGo (just implement syscall.Syscall*), this got a whole lot harder with Go 1.12 as all syscalls now go through CGo magic to call the underlying libSystem functions. Therefore, this commit overrides the stdlib syscall package with a custom package that performs calls with libc (libSystem). This may be useful not just for darwin but for other platforms as well that do not place the stable ABI at the syscall boundary like Linux but at the libc boundary. Only a very minimal part of the syscall package has been implemented, to get the tests to pass. More calls can easily be added in the future.
39 строки
1,7 КиБ
YAML
39 строки
1,7 КиБ
YAML
language: go
|
|
|
|
matrix:
|
|
include:
|
|
- os: osx
|
|
go: "1.12"
|
|
env: PATH="/usr/local/opt/llvm/bin:$PATH"
|
|
before_install:
|
|
- mkdir -p /Users/travis/gopath/bin
|
|
|
|
addons:
|
|
homebrew:
|
|
update: true
|
|
packages:
|
|
- llvm@8
|
|
- qemu
|
|
|
|
install:
|
|
- curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
|
- dep ensure --vendor-only
|
|
|
|
script:
|
|
- go install github.com/tinygo-org/tinygo
|
|
- go test -v .
|
|
- make gen-device
|
|
- tinygo build -size short -o blinky1.nrf.elf -target=pca10040 examples/blinky1
|
|
- tinygo build -size short -o blinky2.nrf.elf -target=pca10040 examples/blinky2
|
|
- tinygo build -o blinky2 examples/blinky2 # TODO: re-enable -size flag with MachO support
|
|
- tinygo build -size short -o test.nrf.elf -target=pca10040 examples/test
|
|
- tinygo build -size short -o blinky1.nrf51.elf -target=microbit examples/echo
|
|
- tinygo build -size short -o test.nrf.elf -target=nrf52840-mdk examples/blinky1
|
|
- tinygo build -size short -o blinky1.nrf51d.elf -target=pca10031 examples/blinky1
|
|
- tinygo build -size short -o blinky1.stm32.elf -target=bluepill examples/blinky1
|
|
- tinygo build -size short -o blinky1.reel.elf -target=reelboard examples/blinky1
|
|
- tinygo build -size short -o blinky2.reel.elf -target=reelboard examples/blinky2
|
|
- tinygo build -size short -o blinky1.pca10056.elf -target=pca10056 examples/blinky1
|
|
- tinygo build -size short -o blinky2.pca10056.elf -target=pca10056 examples/blinky2
|
|
- tinygo build -size short -o blinky1.samd21.elf -target=itsybitsy-m0 examples/blinky1
|
|
- tinygo build -o wasm.wasm -target=wasm examples/wasm
|