svn commit: samba r20942 - in branches/SAMBA_4_0: . source source/build/m4 source/build/smb_build source/pidl source/pidl/lib/Parse/Pidl source/pidl/lib/Parse/Pidl/Samba4

jelmer at samba.org jelmer at samba.org
Mon Jan 22 00:05:00 GMT 2007


Author: jelmer
Date: 2007-01-22 00:04:59 +0000 (Mon, 22 Jan 2007)
New Revision: 20942

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20942

Log:
Simplify handling of systems that don't support negative enum values by using an ifdef rather than a pidl argument.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/build/m4/check_cc.m4
   branches/SAMBA_4_0/source/build/m4/check_perl.m4
   branches/SAMBA_4_0/source/build/smb_build/makefile.pm
   branches/SAMBA_4_0/source/main.mk
   branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm
   branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Util.pm
   branches/SAMBA_4_0/source/pidl/pidl


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:merge
   - jelmer at samba.org-20060824212938-5923465160f6ab63
jelmer at samba.org-20060830112659-186f132eebc987cc
jelmer at samba.org-20060904121718-63b73248146c14f8
jelmer at samba.org-20060904124721-5e70ab0bd405f748
metze at samba.org-20061010151401-45a5a2ed52cfe172
jelmer at samba.org-20061016130323-400ce51ee51ab30e
jelmer at samba.org-20061016195822-c7783d3ea1a56a53
jelmer at samba.org-20061016230421-75bca2ad62945ede
jelmer at samba.org-20061017145110-8c83a3dd979f6a6a
jelmer at samba.org-20061029173623-eb0459f1d3eb5720
jelmer at samba.org-20070115022006-h5ef1deqflt940b6
jelmer at samba.org-20070116142934-hv99dpwbnq2znh8f
jelmer at samba.org-20070116144126-70rip3bppmvgs3t6
jelmer at samba.org-20070116151516-imvui4r33cj850j9
jelmer at samba.org-20070116154739-3tji4fft7964qgrj
jelmer at samba.org-20070116173900-iasa25stcfty6pbr
jelmer at samba.org-20070117144550-te3o0iy10y14iyo4

   + jelmer at samba.org-20060824212938-5923465160f6ab63
jelmer at samba.org-20060830112659-186f132eebc987cc
jelmer at samba.org-20060904121718-63b73248146c14f8
jelmer at samba.org-20060904124721-5e70ab0bd405f748
metze at samba.org-20061010151401-45a5a2ed52cfe172
jelmer at samba.org-20061016130323-400ce51ee51ab30e
jelmer at samba.org-20061016195822-c7783d3ea1a56a53
jelmer at samba.org-20061016230421-75bca2ad62945ede
jelmer at samba.org-20061017145110-8c83a3dd979f6a6a
jelmer at samba.org-20061029173623-eb0459f1d3eb5720
jelmer at samba.org-20070115022006-h5ef1deqflt940b6
jelmer at samba.org-20070116142934-hv99dpwbnq2znh8f
jelmer at samba.org-20070116144126-70rip3bppmvgs3t6
jelmer at samba.org-20070116151516-imvui4r33cj850j9
jelmer at samba.org-20070116154739-3tji4fft7964qgrj
jelmer at samba.org-20070116173900-iasa25stcfty6pbr
jelmer at samba.org-20070117144550-te3o0iy10y14iyo4
jelmer at samba.org-20070122000024-q911packyrjk69ud


Modified: branches/SAMBA_4_0/source/build/m4/check_cc.m4
===================================================================
--- branches/SAMBA_4_0/source/build/m4/check_cc.m4	2007-01-21 23:37:32 UTC (rev 20941)
+++ branches/SAMBA_4_0/source/build/m4/check_cc.m4	2007-01-22 00:04:59 UTC (rev 20942)
@@ -47,8 +47,7 @@
 ],
 	SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes,SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=no)])
 if test x"$SMB_BUILD_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then
-	AC_MSG_WARN([using --unit-enums for pidl])
-	PIDL_ARGS="$PIDL_ARGS --uint-enums"
+	AC_DEFINE(USE_UINT_ENUMS, 1, [Whether the compiler has uint enum support])
 fi
 
 AC_MSG_CHECKING([for test routines])

Modified: branches/SAMBA_4_0/source/build/m4/check_perl.m4
===================================================================
--- branches/SAMBA_4_0/source/build/m4/check_perl.m4	2007-01-21 23:37:32 UTC (rev 20941)
+++ branches/SAMBA_4_0/source/build/m4/check_perl.m4	2007-01-22 00:04:59 UTC (rev 20942)
@@ -26,6 +26,3 @@
 export PERL
 
 AC_PATH_PROG(YAPP, yapp, false)
-
-PIDL_ARGS=""
-AC_SUBST(PIDL_ARGS)

Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/makefile.pm	2007-01-21 23:37:32 UTC (rev 20941)
+++ branches/SAMBA_4_0/source/build/smb_build/makefile.pm	2007-01-22 00:04:59 UTC (rev 20942)
@@ -154,7 +154,6 @@
 LEX=$self->{config}->{LEX}
 YACC=$self->{config}->{YACC}
 YAPP=$self->{config}->{YAPP}
-PIDL_ARGS=$self->{config}->{PIDL_ARGS}
 
 GCOV=$self->{config}->{GCOV}
 

Modified: branches/SAMBA_4_0/source/main.mk
===================================================================
--- branches/SAMBA_4_0/source/main.mk	2007-01-21 23:37:32 UTC (rev 20941)
+++ branches/SAMBA_4_0/source/main.mk	2007-01-22 00:04:59 UTC (rev 20942)
@@ -208,10 +208,10 @@
 	$(IDL_NDR_EJS_C_FILES) $(IDL_NDR_EJS_H_FILES): idl
 
 idl_full: pidl/lib/Parse/Pidl/IDL.pm pidl/lib/Parse/Pidl/Expr.pm 
-	@CPP="$(CPP)" PERL="$(PERL)" srcdir=$(srcdir) $(srcdir)/script/build_idl.sh FULL $(PIDL_ARGS)
+	@CPP="$(CPP)" PERL="$(PERL)" srcdir=$(srcdir) $(srcdir)/script/build_idl.sh FULL
 
 idl: pidl/lib/Parse/Pidl/IDL.pm pidl/lib/Parse/Pidl/Expr.pm 
-	@CPP="$(CPP)" PERL="$(PERL)" srcdir=$(srcdir) $(srcdir)/script/build_idl.sh PARTIAL $(PIDL_ARGS)
+	@CPP="$(CPP)" PERL="$(PERL)" srcdir=$(srcdir) $(srcdir)/script/build_idl.sh PARTIAL 
 
 pidl/lib/Parse/Pidl/IDL.pm: pidl/idl.yp
 	-$(YAPP) -m 'Parse::Pidl::IDL' -o pidl/lib/Parse/Pidl/IDL.pm pidl/idl.yp ||\

Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm	2007-01-21 23:37:32 UTC (rev 20941)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm	2007-01-22 00:04:59 UTC (rev 20942)
@@ -118,8 +118,8 @@
     my($enum,$name) = @_;
     my $first = 1;
 
-    if (not Parse::Pidl::Util::useUintEnums()) {
-    	pidl "enum $name {\n";
+	pidl "#ifndef USE_UINT_ENUMS\n";
+	pidl "enum $name {\n";
 	$tab_depth++;
 	foreach my $e (@{$enum->{ELEMENTS}}) {
  	    unless ($first) { pidl ",\n"; }
@@ -129,9 +129,9 @@
 	}
 	pidl "\n";
 	$tab_depth--;
-	pidl "}";
-    } else {
-        my $count = 0;
+	pidl "};\n";
+	pidl "#else\n";
+	my $count = 0;
 	pidl "enum $name { __donnot_use_enum_$name=0x7FFFFFFF};\n";
 	my $with_val = 0;
 	my $without_val = 0;
@@ -154,8 +154,8 @@
 	    }
 	    pidl "#define $name ( $value )\n";
 	}
+	pidl "#endif\n";
 	pidl "\n";
-    }
 }
 
 #####################################################################
@@ -220,7 +220,8 @@
 {
     my($typedef) = shift;
     HeaderType($typedef, $typedef->{DATA}, $typedef->{NAME});
-    pidl ";\n\n" unless ($typedef->{DATA}->{TYPE} eq "BITMAP");
+    pidl ";\n\n" unless ($typedef->{DATA}->{TYPE} eq "BITMAP" or 
+	                     $typedef->{DATA}->{TYPE} eq "ENUM");
 }
 
 #####################################################################

Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Util.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Util.pm	2007-01-21 23:37:32 UTC (rev 20941)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Util.pm	2007-01-22 00:04:59 UTC (rev 20942)
@@ -87,17 +87,6 @@
 		"{".join(',', map {"0x$_"} @node)."}}";
 }
 
-# a hack to build on platforms that don't like negative enum values
-my $useUintEnums = 0;
-sub setUseUintEnums($)
-{
-	$useUintEnums = shift;
-}
-sub useUintEnums()
-{
-	return $useUintEnums;
-}
-
 sub ParseExpr($$$)
 {
 	my($expr, $varlist, $e) = @_;

Modified: branches/SAMBA_4_0/source/pidl/pidl
===================================================================
--- branches/SAMBA_4_0/source/pidl/pidl	2007-01-21 23:37:32 UTC (rev 20941)
+++ branches/SAMBA_4_0/source/pidl/pidl	2007-01-22 00:04:59 UTC (rev 20942)
@@ -17,7 +17,7 @@
 
 pidl --help
 
-pidl [--outputdir[=OUTNAME]] [--includedir DIR...] [--parse-idl-tree] [--dump-idl-tree] [--dump-ndr-tree] [--header[=OUTPUT]] [--ejs[=OUTPUT]] [--swig[=OUTPUT]] [--uint-enums] [--ndr-parser[=OUTPUT]] [--client] [--server] [--dcom-proxy] [--com-header] [--warn-compat] [--quiet] [--verbose] [--template] [--ws-parser[=OUTPUT]] [--diff] [--dump-idl] [--tdr-parser[=OUTPUT]] [--samba3-ndr-client[=OUTPUT]] [--samba3-ndr-server[=OUTPUT]] [<idlfile>.idl]...
+pidl [--outputdir[=OUTNAME]] [--includedir DIR...] [--parse-idl-tree] [--dump-idl-tree] [--dump-ndr-tree] [--header[=OUTPUT]] [--ejs[=OUTPUT]] [--swig[=OUTPUT]] [--ndr-parser[=OUTPUT]] [--client] [--server] [--dcom-proxy] [--com-header] [--warn-compat] [--quiet] [--verbose] [--template] [--ws-parser[=OUTPUT]] [--diff] [--dump-idl] [--tdr-parser[=OUTPUT]] [--samba3-ndr-client[=OUTPUT]] [--samba3-ndr-server[=OUTPUT]] [<idlfile>.idl]...
 
 =head1 DESCRIPTION
 
@@ -451,7 +451,6 @@
 my($opt_dump_idl_tree);
 my($opt_dump_ndr_tree);
 my($opt_dump_idl) = 0;
-my($opt_uint_enums) = 0;
 my($opt_diff) = 0;
 my($opt_header);
 my($opt_samba3_header);
@@ -501,7 +500,6 @@
 
 Samba 4 output:
  --header[=OUTFILE]      create generic header file [BASENAME.h]
- --uint-enums            don't use C enums, instead use uint* types
  --ndr-parser[=OUTFILE]  create a C NDR parser [ndr_BASENAME.c]
  --client[=OUTFILE]      create a C NDR client [ndr_BASENAME_c.c]
  --tdr-parser[=OUTFILE]  create a C TDR parser [tdr_BASENAME.c]
@@ -532,7 +530,6 @@
 		'dump-idl-tree:s' => \$opt_dump_idl_tree,
 		'parse-idl-tree' => \$opt_parse_idl_tree,
 		'dump-ndr-tree:s' => \$opt_dump_ndr_tree,
-	    'uint-enums' => \$opt_uint_enums,
 		'samba3-ndr-client:s' => \$opt_samba3_ndr_client,
 		'samba3-ndr-server:s' => \$opt_samba3_ndr_server,
 		'header:s' => \$opt_header,
@@ -590,10 +587,6 @@
 		SaveStructure($pidl_file, $pidl) or die "Failed to save $pidl_file\n";
 	}
 
-	if ($opt_uint_enums) {
-		Parse::Pidl::Util::setUseUintEnums(1);
-	}
-
 	if ($opt_dump_idl) {
 		require Parse::Pidl::Dump;
 		print Parse::Pidl::Dump($pidl);
@@ -606,7 +599,6 @@
 		unlink($tempfile);
 	}
 
-
 	my $comh_filename = ($opt_com_header or "$outputdir/com_$basename.h");
 	if (defined($opt_com_header)) {
 		require Parse::Pidl::Samba4::COM::Header;



More information about the samba-cvs mailing list