[geos-commits] r3987 - in trunk: macros swig/ruby

svn_geos at osgeo.org svn_geos at osgeo.org
Fri Jun 20 00:39:23 PDT 2014


Author: strk
Date: 2014-06-20 00:39:23 -0700 (Fri, 20 Jun 2014)
New Revision: 3987

Modified:
   trunk/macros/ruby.m4
   trunk/swig/ruby/Makefile.am
   trunk/swig/ruby/geos_wrap.cxx
Log:
Update ruby binding build scripts

Build succeeds with ruby1.9.1-dev.
Swig wrapper updated.
See https://github.com/libgeos/libgeos/pull/22

Modified: trunk/macros/ruby.m4
===================================================================
--- trunk/macros/ruby.m4	2014-06-20 07:28:27 UTC (rev 3986)
+++ trunk/macros/ruby.m4	2014-06-20 07:39:23 UTC (rev 3987)
@@ -38,7 +38,7 @@
 		RUBY_EXTENSION_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["sitearchdir"]] || Config::CONFIG[["sitearchdir"]]'`
 
 		dnl Get Ruby shared library name, this does not include the lib prefix or extension name
-		RUBY_SO_NAME=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["LIBRUBY_SO"]] || Config::CONFIG[["RUBY_SO_NAME"]]'`
+		RUBY_SO_NAME=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["RUBY_SO_NAME"]] || Config::CONFIG[["RUBY_SO_NAME"]]'`
 		
 		dnl Get Ruby shared libary name
 		RUBY_SHARED_LIB=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["LIBRUBY"]] || Config::CONFIG[["LIBRUBY"]]'`

Modified: trunk/swig/ruby/Makefile.am
===================================================================
--- trunk/swig/ruby/Makefile.am	2014-06-20 07:28:27 UTC (rev 3986)
+++ trunk/swig/ruby/Makefile.am	2014-06-20 07:39:23 UTC (rev 3987)
@@ -25,7 +25,7 @@
 geos_la_LIBADD =  $(top_builddir)/capi/libgeos_c.la $(RUBY_SO_NAME)
 
 # Only need to grab the capi header files
-geos_la_CPPFLAGS = -I$(top_builddir)/capi
+geos_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)/capi
 
 # Specify -module and -avoid-version so we can create a file called geos.dll/so which is what Ruby wants
 geos_la_LDFLAGS = -no-undefined  -module -avoid-version -L$(RUBY_LIB_DIR)

Modified: trunk/swig/ruby/geos_wrap.cxx
===================================================================
--- trunk/swig/ruby/geos_wrap.cxx	2014-06-20 07:28:27 UTC (rev 3986)
+++ trunk/swig/ruby/geos_wrap.cxx	2014-06-20 07:39:23 UTC (rev 3987)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 2.0.4
+ * Version 2.0.10
  * 
  * This file is not intended to be easily readable and contains a number of 
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -422,7 +422,7 @@
   return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; 
 }
 #else /* no cast-rank mode */
-#  define SWIG_AddCast
+#  define SWIG_AddCast(r) (r)
 #  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
 #endif
 
@@ -486,18 +486,18 @@
 
 /*
   Check type equivalence in a name list like <name1>|<name2>|...
-  Return 0 if not equal, 1 if equal
+  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
 */
 SWIGRUNTIME int
-SWIG_TypeEquiv(const char *nb, const char *tb) {
-  int equiv = 0;
+SWIG_TypeCmp(const char *nb, const char *tb) {
+  int equiv = 1;
   const char* te = tb + strlen(tb);
   const char* ne = nb;
-  while (!equiv && *ne) {
+  while (equiv != 0 && *ne) {
     for (nb = ne; *ne; ++ne) {
       if (*ne == '|') break;
     }
-    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+    equiv = SWIG_TypeNameComp(nb, ne, tb, te);
     if (*ne) ++ne;
   }
   return equiv;
@@ -505,24 +505,13 @@
 
 /*
   Check type equivalence in a name list like <name1>|<name2>|...
-  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
+  Return 0 if not equal, 1 if equal
 */
 SWIGRUNTIME int
-SWIG_TypeCompare(const char *nb, const char *tb) {
-  int equiv = 0;
-  const char* te = tb + strlen(tb);
-  const char* ne = nb;
-  while (!equiv && *ne) {
-    for (nb = ne; *ne; ++ne) {
-      if (*ne == '|') break;
-    }
-    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
-    if (*ne) ++ne;
-  }
-  return equiv;
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
 }
 
-
 /*
   Check the typename
 */
@@ -1398,7 +1387,7 @@
 
 /* Runtime API */
 
-#define SWIG_GetModule(clientdata)                      SWIG_Ruby_GetModule()	
+#define SWIG_GetModule(clientdata)                      SWIG_Ruby_GetModule(clientdata)
 #define SWIG_SetModule(clientdata, pointer) 		SWIG_Ruby_SetModule(pointer)
 
 
@@ -1552,7 +1541,7 @@
         downcast methods. */
       if (obj != Qnil) {
         VALUE value = rb_iv_get(obj, "@__swigtype__");
-        char* type_name = RSTRING_PTR(value);
+        const char* type_name = RSTRING_PTR(value);
 				
         if (strcmp(type->name, type_name) == 0) {
           return obj;
@@ -1734,7 +1723,7 @@
 }
 
 SWIGRUNTIME swig_module_info *
-SWIG_Ruby_GetModule(void)
+SWIG_Ruby_GetModule(void *SWIGUNUSEDPARM(clientdata))
 {
   VALUE pointer;
   swig_module_info *ret = 0;
@@ -1774,7 +1763,7 @@
 SWIGINTERN
 int SWIG_Ruby_isCallable( VALUE proc )
 {
-  if ( rb_respond_to( proc, swig_call_id ) == Qtrue )
+  if ( rb_respond_to( proc, swig_call_id ) )
     return 1;
   return 0;
 }
@@ -1787,7 +1776,7 @@
 SWIGINTERN
 int SWIG_Ruby_arity( VALUE proc, int minimal )
 {
-  if ( rb_respond_to( proc, swig_arity_id ) == Qtrue )
+  if ( rb_respond_to( proc, swig_arity_id ) )
     {
       VALUE num = rb_funcall( proc, swig_arity_id, 0 );
       int arity = NUM2INT(num);
@@ -1857,7 +1846,7 @@
 #define SWIG_RUBY_THREAD_END_BLOCK
 
 
-#define SWIGVERSION 0x020004 
+#define SWIGVERSION 0x020010 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -1878,11 +1867,64 @@
 
 
 namespace swig {
-  class GC_VALUE {
-  protected:
+  class SwigGCReferences {
     // Hash of all GC_VALUE's currently in use
-    static VALUE _hash;
+    static SwigGCReferences s_references;
 
+    VALUE _hash;
+
+    SwigGCReferences() : _hash(Qnil) {
+    }
+    ~SwigGCReferences() {
+      if (_hash != Qnil)
+        rb_gc_unregister_address(&_hash);
+    }
+    static void EndProcHandler(VALUE) {
+      // Ruby interpreter ending - _hash can no longer be accessed.
+      s_references._hash = Qnil;
+    }
+  public:
+    static SwigGCReferences& instance() {
+      return s_references;
+    }
+    static void initialize() {
+      if (s_references._hash == Qnil) {
+        rb_set_end_proc(&EndProcHandler, Qnil);
+        s_references._hash = rb_hash_new();
+        rb_gc_register_address(&s_references._hash);
+      }
+    }
+    void GC_register(VALUE& obj) {
+      if (FIXNUM_P(obj) || SPECIAL_CONST_P(obj) || SYMBOL_P(obj))
+        return;
+      if (_hash != Qnil) {
+        VALUE val = rb_hash_aref(_hash, obj);
+        unsigned n = FIXNUM_P(val) ? NUM2UINT(val) : 0;
+        ++n;
+        rb_hash_aset(_hash, obj, INT2NUM(n));
+      }
+    }
+    void GC_unregister(const VALUE& obj) {
+      if (FIXNUM_P(obj) || SPECIAL_CONST_P(obj) || SYMBOL_P(obj))
+        return;
+      // this test should not be needed but I've noticed some very erratic
+      // behavior of none being unregistered in some very rare situations.
+      if (BUILTIN_TYPE(obj) == T_NONE)
+        return;
+      if (_hash != Qnil) {
+        VALUE val = rb_hash_aref(s_references._hash, obj);
+        unsigned n = FIXNUM_P(val) ? NUM2UINT(val) : 1;
+        --n;
+        if (n)
+          rb_hash_aset(s_references._hash, obj, INT2NUM(n));
+        else
+          rb_hash_delete(s_references._hash, obj);
+      }
+    }
+  };
+
+  class GC_VALUE {
+  protected:
     VALUE  _obj;
 
     static ID hash_id;
@@ -1919,75 +1961,33 @@
 
 
   public:
-    static void initialize()
+    GC_VALUE() : _obj(Qnil)
     {
-      if ( _hash == Qnil ) 
-	{ 
-	  _hash = rb_hash_new();
-	  rb_gc_register_address( &_hash );
-	}
     }
 
-    // this function is never called.  Provided for symmetry only.
-    static void cleanup()
-    {
-      rb_gc_unregister_address( &_hash );
-    }
-
-    GC_VALUE() : _obj( Qnil )
-    {
-    }
-
     GC_VALUE(const GC_VALUE& item) : _obj(item._obj)
     {
-      GC_register();
+      SwigGCReferences::instance().GC_register(_obj);
     }
     
     GC_VALUE(VALUE obj) :_obj(obj)
     {
-      GC_register();
+      SwigGCReferences::instance().GC_register(_obj);
     }
     
     ~GC_VALUE() 
     {
-      GC_unregister();
+      SwigGCReferences::instance().GC_unregister(_obj);
     }
     
     GC_VALUE & operator=(const GC_VALUE& item) 
     {
-      GC_unregister();
+      SwigGCReferences::instance().GC_unregister(_obj);
       _obj = item._obj;
-      GC_register();
+      SwigGCReferences::instance().GC_register(_obj);
       return *this;
     }
 
-    void GC_register()
-    {
-      if ( FIXNUM_P(_obj) || SPECIAL_CONST_P(_obj) || SYMBOL_P(_obj) ) 
-	return;
-      VALUE val = rb_hash_aref( _hash, _obj );
-      unsigned n = FIXNUM_P(val) ? NUM2UINT(val) : 0;
-      ++n;
-      rb_hash_aset( _hash, _obj, INT2NUM(n) );
-    }
-
-    void GC_unregister()
-    {
-      if ( FIXNUM_P(_obj) || SPECIAL_CONST_P(_obj) || SYMBOL_P(_obj) ) 
-	return;
-      // this test should not be needed but I've noticed some very erratic
-      // behavior of none being unregistered in some very rare situations.
-      if ( BUILTIN_TYPE(_obj) == T_NONE ) return;
-
-      VALUE val = rb_hash_aref( _hash, _obj );
-      unsigned n = FIXNUM_P(val) ? NUM2UINT(val) : 1;
-      --n;
-      if ( n )
-	rb_hash_aset( _hash, _obj, INT2NUM(n) );
-      else
-	rb_hash_delete( _hash, _obj );
-    }
-    
     operator VALUE() const
     {
       return _obj;
@@ -2003,113 +2003,110 @@
       return rb_inspect(_obj);
     }
 
-    static VALUE swig_protect_funcall( VALUE p )
+    static VALUE swig_rescue_swallow(VALUE)
     {
+      /*
+      VALUE errstr = rb_obj_as_string(rb_errinfo());
+      printf("Swallowing error: '%s'\n", RSTRING_PTR(StringValue(errstr)));
+      */
+      return Qnil; /* Swallow Ruby exception */
+    }
+
+    static VALUE swig_rescue_funcall(VALUE p)
+    {
       OpArgs* args = (OpArgs*) p;
-      return rb_funcall( args->src, args->id, args->nargs, args->target );
+      return rb_funcall(args->src, args->id, args->nargs, args->target);
     }
 
-
-#define GC_VALUE_CMP( op_id, op, cmp, cmpval ) \
-    bool op( const GC_VALUE& other ) const \
-    { \
-      if ( FIXNUM_P(_obj) && FIXNUM_P(other._obj) ) \
-      { \
-	return _obj cmp other._obj; \
-      } \
-      bool  res = false; \
-      VALUE ret = Qnil; \
-      SWIG_RUBY_THREAD_BEGIN_BLOCK; \
-      if ( rb_respond_to( _obj, op_id ) == Qtrue ) \
-	{ \
-	  int status; \
-	  OpArgs  args; \
-          args.src    = _obj; \
-	  args.id     = op_id; \
-	  args.nargs  = 1; \
-	  args.target = VALUE(other); \
-	  ret = rb_protect( PROTECTFUNC(swig_protect_funcall), \
-                            VALUE(&args), &status ); \
-	} \
-      if ( ret == Qnil ) { \
-	VALUE a = rb_funcall(         _obj, hash_id, 0 ); \
-	VALUE b = rb_funcall( VALUE(other), hash_id, 0 ); \
-	res = a cmp b; \
-      } \
-      else \
-	{ \
-	  res = RTEST( ret ); \
-	} \
-      SWIG_RUBY_THREAD_END_BLOCK; \
-      return res; \
+    bool relational_equal_op(const GC_VALUE& other, const ID& op_id, bool (*op_func)(const VALUE& a, const VALUE& b)) const
+    {
+      if (FIXNUM_P(_obj) && FIXNUM_P(other._obj)) {
+        return op_func(_obj, other._obj);
+      }
+      bool res = false;
+      VALUE ret = Qnil;
+      SWIG_RUBY_THREAD_BEGIN_BLOCK;
+      if (rb_respond_to(_obj, op_id)) {
+        OpArgs  args;
+        args.src    = _obj;
+        args.id     = op_id;
+        args.nargs  = 1;
+        args.target = VALUE(other);
+        ret = rb_rescue(RUBY_METHOD_FUNC(swig_rescue_funcall), VALUE(&args),
+                       (RUBY_METHOD_FUNC(swig_rescue_swallow)), Qnil);
+      }
+      if (ret == Qnil) {
+        VALUE a = rb_funcall(         _obj, hash_id, 0 );
+        VALUE b = rb_funcall( VALUE(other), hash_id, 0 );
+        res = op_func(a, b);
+      } else {
+        res = RTEST(ret);
+      }
+      SWIG_RUBY_THREAD_END_BLOCK;
+      return res;
     }
 
+    static bool operator_eq(const VALUE& a, const VALUE& b) { return a == b; }
+    static bool operator_lt(const VALUE& a, const VALUE& b) { return a < b; }
+    static bool operator_le(const VALUE& a, const VALUE& b) { return a <= b; }
+    static bool operator_gt(const VALUE& a, const VALUE& b) { return a > b; }
+    static bool operator_ge(const VALUE& a, const VALUE& b) { return a >= b; }
 
-    GC_VALUE_CMP( eq_id, operator==, ==, == 0 )
-    GC_VALUE_CMP( lt_id, operator<,  < , <  0 )
-    GC_VALUE_CMP( le_id, operator<=, <=, <= 0 )
-    GC_VALUE_CMP( gt_id, operator>,  > , >  0 )
-    GC_VALUE_CMP( ge_id, operator>=, >=, >= 0 )
-#undef GC_VALUE_CMP
+    bool operator==(const GC_VALUE& other) const { return relational_equal_op(other, eq_id, operator_eq); }
+    bool operator<(const GC_VALUE& other) const { return relational_equal_op(other, lt_id, operator_lt); }
+    bool operator<=(const GC_VALUE& other) const { return relational_equal_op(other, le_id, operator_le); }
+    bool operator>(const GC_VALUE& other) const { return relational_equal_op(other, gt_id, operator_gt); }
+    bool operator>=(const GC_VALUE& other) const { return relational_equal_op(other, ge_id, operator_ge); }
 
-    bool operator!=( const GC_VALUE& other )
+    bool operator!=(const GC_VALUE& other) const
     {
       return !(this->operator==(other));
     }
 
-#define GC_VALUE_UNARY( proc_id, op ) \
-    GC_VALUE op() const \
-    { \
-      VALUE ret = Qnil; \
-      SWIG_RUBY_THREAD_BEGIN_BLOCK; \
-      int status; \
-      OpArgs  args; \
-      args.src    = _obj; \
-      args.id     = proc_id; \
-      args.nargs  = 0; \
-      args.target = Qnil; \
-      ret = rb_protect( PROTECTFUNC(swig_protect_funcall), VALUE(&args), \
-			&status ); \
-      SWIG_RUBY_THREAD_END_BLOCK; \
-      return ret; \
+    GC_VALUE unary_op(const ID& op_id) const
+    {
+      VALUE ret = Qnil;
+      SWIG_RUBY_THREAD_BEGIN_BLOCK;
+      OpArgs  args;
+      args.src    = _obj;
+      args.id     = op_id;
+      args.nargs  = 0;
+      args.target = Qnil;
+      ret = rb_rescue(RUBY_METHOD_FUNC(swig_rescue_funcall), VALUE(&args),
+                     (RUBY_METHOD_FUNC(swig_rescue_swallow)), Qnil);
+      SWIG_RUBY_THREAD_END_BLOCK;
+      return ret;
     }
 
-    GC_VALUE_UNARY( pos_id, operator+ )
-    GC_VALUE_UNARY( neg_id, operator- )
-    GC_VALUE_UNARY( inv_id, operator~ )
-#undef GC_VALUE_BINARY
+    GC_VALUE operator+() const { return unary_op(pos_id); }
+    GC_VALUE operator-() const { return unary_op(neg_id); }
+    GC_VALUE operator~() const { return unary_op(inv_id); }
 
-#define GC_VALUE_BINARY( proc_id, op ) \
-    GC_VALUE op( const GC_VALUE& other ) const \
-    { \
-      VALUE ret = Qnil; \
-      SWIG_RUBY_THREAD_BEGIN_BLOCK; \
-      int status; \
-      OpArgs  args; \
-      args.src    = _obj; \
-      args.id     = proc_id; \
-      args.nargs  = 1; \
-      args.target = VALUE(other); \
-      ret = rb_protect( PROTECTFUNC(swig_protect_funcall), VALUE(&args), \
-			&status ); \
-      SWIG_RUBY_THREAD_END_BLOCK; \
-      return GC_VALUE(ret); \
+    GC_VALUE binary_op(const GC_VALUE& other, const ID& op_id) const
+    {
+      VALUE ret = Qnil;
+      SWIG_RUBY_THREAD_BEGIN_BLOCK;
+      OpArgs  args;
+      args.src    = _obj;
+      args.id     = op_id;
+      args.nargs  = 1;
+      args.target = VALUE(other);
+      ret = rb_rescue(RUBY_METHOD_FUNC(swig_rescue_funcall), VALUE(&args),
+                     (RUBY_METHOD_FUNC(swig_rescue_swallow)), Qnil);
+      SWIG_RUBY_THREAD_END_BLOCK;
+      return GC_VALUE(ret);
     }
 
-    GC_VALUE_BINARY( add_id, operator+ );
-    GC_VALUE_BINARY( sub_id, operator- );
-    GC_VALUE_BINARY( mul_id, operator* );
-    GC_VALUE_BINARY( div_id, operator/ );
-    GC_VALUE_BINARY( mod_id, operator% );
-    
-    GC_VALUE_BINARY( and_id, operator& );
-    GC_VALUE_BINARY( xor_id, operator^ );
-    GC_VALUE_BINARY(  or_id, operator| );
-
-    GC_VALUE_BINARY( lshift_id, operator<< );
-    GC_VALUE_BINARY( rshift_id, operator>> );
-#undef GC_VALUE_BINARY
-
+    GC_VALUE operator+(const GC_VALUE& other) const { return binary_op(other, add_id); }
+    GC_VALUE operator-(const GC_VALUE& other) const { return binary_op(other, sub_id); }
+    GC_VALUE operator*(const GC_VALUE& other) const { return binary_op(other, mul_id); }
+    GC_VALUE operator/(const GC_VALUE& other) const { return binary_op(other, div_id); }
+    GC_VALUE operator%(const GC_VALUE& other) const { return binary_op(other, mod_id); }
+    GC_VALUE operator&(const GC_VALUE& other) const { return binary_op(other, and_id); }
+    GC_VALUE operator^(const GC_VALUE& other) const { return binary_op(other, xor_id); }
+    GC_VALUE operator|(const GC_VALUE& other) const { return binary_op(other, or_id); }
+    GC_VALUE operator<<(const GC_VALUE& other) const { return binary_op(other, lshift_id); }
+    GC_VALUE operator>>(const GC_VALUE& other) const { return binary_op(other, rshift_id); }
   };
 
   ID  GC_VALUE::hash_id = rb_intern("hash");
@@ -2136,7 +2133,7 @@
   ID  GC_VALUE::lshift_id = rb_intern("<<");
   ID  GC_VALUE::rshift_id = rb_intern(">>");
 
-  VALUE GC_VALUE::_hash = Qnil;
+  SwigGCReferences SwigGCReferences::s_references;
 
   typedef GC_VALUE LANGUAGE_OBJ;
 
@@ -2155,7 +2152,10 @@
 #include <stdexcept>
 #include <stddef.h>
 
-  
+
+  #include <stddef.h>
+
+
 namespace swig {
   struct stop_iteration {
   };
@@ -2912,11 +2912,7 @@
 SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
 {
   if (TYPE(obj) == T_STRING) {
-    #if defined(StringValuePtr)
     char *cstr = StringValuePtr(obj); 
-    #else
-    char *cstr = STR2CSTR(obj);
-    #endif
     size_t size = RSTRING_LEN(obj) + 1;
     if (cptr)  {
       if (alloc) {
@@ -3336,7 +3332,7 @@
         GEOSGeom geom = (GEOSGeom) g;
         return GEOSWKBWriter_writeHEX(writer, geom, size);
     }
-swig_class SwigClassGCVALUE;
+static swig_class SwigClassGCVALUE;
 
 
 /*
@@ -3394,7 +3390,7 @@
 }
 
 
-swig_class SwigClassConstIterator;
+static swig_class SwigClassConstIterator;
 
 SWIGINTERN void
 free_swig_ConstIterator(swig::ConstIterator *arg1) {
@@ -3988,7 +3984,7 @@
 }
 
 
-swig_class SwigClassIterator;
+static swig_class SwigClassIterator;
 
 SWIGINTERN VALUE
 _wrap_Iterator_valuee___(int argc, VALUE *argv, VALUE self) {
@@ -4592,7 +4588,7 @@
 }
 
 
-swig_class SwigClassCoordinateSequence;
+static swig_class SwigClassCoordinateSequence;
 
 #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
 SWIGINTERN VALUE
@@ -5144,7 +5140,7 @@
 }
 
 
-swig_class SwigClassGeometry;
+static swig_class SwigClassGeometry;
 
 SWIGINTERN void delete_GeosGeometry(GeosGeometry *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7184,7 +7180,7 @@
 }
 
 
-swig_class SwigClassPoint;
+static swig_class SwigClassPoint;
 
 SWIGINTERN void delete_GeosPoint(GeosPoint *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7228,7 +7224,7 @@
 }
 
 
-swig_class SwigClassLineString;
+static swig_class SwigClassLineString;
 
 SWIGINTERN void delete_GeosLineString(GeosLineString *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7272,7 +7268,7 @@
 }
 
 
-swig_class SwigClassLinearRing;
+static swig_class SwigClassLinearRing;
 
 SWIGINTERN void delete_GeosLinearRing(GeosLinearRing *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7316,7 +7312,7 @@
 }
 
 
-swig_class SwigClassPolygon;
+static swig_class SwigClassPolygon;
 
 SWIGINTERN void delete_GeosPolygon(GeosPolygon *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7506,7 +7502,7 @@
 }
 
 
-swig_class SwigClassGeometryCollection;
+static swig_class SwigClassGeometryCollection;
 
 SWIGINTERN void delete_GeosGeometryCollection(GeosGeometryCollection *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7594,7 +7590,7 @@
 }
 
 
-swig_class SwigClassMultiPoint;
+static swig_class SwigClassMultiPoint;
 
 SWIGINTERN void delete_GeosMultiPoint(GeosMultiPoint *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7605,7 +7601,7 @@
     delete_GeosMultiPoint(arg1);
 }
 
-swig_class SwigClassMultiLineString;
+static swig_class SwigClassMultiLineString;
 
 SWIGINTERN void delete_GeosMultiLineString(GeosMultiLineString *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7616,7 +7612,7 @@
     delete_GeosMultiLineString(arg1);
 }
 
-swig_class SwigClassMultiLinearRing;
+static swig_class SwigClassMultiLinearRing;
 
 SWIGINTERN void delete_GeosMultiLinearRing(GeosMultiLinearRing *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7627,7 +7623,7 @@
     delete_GeosMultiLinearRing(arg1);
 }
 
-swig_class SwigClassMultiPolygon;
+static swig_class SwigClassMultiPolygon;
 
 SWIGINTERN void delete_GeosMultiPolygon(GeosMultiPolygon *self){
         GEOSGeom geom = (GEOSGeom) self;
@@ -7958,7 +7954,7 @@
 }
 
 
-swig_class SwigClassPrepared;
+static swig_class SwigClassPrepared;
 
 #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
 SWIGINTERN VALUE
@@ -8182,7 +8178,7 @@
 }
 
 
-swig_class SwigClassSTRtree;
+static swig_class SwigClassSTRtree;
 
 #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
 SWIGINTERN VALUE
@@ -8424,7 +8420,7 @@
 }
 
 
-swig_class SwigClassWktReader;
+static swig_class SwigClassWktReader;
 
 #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
 SWIGINTERN VALUE
@@ -8556,7 +8552,7 @@
 }
 
 
-swig_class SwigClassWktWriter;
+static swig_class SwigClassWktWriter;
 
 #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
 SWIGINTERN VALUE
@@ -8649,7 +8645,7 @@
 }
 
 
-swig_class SwigClassWkbReader;
+static swig_class SwigClassWkbReader;
 
 #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
 SWIGINTERN VALUE
@@ -8859,7 +8855,7 @@
 }
 
 
-swig_class SwigClassWkbWriter;
+static swig_class SwigClassWkbWriter;
 
 #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
 SWIGINTERN VALUE
@@ -9461,8 +9457,6 @@
   swig_module_info *module_head, *iter;
   int found, init;
 
-  clientdata = clientdata;
-
   /* check to see if the circular list has been setup, if not, set it up */
   if (swig_module.next==0) {
     /* Initialize the swig_module */
@@ -9666,7 +9660,7 @@
   SwigClassGCVALUE.mark = 0;
   SwigClassGCVALUE.trackObjects = 0;
   
-  swig::GC_VALUE::initialize();
+  swig::SwigGCReferences::initialize();
   
   
   SwigClassConstIterator.klass = rb_define_class_under(mGeos, "ConstIterator", rb_cObject);
@@ -9701,15 +9695,15 @@
   SwigClassIterator.destroy = (void (*)(void *)) free_swig_Iterator;
   SwigClassIterator.trackObjects = 0;
   rb_define_const(mGeos, "GEOS_VERSION_MAJOR", SWIG_From_int(static_cast< int >(3)));
-  rb_define_const(mGeos, "GEOS_VERSION_MINOR", SWIG_From_int(static_cast< int >(4)));
-  rb_define_const(mGeos, "GEOS_VERSION", SWIG_FromCharPtr("3.4.0dev"));
-  rb_define_const(mGeos, "GEOS_JTS_PORT", SWIG_FromCharPtr("1.12.0"));
+  rb_define_const(mGeos, "GEOS_VERSION_MINOR", SWIG_From_int(static_cast< int >(5)));
+  rb_define_const(mGeos, "GEOS_VERSION", SWIG_FromCharPtr("3.5.0dev"));
+  rb_define_const(mGeos, "GEOS_JTS_PORT", SWIG_FromCharPtr("1.13.0"));
   rb_define_const(mGeos, "GEOS_CAPI_VERSION_MAJOR", SWIG_From_int(static_cast< int >(1)));
-  rb_define_const(mGeos, "GEOS_CAPI_VERSION_MINOR", SWIG_From_int(static_cast< int >(8)));
+  rb_define_const(mGeos, "GEOS_CAPI_VERSION_MINOR", SWIG_From_int(static_cast< int >(9)));
   rb_define_const(mGeos, "GEOS_CAPI_VERSION_PATCH", SWIG_From_int(static_cast< int >(0)));
   rb_define_const(mGeos, "GEOS_CAPI_FIRST_INTERFACE", SWIG_From_int(static_cast< int >(1)));
-  rb_define_const(mGeos, "GEOS_CAPI_LAST_INTERFACE", SWIG_From_int(static_cast< int >((1+8))));
-  rb_define_const(mGeos, "GEOS_CAPI_VERSION", SWIG_FromCharPtr("3.4.0dev-CAPI-1.8.0"));
+  rb_define_const(mGeos, "GEOS_CAPI_LAST_INTERFACE", SWIG_From_int(static_cast< int >((1+9))));
+  rb_define_const(mGeos, "GEOS_CAPI_VERSION", SWIG_FromCharPtr("3.5.0dev-CAPI-1.9.0"));
   rb_define_const(mGeos, "GEOS_POINT", SWIG_From_int(static_cast< int >(GEOS_POINT)));
   rb_define_const(mGeos, "GEOS_LINESTRING", SWIG_From_int(static_cast< int >(GEOS_LINESTRING)));
   rb_define_const(mGeos, "GEOS_LINEARRING", SWIG_From_int(static_cast< int >(GEOS_LINEARRING)));



More information about the geos-commits mailing list