This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch roland/Versions.def created. glibc-2.19-100-g36ef402
- From: roland at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 28 Feb 2014 21:35:39 -0000
- Subject: GNU C Library master sources branch roland/Versions.def created. glibc-2.19-100-g36ef402
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, roland/Versions.def has been created
at 36ef402d362933758c3b8df02dcc026f6eb39787 (commit)
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=36ef402d362933758c3b8df02dcc026f6eb39787
commit 36ef402d362933758c3b8df02dcc026f6eb39787
Author: Roland McGrath <roland@hack.frob.com>
Date: Fri Feb 28 13:35:15 2014 -0800
Get rid of Versions.def source file
diff --git a/ChangeLog b/ChangeLog
index a5b1de2..a067fcd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2014-02-28 Roland McGrath <roland@hack.frob.com>
+ * scripts/versionlist.awk: New file.
+ * Makerules [$(build-shared) = yes]
+ (postclean-generated): Add Versions.def, not Versions.def.v and
+ Versions.def.v.i.
+ ($(common-objpfx)Versions.def.v.i): Target removed.
+ ($(common-objpfx)Versions.def): New target.
+ ($(common-objpfx)Versions.all): Depend on that rather that
+ $(common-objpfx)Versions.def.v.
+ * Versions.def: File removed.
+
+2014-02-28 Roland McGrath <roland@hack.frob.com>
+
* csu/Makefile (generated, before-compile): Use += rather than =.
* catgets/Makefile (generated, generated-dirs): Likewise.
* debug/Makefile (generated): Likewise.
diff --git a/Makerules b/Makerules
index c232436..b5bc4c5 100644
--- a/Makerules
+++ b/Makerules
@@ -288,19 +288,22 @@ ifeq ($(build-shared),yes)
$(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions
common-generated += $(version-maps)
postclean-generated += sysd-versions Versions.all abi-versions.h \
- Versions.def.v.i Versions.def.v Versions.v.i Versions.v
+ Versions.def Versions.v.i Versions.v
ifndef avoid-generated
ifneq ($(sysd-versions-subdirs),$(sorted-subdirs) $(config-sysdirs))
sysd-versions-force = FORCE
FORCE:
endif
-# See %.v/%.v.i implicit rules in Makeconfig.
-$(common-objpfx)Versions.def.v.i: $(..)Versions.def \
- $(wildcard $(add-ons:%=$(..)%/Versions.def))
+
+$(common-objpfx)Versions.def: $(..)scripts/versionlist.awk \
+ $(common-objpfx)Versions.v
+ LC_ALL=C $(AWK) -f $^ > $@T
+ mv -f $@T $@
+
$(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \
$(common-objpfx)soversions.i \
- $(common-objpfx)Versions.def.v
+ $(common-objpfx)Versions.def
{ while read which lib version setname; do \
test x"$$which" = xDEFAULT || continue; \
test -z "$$setname" || echo "$$lib : $$setname"; \
diff --git a/Versions.def b/Versions.def
index 9bb343f..759c754 100644
--- a/Versions.def
+++ b/Versions.def
@@ -124,7 +124,6 @@ librt {
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.7
- GLIBC_2.17
}
libutil {
GLIBC_2.0
diff --git a/scripts/versionlist.awk b/scripts/versionlist.awk
new file mode 100644
index 0000000..19fe672
--- /dev/null
+++ b/scripts/versionlist.awk
@@ -0,0 +1,39 @@
+# Extract ordered list of version sets from Versions files.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+
+BEGIN { in_lib = ""; in_version = 0 }
+
+!in_lib && NF == 2 && $2 == "{" { in_lib = $1; next }
+!in_lib { next }
+
+NF == 2 && $2 == "{" {
+ in_version = 1;
+ libs[in_lib] = libs[in_lib] " " $1 "\n";
+ lib_versions[in_lib, $1] = 1;
+ all_versions[$1] = 1;
+ next
+}
+
+in_version && $1 == "}" { in_version = 0; next }
+in_version { next }
+
+$1 == "}" { in_lib = ""; next }
+
+END {
+ nlibs = asorti(libs, libs_order);
+ for (i = 1; i <= nlibs; ++i) {
+ lib = libs_order[i];
+
+ for (v in all_versions) {
+ if (!((in_lib, v) in lib_versions)) {
+ libs[lib] = libs[lib] " " v "\n";
+ }
+ }
+
+ print lib, "{";
+ sort = "sort -u -t. -k 1,1 -k 2n,2n -k 3";
+ printf "%s", libs[lib] | sort;
+ close(sort);
+ print "}";
+ }
+}
-----------------------------------------------------------------------
hooks/post-receive
--
GNU C Library master sources