[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-1158-gb57f09f

Jelmer Vernooij jelmer at samba.org
Fri Feb 29 14:09:18 GMT 2008


The branch, v4-0-test has been updated
       via  b57f09f526f0783345be3d1de2540c35478d7af2 (commit)
       via  f97cce2522e7644181506dc49947297b394743eb (commit)
       via  2ead1523608d9cd9a58cf55bcee2c8a39b6895e0 (commit)
       via  438997c17951fa7f0a9fb14be14c3b364ed3ad90 (commit)
       via  2f7ff409e89c9682e681ddcf54439db9e3b6ccb4 (commit)
      from  b30fd477ff0d97bb4de3c5301a6cdc47867451ee (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit b57f09f526f0783345be3d1de2540c35478d7af2
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Feb 29 15:06:05 2008 +0100

    Fix dynconfig compilation.

commit f97cce2522e7644181506dc49947297b394743eb
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Feb 25 15:39:46 2008 +0100

    Remove the now unused cflags script.

commit 2ead1523608d9cd9a58cf55bcee2c8a39b6895e0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Feb 25 18:29:04 2008 +0100

    Include CFLAGS overrides in make file.

commit 438997c17951fa7f0a9fb14be14c3b364ed3ad90
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Feb 29 14:43:54 2008 +0100

    Remove cruft that dealt with public prototype headers.

commit 2f7ff409e89c9682e681ddcf54439db9e3b6ccb4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Feb 29 14:36:51 2008 +0100

    Change remaining prototype headers to be private.

-----------------------------------------------------------------------

Summary of changes:
 source/Makefile                     |    1 +
 source/auth/config.mk               |    6 +-
 source/build/smb_build/cflags.pm    |   67 -------------------------
 source/build/smb_build/config_mk.pm |    1 -
 source/build/smb_build/main.pl      |    8 +--
 source/build/smb_build/makefile.pm  |   91 ++++++++++++++++++++++------------
 source/dsdb/config.mk               |    2 +-
 source/dynconfig.mk                 |    4 +-
 source/lib/util/config.mk           |    6 +-
 source/libcli/ldap/config.mk        |    2 +-
 source/param/config.mk              |    2 +-
 source/rules.mk                     |   16 ++----
 source/script/cflags.pl             |   42 ----------------
 13 files changed, 78 insertions(+), 170 deletions(-)
 delete mode 100755 source/build/smb_build/cflags.pm
 delete mode 100755 source/script/cflags.pl


Changeset truncated at 500 lines:

diff --git a/source/Makefile b/source/Makefile
index 1fddfef..f9a753e 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -23,6 +23,7 @@ default: all
 
 include rules.mk
 include data.mk
+include extra_cflags.txt
 
 DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \
 		  $(srcdir)/version.h
diff --git a/source/auth/config.mk b/source/auth/config.mk
index 7a6ca05..369c5bb 100644
--- a/source/auth/config.mk
+++ b/source/auth/config.mk
@@ -6,14 +6,14 @@ mkinclude credentials/config.mk
 
 [SUBSYSTEM::auth_session]
 OBJ_FILES = session.o
-PUBLIC_PROTO_HEADER = session_proto.h
+PRIVATE_PROTO_HEADER = session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 
 PUBLIC_HEADERS += auth/session.h
 
 [SUBSYSTEM::auth_system_session]
 OBJ_FILES = system_session.o
-PUBLIC_PROTO_HEADER = system_session_proto.h
+PRIVATE_PROTO_HEADER = system_session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 PRIVATE_DEPENDENCIES = auth_session LIBSAMBA-UTIL LIBSECURITY 
 
@@ -82,7 +82,7 @@ OBJ_FILES = pam_errors.o
 [SUBSYSTEM::auth]
 #VERSION = 0.0.1
 #SO_VERSION = 0
-PUBLIC_PROTO_HEADER = auth_proto.h
+PRIVATE_PROTO_HEADER = auth_proto.h
 OBJ_FILES = \
 		auth.o \
 		auth_util.o \
diff --git a/source/build/smb_build/cflags.pm b/source/build/smb_build/cflags.pm
deleted file mode 100755
index ad6cd42..0000000
--- a/source/build/smb_build/cflags.pm
+++ /dev/null
@@ -1,67 +0,0 @@
-# SMB Build System
-#
-#  Copyright (C) Jelmer Vernooij 2006
-#  Released under the GNU GPL
-
-package cflags;
-use strict;
-
-my $sort_available = eval "use sort 'stable'; return 1;";
-$sort_available = 0 unless defined($sort_available);
-
-sub by_path {
-	return  1 if($a =~ m#^\-I/#);
-    	return -1 if($b =~ m#^\-I/#);
-	return  0;
-}
-
-sub create_cflags($$$$) {
-	my $CTX = shift;
-	my $srcdir = shift;
-	my $builddir = shift;
-	my $file = shift;
-
-	open(CFLAGS_TXT,">$file") || die ("Can't open `$file'\n");
-
-	my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
-
-	foreach my $key (values %{$CTX}) {
-		next unless defined ($key->{OBJ_LIST});
-		next unless defined ($key->{FINAL_CFLAGS});
-		next unless (@{$key->{FINAL_CFLAGS}} > 0);
-
-		my @sorted_cflags = @{$key->{FINAL_CFLAGS}};
-		if ($sort_available) {
-			@sorted_cflags = sort by_path @{$key->{FINAL_CFLAGS}};
-		}
-
-		# Rewrite CFLAGS so that both the source and the build
-		# directories are in the path.
-		my @cflags = ();
-		foreach my $flag (@sorted_cflags) {
-			if($src_ne_build) {
-			        if($flag =~ m#^-I([^/].*$)#) {
-				        my $dir = $1;
-				        $dir =~ s#^\$\((?:src|build)dir\)/?##;
-					push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
-				        next;
-			        }
-			}
-			push(@cflags, $flag);
-		}
-		
-		my $cflags = join(' ', @cflags);
-
-		foreach (@{$key->{OBJ_LIST}}) {
-			my $ofile = $_;
-			my $dfile = $_;
-			$dfile =~ s/\.o$/.d/;
-			$dfile =~ s/\.ho$/.d/;
-			print CFLAGS_TXT "$ofile $dfile: CFLAGS+= $cflags\n";
-		}
-	}
-	close(CFLAGS_TXT);
-
-	print __FILE__.": creating $file\n";
-}
-1;
diff --git a/source/build/smb_build/config_mk.pm b/source/build/smb_build/config_mk.pm
index 90e4512..d8ec646 100644
--- a/source/build/smb_build/config_mk.pm
+++ b/source/build/smb_build/config_mk.pm
@@ -36,7 +36,6 @@ my $section_types = {
 
 		"ENABLE"		=> "bool",
 
-		"PUBLIC_PROTO_HEADER"	=> "string",
 		"PRIVATE_PROTO_HEADER"	=> "string",
 
 		"CFLAGS"		=> "list",
diff --git a/source/build/smb_build/main.pl b/source/build/smb_build/main.pl
index 6c205a6..7312749 100644
--- a/source/build/smb_build/main.pl
+++ b/source/build/smb_build/main.pl
@@ -10,7 +10,6 @@ use smb_build::header;
 use smb_build::input;
 use smb_build::config_mk;
 use smb_build::output;
-use smb_build::cflags;
 use smb_build::summary;
 use smb_build::config;
 use strict;
@@ -67,8 +66,8 @@ foreach my $key (values %$OUTPUT) {
 								   $key->{TYPE} eq "PYTHON") and
 					grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
 	$mkenv->PythonFiles($key) if defined($key->{PYTHON_FILES});
-	$mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER}) or 
-					 defined($key->{PUBLIC_PROTO_HEADER});
+	$mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER});
+	$mkenv->CFlags($key);
 }
 
 foreach my $key (values %$OUTPUT) {
@@ -85,9 +84,6 @@ foreach my $key (values %$OUTPUT) {
 $mkenv->write("data.mk");
 header::create_smb_build_h($OUTPUT, "include/build.h");
 
-cflags::create_cflags($OUTPUT, $config::config{srcdir},
-		    $config::config{builddir}, "extra_cflags.txt");
-
 summary::show($OUTPUT, \%config::config);
 
 print "To build Samba, run $config::config{MAKE}\n";
diff --git a/source/build/smb_build/makefile.pm b/source/build/smb_build/makefile.pm
index 5fe0e68..902e8f7 100644
--- a/source/build/smb_build/makefile.pm
+++ b/source/build/smb_build/makefile.pm
@@ -350,39 +350,13 @@ sub ProtoHeader($$)
 {
 	my ($self,$ctx) = @_;
 
-	my $target = "";
-	my $comment = "Creating ";
-
-	my $priv = undef;
-	my $pub = undef;
-
-	if (defined($ctx->{PRIVATE_PROTO_HEADER})) {
-		$priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
-		$target .= $priv;
-		$comment .= $priv;
-		if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
-			$comment .= " and ";
-			$target.= " ";
-		}
-		$self->output("PROTO_HEADERS += $priv\n");
-	} else {
-		$ctx->{PRIVATE_PROTO_HEADER} = $ctx->{PUBLIC_PROTO_HEADER};
-		$priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
-	}
-
-	if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
-		$pub = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PUBLIC_PROTO_HEADER});
-		$comment .= $pub;
-		$target .= $pub;
-		$self->output("PROTO_HEADERS += $pub\n");
-	} else {
-		$ctx->{PUBLIC_PROTO_HEADER} = $ctx->{PRIVATE_PROTO_HEADER};
-		$pub = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PUBLIC_PROTO_HEADER});
-	}
+	my $priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
+	$self->output("PROTO_HEADERS += $priv\n");
 
-	$self->output("$pub: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_LIST:.o=.c) \$(srcdir)/script/mkproto.pl\n");
-	$self->output("\t\@echo \"$comment\"\n");
-	$self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --private=$priv --public=$pub \$($ctx->{NAME}_OBJ_LIST)\n\n");
+	$self->output("$priv: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_LIST:.o=.c) \$(srcdir)/script/mkproto.pl\n");
+	$self->output("\t\@echo \"Creating \$@\"\n");
+	$self->output("\t\@mkdir -p \$(\@D)\n");
+	$self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --all=\$@ \$($ctx->{NAME}_OBJ_LIST)\n\n");
 }
 
 sub write($$)
@@ -424,4 +398,57 @@ endif
 	print __FILE__.": creating $file\n";
 }
 
+my $sort_available = eval "use sort 'stable'; return 1;";
+$sort_available = 0 unless defined($sort_available);
+
+sub by_path {
+	return  1 if($a =~ m#^\-I/#);
+    	return -1 if($b =~ m#^\-I/#);
+	return  0;
+}
+
+sub CFlags($$)
+{
+	my ($self, $key) = @_;
+
+	my $srcdir = $self->{config}->{srcdir};
+	my $builddir = $self->{config}->{builddir};
+
+	my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
+
+	return unless defined ($key->{OBJ_LIST});
+	return unless defined ($key->{FINAL_CFLAGS});
+	return unless (@{$key->{FINAL_CFLAGS}} > 0);
+
+	my @sorted_cflags = @{$key->{FINAL_CFLAGS}};
+	if ($sort_available) {
+		@sorted_cflags = sort by_path @{$key->{FINAL_CFLAGS}};
+	}
+
+	# Rewrite CFLAGS so that both the source and the build
+	# directories are in the path.
+	my @cflags = ();
+	foreach my $flag (@sorted_cflags) {
+		if($src_ne_build) {
+				if($flag =~ m#^-I([^/].*$)#) {
+					my $dir = $1;
+					$dir =~ s#^\$\((?:src|build)dir\)/?##;
+				push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
+					next;
+				}
+		}
+		push(@cflags, $flag);
+	}
+	
+	my $cflags = join(' ', @cflags);
+
+	foreach (@{$key->{OBJ_LIST}}) {
+		my $ofile = $_;
+		my $dfile = $_;
+		$dfile =~ s/\.o$/.d/;
+		$dfile =~ s/\.ho$/.d/;
+		$self->output("$ofile $dfile: CFLAGS+= $cflags\n");
+	}
+}
+
 1;
diff --git a/source/dsdb/config.mk b/source/dsdb/config.mk
index 82119c2..fb8cd4f 100644
--- a/source/dsdb/config.mk
+++ b/source/dsdb/config.mk
@@ -20,7 +20,7 @@ OBJ_FILES = \
 PUBLIC_HEADERS += dsdb/samdb/samdb.h
 
 [SUBSYSTEM::SAMDB_COMMON]
-PUBLIC_PROTO_HEADER = common/proto.h
+PRIVATE_PROTO_HEADER = common/proto.h
 PRIVATE_DEPENDENCIES = LIBLDB
 OBJ_FILES = \
 		common/sidmap.o \
diff --git a/source/dynconfig.mk b/source/dynconfig.mk
index e970d4c..aa0565c 100644
--- a/source/dynconfig.mk
+++ b/source/dynconfig.mk
@@ -21,5 +21,5 @@ PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \
 
 dynconfig.o: dynconfig.c Makefile
 	@echo Compiling $<
-	@$(CC) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CPPFLAGS) $(PICFLAG) \
-		$(PATH_FLAGS) -c $(FIRST_PREREQ) -o $@
+	@$(CC) $(CFLAGS) $(CPPFLAGS) $(PICFLAG) \
+		$(PATH_FLAGS) -c $< -o $@
diff --git a/source/lib/util/config.mk b/source/lib/util/config.mk
index e057340..16a0357 100644
--- a/source/lib/util/config.mk
+++ b/source/lib/util/config.mk
@@ -47,7 +47,7 @@ OBJ_FILES = unix_privs.o
 ################################################
 # Start SUBSYSTEM WRAP_XATTR
 [SUBSYSTEM::WRAP_XATTR]
-PUBLIC_PROTO_HEADER = wrap_xattr.h
+PRIVATE_PROTO_HEADER = wrap_xattr.h
 OBJ_FILES = \
 		wrap_xattr.o
 PUBLIC_DEPENDENCIES = XATTR
@@ -56,13 +56,13 @@ PUBLIC_DEPENDENCIES = XATTR
 ################################################
 
 [SUBSYSTEM::UTIL_TDB]
-PUBLIC_PROTO_HEADER = util_tdb.h
+PRIVATE_PROTO_HEADER = util_tdb.h
 OBJ_FILES = \
 		util_tdb.o
 PUBLIC_DEPENDENCIES = LIBTDB
 
 [SUBSYSTEM::UTIL_LDB]
-PUBLIC_PROTO_HEADER = util_ldb.h
+PRIVATE_PROTO_HEADER = util_ldb.h
 OBJ_FILES = \
 			util_ldb.o
 PUBLIC_DEPENDENCIES = LIBLDB
diff --git a/source/libcli/ldap/config.mk b/source/libcli/ldap/config.mk
index 9b0dc1a..bcdedd3 100644
--- a/source/libcli/ldap/config.mk
+++ b/source/libcli/ldap/config.mk
@@ -13,6 +13,6 @@ PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE samba-socket NDR_SAMR LIBTLS ASN1_UTIL \
 PUBLIC_HEADERS += libcli/ldap/ldap.h
 
 [SUBSYSTEM::LDAP_ENCODE]
-PUBLIC_PROTO_HEADER = ldap_ndr.h
+PRIVATE_PROTO_HEADER = ldap_ndr.h
 OBJ_FILES = ldap_ndr.o
 # FIXME PRIVATE_DEPENDENCIES = LIBLDB
diff --git a/source/param/config.mk b/source/param/config.mk
index aa75253..f43c9d8 100644
--- a/source/param/config.mk
+++ b/source/param/config.mk
@@ -6,7 +6,7 @@ OBJ_FILES = loadparm.o \
 			../lib/version.o
 PUBLIC_DEPENDENCIES = LIBSAMBA-UTIL 
 PRIVATE_DEPENDENCIES = DYNCONFIG LIBREPLACE_EXT CHARSET
-PUBLIC_PROTO_HEADER = proto.h
+PRIVATE_PROTO_HEADER = proto.h
 
 PUBLIC_HEADERS += param/param.h
 
diff --git a/source/rules.mk b/source/rules.mk
index b644a6a..d0be997 100644
--- a/source/rules.mk
+++ b/source/rules.mk
@@ -1,33 +1,27 @@
 # Dependencies command
 DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ \
-    $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(CPPFLAGS) $< -o $@
+    $(CFLAGS) $(CPPFLAGS) $< -o $@
 # Dependencies for host objects
 HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ \
-    $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(CPPFLAGS) $< -o $@
+    $(HOSTCC_FLAGS) $(CPPFLAGS) $< -o $@
 # Dependencies for precompiled headers
 PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
     $(CFLAGS) $(CPPFLAGS) $< -o $@
 
 # Run a static analysis checker
-CHECK = $(CC_CHECKER) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(PICFLAG) $(CPPLAGS) -c $< -o $@
+CHECK = $(CC_CHECKER) $(CFLAGS) $(PICFLAG) $(CPPLAGS) -c $< -o $@
 
 # Run the configured compiler
 COMPILE = $(CC) $(CFLAGS) $(PICFLAG) \
-          `$(PERL) $(srcdir)/script/cflags.pl $@` \
 		  $(CPPFLAGS) \
 		  -c $< -o $@
 
 # Run the compiler for the build host
-HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-	 $(CPPFLAGS) -c $< -o $@
+HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) $(CPPFLAGS) -c $< -o $@
 
 # Precompile headers
 PCHCOMPILE = @$(CC) -Ilib/replace \
-    $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
-    $(PICFLAG) $(CPPFLAGS) -c $< -o $@
+    $(CFLAGS) $(PICFLAG) $(CPPFLAGS) -c $< -o $@
 
 # Partial linking
 PARTLINK = @$(PROG_LD) -r
diff --git a/source/script/cflags.pl b/source/script/cflags.pl
deleted file mode 100755
index 37b5aa7..0000000
--- a/source/script/cflags.pl
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env perl
-
-# This is a hack to allow per target cflags. It isn't very elegant, but it
-# is the most portable idea we have come up with yet
-# tridge at samba.org, July 2005
-# jelmer at samba.org, March 2006
-use strict;
-
-my $target = shift;
-
-my $vars = {};
-
-sub check_flags($$);
-sub check_flags($$)
-{
-	my ($path, $name)=@_;
-	open (IN, $path);
-	foreach my $line (<IN>) {
-		if ($line =~ /^include (.*)$/) {
-			check_flags($1, $name);
-		} elsif ($line =~ /^([A-Za-z0-9_]+) =(.*)$/) {
-			$vars->{$1} = $2;
-		} elsif ($line =~ /^([^:]+): (.*)$/) {
-			next unless (grep(/^$target$/, (split / /, $1)));
-			my $data = $2;
-			$data =~ s/^CFLAGS\+=//;
-			foreach my $key (keys %$vars) {
-				my $val = $vars->{$key};
-				$data =~ s/\$\($key\)/$val/g;
-			}
-			# Remove undefined variables
-			$data =~ s/\$\([A-Za-z0-9_]+\)//g;
-			print "$data ";
-		}
-	}
-	close(IN);
-}
-
-check_flags("extra_cflags.txt", $target);
-print "\n";
-
-exit 0;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list