diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2017-01-25 15:52:18 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2017-01-25 15:52:18 +0000 |
| commit | 00c9cb1b22cc17c4db573e0e613a5f116ff0092e (patch) | |
| tree | 53178b2c52c6e97c6193f73378f3c5e5a781a914 /tools/gen-types.sh | |
| parent | 2746b131aa482ac17c94bc6b82e58dbcc1b752cf (diff) | |
| download | skalibs-00c9cb1b22cc17c4db573e0e613a5f116ff0092e.tar.gz | |
More work on the types. This commit builds but has errors.
Rework src/headers entirely: build skalibs/types.h
Convert skalibs/fmtscan.h types.
Propagate changes until it builds.
There are a lot of incompatible pointer issues remaining, those will be fixed with the buffer overhaul.
Diffstat (limited to 'tools/gen-types.sh')
| -rwxr-xr-x | tools/gen-types.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/gen-types.sh b/tools/gen-types.sh new file mode 100755 index 0000000..acc9dab --- /dev/null +++ b/tools/gen-types.sh @@ -0,0 +1,29 @@ +#!/bin/sh -e + +sysdeps="$1" +shift + +getbits() { + expr 8 '*' `grep -F sizeof$2: < "$1" | cut -f2 -d' ')` +} + +cat < src/headers/types-header + +for i in short int long ; do + I=$(echo "$i" | tr a-z A-Z) + bits=$(getbits "$sysdeps" u$i) + tools/gen-types-internal.sh u$i U$I $bits < src/headers/unsigned-template + tools/gen-types-internal.sh $i $I $bits < src/headers/signed-template +done + +for i in "$@" ; do + un=un + I=$(echo "$i" | tr a-z A-Z) + bits=$(getbits "$sysdeps" $i) + if grep -qF "signed$i: yes" < "$sysdeps" ; then + un= + fi + tools/gen-types-internal.sh $i $I $bits < src/headers/"$un"signed-template +done + +exec cat < src/headers/types-footer |
