summaryrefslogtreecommitdiff
path: root/lib/sbin/CreateParameterBindings.pl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sbin/CreateParameterBindings.pl')
-rw-r--r--lib/sbin/CreateParameterBindings.pl14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/sbin/CreateParameterBindings.pl b/lib/sbin/CreateParameterBindings.pl
index 52862243..f3c55faa 100644
--- a/lib/sbin/CreateParameterBindings.pl
+++ b/lib/sbin/CreateParameterBindings.pl
@@ -202,7 +202,9 @@ sub CreateParameterBindings
push(@data, " DECLARE_PRIVATE_\U$thorn\E_STRUCT_PARAMS \\")
if($header_files{"\U$thorn\E PRIVATE"});
- my $delim = ' ';
+ # double this loop, add #defines for RESTRICTED_STRUCT.$realname, set these via #ifdef, use these #defines
+
+ my @data2;
foreach $friend (split(' ',$rhparameter_db->{"\U$thorn\E SHARES implementations"}))
{
$rhinterface_db->{"IMPLEMENTATION \U$friend\E THORNS"} =~ m:([^ ]*):;
@@ -223,12 +225,18 @@ sub CreateParameterBindings
$varprefix = ' const *';
}
- push(@data, " CCTK_DECLARE_INIT ($type_string$varprefix const, $parameter, RESTRICTED_\U$friend\E_STRUCT.$realname); \\");
- $delim = ',';
+ #push(@data, " CCTK_DECLARE_INIT ($type_string$varprefix const, $parameter, RESTRICTED_\U$friend\E_STRUCT.$realname); \\");
+ push(@data, " CCTK_DECLARE_INIT ($type_string$varprefix const, $parameter, CCTK_PARAMETER__${friend_thorn}__${realname}); \\");
+ push(@data2,
+ "#ifndef CCTK_PARAMETER__${friend_thorn}__${realname}\n" .
+ "# define CCTK_PARAMETER__${friend_thorn}__${realname} RESTRICTED_\U$friend\E_STRUCT.$realname\n" .
+ "#endif");
}
}
push(@data, '');
+ push(@data, @data2);
+ push(@data, '');
push(@data, "#endif /* _\U$thorn\E_PARAMETERS_H_ */");
push(@data, "\n"); # workaround for perl 5.004_04 to add a trailing newline