123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/usr/bin/awk -f
- #
- # Usage: awk -f separate.awk foo.SUSv4.in
- # Input: http://www.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html#tag_13_77_03_06
- # Output: foo-$CODE.SUSv4.syms, foo.SUSv4.syms
- #
- # Copyright (C) 2010 Bernhard Reutner-Fischer
- # Public domain
- function get_code(line)
- {
- sub("\\]\\[.*", "", line)
- sub("\\[", "", line)
- sub(" ", "", line)
- return line
- }
- BEGIN{
- code="";# feature set; XSI, OB XSI, CX, etc
- }
- /\[Option Start\]/{
- code = get_code($0)
- next
- }
- /\[Option End\]/{ code = ""; next; }
- /.*/ {
- if (!hdrname) {
- split(FILENAME, fparts, ".")
- hdrname = fparts[1]
- stdname = fparts[2]
- if (fparts[3] != "in") {
- print "inputfilename may not be ok, exiting."
- exit(1)
- }
- }
- if (code) {
- fname = hdrname "-" code "." stdname ".syms"
- } else {
- fname = hdrname "." stdname ".syms"
- }
- sub("^*", "", $0)
- if (file[code]) {
- print $0 >> fname
- } else {
- print $0 > fname
- file[code] = 1
- }
- }
|