/trunk/Examples/test-suite/extern_declaration.i
# · Swig · 31 lines · 21 code · 6 blank · 4 comment · 0 complexity · 059c26185ce7976ee535f9e034f880d5 MD5 · raw file
- %module extern_declaration
- // Test different calling conventions on Windows. Old versions of SWIG generated
- // an incorrect extern declaration that wouldn't compile with Windows compilers.
- #define SWIGEXPORT
- #define SWIGSTDCALL
- #define MYDLLIMPORT
- %{
- #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
- # define MYDLLIMPORT __declspec(dllimport)
- #else
- # define MYDLLIMPORT
- #endif
- %}
- MYDLLIMPORT extern int externimport(int i);
- SWIGEXPORT extern int externexport(int);
- extern int SWIGSTDCALL externstdcall(int);
- %{
- /*
- externimport ought to be using MYDLLIMPORT and compiled into another dll, but that is
- a bit tricky to do in the test framework
- */
- SWIGEXPORT extern int externimport(int i) { return i; }
- SWIGEXPORT extern int externexport(int i) { return i; }
- extern int SWIGSTDCALL externstdcall(int i) { return i; }
- %}