  //      Utility functions
 diff -ur idasdk-versions/5.3/include/expr.hpp swigsdk-versions/5.3/include/expr.hpp
 --- idasdk-versions/5.3/include/expr.hpp	2008-07-03 16:28:00.000000000 +0300
-+++ swigsdk-versions/5.3/include/expr.hpp	2008-09-30 19:30:22.000000000 +0300
-@@ -67,12 +67,14 @@
++++ swigsdk-versions/5.3/include/expr.hpp	2008-11-02 20:04:48.000000000 +0200
+@@ -67,12 +67,16 @@
                                  // number of arguments. The actual number of
                                  // arguments will be passed in 'num'
  
 +#ifndef SWIG
    union
    {
++#endif //SWIG
      char *str;                  // VT_STR
      sval_t num;                 // VT_LONG
      ushort e[6];                // VT_FLOAT
++#ifndef SWIG
    };
 +#endif // SWIG
  

 
 // Maximum address allowed to use in the program being disassebled.
 // This is obsolete, don't use it!
diff -ur idasdk-versions/5.3/include/idd.hpp swigsdk-versions/5.3/include/idd.hpp
--- idasdk-versions/5.3/include/idd.hpp	2008-07-07 14:04:00.000000000 +0300
+++ swigsdk-versions/5.3/include/idd.hpp	2008-09-30 18:23:09.000000000 +0300
@@ -51,6 +51,7 @@
   char name[MAXSTR];
 };
 
+#ifndef SWIG
 //====================================================================
 //
 //                          Registers
@@ -177,6 +178,7 @@
     return eid == BREAKPOINT && bpt.kea != BADADDR ? bpt.kea : ea;
   }
 };
+#endif // SWIG
 
 // Hardware breakpoint types
 typedef int bpttype_t;
@@ -187,6 +189,7 @@
   BPT_SOFT  =  4;             // Software breakpoint
 
 
+#ifndef SWIG
 // Exception information
 struct exception_info_t
 {
@@ -452,6 +455,7 @@
 #error "Size of debugger_t is incorrect"
 #endif
 #endif
+#endif // SWIG
 
 #ifndef NO_OBSOLETE_FUNCS
 typedef thid_t thread_id_t;
diff -ur idasdk-versions/5.3/include/idp.hpp swigsdk-versions/5.3/include/idp.hpp
--- idasdk-versions/5.3/include/idp.hpp	2008-07-01 00:15:00.000000000 +0300
+++ swigsdk-versions/5.3/include/idp.hpp	2008-09-30 18:23:09.000000000 +0300

 };
 
 inline bool is_func_entry(const func_t *pfn) { return pfn != NULL && (pfn->flags & FUNC_TAIL) == 0; }
diff -ur idasdk-versions/5.3/include/gdl.hpp swigsdk-versions/5.3/include/gdl.hpp
--- idasdk-versions/5.3/include/gdl.hpp	2008-05-04 21:36:00.000000000 +0300
+++ swigsdk-versions/5.3/include/gdl.hpp	2008-10-09 19:42:47.000000000 +0300
@@ -39,10 +39,14 @@
   fcb_error,     // block passes execution past the function end
 };
 
+#ifndef SWIG
 #define DECLARE_HELPER(decl)                                        \
 decl node_iterator &ida_export node_iterator_goup(node_iterator *); \
 decl void ida_export create_qflow_chart(qflow_chart_t &);           \
 decl fc_block_type_t ida_export fc_calc_block_type(const qflow_chart_t &, size_t);
+#else
+#define DECLARE_HELPER(decl)
+#endif // SWIG
 
 DECLARE_HELPER(idaman)
 
@@ -380,8 +384,10 @@
   area_t bounds;
   func_t *pfn;
   int flags;
+#ifndef SWIG
 #define FC_PRINT 0x0001 // print names
 #define FC_NOEXT 0x0002 // do not compute external blocks
+#endif // SWIG
   blocks_t blocks;
   bn_t bn;              // block numbers
   int nproper;          // number of basic blocks belonging to the specified area
diff -ur idasdk-versions/5.3/include/ida.hpp swigsdk-versions/5.3/include/ida.hpp
--- idasdk-versions/5.3/include/ida.hpp	2008-05-04 21:36:00.000000000 +0300
+++ swigsdk-versions/5.3/include/ida.hpp	2008-09-30 18:23:09.000000000 +0300
