summaryrefslogtreecommitdiff
path: root/lib/make/configure.pl
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-02-26 18:55:32 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-02-26 18:55:32 +0000
commit7b0d49c3df9b30c125c1d8bd512813c9e5572a14 (patch)
treeb16d4d4c74aa1208496d66ee2c01dddf68b2e7e4 /lib/make/configure.pl
parent70d5a3fa7833801fc6ad301294eb153a05ec0721 (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-xlib/make/configure.pl13
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;
}
";