diff --git a/f_check b/f_check index 1501a4986e..00f2b06aea 100755 --- a/f_check +++ b/f_check @@ -76,6 +76,9 @@ else if [ -z "$data" ]; then data=`$compiler -O2 -S ftest.f > /dev/null 2>&1 && cat ftest.c && rm -f ftest.c` fi + # Some compilers (e.g. Intel ifx) embed no vendor identity in the assembly; + # append the --version banner so the vendor detection below can match them. + ver=`$compiler --version 2>&1` && data=`printf '%s\n%s' "$data" "$ver"` case "$data" in *zhoge_*) bu=_ ;; esac diff --git a/f_check.pl b/f_check.pl index 889aedd050..8a190082c9 100644 --- a/f_check.pl +++ b/f_check.pl @@ -19,7 +19,7 @@ $compiler = join(" ", @ARGV); $compiler_bin = shift(@ARGV); - + # f77 is too ambiguous $compiler = "" if $compiler eq "f77"; @@ -67,6 +67,10 @@ if ($data eq "") { $data = `$compiler -O2 -S ftest.f > /dev/null 2>&1 && cat ftest.c && rm -f ftest.c`; } + my $ver = `$compiler --version 2>&1`; + if (!$?) { + $data = "$data\n$ver"; + } if ($data =~ /zhoge_/) { $bu = "_"; } @@ -323,7 +327,7 @@ if ($link ne "") { $link =~ s/\-Y\sP\,/\-Y/g; - + $link =~ s/\-R\s*/\-rpath\%/g; $link =~ s/\-rpath\s+/\-rpath\%/g;