about summary refs log tree commit diff
path: root/scripts/gen-libc-abis
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gen-libc-abis')
-rw-r--r--scripts/gen-libc-abis26
1 files changed, 26 insertions, 0 deletions
diff --git a/scripts/gen-libc-abis b/scripts/gen-libc-abis
new file mode 100644
index 0000000000..ce9ac5e20d
--- /dev/null
+++ b/scripts/gen-libc-abis
@@ -0,0 +1,26 @@
+#! /bin/sh
+triple="$1"
+
+printf "#ifndef _LIBC_ABIS_H\n#define _LIBC_ABIS_H 1\n\n"
+printf "enum\n{\n  LIBC_ABI_DEFAULT = 0,\n"
+
+while read s t; do
+  if test "$s" = "#" || test -z "$s"; then continue; fi
+  if test -z "$t"; then
+    printf "  LIBC_ABI_%s,\n" "$s"
+    features="$features $s"
+  else
+    case "$triple" in
+      $t) printf "  LIBC_ABI_%s,\n" "$s"
+	  features="$features $s" ;;
+       *) ;;
+    esac
+  fi
+done
+
+printf "  LIBC_ABI_MAX\n};\n"
+printf "\n#endif\n"
+
+if test -n "$features"; then
+  printf "#define LIBC_ABIS_STRING \"libc ABIs:%s\\\\n\"\n" "$features"
+fi