diff options
Diffstat (limited to 'scripts/gen-posix-conf-vars.awk')
-rw-r--r-- | scripts/gen-posix-conf-vars.awk | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/scripts/gen-posix-conf-vars.awk b/scripts/gen-posix-conf-vars.awk deleted file mode 100644 index 9a4c54256a..0000000000 --- a/scripts/gen-posix-conf-vars.awk +++ /dev/null @@ -1,86 +0,0 @@ -# Generate posix-conf-vars-def.h with definitions for CONF_DEF{CONF} for each -# configuration variable that getconf or sysconf may use. Currently it is -# equipped only to generate such macros for specification macros and for -# SYSCONF macros in the _POSIX namespace. - -BEGIN { - prefix = "" -} - -$1 ~ /^#/ || $0 ~ /^\s*$/ { - next -} - -# Begin a new prefix. -$NF == "{" { - type = $1 - prefix = $2 - - if (NF == 4) - sc_prefix = $3 - else - sc_prefix = "_SC" - - next -} - -$1 == "}" { - prefix = "" - type = "" - sc_prefix = "" - next -} - -{ - if (prefix == "" && type == "" && sc_prefix == "") { - printf ("Syntax error at %s:%d\n", FILENAME, FNR) > "/dev/stderr" - exit 1 - } - - # The prefix and variable names are indices and the value indicates what type - # of variable it is. The possible options are: - # CONFSTR: A configuration string - # SYSCONF: A numeric value - # SPEC: A specification - c = prefix "_" $1 - sc_prefixes[c] = sc_prefix - prefix_conf[c] = type - conf[c] = $1 -} - -END { - print "/* AUTOGENERATED by gen-posix-conf-vars.awk. DO NOT EDIT. */\n" - - # Generate macros that specify if a sysconf macro is defined and/or set. - for (c in prefix_conf) { - printf "#ifndef _%s\n", c - printf "# define CONF_DEF_%s CONF_DEF_UNDEFINED\n", c - # CONFSTR have string values and they are not set or unset. - if (prefix_conf[c] != "CONFSTR") { - printf "#else\n" - printf "# if _%s > 0\n", c - printf "# define CONF_DEF_%s CONF_DEF_DEFINED_SET\n", c - printf "# else\n" - printf "# define CONF_DEF_%s CONF_DEF_DEFINED_UNSET\n", c - printf "# endif\n" - } - printf "#endif\n\n" - - # Build a name -> sysconf number associative array to print a C array at - # the end. - if (prefix_conf[c] == "SPEC") - spec[c] = sc_prefixes[c] "_" conf[c] - } - - # Print the specification array. Define the macro NEED_SPEC_ARRAY before - # including posix-conf-vars.h to make it available in the compilation unit. - print "#if NEED_SPEC_ARRAY" - print "static const struct { const char *name; int num; } specs[] =" - print " {" - for (s in spec) { - printf " { \"%s\", %s },\n", s, spec[s] - } - print " };" - print "static const size_t nspecs = sizeof (specs) / sizeof (specs[0]);" - print "#endif" -} |