tinygo/compileopts
Ayke van Laethem 3b0ed63c29 all: refactor compile options
Move most of the logic of determining which compiler configuration to
use (such as GOOS/GOARCH, build tags, whether to include debug symbols,
panic strategy, etc.) into the compileopts package. This makes it a
single source of truth for anything related to compiler configuration.

It has a few advantages:

  * The compile configuration is independent of the compiler package.
    This makes it possible to move optimization passes out of the
    compiler, as they don't rely on compiler.Config anymore.
  * There is only one place to look if an incorrect compile option is
    used.
  * The compileopts provides some resistance against unintentionally
    picking the wrong option, such as with c.selectGC() vs c.GC() in the
    compiler.
  * It is now a lot easier to change compile options, as most options
    are getters now.
2019-11-04 11:45:35 +01:00
..
config.go all: refactor compile options 2019-11-04 11:45:35 +01:00
options.go main: move compile options to compileopts package 2019-11-04 11:45:35 +01:00
target.go main: move target specification into a separate package 2019-11-04 11:45:35 +01:00
target_test.go main: move target specification into a separate package 2019-11-04 11:45:35 +01:00