civetweb/resources/check_defines.lua
bel2125 8833c6bb12 Rename mod_http2.inl to http2.inl
The name "mod_*" is used for interfacing third party modules, but http2.inl is not third party.
2021-11-16 07:18:13 +01:00

86 lines
1.7 KiB
Lua

#!/usr/bin/lua5.2
usedlines = {c={}, n={}}
useddefs = {c={}, n={}}
function AddElem(tab, q)
if (tab.c[q]) then
tab.c[q] = tab.c[q] + 1
else
tab.c[q] = 1
tab.n[#tab.n+1]=q
end
end
function PrintTab(tab)
table.sort(tab.n)
for _,n in ipairs(tab.n) do
--print(tab.c[n], n)
print(n)
end
end
function noifdef(f)
local out = {}
local changed = false
for l in io.lines(f) do
local n = l:gsub("^#ifdef ([%w_]+)", "#if defined(%1)")
n = n:gsub("^#ifndef ([%w_]+)", "#if !defined(%1)")
out[#out+1] = (n)
if l ~= n then
--print(l , "-->", n)
changed = true
end
if n:match("^#if") then
local q = n:gsub("%/%*.+%*%/", "")
q = q:gsub("%s+$", "")
q = q:gsub("^%s+", "")
q = q:gsub("%s+", " ")
AddElem(usedlines, q)
for w in q:gmatch("%(%s*([%w_]+)%s*%)") do
AddElem(useddefs, w)
end
end
end
if changed then
local fi = io.open(f, "w")
for _,l in pairs(out) do
fi:write(l .. "\n")
end
fi:close()
print(f .. " rewritten")
end
-- print(#out .. " lines processed")
end
path = path or ""
noifdef(path .. "src/civetweb.c")
noifdef(path .. "src/civetweb_private_lua.h")
noifdef(path .. "src/main.c")
noifdef(path .. "src/md5.inl")
noifdef(path .. "src/mod_duktape.inl")
noifdef(path .. "src/http2.inl")
noifdef(path .. "src/mod_lua.inl")
noifdef(path .. "src/mod_lua_shared.inl")
noifdef(path .. "src/mod_zlib.inl")
noifdef(path .. "src/sha1.inl")
noifdef(path .. "src/timer.inl")
noifdef(path .. "src/wolfssl_extras.inl")
noifdef(path .. "src/response.inl")
noifdef(path .. "src/handle_form.inl")
--PrintTab(usedlines)
--print("Defines used")
PrintTab(useddefs)