diff --git a/cffi/.gitignore b/cffi/.gitignore new file mode 100644 index 000000000..ff01e40a3 --- /dev/null +++ b/cffi/.gitignore @@ -0,0 +1 @@ +.eggs/ diff --git a/include/notcurses/nckeys.h b/include/notcurses/nckeys.h index 2b11ea536..246ffd8d2 100644 --- a/include/notcurses/nckeys.h +++ b/include/notcurses/nckeys.h @@ -8,6 +8,17 @@ extern "C" { #endif +#ifdef NOTCURSES_FFI +#define static API +#endif + +#ifndef __MINGW32__ +#define API __attribute__((visibility("default"))) +#else +#define API __declspec(dllexport) +#endif +#define ALLOC __attribute__((malloc)) __attribute__((warn_unused_result)) + // Synthesized input events, i.e. any input event we can report that isn't // representative of some Unicode. This covers both keyboard and mouse events, // as well as signals and even window events. diff --git a/src/libffi/ffi.c b/src/libffi/ffi.c index 153e38ca2..7eb058a2b 100644 --- a/src/libffi/ffi.c +++ b/src/libffi/ffi.c @@ -2,6 +2,7 @@ // This file is auto generated from tools/generate_ffi.py #include #include +#include bool nccapability_canchangecolor(const nccapabilities* caps); bool nccell_bg_default_p(const nccell* cl); diff --git a/tools/generate_ffi.py b/tools/generate_ffi.py index 311227d25..258a803aa 100644 --- a/tools/generate_ffi.py +++ b/tools/generate_ffi.py @@ -21,6 +21,7 @@ def generate_ffi(notcurses_dir): f.write("// This file is auto generated from tools/generate_ffi.py\n") f.write("#include \n") f.write("#include \n\n") + f.write("#include \n\n") for line in lines: line = line.replace("RESTRICT", "restrict")