diff options
author | June McEnroe <june@causal.agency> | 2019-02-01 00:53:05 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2019-02-01 00:53:05 -0500 |
commit | 83bc80270bf126a28f3af26bc5fa8acdd526f8ca (patch) | |
tree | 5100907bcab75edd9a323da13bb49570b45f32a4 /home | |
parent | Add beef to README (diff) | |
download | src-83bc80270bf126a28f3af26bc5fa8acdd526f8ca.tar.gz src-83bc80270bf126a28f3af26bc5fa8acdd526f8ca.zip |
Add def script
Diffstat (limited to 'home')
-rwxr-xr-x | home/.local/bin/def | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/home/.local/bin/def b/home/.local/bin/def new file mode 100755 index 00000000..ea8b9536 --- /dev/null +++ b/home/.local/bin/def @@ -0,0 +1,47 @@ +#!/bin/sh +set -eu + +macro=$1 +headers=' +assert.h +complex.h +ctype.h +errno.h +fenv.h +float.h +inttypes.h +iso646.h +limits.h +locale.h +math.h +setjmp.h +signal.h +stdalign.h +stdarg.h +stdatomic.h +stdbool.h +stddef.h +stdint.h +stdio.h +stdlib.h +stdnoreturn.h +string.h +tgmath.h +threads.h +time.h +uchar.h +wchar.h +wctype.h +' + +for header in $headers; do + defined=$( + echo "$macro" \ + | cc -E -x c -include "$header" - \ + 2> /dev/null \ + | tail -n 1 + ) + [ $? -ne 0 -o "$defined" = "$macro" ] && continue + echo "#include <$header>" + echo "$defined" +done |