diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2016-02-14 12:07:55 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2016-02-14 12:07:55 +0100 |
commit | 75f6817a5161949ca2ab08e36b8e0772b8d7da16 (patch) | |
tree | bfc46a17f78343333724c7f3e0062383827e47ef | |
parent | d19af41db49051db19d97f54700621db8adeecbb (diff) | |
parent | 8d7ab23b4965cc8ae74e94f8801a95b0ba306518 (diff) | |
download | rneovim-75f6817a5161949ca2ab08e36b8e0772b8d7da16.tar.gz rneovim-75f6817a5161949ca2ab08e36b8e0772b8d7da16.tar.bz2 rneovim-75f6817a5161949ca2ab08e36b8e0772b8d7da16.zip |
Merge pull request #4216 from bfredl/rebuild
build system: avoid more unneccesary recompiles
-rwxr-xr-x | scripts/gendeclarations.lua | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/scripts/gendeclarations.lua b/scripts/gendeclarations.lua index 4e74e4e301..637f4cdffa 100755 --- a/scripts/gendeclarations.lua +++ b/scripts/gendeclarations.lua @@ -239,23 +239,24 @@ end non_static = non_static .. footer static = static .. footer -local F -F = io.open(static_fname, 'w') -F:write(static) -F:close() --- Before generating the non-static headers, check if the current file(if --- exists) is different from the new one. If they are the same, we won't touch --- the current version to avoid triggering an unnecessary rebuilds of modules +-- Before generating the headers, check if the current file (if exists) is +-- different from the new one. If they are the same, we won't touch the +-- current version to avoid triggering an unnecessary rebuilds of modules -- that depend on this one -F = io.open(non_static_fname, 'r') -if F ~= nil then - if F:read('*a') == non_static then - os.exit(0) +local update_changed = function (fname, contents) + local F = io.open(fname, 'r') + if F ~= nil then + if F:read('*a') == contents then + return + end + io.close(F) end - io.close(F) + + F = io.open(fname, 'w') + F:write(contents) + F:close() end -F = io.open(non_static_fname, 'w') -F:write(non_static) -F:close() +update_changed(static_fname, static) +update_changed(non_static_fname, non_static) |