Mercurial > mplayer.hg
changeset 30041:dea60722b5a3
Move code to write multiple inclusion guards to generated files into functions.
author | diego |
---|---|
date | Sun, 20 Dec 2009 17:01:47 +0000 |
parents | 79adcc3e4e83 |
children | 70b37e4475b6 |
files | vidix/pci_db2c.awk |
diffstat | 1 files changed, 28 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/vidix/pci_db2c.awk Sun Dec 20 16:32:58 2009 +0000 +++ b/vidix/pci_db2c.awk Sun Dec 20 17:01:47 2009 +0000 @@ -45,18 +45,12 @@ print_head(name_h_file); print_head(dev_ids_file); print_includes(dev_ids_file); - print "#ifndef MPLAYER_PCI_VENDORS_H" > vendor_file - print "#define MPLAYER_PCI_VENDORS_H" > vendor_file - print "" > vendor_file - print "#ifndef MPLAYER_PCI_IDS_H" > ids_file - print "#define MPLAYER_PCI_IDS_H" > ids_file - print "" > ids_file + print_guards_start(vendor_file); + print_guards_start(name_h_file); + print_guards_start(ids_file); print "#include \"pci_vendors.h\"" > ids_file print "" > ids_file - print "#ifndef MPLAYER_PCI_NAMES_H" > name_h_file - print "#define MPLAYER_PCI_NAMES_H" > name_h_file - print "" > name_h_file print_name_struct(name_h_file); print "#include <stddef.h>" > name_file print "#include \"pci_names.h\"" > name_file @@ -110,18 +104,37 @@ } } #print "Total lines parsed:", line; - print "" > vendor_file - print "#endif /* MPLAYER_PCI_VENDORS_H */" > vendor_file - print "" > ids_file - print "#endif /* MPLAYER_PCI_IDS_H */" > ids_file - print "" > name_h_file - print "#endif /* MPLAYER_PCI_NAMES_H */" > name_h_file + print_guards_end(vendor_file); + print_guards_end(name_h_file); + print_guards_end(ids_file); if (with_pci_db) print "};" > name_file print "{ 0xFFFF, NULL }" > dev_ids_file; print "};" > dev_ids_file print_func_bodies(name_file); } +function construct_guard_name(out_file) +{ + split(out_file, path_components, "/"); + sub(".h","_h", path_components[2]); + return "MPLAYER_" toupper(path_components[2]); +} + +function print_guards_start(out_file) +{ + guard_name = construct_guard_name(out_file); + printf("#ifndef %s\n", guard_name) > out_file + printf("#define %s\n", guard_name) > out_file + print "" > out_file +} + +function print_guards_end(out_file) +{ + guard_name = construct_guard_name(out_file); + print "" > out_file + printf("#endif /* %s */\n", guard_name) > out_file +} + function print_includes(out_file) { print "#include <stdlib.h>" > out_file;