GNU awk does not output escaped newlines in multi-line printc statements. This

leads to compile errors when trying to compile firmware(9) stubs created with
gawk, as multiple #include statements end up on the same line.  Replace the
multi-line printc statement that outputs all of the #includes with one printc
per #include.  This allows modules compatible with firmware(9) to be cross-built
from a Linux machine without requiring the one true awk to be installed.

I've intentionally done the minimal set of changes necessary to make gawk
produce valid (but not pretty) C code, to reduce the churn and keep fw_stubs.awk
as readable as possible.

Approved by:	emaste (mentor)
MFC after:	2 weeks
This commit is contained in:
Ryan Stone 2011-03-31 21:33:33 +00:00
parent 8b94099c81
commit 04af6e9603
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=220227

View File

@ -124,14 +124,14 @@ gsub(/[-\.]/, "_", modname);
printc("/*\
* Automatically generated by:\
* $FreeBSD$\
*/\
#include <sys/param.h>\
#include <sys/errno.h>\
#include <sys/kernel.h>\
#include <sys/module.h>\
#include <sys/linker.h>\
#include <sys/firmware.h>\
#include <sys/systm.h>\n");
*/");
printc("#include <sys/param.h>");
printc("#include <sys/errno.h>");
printc("#include <sys/kernel.h>");
printc("#include <sys/module.h>");
printc("#include <sys/linker.h>");
printc("#include <sys/firmware.h>");
printc("#include <sys/systm.h>\n");
if (opt_l) {
printc("static long " opt_l "_license_ack = 0;");