vcpkg/ports/libffi/export-global-data.patch
2017-01-10 15:28:45 +01:00

36 lines
841 B
Diff

diff --git a/src/types.c b/src/types.c
index 0de5994..46c8d18 100644
--- a/src/types.c
+++ b/src/types.c
@@ -31,6 +31,12 @@
#include <ffi.h>
#include <ffi_common.h>
+#ifdef FFI_EXPORT_DATA
+#define FFI_EXPORT __declspec(dllexport)
+#else
+#define FFI_EXPORT
+#endif
+
/* Type definitions */
#define FFI_TYPEDEF(name, type, id) \
@@ -38,7 +44,7 @@ struct struct_align_##name { \
char c; \
type x; \
}; \
-const ffi_type ffi_type_##name = { \
+FFI_EXPORT const ffi_type ffi_type_##name = { \
sizeof(type), \
offsetof(struct struct_align_##name, x), \
id, NULL \
@@ -56,7 +62,7 @@ ffi_type ffi_type_##name = { \
}
/* Size and alignment are fake here. They must not be 0. */
-const ffi_type ffi_type_void = {
+FFI_EXPORT const ffi_type ffi_type_void = {
1, 1, FFI_TYPE_VOID, NULL
};