2016-02-25 00:09:45 -07:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# Copyright 2016 The Go Authors. All rights reserved.
|
|
|
|
# Use of this source code is governed by a BSD-style
|
|
|
|
# license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
# This directory is intended to test the use of Fortran with cgo.
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
FC=$1
|
|
|
|
|
2016-05-03 03:10:26 -06:00
|
|
|
goos=$(go env GOOS)
|
|
|
|
|
|
|
|
libext="so"
|
2017-03-10 10:15:46 -07:00
|
|
|
if [ "$goos" = "darwin" ]; then
|
2016-05-03 03:10:26 -06:00
|
|
|
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
|
|
|
|
|
2016-02-25 00:09:45 -07:00
|
|
|
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
|
2016-02-27 21:25:29 -07:00
|
|
|
rm -f main.exe
|
2016-02-25 00:09:45 -07:00
|
|
|
|
2016-05-03 03:10:26 -06:00
|
|
|
status=0
|
|
|
|
|
2016-02-25 00:09:45 -07:00
|
|
|
if ! go test; then
|
|
|
|
echo "FAIL: go test"
|
|
|
|
status=1
|
|
|
|
fi
|
|
|
|
|
|
|
|
exit $status
|