Add automatic generation of headers

- The 'stripdecls.py' script replaces declarations in all headers by includes to
  generated headers.
  `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'`
  was used for this.
- Add and integrate gendeclarations.lua into the build system to generate the
  required includes.
- Add -Wno-unused-function
- Made a bunch of old-style definitions ANSI

This adds a requirement: all type and structure definitions must be present
before INCLUDE_GENERATED_DECLARATIONS-protected include.

Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is
the only exception.
This commit is contained in:
ZyX
2014-05-10 17:24:13 +04:00
committed by Thiago de Arruda
parent 880957ad4e
commit 70929f7e16
154 changed files with 2190 additions and 6184 deletions

View File

@@ -17,8 +17,10 @@
#include "nvim/vim.h"
#include "nvim/sha256.h"
static void sha256_process(context_sha256_T *ctx, char_u data[64]);
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "sha256.c.generated.h"
#endif
#define GET_UINT32(n, b, i) { \
(n) = ((uint32_t)(b)[(i)] << 24) \
| ((uint32_t)(b)[(i) + 1] << 16) \
@@ -248,7 +250,6 @@ void sha256_finish(context_sha256_T *ctx, char_u digest[32])
PUT_UINT32(ctx->state[7], digest, 28);
}
static unsigned int get_some_time(void);
/// Gets the hex digest of the buffer.
///