| %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; } |
| %} |
| |
| |