summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2012-04-19 00:42:56 +0100
committerMans Rullgard <mans@mansr.com>2012-04-19 02:02:49 +0100
commite73ec9216bbd4d63fa30a51e90eff9169ad4dd17 (patch)
tree25edbdcac06373e5d084073a79a2afd3e488f3ac
parentd8b06521a94550c8352b0e2fe5e55873718fc0c0 (diff)
configure: detect PGI compiler and set suitable flags
Signed-off-by: Mans Rullgard <mans@mansr.com>
-rwxr-xr-xconfigure18
1 files changed, 18 insertions, 0 deletions
diff --git a/configure b/configure
index 2eb885b5af..172e1d6ea9 100755
--- a/configure
+++ b/configure
@@ -2140,6 +2140,24 @@ elif $cc -v 2>&1 | grep -q Open64; then
speed_cflags='-O2'
size_cflags='-Os'
filter_cflags='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros'
+elif $cc -V 2>&1 | grep -q Portland; then
+ cc_type=pgi
+ cc_version='AV_STRINGIFY(__PGIC__.__PGIC_MINOR__.__PGIC_PATCHLEVEL__)'
+ cc_ident="PGI $($cc -V 2>&1 | awk '/^pgcc/ { print $2; exit }')"
+ opt_common='-alias=ansi -Mlre -Mpre'
+ speed_cflags="-O3 -Mautoinline -Munroll=c:4 $opt_common"
+ size_cflags="-O2 -Munroll=c:1 $opt_common"
+ noopt_cflags="-O1"
+ filter_cflags=pgi_flags
+ pgi_flags(){
+ for flag; do
+ case $flag in
+ -fomit-frame-pointer) echo -Mnoframe ;;
+ -g) echo -gopt ;;
+ *) echo $flag ;;
+ esac
+ done
+ }
fi
test -n "$cc_type" && enable $cc_type ||