makesyscalls: Add a way to include per-ABI headers

When the string %%ABI_HEADERS%% is found in syscalls.master, replace
it with the contents of the abi_headers config variable.  This allows
an ABI-specific syscalls.conf to add lines like:

	#include <compat/freebsd32/freebsd32.h>

when working from a shared syscalls.master.

Reviewed by:	kevans
This commit is contained in:
Brooks Davis 2021-11-22 22:36:56 +00:00
parent ed8a4423fb
commit 3f8f46a0ae

View File

@ -60,6 +60,7 @@ local config = {
abi_type_suffix = "",
abi_flags = "",
abi_flags_mask = 0,
abi_headers = "",
ptr_intptr_t_cast = "intptr_t",
}
@ -438,6 +439,16 @@ local pattern_table = {
write_line_pfile('systrace.*', line)
end,
},
{
dump_prevline = true,
pattern = "%%ABI_HEADERS%%",
process = function()
if config['abi_headers'] ~= "" then
line = config['abi_headers'] .. "\n"
write_line('sysinc', line)
end
end,
},
{
-- Buffer anything else
pattern = ".+",