build for all supported platforms when testing
fixes #4427 License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
Steven Allen committed
Nov 30, 2017 at 22:03 UTC
6917d2f08f5877258f7ca7f26d466b0d473d27ba
3 files changed
+27
-1
cmd/ipfs/Rules.mk
+12
-1
@@ -2,6 +2,7 @@ include mk/header.mk
2
IPFS_BIN_$(d) := $(call go-curr-pkg-tgt)
3
4
TGT_BIN += $(IPFS_BIN_$(d))
5
+TEST += $(d)-try-build
6
CLEAN += $(IPFS_BIN_$(d))
7
8
PATH := $(realpath $(d)):$(PATH)
@@ -14,12 +15,22 @@ PATH := $(realpath $(d)):$(PATH)
15
16
$(d)_flags =-ldflags="-X "github.com/ipfs/go-ipfs/repo/config".CurrentCommit=$(shell git rev-parse --short HEAD)"
17
17
-$(IPFS_BIN_$(d)): GOFLAGS += $(cmd/ipfs_flags)
18
+$(d)-try-build $(IPFS_BIN_$(d)): GOFLAGS += $(cmd/ipfs_flags)
19
20
# uses second expansion to collect all $(DEPS_GO)
21
$(IPFS_BIN_$(d)): $(d) $$(DEPS_GO) ALWAYS #| $(DEPS_OO_$(d))
22
$(go-build)
23
24
+TRY_BUILD_$(d)=$(addprefix $(d)-try-build-,$(SUPPORTED_PLATFORMS))
25
+$(d)-try-build: $(TRY_BUILD_$(d))
26
+.PHONY: $(d)-try-build
27
+
28
+$(TRY_BUILD_$(d)): private PLATFORM = $(subst -, ,$(patsubst $<-try-build-%,%,$@))
29
+$(TRY_BUILD_$(d)): private GOOS = $(word 1,$(PLATFORM))
30
+$(TRY_BUILD_$(d)): private GOARCH = $(word 2,$(PLATFORM))
31
+$(TRY_BUILD_$(d)): $(d) $$(DEPS_GO) ALWAYS
32
+ GOOS=$(GOOS) GOARCH=$(GOARCH) $(go-try-build)
33
+.PHONY: $(TRY_BUILD_$(d))
34
35
$(d)-install: GOFLAGS += $(cmd/ipfs_flags)
36
$(d)-install: $(d) $$(DEPS_GO) ALWAYS
mk/golang.mk
+4
@@ -23,6 +23,10 @@ define go-build
23
$(GOCC) build -i $(go-flags-with-tags) -o "$@" "$(call go-pkg-name,$<)"
24
endef
25
26
+define go-try-build
27
+$(GOCC) build $(go-flags-with-tags) -o /dev/null "$(call go-pkg-name,$<)"
28
+endef
29
+
30
test_go_short: GOTFLAGS += -test.short
31
test_go_short: test_go_expensive
32
.PHONY: test_go_short
mk/util.mk
+11
@@ -9,6 +9,17 @@ else
9
PATH_SEP :=:
10
endif
11
12
+# SUPPORTED_PLATFORM += windows/386 FIXME: #4438 (badger bug)
13
+SUPPORTED_PLATFORMS += windows-amd64
14
+
15
+SUPPORTED_PLATFORMS += linux-arm
16
+SUPPORTED_PLATFORMS += linux-arm64
17
+SUPPORTED_PLATFORMS += linux-386
18
+SUPPORTED_PLATFORMS += linux-amd64
19
+
20
+SUPPORTED_PLATFORMS += darwin-386
21
+SUPPORTED_PLATFORMS += darwin-amd64
22
+
23
space:=
24
space+=
25
comma:=,