svn commit: samba r10112 - in
branches/SAMBA_4_0/source/build/smb_build: .
metze at samba.org
metze at samba.org
Fri Sep 9 11:03:53 GMT 2005
Author: metze
Date: 2005-09-09 11:03:53 +0000 (Fri, 09 Sep 2005)
New Revision: 10112
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10112
Log:
- check attributes depending on the section type
metze
Modified:
branches/SAMBA_4_0/source/build/smb_build/config_mk.pm
Changeset:
Modified: branches/SAMBA_4_0/source/build/smb_build/config_mk.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/config_mk.pm 2005-09-09 10:59:54 UTC (rev 10111)
+++ branches/SAMBA_4_0/source/build/smb_build/config_mk.pm 2005-09-09 11:03:53 UTC (rev 10112)
@@ -11,28 +11,73 @@
use strict;
-my %attribute_types = (
- "NOPROTO" => "bool",
- "REQUIRED_SUBSYSTEMS" => "list",
- "OUTPUT_TYPE" => "string",
- "INIT_OBJ_FILES" => "list",
- "ADD_OBJ_FILES" => "list",
- "OBJ_FILES" => "list",
- "SUBSYSTEM" => "string",
- "CFLAGS" => "list",
- "CPPFLAGS" => "list",
- "LDFLAGS" => "list",
- "INSTALLDIR" => "string",
- "LIBS" => "list",
- "INIT_FUNCTION" => "string",
- "MAJOR_VERSION" => "string",
- "MINOR_VERSION" => "string",
- "RELEASE_VERSION" => "string",
- "ENABLE" => "bool",
- "CMD" => "string",
- "MANPAGE" => "string"
-);
+my $section_types = {
+ "EXT_LIB" => {
+ "LIBS" => "list",
+ "CFLAGS" => "list",
+ "CPPFLAGS" => "list",
+ "LDFLAGS" => "list",
+ },
+ "SUBSYSTEM" => {
+ "INIT_FUNCTION" => "string",
+ "INIT_OBJ_FILES" => "list",
+ "ADD_OBJ_FILES" => "list",
+ "OBJ_FILES" => "list",
+ "REQUIRED_SUBSYSTEMS" => "list",
+ "TARGET_DEPS" => "list",
+
+ "ENABLE" => "bool",
+ "NOPROTO" => "bool",
+
+ "MANPAGE" => "string",
+ },
+ "MODULE" => {
+ "SUBSYSTEM" => "string",
+
+ "INIT_FUNCTION" => "string",
+ "INIT_OBJ_FILES" => "list",
+ "ADD_OBJ_FILES" => "list",
+ "OBJ_FILES" => "list",
+
+ "REQUIRED_SUBSYSTEMS" => "list",
+ "TARGET_DEPS" => "list",
+
+ "ENABLE" => "bool",
+ "NOPROTO" => "bool",
+
+ "MANPAGE" => "string",
+ },
+ "BINARY" => {
+ "OBJ_FILES" => "list",
+
+ "REQUIRED_SUBSYSTEMS" => "list",
+ "TARGET_DEPS" => "list",
+
+ "ENABLE" => "bool",
+ "NOPROTO" => "bool",
+
+ "MANPAGE" => "string",
+ "INSTALLDIR" => "string",
+ },
+ "LIBRARY" => {
+ "MAJOR_VERSION" => "string",
+ "MINOR_VERSION" => "string",
+ "RELEASE_VERSION" => "string",
+
+ "OBJ_FILES" => "list",
+
+ "REQUIRED_SUBSYSTEMS" => "list",
+ "TARGET_DEPS" => "list",
+
+ "ENABLE" => "bool",
+ "NOPROTO" => "bool",
+
+ "MANPAGE" => "string",
+ "INSTALLDIR" => "string",
+ }
+};
+
use vars qw(@parsed_files);
@parsed_files = ();
@@ -118,15 +163,20 @@
foreach my $section (keys %{$result}) {
my ($type, $name) = split(/::/, $section, 2);
-
+
+ my $sectype = $section_types->{$type};
+ if (not defined($sectype)) {
+ die($filename.":[".$section."] unknown section type \"".$type."\"!");
+ }
+
$input->{$name}{NAME} = $name;
$input->{$name}{TYPE} = $type;
foreach my $key (values %{$result->{$section}}) {
$key->{VAL} = smb_build::input::strtrim($key->{VAL});
- my $vartype = $attribute_types{$key->{KEY}};
+ my $vartype = $sectype->{$key->{KEY}};
if (not defined($vartype)) {
- die("$filename:Unknown attribute $key->{KEY} with value $key->{VAL} in section $section");
+ die($filename.":[".$section."]: unknown attribute type \"$key->{KEY}\"!");
}
if ($vartype eq "string") {
$input->{$name}{$key->{KEY}} = $key->{VAL};
More information about the samba-cvs
mailing list