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-bits.sh | |
parent | 2746b131aa482ac17c94bc6b82e58dbcc1b752cf (diff) | |
download | skalibs-00c9cb1b22cc17c4db573e0e613a5f116ff0092e.tar.xz |
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-bits.sh')
-rwxr-xr-x | tools/gen-bits.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/gen-bits.sh b/tools/gen-bits.sh new file mode 100755 index 0000000..973562d --- /dev/null +++ b/tools/gen-bits.sh @@ -0,0 +1,34 @@ +#!/bin/sh -e + +#!/bin/sh -e + +sysdeps="$1" +bits="$2" +dfmt="$3" +ofmt="$4" +xfmt="$5" +bfmt="$6" + +tools/gen-types-internal.sh "" "" "$bits" < src/headers/bits-header + +if test "$bits" = 64 && grep -qF 'uint64t: no' "$sysdeps" ; then + if grep -qF 'sizeofulong: 8' "$sysdeps" ; then + cat src/headers/uint64-ulong64 + else + cat src/headers/uint64-noulong64 + fi +else + tools/gen-types-internal.sh "" "" "$bits" < src/headers/bits-stdint +fi + +if grep -qF 'endianness: little' < "$sysdeps" ; then + endian=l +elif grep -qF 'endianness: big' < "$sysdeps" ; then + endian=b +else + echo 'Error ! Unsupported endianness' 1>&2 + ./crash +fi +tools/gen-types-internal.sh "" "" "$bits" < src/headers/bits-${endian}endian +tools/gen-bits-internal.sh "$bits" "$dfmt" "$ofmt" "$xfmt" "$bfmt" +exec tools/gen-types-internal.sh "" "" "$bits" < src/headers/bits-footer |