PageRenderTime 19ms CodeModel.GetById 14ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Lib/swigarch.i

#
Swig | 62 lines | 32 code | 7 blank | 23 comment | 0 complexity | ebc2415a3efe96e79c9615f4813b7743 MD5 | raw file
 1/* -----------------------------------------------------------------------------
 2 * swigarch.i
 3 *
 4 * SWIG library file for 32bit/64bit code specialization and checking.
 5 *
 6 * Use only in extreme cases, when no arch. independent code can be
 7 * generated
 8 * 
 9 * To activate architecture specific code, use
10 *
11 *     swig -DSWIGWORDSIZE32
12 *
13 * or
14 *
15 *     swig -DSWIGWORDSIZE64
16 *
17 * Note that extra checking code will be added to the wrapped code,
18 * which will prevent the compilation in a different architecture.
19 *
20 * If you don't specify the SWIGWORDSIZE (the default case), swig will
21 * generate architecture independent and/or 32bits code, with no extra
22 * checking code added.
23 * ----------------------------------------------------------------------------- */
24
25#if !defined(SWIGWORDSIZE32) &&  !defined(SWIGWORDSIZE64)
26# if (__WORDSIZE == 32)
27#  define SWIGWORDSIZE32
28# endif
29#endif
30  
31#if !defined(SWIGWORDSIZE64) &&  !defined(SWIGWORDSIZE32) 
32# if defined(__x86_64) || defined(__x86_64__) || (__WORDSIZE == 64)
33#  define SWIGWORDSIZE64
34# endif
35#endif
36
37
38#ifdef SWIGWORDSIZE32
39%{
40#define SWIGWORDSIZE32
41#ifndef LONG_MAX
42#include <limits.h>
43#endif
44#if (__WORDSIZE == 64) || (LONG_MAX != INT_MAX)
45# error "SWIG wrapped code invalid in 64 bit architecture, regenarete code using -DSWIGWORDSIZE64"
46#endif
47%}
48#endif
49
50#ifdef SWIGWORDSIZE64
51%{
52#define SWIGWORDSIZE64
53#ifndef LONG_MAX
54#include <limits.h>
55#endif
56#if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
57# error "SWIG wrapped code invalid in 32 bit architecture, regenarete code using -DSWIGWORDSIZE32"
58#endif
59%}
60#endif
61  
62