/trunk/Lib/swigarch.i
Swig | 62 lines | 32 code | 7 blank | 23 comment | 0 complexity | ebc2415a3efe96e79c9615f4813b7743 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /* -----------------------------------------------------------------------------
- * swigarch.i
- *
- * SWIG library file for 32bit/64bit code specialization and checking.
- *
- * Use only in extreme cases, when no arch. independent code can be
- * generated
- *
- * To activate architecture specific code, use
- *
- * swig -DSWIGWORDSIZE32
- *
- * or
- *
- * swig -DSWIGWORDSIZE64
- *
- * Note that extra checking code will be added to the wrapped code,
- * which will prevent the compilation in a different architecture.
- *
- * If you don't specify the SWIGWORDSIZE (the default case), swig will
- * generate architecture independent and/or 32bits code, with no extra
- * checking code added.
- * ----------------------------------------------------------------------------- */
- #if !defined(SWIGWORDSIZE32) && !defined(SWIGWORDSIZE64)
- # if (__WORDSIZE == 32)
- # define SWIGWORDSIZE32
- # endif
- #endif
-
- #if !defined(SWIGWORDSIZE64) && !defined(SWIGWORDSIZE32)
- # if defined(__x86_64) || defined(__x86_64__) || (__WORDSIZE == 64)
- # define SWIGWORDSIZE64
- # endif
- #endif
- #ifdef SWIGWORDSIZE32
- %{
- #define SWIGWORDSIZE32
- #ifndef LONG_MAX
- #include <limits.h>
- #endif
- #if (__WORDSIZE == 64) || (LONG_MAX != INT_MAX)
- # error "SWIG wrapped code invalid in 64 bit architecture, regenarete code using -DSWIGWORDSIZE64"
- #endif
- %}
- #endif
- #ifdef SWIGWORDSIZE64
- %{
- #define SWIGWORDSIZE64
- #ifndef LONG_MAX
- #include <limits.h>
- #endif
- #if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
- # error "SWIG wrapped code invalid in 32 bit architecture, regenarete code using -DSWIGWORDSIZE32"
- #endif
- %}
- #endif
-