diff options
Diffstat (limited to 'third_party/heimdal/lib/roken/roken.awk')
-rw-r--r-- | third_party/heimdal/lib/roken/roken.awk | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/third_party/heimdal/lib/roken/roken.awk b/third_party/heimdal/lib/roken/roken.awk new file mode 100644 index 0000000..00e60f0 --- /dev/null +++ b/third_party/heimdal/lib/roken/roken.awk @@ -0,0 +1,54 @@ +# $Id$ + +BEGIN { + print "#include <config.h>" + print "#include <stdio.h>" + print "#ifdef HAVE_SYS_TYPES_H" + print "#include <sys/types.h>" + print "#endif" + print "#ifdef HAVE_SYS_SOCKET_H" + print "#include <sys/socket.h>" + print "#endif" + print "#ifdef HAVE_ERRNO_H" + print "#include <errno.h>" + print "#endif" + print "#if !defined(__has_extension)" + print "#define __has_extension(x) 0" + print "#endif" + print "#ifndef ROKEN_REQUIRE_GNUC" + print "#define ROKEN_REQUIRE_GNUC(m,n,p) \\" + print " (((__GNUC__ * 10000) + (__GNUC_MINOR__ * 100) + __GNUC_PATCHLEVEL__) >= \\" + print " (((m) * 10000) + ((n) * 100) + (p)))" + print "#endif" + print "" + print "int main(int argc, char **argv)" + print "{" + print "puts(\"/* This is an OS dependent, generated file */\");" + print "puts(\"\\n\");" + print "puts(\"#ifndef __ROKEN_H__\");" + print "puts(\"#define __ROKEN_H__\");" + print "puts(\"\");" +} + +$1 == "#ifdef" || $1 == "#ifndef" || $1 == "#if" || $1 == "#else" || $1 == "#elif" || $1 == "#endif" { + print $0; + next +} + +{ + s = "" + for(i = 1; i <= length; i++){ + x = substr($0, i, 1) + if(x == "\"" || x == "\\") + s = s "\\"; + s = s x; + } + print "puts(\"" s "\");" +} + +END { + print "puts(\"\");" + print "puts(\"#endif /* __ROKEN_H__ */\");" + print "return 0;" + print "}" +} |