diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-01-24 11:28:55 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-01-24 11:28:55 +0100 |
| commit | fa3d6b0b21cfd27db2381afedc5da7a69d587191 (patch) | |
| tree | 8a0974228d8f8664fe7d8d6942b504afb3a6050d | |
| parent | f4e42cabb707a984e6b6e5589653e11cfd2856aa (diff) | |
Makefile: don't cross-compile executor if cross-compiler is missing
We started building netbsd executor on linux.
This fails on CI since cross-compiler is missing.
But we don't want to exclude netbsd from presubmit entirely.
So check if cross-compiler is missing and just produce a warning.
This should unbreak CI and humans will see the warning.
| -rw-r--r-- | Makefile | 16 | ||||
| -rw-r--r-- | tools/syz-env/env.go | 7 |
2 files changed, 18 insertions, 5 deletions
@@ -110,14 +110,20 @@ target: # executor uses stacks of limited size, so no jumbo frames. executor: -ifeq ($(BUILDOS),$(NATIVEBUILDOS)) - mkdir -p ./bin/$(TARGETOS)_$(TARGETARCH) - $(CC) -o ./bin/$(TARGETOS)_$(TARGETARCH)/syz-executor$(EXE) executor/executor.cc \ - $(ADDCFLAGS) $(CFLAGS) -DGOOS_$(TARGETOS)=1 -DGOARCH_$(TARGETARCH)=1 -DGIT_REVISION=\"$(REV)\" -else +ifneq ("$(BUILDOS)", "$(NATIVEBUILDOS)") $(info ************************************************************************************) $(info Building executor for ${TARGETOS} is not supported on ${BUILDOS}. Executor will not be built.) $(info ************************************************************************************) +else +ifneq ("$(NO_CROSS_COMPILER)", "") + $(info ************************************************************************************) + $(info Native cross-compiler $(CC) is missing. Executor will not be built.) + $(info ************************************************************************************) +else + mkdir -p ./bin/$(TARGETOS)_$(TARGETARCH) + $(CC) -o ./bin/$(TARGETOS)_$(TARGETARCH)/syz-executor$(EXE) executor/executor.cc \ + $(ADDCFLAGS) $(CFLAGS) -DGOOS_$(TARGETOS)=1 -DGOARCH_$(TARGETARCH)=1 -DGIT_REVISION=\"$(REV)\" +endif endif manager: diff --git a/tools/syz-env/env.go b/tools/syz-env/env.go index a5fc4fbb1..cae88c5a9 100644 --- a/tools/syz-env/env.go +++ b/tools/syz-env/env.go @@ -6,6 +6,7 @@ package main import ( "fmt" "os" + "os/exec" "runtime" "strconv" "strings" @@ -40,6 +41,12 @@ func main() { {"ADDCFLAGS", strings.Join(target.CrossCFlags, " ")}, {"NCORES", strconv.Itoa(runtime.NumCPU())}, {"EXE", target.ExeExtension}, + {"NATIVEBUILDOS", target.BuildOS}, + } + if targetOS != runtime.GOOS { + if _, err := exec.LookPath(target.CCompiler); err != nil { + vars = append(vars, Var{"NO_CROSS_COMPILER", "yes"}) + } } for _, v := range vars { fmt.Printf("export %v=%v\\n", v.Name, v.Val) |
