/* 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 #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 #endif #if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX) # error "SWIG wrapped code invalid in 32 bit architecture, regenarete code using -DSWIGWORDSIZE32" #endif %} #endif