summary refs log tree commit diff
path: root/scripts/gen-libc-abis
blob: c5537645dc0d50263fd3424510d6842ef8fee2a2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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