/trunk/Examples/test-suite/extern_declaration.i
Swig | 31 lines | 21 code | 6 blank | 4 comment | 0 complexity | 059c26185ce7976ee535f9e034f880d5 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %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; }
- %}