aboutsummaryrefslogtreecommitdiff
path: root/lang/golang/golang-package.mk
Commit message (Collapse)AuthorAge
* golang: Update for ASLR PIE tristate option changeJeffery To2020-01-15
| | | | | | | | | | | | The ASLR PIE option was changed to a tristate option (openwrt/openwrt@19cbac7d264dfca1f75849de64beb98830fbb1e4). This updates the Go compiler package and golang-package.mk to account for this change. This also adds warning messages for when the user has selected PIE but Go does not have PIE support for the chosen target. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Add support for ASLR/PIE for Go packagesJeffery To2020-01-14
| | | | | | | | | | | | | | | | | This adds support to compile position-independent executables for packages that use golang-package.mk. Go packages will have PIE enabled if: * Go supports PIE on the target platform; * CONFIG_PKG_ASLR_PIE is selected; and * PKG_ASLR_PIE (for the package) is not set to 0 Go 1.13 supports PIE for x86 and arm targets; mips support is in progress[1]. [1]: https://github.com/golang/go/issues/21222#issuecomment-542064462 Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Strip whitespace when using Go package variablesJeffery To2020-01-08
| | | | | | | This adds calls to the strip function in golang-package.mk when using variables expected to be set by Go packages. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Format TARGET_LDFLAGS for gccJeffery To2019-12-29
| | | | | | | go invokes the external linker by calling gcc, so -zxxx options in TARGET_LDFLAGS (in golang-package.mk) need to be formatted as -Wl,z,xxx. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Fix ldflags when GO_PKG_LDFLAGS is setJeffery To2019-12-26
| | | | | | | | | | | | | | | | | go build/install supports multiple -ldflags arguments, but they are not combined; for each package, the latest match on the command line is used.[1] Previously, the main executable would not be affected by the default ldflags if GO_PKG_LDFLAGS or GO_PKG_LDFLAGS_X were set. (The default ldflags instructs go to use the external linker.) This fixes golang-package.mk so that the default ldflags take effect in all cases. [1]: https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Use new -trimpath option when compiling Go packagesJeffery To2019-09-13
| | | | | | | | | | | | | | Go 1.13 added a new -trimpath option to the "go build" command[1] that removes system paths from compiled executables. This replaces the previous -trimpath flags. There are still system paths in the compiled executable (for crti.o and crtn.o, when cross-compiling); these appear to be stripped during the packaging process. [1]: https://golang.org/doc/go1.13#trimpath Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Add the ability to custom build environmentXingwang Liao2019-06-10
| | | | | | by overwrite the GoPackage/Environment definition Signed-off-by: Xingwang Liao <kuoruan@gmail.com>
* golang: Add support for setting gcflags/ldflags from package MakefileJeffery To2019-03-21
| | | | | | | | | | | | | | | | This adds several variables for Go package Makefiles: * GO_PKG_GCFLAGS - go tool compile arguments * GO_PKG_LDFLAGS - go tool link arguments * GO_PKG_LDFLAGS_X - go tool link -X definitions Settings these will add the corresponding flags to the go install command line. (Other command line arguments can still be added by passing them as the first argument to GoPackage/Build/Compile.) This also adds Go's runtime environment variables (GOGC, GOMAXPROCS, GOTRACEBACK) to the unexport list. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Install go.mod/go.sum by defaultJeffery To2019-02-11
| | | | Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Install files with .cpp/.hpp suffixes by defaultJeffery To2019-02-11
| | | | | | This also updates the URL for dh-golang. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Fix handling of filenames with spacesJeffery To2019-02-11
| | | | | | Closes #7127. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: fix package clean / autoremove, add output whitespaceJeffery To2018-12-12
| | | | | | | | | | | | | | | go 1.11 added modules, which are cached locally. The go developers have decided to make this cache read-only (golang/go#27455), which causes problems with package clean / autoremove (#7635). This adds a call to clear this cache right after building, as currently there is no easy way to hook into autoremove (it may be possible to hook into package clean). This also adds whitespace (blank lines) to certain places in make output, to aid debugging. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Update to 1.11.1, add mips64 / mips64el buildsJeffery To2018-10-13
| | | | | | | | | Go 1.11 added softfloat support for 64-bit MIPS systems[1], so this also adds builds for mips64 and mips64el. [1] https://golang.org/doc/go1.11#mips Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: Allow additional arguments when compiling Go packagesJeffery To2018-06-28
| | | | | | | This updates GoPackage/Build/Compile in golang-package.mk to accept additional arguments that are passed to the go command line. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* golang: new packagesJeffery To2018-03-21
From golang.org: The Go programming language is an open source project to make programmers more productive. This commit consists of two "parts": * golang/host: Main Go compiler for host (installed to STAGING_DIR_HOST/lib/go-cross), used to cross-compile Go programs to be packaged. * golang (and golang-src/golang-doc): Main Go compiler for on-target development. These packages are quite large, but I would expect only developers to install these. Signed-off-by: Jeffery To <jeffery.to@gmail.com>