r26243: stdint.i requires swigarch.i
authorJelmer Vernooij <jelmer@samba.org>
Mon, 3 Dec 2007 03:14:24 +0000 (04:14 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:47:22 +0000 (05:47 +0100)
source/autogen.sh
source/scripting/python/replace/swigarch.i [new file with mode: 0644]

index 5f71a09bf8c3c246ac5fb370373e2d6e7f2ce757..d3a4d873d1ebc76573bb2bfc20b5eb566b1534ab 100755 (executable)
@@ -65,7 +65,7 @@ rm -rf autom4te*.cache
 
 # Run swig if it is available
 SWIG=swig
-SWIG_FILES="./scripting/python/misc.i ./auth/auth.i ./auth/credentials/credentials.i ./lib/ldb/ldb.i ./lib/registry/registry.i ./lib/tdb/tdb.i ./libcli/swig/libcli_smb.i ./libcli/swig/libcli_nbt.i ./librpc/rpc/dcerpc.i lib/events/events.i libcli/security/security.i"
+SWIG_FILES="./scripting/python/misc.i ./auth/auth.i ./auth/credentials/credentials.i ./lib/ldb/ldb.i ./lib/registry/registry.i ./lib/tdb/tdb.i ./libcli/swig/libcli_smb.i ./libcli/swig/libcli_nbt.i ./librpc/rpc/dcerpc.i ./lib/events/events.i ./libcli/security/security.i"
 if which $SWIG >/dev/null 2>&1; then
        for I in $SWIG_FILES
        do
diff --git a/source/scripting/python/replace/swigarch.i b/source/scripting/python/replace/swigarch.i
new file mode 100644 (file)
index 0000000..260b608
--- /dev/null
@@ -0,0 +1,65 @@
+/* -----------------------------------------------------------------------------
+ * See the LICENSE file for information on copyright, usage and redistribution
+ * of SWIG, and the README file for authors - http://www.swig.org/release.html.
+ *
+ * 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
+  
+