Fixes #14544
Change-Id: I58b0b164ebbfeafe4ab32039a063df53e3018a6d
Reviewed-on: https://go-review.googlesource.com/22730
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Sean Lake <odysseus9672@gmail.com>
FC=$1
+goos=$(go env GOOS)
+
+libext="so"
+if [ "$goos" == "darwin" ]; then
+ libext="dylib"
+fi
+
+case "$FC" in
+*gfortran*)
+ libpath=$(dirname $($FC -print-file-name=libgfortran.$libext))
+ export CGO_LDFLAGS="$CGO_LDFLAGS -Wl,-rpath,$libpath -L $libpath"
+ ;;
+esac
+
if ! $FC helloworld/helloworld.f90 -o main.exe >& /dev/null; then
echo "skipping Fortran test: could not build helloworld.f90 with $FC"
exit 0
fi
rm -f main.exe
+status=0
+
if ! go test; then
echo "FAIL: go test"
status=1
if fortran == "" {
fortran, _ = exec.LookPath("gfortran")
}
- if t.hasBash() && fortran != "" && t.goos != "dragonfly" { // see golang.org/issue/14544
+ if t.hasBash() && fortran != "" {
t.tests = append(t.tests, distTest{
name: "cgo_fortran",
heading: "../misc/cgo/fortran",