mirror of https://github.com/tinygo-org/tinygo.git
Tree:
c3032660c9
add-nrfjprog-settings
alpine-static-3
ardnew-usb-common
atsame5x-adc
avr-compiler-rt
avr-gc-precise
aykevl-llvmfix-perf
bdwgc
bitcode-path
block-reading-of-uart-and-usb
boardsimu
build-llvm-image
build-ssa-in-jobs
builder-parallel
builder-real-thinlto
builder-rwmutex
cgo-noescape
cgo-stdint-alias
ch32v003
ci-macos-arm64
cortexm-optimize-HardFault
debug-flag
dependabot/go_modules/golang.org/x/net-0.23.0
dev
device
device-files
dkegel-gc-leaking-noinline
esp32-i2c
espnet
fault-handler
feature/hifive-spi-improvement
file-embed
fix-docker-llvm-build
fix-flash-eraseblock
fix-heap2stack-alignment
fix-samd21-sdi
flash-bounds-api
gc-precise
gen-device-svd
get-default-port
goasm3
i2c-freq-constants
i2c-mimxrt1062
i386-baremetal
improve-msd-flash
interface-type-assert-table
interp-max-depth
interrupts-gba
llvm19
machine-explicit-pins
machine-pinmodes
machinecheck
make-smoketest-faster-make-j
makefile-fix-node-check
mips
nix-buildid
parallel-test
pkgpath-dont-redefine
pr3119
print-all-errors
pybd-sf2
race-debug
race-impossible-stacktrace
readme-update-windows
reflect-AssignableTo
reflect-chan-runtime-mstats
reflect-map-keyflag
release
renesas-repo
revert-1574-floatsat
rp2040-spi-fix-baud
rp2350-add
scheduler-main
serial-none-noop-read
shadowstack
simplify-clang-detect
slog
smoketest-with-go-script
smoketest-with-go-script-org
smoketest-with-go-script-org2
spi-dma
spi-txn-atsamd51
test-new-packages
test-other-architectures
testing-bench-cleanup
tmp-teensy40
tools-svd-parallel
unix-signal
usb-common-samd51-iad
usb-refactor-01-rp2040
vscode
wasip1-no-json
wasm-extension
wasm-js-syscall
wasm-legacy
wasm-malloc-track
wasm-multi-value
wasm-no-malloc
wasm-recover
v0.1
v0.10.0
v0.11.0
v0.12.0
v0.13.0
v0.13.1
v0.14.0
v0.14.1
v0.15.0
v0.16.0
v0.17.0
v0.18.0
v0.19.0
v0.2.0
v0.20.0
v0.21.0
v0.22.0
v0.23.0
v0.24.0
v0.25.0
v0.25.0-beta1
v0.26.0
v0.27.0
v0.28.0
v0.28.1
v0.29.0
v0.3.0
v0.30.0
v0.31.0
v0.31.1
v0.31.2
v0.32.0
v0.33.0
v0.4.0
v0.4.1
v0.5.0
v0.6.0
v0.7.0
v0.7.1
v0.8.0
v0.9.0
${ noResults }
2 Commits (c3032660c9e2e1fd5a188c6ac54902637a77b975)
Author | SHA1 | Message | Date |
---|---|---|---|
Ayke van Laethem | 0afd42c439 |
main: switch to LLVM 10
This commit also adds a bit of version independence, in particular for external commands. It also adds the LLVM version to the `tinygo version` command, which might help while debugging. |
5 years ago |
Ayke van Laethem | 8e6cb89ceb |
main: refactor compile/link part to a builder package
This is a large commit that moves all code directly related to compiling/linking into a new builder package. This has a number of advantages: * It cleanly separates the API between the command line and the full compilation (with a very small API surface). * When the compiler finally compiles one package at a time (instead of everything at once as it does now), something will have to invoke it once per package. This builder package will be the natural place to do that, and also be the place where the whole process can be parallelized. * It allows the TinyGo compiler to be used as a package. A client can simply import the builder package and compile code using it. As part of this refactor, the following additional things changed: * Exported symbols have been made unexported when they weren't needed. * The compilation target has been moved into the compileopts.Options struct. This is done because the target really is just another compiler option, and the API is simplified by moving it in there. * The moveFile function has been duplicated. It does not really belong in the builder API but is used both by the builder and the command line. Moving it into a separate package didn't seem useful either for what is essentially an utility function. * Some doc strings have been improved. Some future changes/refactors I'd like to make after this commit: * Clean up the API between the builder and the compiler package. * Perhaps move the test files (in testdata/) into the builder package. * Perhaps move the loader package into the builder package. |
5 years ago |
Ayke van Laethem |
25cd982263
|
main: optionally build with LLD
When building statically against LLVM, LLD is also included now. When included, the built in wasm-ld will automatically be used instead of the external command. There is also support for linking ELF files but because lld does not fully support armv6m this is not yet enabled (it produces a warning). |
6 years ago |