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 | 23f1902a07c792fe10c1649259eaf4b80a6f6c43 (patch) | |
tree | f2b6e5cc3e9f66d777faabd3129d084ae735832d | |
parent | Add beef to README (diff) | |
download | src-23f1902a07c792fe10c1649259eaf4b80a6f6c43.tar.gz src-23f1902a07c792fe10c1649259eaf4b80a6f6c43.zip |
Add def script
-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 |