diff options
author | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 1999-02-26 18:55:32 +0000 |
---|---|---|
committer | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 1999-02-26 18:55:32 +0000 |
commit | 7b0d49c3df9b30c125c1d8bd512813c9e5572a14 (patch) | |
tree | b16d4d4c74aa1208496d66ee2c01dddf68b2e7e4 /lib/make/configure.pl | |
parent | 70d5a3fa7833801fc6ad301294eb153a05ec0721 (diff) |
Resurrected FORTRAN_COMMON_NAME as the linux absoft compiler puts
_C in front of common block names in the symbol table.
You'll need to regenerate your fortran_name.pl files after updating with
these changes.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@350 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/make/configure.pl')
-rwxr-xr-x | lib/make/configure.pl | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/make/configure.pl b/lib/make/configure.pl index a71c43b2..60a52077 100755 --- a/lib/make/configure.pl +++ b/lib/make/configure.pl @@ -15,8 +15,8 @@ $tmphome = shift(@ARGV); print "Determining number of fortran underscores...\n"; push(@routines, &test_fortran_name); -# Comment out this one, as it seems to be the same on all machines. -#push(@routines, &test_fortran_common_name); +# Some compilers do something really strange with common blocks. +push(@routines, &test_fortran_common_name); push(@routines, "1;"); # Create the perl module to map the fortran names. @@ -192,10 +192,11 @@ EOT while(<IN>) { $line = $_; - if($line =~ m:(TEST_COMMON)(_*):i) + if($line =~ m:(_[\w_]*)+(TEST_COMMON)(_*):i) { - $name = $1; - $underscores = $2; + $prefix = $1; + $name = $2; + $underscores = $3; if($name =~ m:TEST_COMMON:) { @@ -252,7 +253,7 @@ sub fortran_common_name \$new_name = \$new_name.\"$normal_suffix\"; } - return \$new_name; + return \"$prefix\".\$new_name; } "; |