[!cgo] skip # Require that CC is something that requires a PATH lookup. # Normally, the default is gcc or clang, but if CC was set during make.bash, # that becomes the default. [!cc:clang] [!cc:gcc] skip 'C compiler is not gcc or clang' env GOCACHE=$WORK/gocache # Looking for compile flags, so need a clean cache. [!GOOS:windows] env PATH=.:$PATH [!GOOS:windows] chmod 0755 p/gcc p/clang [!GOOS:windows] exists -exec p/gcc p/clang [GOOS:windows] exists -exec p/gcc.bat p/clang.bat ! exists p/bug.txt ! go build -x stderr '^cgo: C compiler "(clang|gcc)" not found: exec: "(clang|gcc)": cannot run executable found relative to current directory' ! exists p/bug.txt -- go.mod -- module m -- m.go -- package m import _ "m/p" -- p/p.go -- package p // #define X 1 import "C" -- p/gcc -- #!/bin/sh echo ran gcc >bug.txt -- p/clang -- #!/bin/sh echo ran clang >bug.txt -- p/gcc.bat -- echo ran gcc >bug.txt -- p/clang.bat -- echo ran clang >bug.txt