aboutsummaryrefslogtreecommitdiff
path: root/scripts/gendeclarations.lua
diff options
context:
space:
mode:
authorJohn Szakmeister <john@szakmeister.net>2014-12-03 06:47:01 -0500
committerJohn Szakmeister <john@szakmeister.net>2014-12-03 06:47:01 -0500
commit4049002f6b1f6db33a497c1f8473ab15233395d5 (patch)
treed344b84f027e3833aa1d70647b3642018ab7fab6 /scripts/gendeclarations.lua
parent788a5cf4786c0f069617ca3b29e1f9ea71566904 (diff)
parent05d72e98265b260f645835701a0183596b674c97 (diff)
downloadrneovim-4049002f6b1f6db33a497c1f8473ab15233395d5.tar.gz
rneovim-4049002f6b1f6db33a497c1f8473ab15233395d5.tar.bz2
rneovim-4049002f6b1f6db33a497c1f8473ab15233395d5.zip
Merge pull request #877 from equalsraf/tb-gendeclarations-windows
Refactor declaration generation error detection
Diffstat (limited to 'scripts/gendeclarations.lua')
-rwxr-xr-xscripts/gendeclarations.lua16
1 files changed, 7 insertions, 9 deletions
diff --git a/scripts/gendeclarations.lua b/scripts/gendeclarations.lua
index bc55b48a0a..9398bbb31c 100755
--- a/scripts/gendeclarations.lua
+++ b/scripts/gendeclarations.lua
@@ -3,9 +3,8 @@
local fname = arg[1]
local static_fname = arg[2]
local non_static_fname = arg[3]
-local cpp = arg[4]
+local preproc_fname = arg[4]
-cpp = cpp:gsub(' %-DINCLUDE_GENERATED_DECLARATIONS ', ' ')
local lpeg = require('lpeg')
@@ -156,15 +155,14 @@ local pattern = concat(
if fname == '--help' then
print'Usage:'
print()
- print' gendeclarations.lua definitions.c static.h non-static.h "cc -E …"'
+ print' gendeclarations.lua definitions.c static.h non-static.h preprocessor.i'
os.exit()
end
-local pipe = io.popen(cpp .. ' -DDO_NOT_DEFINE_EMPTY_ATTRIBUTES ' .. fname, 'r')
-local text = pipe:read('*a')
-if not pipe:close() then
- os.exit(2)
-end
+local preproc_f = io.open(preproc_fname)
+local text = preproc_f:read("*all")
+preproc_f:close()
+
local header = [[
#ifndef DEFINE_FUNC_ATTRIBUTES
@@ -181,7 +179,7 @@ local footer = [[
local non_static = header
local static = header
-local filepattern = '^# %d+ "[^"]-/?([^"/]+)"'
+local filepattern = '^#%a* %d+ "[^"]-/?([^"/]+)"'
local curfile
init = 0