Author: Armin Rigo <[email protected]>
Branch: static-callback-embedding
Changeset: r2567:22426c847e7f
Date: 2016-01-12 18:19 +0100
http://bitbucket.org/cffi/cffi/changeset/22426c847e7f/
Log: use declspec(dllimport/dllexport) on windows
diff --git a/testing/embedding/add_recursive-test.c
b/testing/embedding/add_recursive-test.c
--- a/testing/embedding/add_recursive-test.c
+++ b/testing/embedding/add_recursive-test.c
@@ -1,7 +1,13 @@
#include <stdio.h>
-extern int add_rec(int, int);
-extern int (*my_callback)(int);
+#ifdef _MSC_VER
+# define DLLIMPORT __declspec(dllimport)
+#else
+# define DLLIMPORT extern
+#endif
+
+DLLIMPORT int add_rec(int, int);
+DLLIMPORT int (*my_callback)(int);
static int some_callback(int x)
{
diff --git a/testing/embedding/add_recursive.py
b/testing/embedding/add_recursive.py
--- a/testing/embedding/add_recursive.py
+++ b/testing/embedding/add_recursive.py
@@ -24,7 +24,9 @@
""")
ffi.set_source("_add_recursive_cffi", """
-int (*my_callback)(int);
+/* use CFFI_DLLEXPORT: on windows, it expands to __declspec(dllexport),
+ which is needed to export a variable from a dll */
+CFFI_DLLEXPORT int (*my_callback)(int);
""")
fn = ffi.compile(verbose=True)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit