aboutsummaryrefslogtreecommitdiff
path: root/ports/libffi/export-global-data.patch
diff options
context:
space:
mode:
authorDale Stammen <dalestam@microsoft.com>2017-01-12 20:39:49 -0800
committerDale Stammen <dalestam@microsoft.com>2017-01-12 20:39:49 -0800
commit7676b8780db1e1e591c4fc7eba4f96f73c428cb4 (patch)
tree6864d24f6ea1fc6acec7a54e0f2b7e80a54642dc /ports/libffi/export-global-data.patch
parent30429e68db721f542abf153293b49822c107870e (diff)
parent9072f51d746b857dfda19844cc773181d6d42382 (diff)
downloadvcpkg-7676b8780db1e1e591c4fc7eba4f96f73c428cb4.tar.gz
vcpkg-7676b8780db1e1e591c4fc7eba4f96f73c428cb4.zip
Merge branch 'master' into curl-uwp
Diffstat (limited to 'ports/libffi/export-global-data.patch')
-rw-r--r--ports/libffi/export-global-data.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/ports/libffi/export-global-data.patch b/ports/libffi/export-global-data.patch
new file mode 100644
index 000000000..9d965f647
--- /dev/null
+++ b/ports/libffi/export-global-data.patch
@@ -0,0 +1,35 @@
+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
+ };
+