summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-01-22 08:09:54 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-01-22 08:09:54 +0000
commit716bb0e8db52a0a6abd637c0786ae84eae644218 (patch)
tree792c0885ad6153886b9864ba5ffa4b1e68bb5dfe
parent4f4f34392411089e5d52a6dfb280ea973106d529 (diff)
Finally debugged the c parameter stuff.
Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@103 17b73243-c579-4c4c-a9d2-2d5706c11dac
-rw-r--r--lib/sbin/config_parser.pl56
1 files changed, 43 insertions, 13 deletions
diff --git a/lib/sbin/config_parser.pl b/lib/sbin/config_parser.pl
index 06b6d3ea..6c2b2c81 100644
--- a/lib/sbin/config_parser.pl
+++ b/lib/sbin/config_parser.pl
@@ -493,14 +493,29 @@ EOT
\#ifndef _\U$thorn\E_PARAMETERS_H_
\#define _\U$thorn\E_PARAMETERS_H_
+
+EOT
+
+ $header = "ParameterCPublic.h";
+ if( -r $header)
+ {
+ print OUT "#include \"$header\"\n";
+ }
-\#include "ParameterCPublic.h"
-
-\#include "ParameterCProtected$implementation.h"
-
-\#include "ParameterCPrivate$thorn.h"
+ $header = "ParameterCProtected$implementation.h";
+ if( -r $header)
+ {
+ print OUT "#include \"$header\"\n";
+ }
+
+ $header = "ParameterCPrivate$thorn.h";
+ if( -r $header)
+ {
+ print OUT "#include \"$header\"\n";
+ }
-EOT
+ print OUT "\n";
+
@data = ();
foreach $friend (split(" ",$parameter_database{"\U$thorn\E FRIEND implementations"}))
{
@@ -525,13 +540,28 @@ EOT
}
}
- print OUT <<EOT;
+ print OUT "#define DECLARE_PARSER \\\n";
-\#define DECLARE_PARSER \\
-DECLARE_PUBLIC_PARAMETER_STRUCT_PARAMS \\
-DECLARE_PROTECTED_\U$implementation\E_STRUCT_PARAMS \\
-DECLARE_PRIVATE_\U$thorn\E_STRUCT_PARAMS \\
-EOT
+ $header = "ParameterCPublic.h";
+ $decl = "DECLARE_PUBLIC_PARAMETER_STRUCT_PARAMS";
+ if( -r $header)
+ {
+ print OUT "$decl \\\n";
+ }
+
+ $header = "ParameterCProtected$implementation.h";
+ $decl = "DECLARE_PROTECTED_\U$implementation\E_STRUCT_PARAMS";
+ if( -r $header)
+ {
+ print OUT "$decl \\\n";
+ }
+
+ $header = "ParameterCPrivate$thorn.h";
+ $decl = "DECLARE_PRIVATE_\U$thorn\E_STRUCT_PARAMS";
+ if( -r $header)
+ {
+ print OUT "$decl \\\n";
+ }
foreach $line (@data)
{
@@ -549,7 +579,7 @@ EOT
foreach $thorn (split(" ",$interface_database{"THORNS"}))
{
- print OUT "#if THISTHORN==$thorn\n";
+ print OUT "#ifdef THORN_IS_$thorn\n";
print OUT "#include \"$thorn"."_CParameters.h\"\n";
print OUT "#endif\n\n";
}