about summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/haveversions.awk23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/haveversions.awk b/scripts/haveversions.awk
new file mode 100644
index 0000000000..ce6f453761
--- /dev/null
+++ b/scripts/haveversions.awk
@@ -0,0 +1,23 @@
+# This script reads the contents of Versions.all and outputs a definition
+# of variable have-VERSION for each symbol version VERSION which is
+# defined.
+#
+# The have-VERSION variables can be used to check that a port supports a
+# particular symbol version in makefiles due to its base version.  A test
+# for a compatibility symbol which was superseded with a GLIBC_2.15
+# version could be tested like this:
+#
+# ifdef HAVE-GLIBC_2.14
+# tests += tst-spawn4-compat
+# endif # HAVE-GLIBC_2.14
+#
+# (NB: GLIBC_2.14 is the symbol version that immediately precedes
+# GLIBC_2.15.)
+
+NF == 1 && $1 != "}" {
+  haveversion[$1] = 1
+}
+END {
+  for (i in haveversion)
+    printf "have-%s = yes\n", i
+}