diff --git a/.travis.yml b/.travis.yml index 221639cea..d7989fb2c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,8 +49,6 @@ script: - export CGO_ENABLED=$TRAVIS_CGO_ENABLED - GIT_CHECK_EXCLUDE="./vendor" TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE/.../..}" make dco - make fmt -# FIXME: For non-linux GOOS, without running `go build -i`, vet fails with `vet: import failed: can't find import: fmt`... -# Note that `go build -i` requires write permission to GOROOT. (So it is not called in Makefile) - go build -i . - make setup - make lint diff --git a/Makefile b/Makefile index fac78f134..672c67d2b 100644 --- a/Makefile +++ b/Makefile @@ -45,6 +45,7 @@ GO_TAGS=$(if $(BUILDTAGS),-tags "$(BUILDTAGS)",) GO_LDFLAGS=-ldflags "-X $(PKG)/version.Version=$(VERSION) -X $(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PKG) $(EXTRA_LDFLAGS)" TESTFLAGS_RACE= +GO_GCFLAGS= #Detect the target os include Makefile.OS diff --git a/Makefile.darwin b/Makefile.darwin index 3011704bd..dd9c1ca3a 100644 --- a/Makefile.darwin +++ b/Makefile.darwin @@ -2,6 +2,6 @@ COMMANDS += containerd-shim # amd64 supports go test -race -ifeq ("amd64", $(GOARCH)) +ifeq ($(GOARCH),amd64) TESTFLAGS_RACE= -race endif diff --git a/Makefile.freebsd b/Makefile.freebsd index 4548eb1cd..a0a5ccbcf 100644 --- a/Makefile.freebsd +++ b/Makefile.freebsd @@ -2,6 +2,6 @@ COMMANDS += containerd-shim # amd64 supports go test -race -ifeq ("amd64", $(GOARCH)) +ifeq ($(GOARCH),amd64) TESTFLAGS_RACE= -race endif diff --git a/Makefile.linux b/Makefile.linux index 01b9ceb6c..7f297a912 100644 --- a/Makefile.linux +++ b/Makefile.linux @@ -1,7 +1,12 @@ #linux specific settings COMMANDS += containerd-shim +# check GOOS for cross compile builds +ifeq ($(GOOS),linux) + GO_GCFLAGS= -buildmode=pie +endif + # amd64 supports go test -race -ifeq ("amd64", $(GOARCH)) +ifeq ($(GOARCH),amd64) TESTFLAGS_RACE= -race endif diff --git a/Makefile.windows b/Makefile.windows index d41401211..f22ffeaaa 100644 --- a/Makefile.windows +++ b/Makefile.windows @@ -6,6 +6,6 @@ FIX_PATH = $(subst /,\,$1) BINARY_SUFFIX=".exe" # amd64 supports go test -race -ifeq ("amd64", $(GOARCH)) +ifeq ($(GOARCH),amd64) TESTFLAGS_RACE= -race endif