diff --git a/.gitignore b/.gitignore index 2687fbf..5bed377 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ swig-2.0.0.tar.gz /swig-3.0.10.tar.gz /swig-3.0.11.tar.gz /swig-3.0.12.tar.gz +/swig-4.0.0.tar.gz diff --git a/sources b/sources index 11d5c8a..b2e84a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (swig-3.0.12.tar.gz) = 5eaa2e06d8e4197fd02194051db1e518325dbb074a4c55a91099ad9c55193874f577764afc9029409a41bd520a95154095f26e33ef5add5c102bb2c1d98d33eb +SHA512 (swig-4.0.0.tar.gz) = c897b87fb8b21caf8d1bee2c39cb9675a3b0ee047110e808c310a2787f8b89585738726e9f517c64e9d2f1b8311136365c569528f399b444b1081f69689b7165 diff --git a/swig-3.0.12-Correct-php-testcase.patch b/swig-3.0.12-Correct-php-testcase.patch deleted file mode 100644 index b90f5f9..0000000 --- a/swig-3.0.12-Correct-php-testcase.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0a9113dcba2930b658cb67f9ba1c63ad8eebd88f Mon Sep 17 00:00:00 2001 -From: William S Fulton -Date: Tue, 19 Sep 2017 07:37:29 +0100 -Subject: [PATCH] Correct php testcase - ---- - Examples/test-suite/php/preproc_constants_runme.php | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Examples/test-suite/php/preproc_constants_runme.php b/Examples/test-suite/php/preproc_constants_runme.php -index ef32867..bd216c2 100644 ---- a/Examples/test-suite/php/preproc_constants_runme.php -+++ b/Examples/test-suite/php/preproc_constants_runme.php -@@ -61,8 +61,8 @@ check::equal(gettype(preproc_constants::EXPR_OR), "integer", "preproc_constants. - check::equal(gettype(preproc_constants::EXPR_LAND), "boolean", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_LOR), "boolean", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_MIXED1), "double", "preproc_constants.EXPR_MIXED1 has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); --check::equal(gettype(preproc_constants::EXPR_MIXED1), "integer", "preproc_constants.EXPR_MIXED1 has unexpected type"); - - ?> --- -2.9.5 - diff --git a/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch b/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch deleted file mode 100644 index 9fff13b..0000000 --- a/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 21f532975f59f0c156c76cc739f5a93f57d8f6cb Mon Sep 17 00:00:00 2001 -From: Mark Dufour -Date: Tue, 14 Feb 2017 10:48:30 +0100 -Subject: [PATCH] [Coverity] fix issue reported for - SWIG_Python_ConvertFunctionPtr - -Fix Coverity issue reported for SWIG_Python_ConvertFunctionPtr: - -"Execution cannot reach this statement: *ptr = vptr;" - -Because if 'ty' is null, then desc becomes null and we return with -SWIG_ERROR. So 'ty' cannot be null at 'if (ty)'. ---- - Lib/python/pyrun.swg | 21 +++++++++------------ - 1 file changed, 9 insertions(+), 12 deletions(-) - -diff --git a/Lib/python/pyrun.swg b/Lib/python/pyrun.swg -index ab1237f62..939a69204 100644 ---- a/Lib/python/pyrun.swg -+++ b/Lib/python/pyrun.swg -@@ -1287,25 +1287,22 @@ SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) { - return SWIG_ConvertPtr(obj, ptr, ty, 0); - } else { - void *vptr = 0; -- -+ swig_cast_info *tc; -+ - /* here we get the method pointer for callbacks */ - const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); - const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0; - if (desc) - desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0; -- if (!desc) -+ if (!desc) - return SWIG_ERROR; -- if (ty) { -- swig_cast_info *tc = SWIG_TypeCheck(desc,ty); -- if (tc) { -- int newmemory = 0; -- *ptr = SWIG_TypeCast(tc,vptr,&newmemory); -- assert(!newmemory); /* newmemory handling not yet implemented */ -- } else { -- return SWIG_ERROR; -- } -+ tc = SWIG_TypeCheck(desc,ty); -+ if (tc) { -+ int newmemory = 0; -+ *ptr = SWIG_TypeCast(tc,vptr,&newmemory); -+ assert(!newmemory); /* newmemory handling not yet implemented */ - } else { -- *ptr = vptr; -+ return SWIG_ERROR; - } - return SWIG_OK; - } --- -2.14.3 - diff --git a/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch b/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch deleted file mode 100644 index 990bd40..0000000 --- a/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9825fcbab5c4ddd867432f9922bebfbec7b78af0 Mon Sep 17 00:00:00 2001 -From: Mark Dufour -Date: Tue, 14 Feb 2017 10:34:37 +0100 -Subject: [PATCH] [Coverity] fix issue reported for SWIG_Python_FixMethods - -Fix Coverity issue reported for SWIG_Python_FixMethods: - -"buffer_size: Calling strncpy with a source string whose length -(10 chars) is greater than or equal to the size argument (10) -will fail to null-terminate buff." - -The issue is only reported for the "swig_ptr: " line, but for -consistency we replace both occurrences of strncpy with memcpy. ---- - Lib/python/pyinit.swg | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Lib/python/pyinit.swg b/Lib/python/pyinit.swg -index 2cc582841..fe45ac941 100644 ---- a/Lib/python/pyinit.swg -+++ b/Lib/python/pyinit.swg -@@ -306,9 +306,9 @@ SWIG_Python_FixMethods(PyMethodDef *methods, - char *ndoc = (char*)malloc(ldoc + lptr + 10); - if (ndoc) { - char *buff = ndoc; -- strncpy(buff, methods[i].ml_doc, ldoc); -+ memcpy(buff, methods[i].ml_doc, ldoc); - buff += ldoc; -- strncpy(buff, "swig_ptr: ", 10); -+ memcpy(buff, "swig_ptr: ", 10); - buff += 10; - SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); - methods[i].ml_doc = ndoc; --- -2.14.3 - diff --git a/swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch b/swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch deleted file mode 100644 index d0fe997..0000000 --- a/swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 13eeebd2fb3005abc876957c68bde6a92510aa44 Mon Sep 17 00:00:00 2001 -From: Mark Dufour -Date: Tue, 14 Feb 2017 10:53:14 +0100 -Subject: [PATCH] [Coverity] fix issue reported for wrapper argument checking - -Fix Coverity issue reported for wrapper argument checking: - -"Null-checking args suggests that it may be null, but it has already -been dereferenced on all paths leading to the check." - -So 'args' is null checked, but after dereferencing it with -PyTuple_Check(args). ---- - Source/Modules/python.cxx | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx -index a6801fc4e..5e058e773 100644 ---- a/Source/Modules/python.cxx -+++ b/Source/Modules/python.cxx -@@ -2541,9 +2541,14 @@ public: - - if (!fastunpack) { - Wrapper_add_local(f, "ii", "Py_ssize_t ii"); -- if (maxargs - (add_self ? 1 : 0) > 0) -- Append(f->code, "if (!PyTuple_Check(args)) SWIG_fail;\n"); -- Append(f->code, "argc = args ? PyObject_Length(args) : 0;\n"); -+ -+ if (maxargs - (add_self ? 1 : 0) > 0) { -+ Append(f->code, "if (!PyTuple_Check(args)) SWIG_fail;\n"); -+ Append(f->code, "argc = PyObject_Length(args);\n"); -+ } else { -+ Append(f->code, "argc = args ? PyObject_Length(args) : 0;\n"); -+ } -+ - if (add_self) - Append(f->code, "argv[0] = self;\n"); - Printf(f->code, "for (ii = 0; (ii < %d) && (ii < argc); ii++) {\n", add_self ? maxargs - 1 : maxargs); --- -2.14.3 - diff --git a/swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch b/swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch deleted file mode 100644 index 041619e..0000000 --- a/swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5803e81d488e97623fe29b8629b977be01a8229e Mon Sep 17 00:00:00 2001 -From: Mark Dufour -Date: Mon, 6 Mar 2017 21:16:41 +0100 -Subject: [PATCH] Fix Coverity issue reported for setslice (pycontainer.swg): - -"CID 11151 (#3-1 of 3): Using invalid iterator (INVALIDATE_ITERATOR)18. -increment_iterator: Incrementing iterator it though it is already past -the end of its container." - -Coverity does not understand 'replace_count', so warns that we may go -past self->end() (or self->rend() I guess). ---- - Lib/python/pycontainer.swg | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Lib/python/pycontainer.swg b/Lib/python/pycontainer.swg -index d40b0baa8..9aefb4fc7 100644 ---- a/Lib/python/pycontainer.swg -+++ b/Lib/python/pycontainer.swg -@@ -351,7 +351,7 @@ namespace swig { - typename Sequence::const_iterator isit = is.begin(); - typename Sequence::iterator it = self->begin(); - std::advance(it,ii); -- for (size_t rc=0; rcend(); ++rc) { - *it++ = *isit++; - for (Py_ssize_t c=0; c<(step-1) && it != self->end(); ++c) - it++; -@@ -367,7 +367,7 @@ namespace swig { - typename Sequence::const_iterator isit = is.begin(); - typename Sequence::reverse_iterator it = self->rbegin(); - std::advance(it,size-ii-1); -- for (size_t rc=0; rcrend(); ++rc) { - *it++ = *isit++; - for (Py_ssize_t c=0; c<(-step-1) && it != self->rend(); ++c) - it++; --- -2.14.3 - diff --git a/swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch b/swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch deleted file mode 100644 index 7198c21..0000000 --- a/swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch +++ /dev/null @@ -1,191 +0,0 @@ -From 90ba174fcea1618af57aa594199541d47a89b7f6 Mon Sep 17 00:00:00 2001 -From: William S Fulton -Date: Sun, 17 Sep 2017 19:02:55 +0100 -Subject: [PATCH 1/2] Fix generated code for constant expressions containing - wchar_t L literals. - -Such as: - # define __WCHAR_MAX (0x7fffffff + L'\0') - -Reported on swig-user mailing list. ---- - CHANGES.current | 5 +++++ - Examples/test-suite/csharp/preproc_constants_c_runme.cs | 3 ++- - Examples/test-suite/csharp/preproc_constants_runme.cs | 2 ++ - Examples/test-suite/d/preproc_constants_c_runme.1.d | 2 ++ - Examples/test-suite/d/preproc_constants_c_runme.2.d | 2 ++ - Examples/test-suite/d/preproc_constants_runme.1.d | 2 ++ - Examples/test-suite/d/preproc_constants_runme.2.d | 2 ++ - Examples/test-suite/php/preproc_constants_c_runme.php | 2 ++ - Examples/test-suite/php/preproc_constants_runme.php | 2 ++ - Examples/test-suite/php5/preproc_constants_c_runme.php | 2 ++ - Examples/test-suite/php5/preproc_constants_runme.php | 2 ++ - Examples/test-suite/preproc_constants.i | 3 +++ - Source/CParse/parser.y | 2 +- - 13 files changed, 29 insertions(+), 2 deletions(-) - -#diff --git a/CHANGES.current b/CHANGES.current -#index 1e4a244..b455a9f 100644 -#--- a/CHANGES.current -#+++ b/CHANGES.current -#@@ -7,6 +7,11 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/ -# Version 4.0.0 (in progress) -# =========================== -# -#+2017-09-17: wsfulton -#+ Fix generated code for constant expressions containing wchar_t L literals such as: -#+ # define __WCHAR_MAX (0x7fffffff + L'\0') -#+ # define __WCHAR_MIN (-__WCHAR_MAX - 1) -#+ -# 2017-09-10: mlamarre -# [Python] Patch #1083. Define_DEBUG to 1 to do exactly like Visual Studio -# /LDd, /MDd or /MTd compiler options. -diff --git a/Examples/test-suite/csharp/preproc_constants_c_runme.cs b/Examples/test-suite/csharp/preproc_constants_c_runme.cs -index 76c684d..1c28e49 100644 ---- a/Examples/test-suite/csharp/preproc_constants_c_runme.cs -+++ b/Examples/test-suite/csharp/preproc_constants_c_runme.cs -@@ -61,7 +61,8 @@ public class runme { - assert( typeof(int) == preproc_constants_c.EXPR_LAND.GetType() ); - assert( typeof(int) == preproc_constants_c.EXPR_LOR.GetType() ); - assert( typeof(double) == preproc_constants_c.EXPR_CONDITIONAL.GetType() ); -- -+ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MAX.GetType() ); -+ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MIN.GetType() ); - } - static void assert(bool assertion) { - if (!assertion) -diff --git a/Examples/test-suite/csharp/preproc_constants_runme.cs b/Examples/test-suite/csharp/preproc_constants_runme.cs -index 9fae591..6b02e30 100644 ---- a/Examples/test-suite/csharp/preproc_constants_runme.cs -+++ b/Examples/test-suite/csharp/preproc_constants_runme.cs -@@ -60,6 +60,8 @@ public class runme { - assert( typeof(bool) == preproc_constants.EXPR_LAND.GetType() ); - assert( typeof(bool) == preproc_constants.EXPR_LOR.GetType() ); - assert( typeof(double) == preproc_constants.EXPR_CONDITIONAL.GetType() ); -+ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MAX.GetType() ); -+ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MIN.GetType() ); - - } - static void assert(bool assertion) { -diff --git a/Examples/test-suite/d/preproc_constants_c_runme.1.d b/Examples/test-suite/d/preproc_constants_c_runme.1.d -index d846c71..2b349af 100644 ---- a/Examples/test-suite/d/preproc_constants_c_runme.1.d -+++ b/Examples/test-suite/d/preproc_constants_c_runme.1.d -@@ -61,4 +61,6 @@ void main() { - static assert(is(int == typeof(EXPR_LAND()))); - static assert(is(int == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_c_runme.2.d b/Examples/test-suite/d/preproc_constants_c_runme.2.d -index 9bdbb93..1bac525 100644 ---- a/Examples/test-suite/d/preproc_constants_c_runme.2.d -+++ b/Examples/test-suite/d/preproc_constants_c_runme.2.d -@@ -61,4 +61,6 @@ void main() { - static assert(is(int == typeof(EXPR_LAND()))); - static assert(is(int == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_runme.1.d b/Examples/test-suite/d/preproc_constants_runme.1.d -index 009405f..f743f48 100644 ---- a/Examples/test-suite/d/preproc_constants_runme.1.d -+++ b/Examples/test-suite/d/preproc_constants_runme.1.d -@@ -60,4 +60,6 @@ void main() { - static assert(is(bool == typeof(EXPR_LAND()))); - static assert(is(bool == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_runme.2.d b/Examples/test-suite/d/preproc_constants_runme.2.d -index 2d92ef0..0d96c37 100644 ---- a/Examples/test-suite/d/preproc_constants_runme.2.d -+++ b/Examples/test-suite/d/preproc_constants_runme.2.d -@@ -60,4 +60,6 @@ void main() { - static assert(is(bool == typeof(EXPR_LAND()))); - static assert(is(bool == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/php/preproc_constants_c_runme.php b/Examples/test-suite/php/preproc_constants_c_runme.php -index af9b76e..e59fe18 100644 ---- a/Examples/test-suite/php/preproc_constants_c_runme.php -+++ b/Examples/test-suite/php/preproc_constants_c_runme.php -@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant - check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/php/preproc_constants_runme.php b/Examples/test-suite/php/preproc_constants_runme.php -index 5c9119b..8e117ea 100644 ---- a/Examples/test-suite/php/preproc_constants_runme.php -+++ b/Examples/test-suite/php/preproc_constants_runme.php -@@ -61,5 +61,7 @@ check::equal(gettype(preproc_constants::EXPR_OR), "integer", "preproc_constants. - check::equal(gettype(preproc_constants::EXPR_LAND), "boolean", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_LOR), "boolean", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/php5/preproc_constants_c_runme.php b/Examples/test-suite/php5/preproc_constants_c_runme.php -index 1ea0195..d978fab 100644 ---- a/Examples/test-suite/php5/preproc_constants_c_runme.php -+++ b/Examples/test-suite/php5/preproc_constants_c_runme.php -@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant - check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/php5/preproc_constants_runme.php b/Examples/test-suite/php5/preproc_constants_runme.php -index fb9ee4f..7527026 100644 ---- a/Examples/test-suite/php5/preproc_constants_runme.php -+++ b/Examples/test-suite/php5/preproc_constants_runme.php -@@ -70,5 +70,7 @@ check::equal(gettype(preproc_constants::EXPR_LAND), "integer", "preproc_constant - check::equal(gettype(preproc_constants::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - - check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/preproc_constants.i b/Examples/test-suite/preproc_constants.i -index 3a999ad..16b44c9 100644 ---- a/Examples/test-suite/preproc_constants.i -+++ b/Examples/test-suite/preproc_constants.i -@@ -87,6 +87,9 @@ - #define EXPR_LOR 0xFF || 1 - #define EXPR_CONDITIONAL true ? 2 : 2.2 - -+#define EXPR_WCHAR_MAX (0x7fffffff + L'\0') -+#define EXPR_WCHAR_MIN (-EXPR_WCHAR_MAX - 1) -+ - #define EXPR_CHAR_COMPOUND_ADD 'A' + 12 - #define EXPR_CHAR_COMPOUND_LSHIFT 'B' << 6 - #define H_SUPPRESS_SCALING_MAGIC (('s'<<24) | ('u'<<16) | ('p'<<8) | 'p') -diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y -index 2e92cd0..273dadb 100644 ---- a/Source/CParse/parser.y -+++ b/Source/CParse/parser.y -@@ -194,7 +194,7 @@ int SWIG_cparse_template_reduce(int treduce) { - * ----------------------------------------------------------------------------- */ - - static int promote_type(int t) { -- if (t <= T_UCHAR || t == T_CHAR) return T_INT; -+ if (t <= T_UCHAR || t == T_CHAR || t == T_WCHAR) return T_INT; - return t; - } - --- -2.9.5 - diff --git a/swig-3.0.12-Fix-go-version-matching-in-configure-for-go1.10.patch b/swig-3.0.12-Fix-go-version-matching-in-configure-for-go1.10.patch deleted file mode 100644 index 69e22dd..0000000 --- a/swig-3.0.12-Fix-go-version-matching-in-configure-for-go1.10.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 5f6012039abb6ec9e9dfea801effa6b02fd102bc Mon Sep 17 00:00:00 2001 -From: Vsevolod Kvachev -Date: Thu, 19 Apr 2018 23:04:37 +0300 -Subject: [PATCH] Fix go version matching in configure for go1.10 - ---- - configure.ac | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 833cb37bf..ba1631743 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2597,7 +2597,7 @@ else - GOVERSIONOPTION=version - go_version=$($GO $GOVERSIONOPTION | sed -e 's/go version //') - case "$go_version" in -- go1 | go1.[[01234]]*) -+ go1 | go1.[[01234]] | go1.[[01234]].*) - GOC=$(sh -c "$(go env) && echo \$GOCHAR")c - ;; - *) -@@ -2606,7 +2606,7 @@ else - esac - AC_MSG_CHECKING([whether go version is too old]) - case $go_version in -- go1.1* | go1.0* | go1 ) -+ go1.1.* | go1.1 | go1.0 | go1.0.* | go1 ) - AC_MSG_RESULT([yes - minimum version is 1.2]) - GO= - GOOPT="-intgosize 32" -@@ -2624,13 +2624,13 @@ else - ;; - esac - case $go_version in -- go1.0* | go1 | go1.1*) -+ go1.0 | go1.0.* | go1 | go1.1 | go1.1.*) - GOOPT="$GOOPT -use-shlib" - ;; -- go1.2*) -+ go1.2 | go1.2.*) - GO12=true - ;; -- go1.3* | go1.4*) -+ go1.3 | go1.3.* | go1.4 | go1.4.*) - GO13=true - ;; - *) --- -2.14.3 - diff --git a/swig-3.0.12-Fix-testsuite-to-work-without-.-in-INC.patch b/swig-3.0.12-Fix-testsuite-to-work-without-.-in-INC.patch deleted file mode 100644 index bcc8a79..0000000 --- a/swig-3.0.12-Fix-testsuite-to-work-without-.-in-INC.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 8855ef2b482c09da9255079b0fac92d08c8308fb Mon Sep 17 00:00:00 2001 -From: Olly Betts -Date: Tue, 13 Jun 2017 17:32:37 +1200 -Subject: [PATCH] [Perl] Fix testsuite to work without . in @INC - -"." was removed from @INC in Perl 5.26 for security reasons, and has -also been removed from older versions in some distros. - -Fixes https://github.com/swig/swig/issues/997 reported by lfam. ---- - CHANGES.current | 6 ++++++ - Examples/Makefile.in | 2 +- - Examples/test-suite/perl5/run-perl-test.pl | 2 +- - 3 files changed, 8 insertions(+), 2 deletions(-) - -#diff --git a/CHANGES.current b/CHANGES.current -#index ac620c9..6b379a9 100644 -#--- a/CHANGES.current -#+++ b/CHANGES.current -#@@ -7,6 +7,12 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/ -# Version 4.0.0 (in progress) -# =========================== -# -#+2017-06-13: olly -#+ [Perl] Fix testsuite to work without . in @INC - it was removed in -#+ Perl 5.26 for security reasons, and has also been removed from -#+ older versions in some distros. Fixes -#+ https://github.com/swig/swig/issues/997 reported by lfam. -#+ -# 2017-06-03: wsfulton -# Fix %import on a file containing a file scope %fragment forced inclusion to not -# generate the fragment contents as %import should not result in code being generated. -diff --git a/Examples/Makefile.in b/Examples/Makefile.in -index 7682b56..8a88fb5 100644 ---- a/Examples/Makefile.in -+++ b/Examples/Makefile.in -@@ -282,7 +282,7 @@ perl5_static_cpp: $(SRCDIR_SRCS) - # ----------------------------------------------------------------- - - perl5_run: -- $(RUNTOOL) $(PERL) $(PERL5_SCRIPT) $(RUNPIPE) -+ $(RUNTOOL) $(PERL) -I. $(PERL5_SCRIPT) $(RUNPIPE) - - # ----------------------------------------------------------------- - # Version display -diff --git a/Examples/test-suite/perl5/run-perl-test.pl b/Examples/test-suite/perl5/run-perl-test.pl -index 106bf00..5ea4e511 100644 ---- a/Examples/test-suite/perl5/run-perl-test.pl -+++ b/Examples/test-suite/perl5/run-perl-test.pl -@@ -7,7 +7,7 @@ use strict; - - my $command = shift @ARGV; - --my $output = `$^X $command 2>&1`; -+my $output = `$^X -I. $command 2>&1`; - - die "SWIG Perl test failed: \n\n$output\n" - if $?; --- -2.9.4 - diff --git a/swig-3.0.12-Fix-type-promotion-wrapping-some-non-trivial-constan.patch b/swig-3.0.12-Fix-type-promotion-wrapping-some-non-trivial-constan.patch deleted file mode 100644 index 4be4f2f..0000000 --- a/swig-3.0.12-Fix-type-promotion-wrapping-some-non-trivial-constan.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 9e2a12416cf6ce7b926829aff353fe2d9019f135 Mon Sep 17 00:00:00 2001 -From: William S Fulton -Date: Mon, 18 Sep 2017 07:06:27 +0100 -Subject: [PATCH 2/2] Fix type promotion wrapping some non-trivial constant - expressions - -This was previously an integral type instead of a floating point type: ---- - CHANGES.current | 5 +++++ - Examples/test-suite/csharp/preproc_constants_c_runme.cs | 1 + - Examples/test-suite/csharp/preproc_constants_runme.cs | 1 + - Examples/test-suite/d/preproc_constants_c_runme.1.d | 1 + - Examples/test-suite/d/preproc_constants_c_runme.2.d | 1 + - Examples/test-suite/d/preproc_constants_runme.1.d | 1 + - Examples/test-suite/d/preproc_constants_runme.2.d | 1 + - Examples/test-suite/php/preproc_constants_c_runme.php | 1 + - Examples/test-suite/php/preproc_constants_runme.php | 1 + - Examples/test-suite/php5/preproc_constants_c_runme.php | 1 + - Examples/test-suite/php5/preproc_constants_runme.php | 1 + - Examples/test-suite/preproc_constants.i | 1 + - Source/CParse/parser.y | 1 + - 13 files changed, 17 insertions(+) - -#diff --git a/CHANGES.current b/CHANGES.current -#index b455a9f..f76e5a5 100644 -#--- a/CHANGES.current -#+++ b/CHANGES.current -#@@ -7,6 +7,11 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/ -# Version 4.0.0 (in progress) -# =========================== -# -#+2017-09-18: wsfulton -#+ Fix type promotion wrapping constant expressions of the form: -#+ # define EXPR_MIXED1 (0x80 + 11.1) - 1 -#+ This was previously an integral type instead of a floating point type. -#+ -# 2017-09-17: wsfulton -# Fix generated code for constant expressions containing wchar_t L literals such as: -# # define __WCHAR_MAX (0x7fffffff + L'\0') -diff --git a/Examples/test-suite/csharp/preproc_constants_c_runme.cs b/Examples/test-suite/csharp/preproc_constants_c_runme.cs -index 1c28e49..7f40ce4 100644 ---- a/Examples/test-suite/csharp/preproc_constants_c_runme.cs -+++ b/Examples/test-suite/csharp/preproc_constants_c_runme.cs -@@ -61,6 +61,7 @@ public class runme { - assert( typeof(int) == preproc_constants_c.EXPR_LAND.GetType() ); - assert( typeof(int) == preproc_constants_c.EXPR_LOR.GetType() ); - assert( typeof(double) == preproc_constants_c.EXPR_CONDITIONAL.GetType() ); -+ assert( typeof(double) == preproc_constants_c.EXPR_MIXED1.GetType() ); - assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MAX.GetType() ); - assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MIN.GetType() ); - } -diff --git a/Examples/test-suite/csharp/preproc_constants_runme.cs b/Examples/test-suite/csharp/preproc_constants_runme.cs -index 6b02e30..0d8981f 100644 ---- a/Examples/test-suite/csharp/preproc_constants_runme.cs -+++ b/Examples/test-suite/csharp/preproc_constants_runme.cs -@@ -60,6 +60,7 @@ public class runme { - assert( typeof(bool) == preproc_constants.EXPR_LAND.GetType() ); - assert( typeof(bool) == preproc_constants.EXPR_LOR.GetType() ); - assert( typeof(double) == preproc_constants.EXPR_CONDITIONAL.GetType() ); -+ assert( typeof(double) == preproc_constants.EXPR_MIXED1.GetType() ); - assert( typeof(int) == preproc_constants.EXPR_WCHAR_MAX.GetType() ); - assert( typeof(int) == preproc_constants.EXPR_WCHAR_MIN.GetType() ); - -diff --git a/Examples/test-suite/d/preproc_constants_c_runme.1.d b/Examples/test-suite/d/preproc_constants_c_runme.1.d -index 2b349af..b79ee3b 100644 ---- a/Examples/test-suite/d/preproc_constants_c_runme.1.d -+++ b/Examples/test-suite/d/preproc_constants_c_runme.1.d -@@ -61,6 +61,7 @@ void main() { - static assert(is(int == typeof(EXPR_LAND()))); - static assert(is(int == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(double == typeof(EXPR_MIXED1()))); - static assert(is(int == typeof(EXPR_WCHAR_MAX()))); - static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_c_runme.2.d b/Examples/test-suite/d/preproc_constants_c_runme.2.d -index 1bac525..260bf8d 100644 ---- a/Examples/test-suite/d/preproc_constants_c_runme.2.d -+++ b/Examples/test-suite/d/preproc_constants_c_runme.2.d -@@ -61,6 +61,7 @@ void main() { - static assert(is(int == typeof(EXPR_LAND()))); - static assert(is(int == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(double == typeof(EXPR_MIXED1()))); - static assert(is(int == typeof(EXPR_WCHAR_MAX()))); - static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_runme.1.d b/Examples/test-suite/d/preproc_constants_runme.1.d -index f743f48..84a99c8 100644 ---- a/Examples/test-suite/d/preproc_constants_runme.1.d -+++ b/Examples/test-suite/d/preproc_constants_runme.1.d -@@ -60,6 +60,7 @@ void main() { - static assert(is(bool == typeof(EXPR_LAND()))); - static assert(is(bool == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(double == typeof(EXPR_MIXED1()))); - static assert(is(int == typeof(EXPR_WCHAR_MAX()))); - static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_runme.2.d b/Examples/test-suite/d/preproc_constants_runme.2.d -index 0d96c37..f6638f4 100644 ---- a/Examples/test-suite/d/preproc_constants_runme.2.d -+++ b/Examples/test-suite/d/preproc_constants_runme.2.d -@@ -60,6 +60,7 @@ void main() { - static assert(is(bool == typeof(EXPR_LAND()))); - static assert(is(bool == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(double == typeof(EXPR_MIXED1()))); - static assert(is(int == typeof(EXPR_WCHAR_MAX()))); - static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/php/preproc_constants_c_runme.php b/Examples/test-suite/php/preproc_constants_c_runme.php -index e59fe18..20868dc 100644 ---- a/Examples/test-suite/php/preproc_constants_c_runme.php -+++ b/Examples/test-suite/php/preproc_constants_c_runme.php -@@ -62,6 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant - check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_MIXED1), "double", "preproc_constants.EXPR_MIXED1 has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - -diff --git a/Examples/test-suite/php/preproc_constants_runme.php b/Examples/test-suite/php/preproc_constants_runme.php -index 8e117ea..ef32867 100644 ---- a/Examples/test-suite/php/preproc_constants_runme.php -+++ b/Examples/test-suite/php/preproc_constants_runme.php -@@ -63,5 +63,6 @@ check::equal(gettype(preproc_constants::EXPR_LOR), "boolean", "preproc_constants - check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_MIXED1), "integer", "preproc_constants.EXPR_MIXED1 has unexpected type"); - - ?> -diff --git a/Examples/test-suite/php5/preproc_constants_c_runme.php b/Examples/test-suite/php5/preproc_constants_c_runme.php -index d978fab..d55d423 100644 ---- a/Examples/test-suite/php5/preproc_constants_c_runme.php -+++ b/Examples/test-suite/php5/preproc_constants_c_runme.php -@@ -62,6 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant - check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_MIXED1), "double", "preproc_constants.EXPR_MIXED1 has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - -diff --git a/Examples/test-suite/php5/preproc_constants_runme.php b/Examples/test-suite/php5/preproc_constants_runme.php -index 7527026..01137b0 100644 ---- a/Examples/test-suite/php5/preproc_constants_runme.php -+++ b/Examples/test-suite/php5/preproc_constants_runme.php -@@ -70,6 +70,7 @@ check::equal(gettype(preproc_constants::EXPR_LAND), "integer", "preproc_constant - check::equal(gettype(preproc_constants::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - - check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_MIXED1), "double", "preproc_constants.EXPR_MIXED1 has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - -diff --git a/Examples/test-suite/preproc_constants.i b/Examples/test-suite/preproc_constants.i -index 16b44c9..628cae1 100644 ---- a/Examples/test-suite/preproc_constants.i -+++ b/Examples/test-suite/preproc_constants.i -@@ -86,6 +86,7 @@ - #define EXPR_LAND 0xFF && 1 - #define EXPR_LOR 0xFF || 1 - #define EXPR_CONDITIONAL true ? 2 : 2.2 -+#define EXPR_MIXED1 (0x80 + 11.1) - 1 - - #define EXPR_WCHAR_MAX (0x7fffffff + L'\0') - #define EXPR_WCHAR_MIN (-EXPR_WCHAR_MAX - 1) -diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y -index 273dadb..3df9896 100644 ---- a/Source/CParse/parser.y -+++ b/Source/CParse/parser.y -@@ -6338,6 +6338,7 @@ valexpr : exprnum { $$ = $1; } - break; - } - } -+ $$.type = promote($2.type, $4.type); - } - | LPAREN expr pointer RPAREN expr %prec CAST { - $$ = $5; --- -2.9.5 - diff --git a/swig-node-v7.patch b/swig-node-v7.patch deleted file mode 100644 index 4f5e1fc..0000000 --- a/swig-node-v7.patch +++ /dev/null @@ -1,541 +0,0 @@ -From f08d7a63a92a3ba89d97bdfcc206e1e1c4804c0f Mon Sep 17 00:00:00 2001 -From: Patrick Schneider -Date: Thu, 13 Apr 2017 15:02:53 +0200 -Subject: [PATCH 1/2] Add Node 7.x aka V8 5.2+ support - -* Use WeakCallbackInfo instead of WeakCallbackData -* Use GetPrivate instead of GetHiddenValue -* Adopted new signature for SetWeak to support destructor calling -* SetAccessor deprecation fixed -* Proper version checks where applicable ---- - Lib/javascript/v8/javascriptcode.swg | 27 +++++++++++++++++----- - Lib/javascript/v8/javascripthelpers.swg | 29 +++++++++++++++++++++--- - Lib/javascript/v8/javascriptinit.swg | 16 +++++++++++-- - Lib/javascript/v8/javascriptrun.swg | 40 ++++++++++++++++++++++++++++----- - 4 files changed, 95 insertions(+), 17 deletions(-) - -diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg -index fb7d55c2ad..b8c5089816 100644 ---- a/Lib/javascript/v8/javascriptcode.swg -+++ b/Lib/javascript/v8/javascriptcode.swg -@@ -133,10 +133,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - static void $jswrapper(v8::Isolate *isolate, v8::Persistent *object, SWIGV8_Proxy *proxy) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - static void $jswrapper(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SWIGV8_Proxy *proxy = data.GetParameter(); -+#else -+ static void $jswrapper(const v8::WeakCallbackInfo &data) { -+ SWIGV8_Proxy *proxy = data.GetParameter(); - #endif - - if(proxy->swigCMemOwn && proxy->swigCObject) { -@@ -147,7 +150,9 @@ static void $jswrapper(const v8::WeakCallbackData &dat - } - delete proxy; - -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object.Clear(); -+#endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) - object.Dispose(); -@@ -155,7 +160,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat - object.Dispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100) - object->Dispose(isolate); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object->Dispose(); - #endif - } -@@ -177,10 +182,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - static void $jswrapper(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SWIGV8_Proxy *proxy = data.GetParameter(); -+#else -+static void $jswrapper(const v8::WeakCallbackInfo &data) { -+ SWIGV8_Proxy *proxy = data.GetParameter(); - #endif - - if(proxy->swigCMemOwn && proxy->swigCObject) { -@@ -197,7 +205,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat - object->Dispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - object->Dispose(); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object.Clear(); - #endif - } -@@ -211,7 +219,11 @@ static void $jswrapper(const v8::WeakCallbackData &dat - * ----------------------------------------------------------------------------- */ - %fragment("js_getter", "templates") - %{ -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { -+#else -+static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { -+#endif - SWIGV8_HANDLESCOPE(); - - v8::Handle jsresult; -@@ -233,8 +245,11 @@ fail: - * ----------------------------------------------------------------------------- */ - %fragment("js_setter", "templates") - %{ --static void $jswrapper(v8::Local property, v8::Local value, -- const SwigV8PropertyCallbackInfoVoid &info) { -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { -+#else -+static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { -+#endif - SWIGV8_HANDLESCOPE(); - - $jslocals -diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg -index 091467df4d..74610793af 100644 ---- a/Lib/javascript/v8/javascripthelpers.swg -+++ b/Lib/javascript/v8/javascripthelpers.swg -@@ -6,11 +6,16 @@ typedef v8::InvocationCallback SwigV8FunctionCallback; - typedef v8::AccessorGetter SwigV8AccessorGetterCallback; - typedef v8::AccessorSetter SwigV8AccessorSetterCallback; - typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid; --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - typedef v8::FunctionCallback SwigV8FunctionCallback; - typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback; - typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback; - typedef v8::PropertyCallbackInfo SwigV8PropertyCallbackInfoVoid; -+#else -+typedef v8::FunctionCallback SwigV8FunctionCallback; -+typedef v8::AccessorNameGetterCallback SwigV8AccessorGetterCallback; -+typedef v8::AccessorNameSetterCallback SwigV8AccessorSetterCallback; -+typedef v8::PropertyCallbackInfo SwigV8PropertyCallbackInfoVoid; - #endif - - /** -@@ -65,18 +70,36 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle obj, const char - */ - SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle obj, const char* symbol, - SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) { -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter); -+#else -+ obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter); -+#endif - } - --SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, -- const SwigV8PropertyCallbackInfoVoid& info) -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) -+#else -+SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) -+#endif - { - char buffer[256]; - char msg[512]; - int res; - -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - property->WriteUtf8(buffer, 256); - res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); -+#else -+ v8::Local sproperty; -+ if (property->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocal(&sproperty)) { -+ sproperty->WriteUtf8(buffer, 256); -+ res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); -+ } -+ else { -+ res = -1; -+ } -+#endif - - if(res<0) { - SWIG_exception(SWIG_ERROR, "Tried to write read-only variable."); -diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg -index 34befa7ce7..86008d927f 100644 ---- a/Lib/javascript/v8/javascriptinit.swg -+++ b/Lib/javascript/v8/javascriptinit.swg -@@ -7,15 +7,27 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) { - v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); - v8::Local mod = SWIGV8_EXTERNAL_NEW(swig_module); - assert(!mod.IsEmpty()); -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); -+ global_obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, mod); -+#endif - } - - SWIGRUNTIME swig_module_info * - SWIG_V8_GetModule(void *) { - v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - v8::Local moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data")); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); -+ v8::Local moduleinfo; -+ if (!global_obj->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&moduleinfo)) -+ return 0; -+#endif - -- if (moduleinfo.IsEmpty()) -+ if (moduleinfo.IsEmpty() || moduleinfo->IsNull() || moduleinfo->IsUndefined()) - { - // It's not yet loaded - return 0; -@@ -23,7 +35,7 @@ SWIG_V8_GetModule(void *) { - - v8::Local moduleinfo_extern = v8::Local::Cast(moduleinfo); - -- if (moduleinfo_extern.IsEmpty()) -+ if (moduleinfo_extern.IsEmpty() || moduleinfo_extern->IsNull() || moduleinfo_extern->IsUndefined()) - { - // Something's not right - return 0; -diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg -index 5ac52a51dc..30002c02a3 100644 ---- a/Lib/javascript/v8/javascriptrun.swg -+++ b/Lib/javascript/v8/javascriptrun.swg -@@ -193,8 +193,10 @@ public: - void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - void (*dtor) (const v8::WeakCallbackData &data); -+#else -+ void (*dtor) (const v8::WeakCallbackInfo &data); - #endif - }; - -@@ -241,9 +243,12 @@ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Val - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData &data) { - SWIGV8_Proxy *proxy = data.GetParameter(); -+#else -+SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackInfo &data) { -+ SWIGV8_Proxy *proxy = data.GetParameter(); - #endif - - delete proxy; -@@ -312,12 +317,18 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(v8::Handle obj, void *ptr, sw - } else { - cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor); - } --#else -+#elifif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { - cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor); - } else { - cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor); - } -+#else -+ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { -+ cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor, v8::WeakCallbackType::kParameter); -+ } else { -+ cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor, v8::WeakCallbackType::kParameter); -+ } - #endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) -@@ -470,7 +481,14 @@ int SwigV8Packed_Check(v8::Handle valRef) { - - v8::Handle objRef = valRef->ToObject(); - if(objRef->InternalFieldCount() < 1) return false; -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - v8::Handle flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__")); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); -+ v8::Local flag; -+ if (!objRef->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&flag)) -+ return false; -+#endif - return (flag->IsBoolean() && flag->BooleanValue()); - } - -@@ -519,10 +537,13 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persist - SwigV8PackedData *cdata = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent *object, SwigV8PackedData *cdata) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SwigV8PackedData *cdata = data.GetParameter(); -+#else -+SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfo &data) { -+ SwigV8PackedData *cdata = data.GetParameter(); - #endif - - delete cdata; -@@ -537,7 +558,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackDataDispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - object->Dispose(); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object.Clear(); - #endif - } -@@ -550,7 +571,12 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf - // v8::Handle obj = SWIGV8_OBJECT_NEW(); - v8::Local obj = SWIGV8_OBJECT_NEW(); - -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true)); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); -+ obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, SWIGV8_BOOLEAN_NEW(true)); -+#endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511) - obj->SetPointerInInternalField(0, cdata); -@@ -573,9 +599,11 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf - cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete); - // v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete); -+#else -+ cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete, v8::WeakCallbackType::kParameter); - #endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) - -From 9ce8d7e7c99e75163318428aeff6e60d398fcdca Mon Sep 17 00:00:00 2001 -From: Patrick Schneider -Date: Thu, 13 Apr 2017 19:39:44 +0200 -Subject: [PATCH 2/2] Remove warnings on Node 6.x aka V8 5.0 and 5.1 - -The proposed changes targetted at 5.2 (or 5.4 to be more precise, since there is no Node release with V8 5.2 or 5.3) work for lower versions as well and bust the deprecation warnings there. ---- - Lib/javascript/v8/javascriptcode.swg | 14 +++++++------- - Lib/javascript/v8/javascripthelpers.swg | 8 ++++---- - Lib/javascript/v8/javascriptinit.swg | 4 ++-- - Lib/javascript/v8/javascriptrun.swg | 16 ++++++++-------- - 4 files changed, 21 insertions(+), 21 deletions(-) - -diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg -index b8c5089816..c4aaf3db0c 100644 ---- a/Lib/javascript/v8/javascriptcode.swg -+++ b/Lib/javascript/v8/javascriptcode.swg -@@ -133,7 +133,7 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - static void $jswrapper(v8::Isolate *isolate, v8::Persistent *object, SWIGV8_Proxy *proxy) { --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - static void $jswrapper(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SWIGV8_Proxy *proxy = data.GetParameter(); -@@ -150,7 +150,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat - } - delete proxy; - --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - object.Clear(); - #endif - -@@ -160,7 +160,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat - object.Dispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100) - object->Dispose(isolate); --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - object->Dispose(); - #endif - } -@@ -182,7 +182,7 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) { --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - static void $jswrapper(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SWIGV8_Proxy *proxy = data.GetParameter(); -@@ -205,7 +205,7 @@ static void $jswrapper(const v8::WeakCallbackInfo &data) { - object->Dispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - object->Dispose(); --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - object.Clear(); - #endif - } -@@ -219,7 +219,7 @@ static void $jswrapper(const v8::WeakCallbackInfo &data) { - * ----------------------------------------------------------------------------- */ - %fragment("js_getter", "templates") - %{ --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { - #else - static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { -@@ -245,7 +245,7 @@ fail: - * ----------------------------------------------------------------------------- */ - %fragment("js_setter", "templates") - %{ --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { - #else - static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { -diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg -index 74610793af..7b8a5ec237 100644 ---- a/Lib/javascript/v8/javascripthelpers.swg -+++ b/Lib/javascript/v8/javascripthelpers.swg -@@ -6,7 +6,7 @@ typedef v8::InvocationCallback SwigV8FunctionCallback; - typedef v8::AccessorGetter SwigV8AccessorGetterCallback; - typedef v8::AccessorSetter SwigV8AccessorSetterCallback; - typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid; --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - typedef v8::FunctionCallback SwigV8FunctionCallback; - typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback; - typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback; -@@ -70,14 +70,14 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle obj, const char - */ - SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle obj, const char* symbol, - SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) { --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter); - #else - obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter); - #endif - } - --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) - #else - SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) -@@ -87,7 +87,7 @@ SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::LocalWriteUtf8(buffer, 256); - res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); - #else -diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg -index 86008d927f..e83f478d9d 100644 ---- a/Lib/javascript/v8/javascriptinit.swg -+++ b/Lib/javascript/v8/javascriptinit.swg -@@ -7,7 +7,7 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) { - v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); - v8::Local mod = SWIGV8_EXTERNAL_NEW(swig_module); - assert(!mod.IsEmpty()); --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod); - #else - v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); -@@ -18,7 +18,7 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) { - SWIGRUNTIME swig_module_info * - SWIG_V8_GetModule(void *) { - v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - v8::Local moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data")); - #else - v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); -diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg -index 30002c02a3..0af9f4eb0a 100644 ---- a/Lib/javascript/v8/javascriptrun.swg -+++ b/Lib/javascript/v8/javascriptrun.swg -@@ -193,7 +193,7 @@ public: - void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy); --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - void (*dtor) (const v8::WeakCallbackData &data); - #else - void (*dtor) (const v8::WeakCallbackInfo &data); -@@ -243,7 +243,7 @@ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Val - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) { --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData &data) { - SWIGV8_Proxy *proxy = data.GetParameter(); - #else -@@ -317,7 +317,7 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(v8::Handle obj, void *ptr, sw - } else { - cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor); - } --#elifif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { - cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor); - } else { -@@ -481,7 +481,7 @@ int SwigV8Packed_Check(v8::Handle valRef) { - - v8::Handle objRef = valRef->ToObject(); - if(objRef->InternalFieldCount() < 1) return false; --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - v8::Handle flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__")); - #else - v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); -@@ -537,7 +537,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persist - SwigV8PackedData *cdata = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent *object, SwigV8PackedData *cdata) { --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SwigV8PackedData *cdata = data.GetParameter(); -@@ -558,7 +558,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfoDispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - object->Dispose(); --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - object.Clear(); - #endif - } -@@ -571,7 +571,7 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf - // v8::Handle obj = SWIGV8_OBJECT_NEW(); - v8::Local obj = SWIGV8_OBJECT_NEW(); - --#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#if (V8_MAJOR_VERSION-0) < 5 - obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true)); - #else - v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); -@@ -599,7 +599,7 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf - cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete); --#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+#elif (V8_MAJOR_VERSION-0) < 5 - cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete); - // v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete); - #else diff --git a/swig-octave-ldflags.patch b/swig-octave-ldflags.patch new file mode 100644 index 0000000..531258f --- /dev/null +++ b/swig-octave-ldflags.patch @@ -0,0 +1,16 @@ +diff --git a/configure.ac b/configure.ac +index 1873797..754238f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1114,7 +1114,10 @@ if test -n "$OCTAVE"; then + + AC_MSG_CHECKING([for Octave linker flags]) + OCTAVE_LDFLAGS= +- for var in RDYNAMIC_FLAG LFLAGS RLD_FLAG OCTAVE_LIBS LIBS; do ++ for var in OCTLIBDIR; do ++ OCTAVE_LDFLAGS="${OCTAVE_LDFLAGS} "-L`env - ${mkoctfile} -p ${var}` ++ done ++ for var in RDYNAMIC_FLAG RLD_FLAG OCTAVE_LIBS LIBS; do + OCTAVE_LDFLAGS="${OCTAVE_LDFLAGS} "`env - ${mkoctfile} -p ${var}` + done + AC_MSG_RESULT([$OCTAVE_LDFLAGS]) diff --git a/swig-octave5.1.patch b/swig-octave5.1.patch new file mode 100644 index 0000000..df67179 --- /dev/null +++ b/swig-octave5.1.patch @@ -0,0 +1,28 @@ +commit c38b7de6a120e6392abff50afd9bb919cc858cfc +Author: Orion Poplawski +Date: Sun Mar 10 11:47:27 2019 -0600 + + Fix format-security error with octave 5.1 + +diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg +index 3012331..ff614e6 100644 +--- a/Lib/octave/octrun.swg ++++ b/Lib/octave/octrun.swg +@@ -51,7 +51,7 @@ SWIGRUNTIME octave_value SWIG_Error(int code, const char *msg) { + octave_value type(SWIG_ErrorType(code)); + std::string r = msg; + r += " (" + type.string_value() + ")"; +- error(r.c_str()); ++ error("%s", r.c_str()); + return octave_value(r); + } + +@@ -840,7 +840,7 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); + const std::string opname = std::string("__") + octave_base_value::get_umap_name(umap) + std::string("__"); + octave_value ret; + if (!dispatch_unary_op(opname, ret)) { +- error((opname + std::string(" method not found")).c_str()); ++ error("%s", (opname + std::string(" method not found")).c_str()); + return octave_value(); + } + return ret; diff --git a/swig.spec b/swig.spec index 98a317f..0896c73 100644 --- a/swig.spec +++ b/swig.spec @@ -1,17 +1,31 @@ # We can skip tests -%ifnarch riscv64 %bcond_without testsuite -%else -%bcond_with testsuite + +%if %{without testsuite} +%global tcl 0 +%global lualang 0 +%global phplang 0 +%global rubylang 0 +%global python2lang 0 +%global python3lang 0 +%global golang 0 +%global octave 0 +%global Rlang 0 +%global javalang 0 %endif %{!?tcl:%global tcl 1} %{!?guile:%global guile 0} %{!?lualang:%global lualang 1} -# Disable PHP tests, because they fail with PHP 7.2.0 -%{!?phplang:%global phplang 0} +%{!?phplang:%global phplang 1} +# Disable Ruby test failed with swig 4.0.0 +%ifarch s390 s390x +%{!?rubylang:%global rubylang 0} +%else %{!?rubylang:%global rubylang 1} -%{!?python2lang:%global python2lang 0} +%endif +%{!?python2lang:%global python2lang 1} +%{!?python3lang:%global python3lang 1} %if 0%{?rhel} %{!?golang:%global golang 0} @@ -23,13 +37,14 @@ %{!?Rlang:%global Rlang 1} %bcond_without build_ccache_swig %endif -%ifarch aarch64 %{arm} %{mips} ppc64le ppc %{power64} s390 s390x riscv64 +%ifarch aarch64 %{arm} %{mips} ppc64le ppc %{power64} s390 s390x %{!?javalang:%global javalang 0} %else %{!?javalang:%global javalang 1} %endif -%ifarch %{ix86} x86_64 %{arm} aarch64 ppc64le +# Do not run Go tests, they failed with 4.0.0 on ppc64le +%ifarch %{ix86} x86_64 %{arm} aarch64 %{!?golang:%global golang 1} %else %{!?golang:%global golang 0} @@ -37,8 +52,8 @@ Summary: Connects C/C++/Objective C to some high-level programming languages Name: swig -Version: 3.0.12 -Release: 21.0.riscv64%{?dist} +Version: 4.0.0 +Release: 5%{?dist} License: GPLv3+ and BSD URL: http://swig.sourceforge.net/ Source0: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-%{version}.tar.gz @@ -51,26 +66,18 @@ Source4: ccache-swig.csh %endif Patch0: swig308-Do-not-use-isystem.patch -Patch1: swig-3.0.12-Fix-testsuite-to-work-without-.-in-INC.patch -# Upstream pull request to support Node v7/v8 -Patch2: https://patch-diff.githubusercontent.com/raw/swig/swig/pull/968/swig-node-v7.patch -# Fix generated code for constant expressions containing wchar_t L -# literals. -Patch3: swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch -Patch4: swig-3.0.12-Fix-type-promotion-wrapping-some-non-trivial-constan.patch -Patch5: swig-3.0.12-Correct-php-testcase.patch -Patch6: swig-3.0.12-Fix-go-version-matching-in-configure-for-go1.10.patch -# Backport upstream Coverity fixes (BZ# 1570037) -Patch7: swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch -Patch8: swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch -Patch9: swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch -Patch10: swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch +# https://github.com/swig/swig/pull/1522 +Patch1: swig-octave-ldflags.patch +# Fix Go tests for Go 1.13-beta1 (BZ#1736731) +Patch2: swig400-Fix-all-Go-tests-to-build-with-go-build.patch +Patch3: swig400-Restore-setting-of-GOVERSIONOPTION.patch +Patch4: swig400-Fix-Go-version-check-and-Go-in-tree-example-tests.patch BuildRequires: perl-interpreter, pcre-devel %if %{python2lang} BuildRequires: python2-devel %endif -BuildRequires: python3-devel +BuildRequires: python%{python3_pkgversion}-devel BuildRequires: autoconf, automake, gawk, dos2unix BuildRequires: gcc-c++ BuildRequires: help2man @@ -99,6 +106,7 @@ BuildRequires: octave-devel %endif %if %{golang} BuildRequires: golang +BuildRequires: golang-bin BuildRequires: golang-shared BuildRequires: golang-src %endif @@ -121,17 +129,20 @@ BuildRequires: php, php-devel %description Simplified Wrapper and Interface Generator (SWIG) is a software development tool for connecting C, C++ and Objective C programs with a -variety of high-level programming languages. SWIG is primarily used -with Perl, Python and Tcl/TK, but it has also been extended to Java, -Eiffel and Guile. SWIG is normally used to create high-level -interpreted programming environments, systems integration, and as a -tool for building user interfaces +variety of high-level programming languages. SWIG is used with different +types of target languages including common scripting languages such as +Javascript, Perl, PHP, Python, Tcl and Ruby. The list of supported +languages also includes non-scripting languages such as C#, D, Go language, +Java including Android, Lua, OCaml, Octave, Scilab and R. Also several +interpreted and compiled Scheme implementations (Guile, MzScheme/Racket) +are supported. SWIG is most commonly used to create high-level interpreted +or compiled programming environments, user interfaces, and as a tool for +testing and prototyping C/C++ software. %if %{with build_ccache_swig} %package -n ccache-swig Summary: Fast compiler cache License: GPLv2+ -Group: Development/Tools Requires: swig Conflicts: swig < 3.0.8-2 @@ -144,7 +155,6 @@ being done again. ccache-swig is ccache plus support for SWIG. %package doc Summary: Documentation files for SWIG License: BSD -Group: Development/Tools BuildArch: noarch %description doc @@ -160,19 +170,13 @@ This package contains file with commands for easier debugging of SWIG in gdb. %prep -%setup -q +%setup -q -n swig-%{version} %patch0 -p1 -b .isystem -%patch1 -p1 -%patch2 -p1 -b .bak +%patch1 -p1 -b .octave-ldflags +%patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 for all in CHANGES README; do iconv -f ISO88591 -t UTF8 < $all > $all.new @@ -193,9 +197,18 @@ done %else --without-python \ %endif +%if %{python3lang} --with-python3=%__python3 \ +%else + --without-python3 \ +%endif %if %{phplang} --with-php=%{__php} \ +%else + --without-php \ +%endif +%if ! %{tcl} + --without-tcl \ %endif %if ! %{javalang} --without-java \ @@ -336,9 +349,32 @@ install -pm 644 Tools/swig.gdb %{buildroot}%{_datadir}/%{name}/gdb %{_datadir}/%{name}/gdb %changelog -* Sun Jul 29 2018 David Abdurachmanov - 3.0.12-21.0.riscv64 -- Enable Java for RISC-V (riscv64) -- Disable testsuite for RISC-V (riscv64) as it takes too long +* Mon Aug 12 2019 Jitka Plesnikova - 4.0.0-5 +- Backport upstream fix for Go tests (BZ#1736731) + +* Tue Aug 06 2019 Jitka Plesnikova - 4.0.0-4 +- Disable Go tests, they fail with Go 1.13-beta + +* Sat Jul 27 2019 Fedora Release Engineering - 4.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 05 2019 Jitka Plesnikova - 4.0.0-2 +- Updated package description + +* Fri May 03 2019 Jitka Plesnikova - 4.0.0-1 +- Update to 4.0.0 + +* Sat Apr 27 2019 Orion Poplawski - 3.0.12-25 +- Add patches for octave 5.1 support + +* Sun Feb 03 2019 Fedora Release Engineering - 3.0.12-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Jonathan Wakely - 3.0.12-23 +- Rebuilt for Boost 1.69 + +* Thu Nov 15 2018 Jitka Plesnikova - 3.0.12-22 +- Add support for Octave 4.4 * Sat Jul 14 2018 Fedora Release Engineering - 3.0.12-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/swig400-Fix-Go-version-check-and-Go-in-tree-example-tests.patch b/swig400-Fix-Go-version-check-and-Go-in-tree-example-tests.patch new file mode 100644 index 0000000..11be2c5 --- /dev/null +++ b/swig400-Fix-Go-version-check-and-Go-in-tree-example-tests.patch @@ -0,0 +1,54 @@ +From 62136ff782e9bf6641970f716d7d40afcf6c49ea Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor +Date: Fri, 9 Aug 2019 14:06:45 -0700 +Subject: [PATCH] Fix Go version check and Go in-tree example tests + +Fixes #1607 +--- + Examples/Makefile.in | 4 ++-- + configure.ac | 5 +++-- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/Examples/Makefile.in b/Examples/Makefile.in +index 9e05d2763..6fbca29db 100644 +--- a/Examples/Makefile.in ++++ b/Examples/Makefile.in +@@ -1484,7 +1484,7 @@ go: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + rm -f gopath/$(GOMOD)/src/runme/*; \ + fi + if test -f $(SRCDIR)$(RUNME).go; then \ +- cp $(SRCDIR)/$(RUNME).go gopath/$(GOMOD)/src/runme/; \ ++ cp $(SRCDIR)$(RUNME).go gopath/$(GOMOD)/src/runme/; \ + fi + GOPATH=`pwd`/gopath/$(GOMOD); \ + export GOPATH; \ +@@ -1533,7 +1533,7 @@ go_cpp: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + rm -f gopath/$(GOMOD)/src/runme/*; \ + fi + if test -f $(SRCDIR)$(RUNME).go; then \ +- cp $(SRCDIR)/$(RUNME).go gopath/$(GOMOD)/src/runme/; \ ++ cp $(SRCDIR)$(RUNME).go gopath/$(GOMOD)/src/runme/; \ + fi + GOPATH=`pwd`/gopath/$(GOMOD); \ + export GOPATH; \ +diff --git a/configure.ac b/configure.ac +index 73c38a72c..63509cd66 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2391,10 +2391,11 @@ else + + if test -n "$GO" ; then + GOVERSIONOPTION=version ++ go_version=$($GO $GOVERSIONOPTION | sed -e 's/go version //') + AC_MSG_CHECKING([whether go version is too old]) + case $go_version in +- go1.[012345]*) +- AC_MSG_RESULT([yes - minimum version is 1.6]) ++ go1.[012]*) ++ AC_MSG_RESULT([yes - minimum version is 1.3]) + GO= + GOOPT="-intgosize 32" + ;; +-- +2.20.1 + diff --git a/swig400-Fix-all-Go-tests-to-build-with-go-build.patch b/swig400-Fix-all-Go-tests-to-build-with-go-build.patch new file mode 100644 index 0000000..861160d --- /dev/null +++ b/swig400-Fix-all-Go-tests-to-build-with-go-build.patch @@ -0,0 +1,2648 @@ +From 7aafe3d8b2c8b138c431d5fcc98a4d2a7c3270f9 Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor +Date: Thu, 8 Aug 2019 14:30:50 -0700 +Subject: [PATCH 1/2] Fix all Go tests to build with "go build" + +Tested against Go 1.6 through Go 1.13beta1, and gccgo. + +Fixes #1607 +--- + Examples/Makefile.in | 154 ++++-------------- + Examples/go/callback/runme.go | 2 +- + Examples/go/class/runme.go | 2 +- + Examples/go/constants/runme.go | 2 +- + Examples/go/director/runme.go | 2 +- + Examples/go/enum/runme.go | 2 +- + Examples/go/extend/runme.go | 2 +- + Examples/go/funcptr/runme.go | 2 +- + Examples/go/multimap/runme.go | 2 +- + Examples/go/pointer/runme.go | 2 +- + Examples/go/reference/runme.go | 2 +- + Examples/go/simple/runme.go | 2 +- + Examples/go/template/runme.go | 2 +- + Examples/go/variables/runme.go | 2 +- + Examples/test-suite/go/Makefile.in | 118 ++++++-------- + .../test-suite/go/abstract_access_runme.go | 2 +- + .../test-suite/go/abstract_typedef2_runme.go | 2 +- + .../test-suite/go/abstract_typedef_runme.go | 2 +- + .../test-suite/go/abstract_virtual_runme.go | 2 +- + Examples/test-suite/go/argout_runme.go | 2 +- + Examples/test-suite/go/array_member_runme.go | 2 +- + Examples/test-suite/go/arrays_global_runme.go | 2 +- + Examples/test-suite/go/char_binary_runme.go | 2 +- + Examples/test-suite/go/class_ignore_runme.go | 2 +- + .../test-suite/go/class_scope_weird_runme.go | 2 +- + .../test-suite/go/compactdefaultargs_runme.go | 2 +- + Examples/test-suite/go/constover_runme.go | 2 +- + .../test-suite/go/constructor_copy_runme.go | 2 +- + Examples/test-suite/go/contract_runme.go | 2 +- + ...cpp11_strongly_typed_enumerations_runme.go | 2 +- + Examples/test-suite/go/cpp_enum_runme.go | 2 +- + Examples/test-suite/go/cpp_namespace_runme.go | 2 +- + Examples/test-suite/go/cpp_static_runme.go | 2 +- + Examples/test-suite/go/default_args_runme.go | 2 +- + .../go/default_constructor_runme.go | 2 +- + .../go/director_alternating_runme.go | 2 +- + .../test-suite/go/director_basic_runme.go | 2 +- + .../test-suite/go/director_classic_runme.go | 2 +- + .../test-suite/go/director_default_runme.go | 2 +- + .../test-suite/go/director_detect_runme.go | 2 +- + Examples/test-suite/go/director_enum_runme.go | 2 +- + .../test-suite/go/director_exception_runme.go | 2 +- + .../test-suite/go/director_extend_runme.go | 2 +- + .../test-suite/go/director_finalizer_runme.go | 2 +- + Examples/test-suite/go/director_frob_runme.go | 2 +- + .../test-suite/go/director_nested_runme.go | 2 +- + .../test-suite/go/director_profile_runme.go | 2 +- + .../test-suite/go/director_protected_runme.go | 2 +- + .../test-suite/go/director_string_runme.go | 2 +- + .../test-suite/go/director_unroll_runme.go | 2 +- + Examples/test-suite/go/disown_runme.go | 2 +- + Examples/test-suite/go/dynamic_cast_runme.go | 2 +- + Examples/test-suite/go/empty_c_runme.go | 2 +- + Examples/test-suite/go/empty_runme.go | 2 +- + Examples/test-suite/go/enum_template_runme.go | 2 +- + Examples/test-suite/go/enums_runme.go | 2 +- + .../test-suite/go/exception_order_runme.go | 2 +- + .../test-suite/go/extend_placement_runme.go | 2 +- + .../test-suite/go/extend_template_ns_runme.go | 2 +- + .../test-suite/go/extend_template_runme.go | 2 +- + .../test-suite/go/extend_variable_runme.go | 2 +- + Examples/test-suite/go/extern_c_runme.go | 2 +- + Examples/test-suite/go/friends_runme.go | 2 +- + Examples/test-suite/go/fvirtual_runme.go | 2 +- + Examples/test-suite/go/global_ns_arg_runme.go | 2 +- + .../test-suite/go/go_director_inout_runme.go | 2 +- + Examples/test-suite/go/go_inout_runme.go | 2 +- + Examples/test-suite/go/grouping_runme.go | 2 +- + .../test-suite/go/import_nomodule_runme.go | 2 +- + Examples/test-suite/go/inctest_runme.go | 2 +- + .../test-suite/go/inherit_member_runme.go | 2 +- + .../test-suite/go/inherit_missing_runme.go | 2 +- + Examples/test-suite/go/input_runme.go | 2 +- + .../test-suite/go/keyword_rename_c_runme.go | 2 +- + .../test-suite/go/keyword_rename_runme.go | 2 +- + Examples/test-suite/go/li_attribute_runme.go | 2 +- + .../test-suite/go/li_carrays_cpp_runme.go | 2 +- + Examples/test-suite/go/li_carrays_runme.go | 2 +- + Examples/test-suite/go/li_cdata_cpp_runme.go | 2 +- + Examples/test-suite/go/li_cdata_runme.go | 2 +- + Examples/test-suite/go/li_cmalloc_runme.go | 2 +- + .../test-suite/go/li_cpointer_cpp_runme.go | 2 +- + Examples/test-suite/go/li_cpointer_runme.go | 2 +- + Examples/test-suite/go/li_std_map_runme.go | 2 +- + .../test-suite/go/li_std_vector_ptr_runme.go | 2 +- + .../test-suite/go/member_pointer_runme.go | 2 +- + .../test-suite/go/memberin_extend_c_runme.go | 2 +- + Examples/test-suite/go/minherit_runme.go | 2 +- + .../test-suite/go/namespace_class_runme.go | 2 +- + .../test-suite/go/namespace_typemap_runme.go | 2 +- + .../go/namespace_virtual_method_runme.go | 2 +- + Examples/test-suite/go/naturalvar_runme.go | 2 +- + .../test-suite/go/nested_workaround_runme.go | 2 +- + .../go/overload_complicated_runme.go | 2 +- + Examples/test-suite/go/overload_copy_runme.go | 2 +- + .../test-suite/go/overload_extend2_runme.go | 2 +- + .../test-suite/go/overload_extend_c_runme.go | 2 +- + .../test-suite/go/overload_extend_runme.go | 2 +- + .../go/overload_polymorphic_runme.go | 2 +- + .../test-suite/go/overload_rename_runme.go | 2 +- + .../test-suite/go/overload_simple_runme.go | 2 +- + .../test-suite/go/overload_subtype_runme.go | 2 +- + .../go/overload_template_fast_runme.go | 2 +- + .../test-suite/go/overload_template_runme.go | 2 +- + Examples/test-suite/go/preproc_runme.go | 2 +- + Examples/test-suite/go/primitive_ref_runme.go | 2 +- + Examples/test-suite/go/profiletest_runme.go | 2 +- + Examples/test-suite/go/refcount_runme.go | 2 +- + .../go/reference_global_vars_runme.go | 2 +- + Examples/test-suite/go/rename_scope_runme.go | 2 +- + Examples/test-suite/go/rename_simple_runme.go | 2 +- + .../go/rename_strip_encoder_runme.go | 2 +- + Examples/test-suite/go/ret_by_value_runme.go | 2 +- + .../test-suite/go/return_const_value_runme.go | 2 +- + .../go/smart_pointer_extend_runme.go | 2 +- + .../go/smart_pointer_member_runme.go | 2 +- + .../go/smart_pointer_multi_runme.go | 2 +- + .../go/smart_pointer_multi_typedef_runme.go | 2 +- + .../go/smart_pointer_overload_runme.go | 2 +- + .../go/smart_pointer_rename_runme.go | 2 +- + .../go/smart_pointer_simple_runme.go | 2 +- + .../smart_pointer_templatevariables_runme.go | 2 +- + .../go/smart_pointer_typedef_runme.go | 2 +- + Examples/test-suite/go/sneaky1_runme.go | 2 +- + .../go/special_variable_macros_runme.go | 2 +- + .../go/static_const_member_2_runme.go | 2 +- + .../go/struct_initialization_runme.go | 2 +- + Examples/test-suite/go/struct_rename_runme.go | 2 +- + Examples/test-suite/go/struct_value_runme.go | 2 +- + .../go/template_default_arg_runme.go | 2 +- + .../test-suite/go/template_extend1_runme.go | 2 +- + .../test-suite/go/template_extend2_runme.go | 2 +- + .../test-suite/go/template_inherit_runme.go | 2 +- + Examples/test-suite/go/template_ns4_runme.go | 2 +- + Examples/test-suite/go/template_ns_runme.go | 2 +- + .../test-suite/go/template_opaque_runme.go | 2 +- + .../test-suite/go/template_ref_type_runme.go | 2 +- + .../test-suite/go/template_rename_runme.go | 2 +- + .../test-suite/go/template_static_runme.go | 2 +- + .../go/template_tbase_template_runme.go | 2 +- + .../go/template_type_namespace_runme.go | 2 +- + .../go/template_typedef_cplx3_runme.go | 2 +- + .../go/template_typedef_cplx4_runme.go | 2 +- + .../test-suite/go/threads_exception_runme.go | 2 +- + Examples/test-suite/go/typedef_class_runme.go | 2 +- + .../test-suite/go/typedef_funcptr_runme.go | 2 +- + .../test-suite/go/typedef_inherit_runme.go | 2 +- + Examples/test-suite/go/typedef_scope_runme.go | 2 +- + .../test-suite/go/typemap_namespace_runme.go | 2 +- + .../test-suite/go/typemap_ns_using_runme.go | 2 +- + .../go/typemap_out_optimal_runme.go | 2 +- + Examples/test-suite/go/typename_runme.go | 2 +- + Examples/test-suite/go/unions_runme.go | 2 +- + Examples/test-suite/go/using1_runme.go | 2 +- + Examples/test-suite/go/using2_runme.go | 2 +- + .../test-suite/go/using_composition_runme.go | 2 +- + Examples/test-suite/go/using_extend_runme.go | 2 +- + Examples/test-suite/go/using_inherit_runme.go | 2 +- + Examples/test-suite/go/using_private_runme.go | 2 +- + .../test-suite/go/using_protected_runme.go | 2 +- + .../test-suite/go/varargs_overload_runme.go | 2 +- + Examples/test-suite/go/varargs_runme.go | 2 +- + .../test-suite/go/virtual_derivation_runme.go | 2 +- + Examples/test-suite/go/virtual_poly_runme.go | 2 +- + Examples/test-suite/go/voidtest_runme.go | 2 +- + Examples/test-suite/go/wrapmacro_runme.go | 2 +- + configure.ac | 38 +---- + 167 files changed, 246 insertions(+), 392 deletions(-) + +diff --git a/Examples/Makefile.in b/Examples/Makefile.in +index 98be7873f..9e05d2763 100644 +--- a/Examples/Makefile.in ++++ b/Examples/Makefile.in +@@ -1436,34 +1436,20 @@ scilab_clean: + GO = @GO@ + GOGCC = @GOGCC@ + GCCGO = @GCCGO@ +-GO1 = @GO1@ +-GO12 = @GO12@ +-GO13 = @GO13@ +-GO15 = @GO15@ +-GOC = @GOC@ + GOOPT = @GOOPT@ + GCCGOOPT = @GCCGOOPT@ + GOVERSIONOPTION = @GOVERSIONOPTION@ + + GOSWIGARG = `if $(GOGCC) ; then echo -gccgo; fi` +-GOCOMPILEARG = `if $(GO15); then echo tool compile; elif $(GO1) ; then echo tool $(GOC:c=g) ; fi` `if $(GO13) || $(GO15); then echo -pack ; fi` + + GOSRCS = $(INTERFACE:.i=.go) + GOCSRCS = $(INTERFACE:.i=_gc.c) + +-GOLD = `if $(GO15); then echo link; else echo $(GOC:c=l); fi` +-GOTOOL = `if $(GO1) ; then echo go tool; fi` +-GOPACK = `if $(GO1) ; then echo go tool pack; else echo gopack; fi` +- + GOPACKAGE = $(notdir $(INTERFACE:.i=.a)) + + GOPATHPARENTDIR = gopath/$(GOMOD)/src + GOPATHDIR = $(GOPATHPARENTDIR)/$(INTERFACE:.i=) + +-GOOBJEXT = `if $(GO15); then echo o; else echo $(GOC:c=); fi` +-GOGCOBJS = $(GOSRCS:.go=.$(GOOBJEXT)) +-GOGCCOBJS = $(GOSRCS:.go=.@OBJEXT@) +- + # ---------------------------------------------------------------- + # Build a Go module (C) + # ---------------------------------------------------------------- +@@ -1478,49 +1464,13 @@ $(GOPATHPARENTDIR)/go.mod: + echo "go 1.12" >> $(GOPATHDIR)/go.mod + mv -f $(GOPATHDIR)/go.mod $(GOPATHPARENTDIR)/go.mod + +-go_nocgo: $(SRCDIR_SRCS) +- $(SWIG) -go -no-cgo $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ISRCS) $(INTERFACEPATH) +- if $(GO12) || $(GO13) || $(GO15) || $(GOGCC); then \ +- $(CC) -g -c $(CPPFLAGS) $(CFLAGS) $(SRCDIR_SRCS) $(ISRCS) $(INCLUDES); \ +- else \ +- $(CC) -g -c $(CCSHARED) $(CPPFLAGS) $(CFLAGS) $(SRCDIR_SRCS) $(ISRCS) $(INCLUDES); \ +- $(LDSHARED) $(CFLAGS) $(LDFLAGS) $(OBJS) $(IOBJS) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(SO); \ +- fi +- if $(GOGCC) ; then \ +- $(COMPILETOOL) $(GCCGO) -g -c -I . $(GOSRCS); \ +- else \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(GOSRCS); \ +- $(COMPILETOOL) $(GOTOOL) $(GOC) -I $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`} $(GOCSRCS); \ +- rm -f $(GOPACKAGE); \ +- if $(GO13) || $(GO15); then \ +- cp $(GOGCOBJS) $(GOPACKAGE); \ +- $(COMPILETOOL) $(GOPACK) r $(GOPACKAGE) $(GOCSRCS:.c=.$(GOOBJEXT)) $(OBJS) $(IOBJS); \ +- elif $(GO12); then \ +- $(COMPILETOOL) $(GOPACK) grc $(GOPACKAGE) $(GOGCOBJS) $(GOCSRCS:.c=.$(GOOBJEXT)) $(OBJS) $(IOBJS); \ +- else \ +- $(COMPILETOOL) $(GOPACK) grc $(GOPACKAGE) $(GOGCOBJS) $(GOCSRCS:.c=.$(GOOBJEXT)); \ +- fi; \ +- fi +- if test -f $(SRCDIR)$(RUNME).go; then \ +- if $(GOGCC) ; then \ +- $(COMPILETOOL) $(GCCGO) -g -c $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(GOGCCOBJS) $(OBJS) $(IOBJS); \ +- elif $(GO12) || $(GO13) || $(GO15); then \ +- $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -linkmode external -extld "$(CC)" -extldflags "$(CFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- else \ +- $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- fi; \ +- fi +- + go: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + $(SWIG) -go -import-prefix swigtests $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ISRCS) $(INTERFACEPATH) + @mkdir gopath 2>/dev/null || true + @mkdir gopath/$(GOMOD) 2>/dev/null || true + @mkdir gopath/$(GOMOD)/src 2>/dev/null || true + @mkdir $(GOPATHDIR) 2>/dev/null || true +- rm -f $(GOPATHDIR)/* ++ rm -rf $(GOPATHDIR)/* + cp $(ISRCS) $(GOPATHDIR)/ + if test -f $(IWRAP:.i=.h); then \ + cp $(IWRAP:.i=.h) $(GOPATHDIR)/; \ +@@ -1529,6 +1479,13 @@ go: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + cp $(SRCDIR_SRCS) $(GOPATHDIR)/; \ + fi + cp $(GOSRCS) $(GOPATHDIR)/ ++ @if test -f $(SRCDIR)$(RUNME).go; then \ ++ mkdir gopath/$(GOMOD)/src/runme 2>/dev/null || true; \ ++ rm -f gopath/$(GOMOD)/src/runme/*; \ ++ fi ++ if test -f $(SRCDIR)$(RUNME).go; then \ ++ cp $(SRCDIR)/$(RUNME).go gopath/$(GOMOD)/src/runme/; \ ++ fi + GOPATH=`pwd`/gopath/$(GOMOD); \ + export GOPATH; \ + CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) -I `cd $(SRCDIR) && pwd` -I `pwd`"; \ +@@ -1537,82 +1494,29 @@ go: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + export CGO_CFLAGS; \ + CGO_LDFLAGS="$(LDFLAGS) -lm"; \ + export CGO_LDFLAGS; \ +- (cd $(GOPATHDIR)/ && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o $(GOPACKAGE)) ++ (cd $(GOPATHDIR)/ && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o $(GOPACKAGE)); \ + if $(GOGCC); then \ + cp $(GOPATHDIR)/$(GOPACKAGE) $(GOPATHDIR)/$(GOPACKAGE:.a=.gox); \ +- fi ++ fi; \ + if test -f $(SRCDIR)$(RUNME).go; then \ +- if $(GOGCC) ; then \ +- $(COMPILETOOL) $(GCCGO) -c -g -I $(GOPATHDIR) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(GOPATHDIR)/$(GOPACKAGE); \ +- elif $(GO12) || $(GO13) || $(GO15); then \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I $(GOPATHDIR) -o $(RUNME).$(GOOBJEXT) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -L $(GOPATHDIR) -linkmode external -extld "$(CC)" -extldflags "$(CFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- else \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- fi; \ ++ mkdir gopath/$(GOMOD)/src/swigtests 2>/dev/null || true; \ ++ mkdir gopath/$(GOMOD)/src/swigtests/$(INTERFACE:.i=) 2>/dev/null || true; \ ++ cp $(GOPATHDIR)/* gopath/$(GOMOD)/src/swigtests/$(INTERFACE:.i=)/; \ ++ (cd gopath/$(GOMOD)/src/runme && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o runme $(RUNME).go); \ ++ cp gopath/$(GOMOD)/src/runme/runme $(RUNME); \ + fi + + # ---------------------------------------------------------------- + # Build a Go module (C++) + # ---------------------------------------------------------------- + +-go_cpp_nocgo: $(SRCDIR_SRCS) +- $(SWIG) -go -c++ -no-cgo $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ICXXSRCS) $(INTERFACEPATH) +- if $(GO12) || $(GO13) || $(GO15) || $(GOGCC); then \ +- if test -n "$(SRCDIR_CXXSRCS)$(SRCDIR_SRCS)"; then \ +- $(CXX) -g -c $(CPPFLAGS) $(CXXFLAGS) $(SRCDIR_CXXSRCS) $(SRCDIR_SRCS) $(INCLUDES); \ +- fi; \ +- $(foreach f,$(ICXXSRCS), \ +- $(CXX) -g -c $(CPPFLAGS) $(CXXFLAGS) -o $(addsuffix .@OBJEXT@,$(basename $f)) $f $(INCLUDES); \ +- ) \ +- else \ +- $(CXX) -g -c $(CCSHARED) $(CPPFLAGS) $(CXXFLAGS) $(SRCDIR_SRCS) $(SRCDIR_CXXSRCS) $(ICXXSRCS) $(INCLUDES); \ +- $(CXXSHARED) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(SO); \ +- fi +- if ! $(GOGCC) ; then \ +- $(foreach f,$(GOSRCS), \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . -o $(addsuffix .$(GOOBJEXT),$(basename $f)) $f \ +- ); \ +- $(foreach f,$(GOCSRCS), \ +- $(COMPILETOOL) $(GOTOOL) $(GOC) -I $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`} \ +- -o $(addsuffix .$(GOOBJEXT),$(basename $f)) $f; \ +- ) \ +- rm -f $(GOPACKAGE); \ +- if $(GO13) || $(GO15); then \ +- cp $(GOGCOBJS) $(GOPACKAGE); \ +- $(COMPILETOOL) $(GOPACK) r $(GOPACKAGE) $(GOCSRCS:.c=.$(GOOBJEXT)) $(OBJS) $(IOBJS); \ +- elif $(GO12); then \ +- $(COMPILETOOL) $(GOPACK) grc $(GOPACKAGE) $(GOGCOBJS) $(GOCSRCS:.c=.$(GOOBJEXT)) $(OBJS) $(IOBJS); \ +- else \ +- $(COMPILETOOL) $(GOPACK) grc $(GOPACKAGE) $(GOGCOBJS) $(GOCSRCS:.c=.$(GOOBJEXT)); \ +- fi; \ +- else \ +- $(foreach f,$(GOSRCS), \ +- $(COMPILETOOL) $(GCCGO) -g -c -I . -o $(addsuffix .@OBJEXT@,$(basename $f)) $f \ +- ); \ +- fi +- if test -f $(SRCDIR)$(RUNME).go; then \ +- if $(GOGCC) ; then \ +- $(COMPILETOOL) $(GCCGO) -g -c $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(GOGCCOBJS) $(OBJS) $(IOBJS) -lstdc++; \ +- elif $(GO12) || $(GO13) || $(GO15); then \ +- $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -linkmode external -extld "$(CXX)" -extldflags "$(CXXFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- else \ +- $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- fi; \ +- fi +- + go_cpp: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + $(SWIG) -go -c++ -import-prefix swigtests $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ICXXSRCS) $(INTERFACEPATH) + @mkdir gopath 2>/dev/null || true + @mkdir gopath/$(GOMOD) 2>/dev/null || true + @mkdir gopath/$(GOMOD)/src 2>/dev/null || true + @mkdir $(GOPATHDIR) 2>/dev/null || true +- rm -f $(GOPATHDIR)/* ++ rm -rf $(GOPATHDIR)/* + cp $(ICXXSRCS) $(GOPATHDIR)/ + if test -f $(IWRAP:.i=.h); then \ + cp $(IWRAP:.i=.h) $(GOPATHDIR)/; \ +@@ -1624,6 +1528,13 @@ go_cpp: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + cp $(SRCDIR_SRCS) $(GOPATHDIR)/; \ + fi + cp $(GOSRCS) $(GOPATHDIR)/ ++ @if test -f $(SRCDIR)$(RUNME).go; then \ ++ mkdir gopath/$(GOMOD)/src/runme 2>/dev/null || true; \ ++ rm -f gopath/$(GOMOD)/src/runme/*; \ ++ fi ++ if test -f $(SRCDIR)$(RUNME).go; then \ ++ cp $(SRCDIR)/$(RUNME).go gopath/$(GOMOD)/src/runme/; \ ++ fi + GOPATH=`pwd`/gopath/$(GOMOD); \ + export GOPATH; \ + CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) -I `cd $(SRCDIR) && pwd` -I `pwd`"; \ +@@ -1634,21 +1545,16 @@ go_cpp: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod + export CGO_CXXFLAGS; \ + CGO_LDFLAGS="$(LDFLAGS) -lm"; \ + export CGO_LDFLAGS; \ +- (cd $(GOPATHDIR) && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o $(GOPACKAGE)) ++ (cd $(GOPATHDIR) && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o $(GOPACKAGE)); \ + if $(GOGCC); then \ + cp $(GOPATHDIR)/$(GOPACKAGE) $(GOPATHDIR)/$(GOPACKAGE:.a=.gox); \ +- fi ++ fi; \ + if test -f $(SRCDIR)$(RUNME).go; then \ +- if $(GOGCC) ; then \ +- $(COMPILETOOL) $(GCCGO) -g -c -I $(GOPATHDIR) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(GOPATHDIR)/$(GOPACKAGE) -lstdc++; \ +- elif $(GO12) || $(GO13) || $(GO15); then \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I $(GOPATHDIR) -o $(RUNME).$(GOOBJEXT) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -L $(GOPATHDIR) -linkmode external -extld "$(CXX)" -extldflags "$(CXXFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- else \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $(RUNME) $(RUNME).$(GOOBJEXT); \ +- fi; \ ++ mkdir gopath/$(GOMOD)/src/swigtests 2>/dev/null || true; \ ++ mkdir gopath/$(GOMOD)/src/swigtests/$(INTERFACE:.i=) 2>/dev/null || true; \ ++ cp $(GOPATHDIR)/* gopath/$(GOMOD)/src/swigtests/$(INTERFACE:.i=)/; \ ++ (cd gopath/$(GOMOD)/src/runme && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o runme $(RUNME).go); \ ++ cp gopath/$(GOMOD)/src/runme/runme $(RUNME); \ + fi + + # ----------------------------------------------------------------- +diff --git a/Examples/go/callback/runme.go b/Examples/go/callback/runme.go +index 2c1d81343..7c9ffd681 100644 +--- a/Examples/go/callback/runme.go ++++ b/Examples/go/callback/runme.go +@@ -3,7 +3,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/class/runme.go b/Examples/go/class/runme.go +index d2f292ed4..a09a18247 100644 +--- a/Examples/go/class/runme.go ++++ b/Examples/go/class/runme.go +@@ -5,7 +5,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/constants/runme.go b/Examples/go/constants/runme.go +index d56fd62c8..57ef21a8b 100644 +--- a/Examples/go/constants/runme.go ++++ b/Examples/go/constants/runme.go +@@ -3,7 +3,7 @@ package main + import ( + "fmt" + +- "example" ++ "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/director/runme.go b/Examples/go/director/runme.go +index 0e0da07bd..e28eccba6 100644 +--- a/Examples/go/director/runme.go ++++ b/Examples/go/director/runme.go +@@ -4,7 +4,7 @@ import ( + "fmt" + "os" + +- "example" ++ "swigtests/example" + ) + + func Compare(name string, got string, exp string) error { +diff --git a/Examples/go/enum/runme.go b/Examples/go/enum/runme.go +index 50887056e..c0642e0b5 100644 +--- a/Examples/go/enum/runme.go ++++ b/Examples/go/enum/runme.go +@@ -3,7 +3,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/extend/runme.go b/Examples/go/extend/runme.go +index af64a6e5d..716af52c5 100644 +--- a/Examples/go/extend/runme.go ++++ b/Examples/go/extend/runme.go +@@ -5,7 +5,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/funcptr/runme.go b/Examples/go/funcptr/runme.go +index 4b20db4fb..87ec7d495 100644 +--- a/Examples/go/funcptr/runme.go ++++ b/Examples/go/funcptr/runme.go +@@ -3,7 +3,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/multimap/runme.go b/Examples/go/multimap/runme.go +index 571fac7c2..2f8b20568 100644 +--- a/Examples/go/multimap/runme.go ++++ b/Examples/go/multimap/runme.go +@@ -3,7 +3,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/pointer/runme.go b/Examples/go/pointer/runme.go +index 0cf340f51..73c6b2b3c 100644 +--- a/Examples/go/pointer/runme.go ++++ b/Examples/go/pointer/runme.go +@@ -3,7 +3,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/reference/runme.go b/Examples/go/reference/runme.go +index 9999733b3..7391d9c8b 100644 +--- a/Examples/go/reference/runme.go ++++ b/Examples/go/reference/runme.go +@@ -5,7 +5,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/simple/runme.go b/Examples/go/simple/runme.go +index 0bd4657f9..5bc055f2e 100644 +--- a/Examples/go/simple/runme.go ++++ b/Examples/go/simple/runme.go +@@ -3,7 +3,7 @@ package main + import ( + "fmt" + +- "example" ++ "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/template/runme.go b/Examples/go/template/runme.go +index 347795377..e000b1579 100644 +--- a/Examples/go/template/runme.go ++++ b/Examples/go/template/runme.go +@@ -5,7 +5,7 @@ package main + import ( + "fmt" + +- . "example" ++ . "swigtests/example" + ) + + func main() { +diff --git a/Examples/go/variables/runme.go b/Examples/go/variables/runme.go +index e2dd0c67f..85ca8c638 100644 +--- a/Examples/go/variables/runme.go ++++ b/Examples/go/variables/runme.go +@@ -5,7 +5,7 @@ package main + import ( + "fmt" + +- "example" ++ "swigtests/example" + ) + + func main() { +diff --git a/Examples/test-suite/go/Makefile.in b/Examples/test-suite/go/Makefile.in +index d07a56bec..8283327d6 100644 +--- a/Examples/test-suite/go/Makefile.in ++++ b/Examples/test-suite/go/Makefile.in +@@ -6,24 +6,10 @@ LANGUAGE = go + GO = @GO@ + GOGCC = @GOGCC@ + GCCGO = @GCCGO@ +-GO1 = @GO1@ +-GO12 = @GO12@ +-GO13 = @GO13@ +-GO15 = @GO15@ +-GOC = @GOC@ + GOVERSIONOPTION = @GOVERSIONOPTION@ + host = @host@ + SCRIPTSUFFIX = _runme.go + +-GOCOMPILEARG = `if $(GO15); then echo tool compile; elif $(GO1); then echo tool $(GOC:c=g); fi` +-GOLD = `if $(GO15); then echo link; else echo $(GOC:c=l); fi` +-GOTOOL = `if $(GO1) ; then echo go tool; fi` +-GOPACK = `if $(GO1) ; then echo go tool pack; else echo gopack; fi` +- +-GOOBJEXT = `if $(GO15); then echo o; else echo $(GOC:c=); fi` +- +-OSXOLDGOLINKFLAGS = `if [ -n "\`$(GO) $(GOVERSIONOPTION) | grep -E 'go1($|.0|.1|.2|.3)'\`" ] && [ -n "\`echo $(host) | grep darwin\`" ]; then echo "-Wl,-U,__cgo_topofstack"; fi` +- + SO = @SO@ + + srcdir = @srcdir@ +@@ -49,27 +35,11 @@ INCLUDES = -I$(abs_top_srcdir)/$(EXAMPLES)/$(TEST_SUITE) + $(setup) + +$(swig_and_compile_cpp) + $(run_testcase_cpp) +- if ! $(GO15); then \ +- $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(CXXSRCS)' \ +- SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ +- INCLUDES='$(INCLUDES)' SWIGOPT='$(SWIGOPT)' NOLINK=true \ +- TARGET='$(TARGETPREFIX)$*$(TARGETSUFFIX)' INTERFACEDIR='$(INTERFACEDIR)' INTERFACE='$*.i' \ +- $(LANGUAGE)$(VARIANT)_cpp_nocgo && \ +- $(run_testcase_cpp); \ +- fi + + %.ctest: + $(setup) + +$(swig_and_compile_c) + $(run_testcase) +- if ! $(GO15); then \ +- $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' CSRCS='$(CSRCS)' \ +- SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \ +- INCLUDES='$(INCLUDES)' SWIGOPT='$(SWIGOPT)' NOLINK=true \ +- TARGET='$(TARGETPREFIX)$*$(TARGETSUFFIX)' INTERFACEDIR='$(INTERFACEDIR)' INTERFACE='$*.i' \ +- $(LANGUAGE)$(VARIANT)_nocgo && \ +- $(run_testcase); \ +- fi + + %.multicpptest: + $(setup) +@@ -136,54 +106,66 @@ go_subdir_import.multicpptest: + # Runs the testcase. + run_testcase = \ + if test -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \ +- if $(GOGCC) ; then \ +- $(COMPILETOOL) $(GCCGO) -c -g -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \ +- $(COMPILETOOL) $(GCCGO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ gopath/src/$*/$*.a; \ +- elif $(GO12) || $(GO13) || $(GO15); then \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -L gopath/src/$* -linkmode external -extld $(CC) -extldflags "$(CFLAGS) $(OSXOLDGOLINKFLAGS)" -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \ +- else \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \ +- fi && \ ++ GOPATH=`pwd`/gopath/; \ ++ export GOPATH; \ ++ CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) -I `cd $(SRCDIR) && pwd` -I `pwd`"; \ ++ export CGO_CPPFLAGS; \ ++ CGO_CFLAGS="$(CFLAGS)"; \ ++ export CGO_CFLAGS; \ ++ CGO_CXXFLAGS="$(CXXFLAGS)"; \ ++ export CGO_CXXFLAGS; \ ++ CGO_LDFLAGS="$(LDFLAGS) -lm"; \ ++ export CGO_LDFLAGS; \ ++ mkdir gopath/src/swigtests 2>/dev/null || true; \ ++ mkdir gopath/src/swigtests/$* 2>/dev/null || true; \ ++ cp gopath/src/$*/* gopath/src/swigtests/$*/; \ ++ mkdir gopath/src/$*/runme 2>/dev/null || true; \ ++ cp $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) gopath/src/$*/runme/runme.go; \ ++ (cd gopath/src/$*/runme && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o runme runme.go); \ ++ cp gopath/src/$*/runme/runme $*_runme; \ + env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \ + fi + + run_testcase_cpp = \ + if test -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \ +- if $(GOGCC) ; then \ +- $(COMPILETOOL) $(GCCGO) -c -g -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \ +- $(COMPILETOOL) $(GCCGO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ gopath/src/$*/$*.a -lstdc++; \ +- elif $(GO12) || $(GO13) || $(GO15); then \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -L gopath/src/$* -linkmode external -extld $(CXX) -extldflags "$(CXXFLAGS) $(OSXOLDGOLINKFLAGS)" -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \ +- else \ +- $(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \ +- $(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \ +- fi && \ ++ GOPATH=`pwd`/gopath/; \ ++ export GOPATH; \ ++ CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) -I `cd $(SRCDIR) && pwd` -I `pwd`"; \ ++ export CGO_CPPFLAGS; \ ++ CGO_CFLAGS="$(CFLAGS)"; \ ++ export CGO_CFLAGS; \ ++ CGO_CXXFLAGS="$(CXXFLAGS)"; \ ++ export CGO_CXXFLAGS; \ ++ CGO_LDFLAGS="$(LDFLAGS) -lm"; \ ++ export CGO_LDFLAGS; \ ++ mkdir gopath/src/swigtests 2>/dev/null || true; \ ++ mkdir gopath/src/swigtests/$* 2>/dev/null || true; \ ++ cp gopath/src/$*/* gopath/src/swigtests/$*/; \ ++ mkdir gopath/src/$*/runme 2>/dev/null || true; \ ++ cp $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) gopath/src/$*/runme/runme.go; \ ++ (cd gopath/src/$*/runme && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o runme runme.go); \ ++ cp gopath/src/$*/runme/runme $*_runme; \ + env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \ + fi + + run_multi_testcase = \ + if test -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \ +- if $(GO15) || $(GOGCC); then \ +- files=`cat $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/$*.list`; \ +- mkdir gopath/$*/src/$* 2>/dev/null || true; \ +- cp $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) gopath/$*/src/$*; \ +- GOPATH="`pwd`/gopath/$*"; \ +- export GOPATH; \ +- CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) `for f in $$files; do echo -I ../$$f; done`"; \ +- export CGO_CPPFLAGS; \ +- CGO_CFLAGS="$(CFLAGS)"; \ +- export CGO_CFLAGS; \ +- CGO_CXXFLAGS="$(CXXFLAGS)"; \ +- export CGO_CXXFLAGS; \ +- CGO_LDFLAGS="$(LDFLAGS) -lm"; \ +- export CGO_LDFLAGS; \ +- (cd gopath/$*/src/$* && \ +- $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o ../../../../$*_runme) && \ +- env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \ +- fi; \ ++ files=`cat $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/$*.list`; \ ++ mkdir gopath/$*/src/$* 2>/dev/null || true; \ ++ cp $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) gopath/$*/src/$*; \ ++ GOPATH="`pwd`/gopath/$*"; \ ++ export GOPATH; \ ++ CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) `for f in $$files; do echo -I ../$$f; done`"; \ ++ export CGO_CPPFLAGS; \ ++ CGO_CFLAGS="$(CFLAGS)"; \ ++ export CGO_CFLAGS; \ ++ CGO_CXXFLAGS="$(CXXFLAGS)"; \ ++ export CGO_CXXFLAGS; \ ++ CGO_LDFLAGS="$(LDFLAGS) -lm"; \ ++ export CGO_LDFLAGS; \ ++ (cd gopath/$*/src/$* && \ ++ $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o ../../../../$*_runme) && \ ++ env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \ + fi + + %.clean: +diff --git a/Examples/test-suite/go/abstract_access_runme.go b/Examples/test-suite/go/abstract_access_runme.go +index 5102236f9..0a0e56fef 100644 +--- a/Examples/test-suite/go/abstract_access_runme.go ++++ b/Examples/test-suite/go/abstract_access_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "abstract_access" ++import "swigtests/abstract_access" + + func main() { + d := abstract_access.NewD() +diff --git a/Examples/test-suite/go/abstract_typedef2_runme.go b/Examples/test-suite/go/abstract_typedef2_runme.go +index 76a5fc8de..5e2ed1e7a 100644 +--- a/Examples/test-suite/go/abstract_typedef2_runme.go ++++ b/Examples/test-suite/go/abstract_typedef2_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "abstract_typedef2" ++import "swigtests/abstract_typedef2" + + func main() { + abstract_typedef2.NewA_UF() +diff --git a/Examples/test-suite/go/abstract_typedef_runme.go b/Examples/test-suite/go/abstract_typedef_runme.go +index 56aaa613f..1ad49f59d 100644 +--- a/Examples/test-suite/go/abstract_typedef_runme.go ++++ b/Examples/test-suite/go/abstract_typedef_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "abstract_typedef" ++import "swigtests/abstract_typedef" + + func main() { + e := abstract_typedef.NewEngine() +diff --git a/Examples/test-suite/go/abstract_virtual_runme.go b/Examples/test-suite/go/abstract_virtual_runme.go +index e19eac27d..d333d50b3 100644 +--- a/Examples/test-suite/go/abstract_virtual_runme.go ++++ b/Examples/test-suite/go/abstract_virtual_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "abstract_virtual" ++import "swigtests/abstract_virtual" + + func main() { + abstract_virtual.NewD() +diff --git a/Examples/test-suite/go/argout_runme.go b/Examples/test-suite/go/argout_runme.go +index bb8ab9ed2..b2edf54b6 100644 +--- a/Examples/test-suite/go/argout_runme.go ++++ b/Examples/test-suite/go/argout_runme.go +@@ -1,6 +1,6 @@ + package main + +-import wrap "argout" ++import wrap "swigtests/argout" + + func main() { + ip := wrap.New_intp() +diff --git a/Examples/test-suite/go/array_member_runme.go b/Examples/test-suite/go/array_member_runme.go +index 4f029db98..d8c3896ee 100644 +--- a/Examples/test-suite/go/array_member_runme.go ++++ b/Examples/test-suite/go/array_member_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "array_member" ++import . "swigtests/array_member" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/arrays_global_runme.go b/Examples/test-suite/go/arrays_global_runme.go +index 35b049d9a..9c4a9e57a 100644 +--- a/Examples/test-suite/go/arrays_global_runme.go ++++ b/Examples/test-suite/go/arrays_global_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "arrays_global" ++import . "swigtests/arrays_global" + + func main() { + SetArray_i(GetArray_const_i()) +diff --git a/Examples/test-suite/go/char_binary_runme.go b/Examples/test-suite/go/char_binary_runme.go +index d47d616af..3c8c2d72d 100644 +--- a/Examples/test-suite/go/char_binary_runme.go ++++ b/Examples/test-suite/go/char_binary_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "char_binary" ++import . "swigtests/char_binary" + + func main() { + t := NewTest() +diff --git a/Examples/test-suite/go/class_ignore_runme.go b/Examples/test-suite/go/class_ignore_runme.go +index 24261c637..11cf81d91 100644 +--- a/Examples/test-suite/go/class_ignore_runme.go ++++ b/Examples/test-suite/go/class_ignore_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "class_ignore" ++import "swigtests/class_ignore" + + func main() { + a := class_ignore.NewBar() +diff --git a/Examples/test-suite/go/class_scope_weird_runme.go b/Examples/test-suite/go/class_scope_weird_runme.go +index a42bdad21..477699061 100644 +--- a/Examples/test-suite/go/class_scope_weird_runme.go ++++ b/Examples/test-suite/go/class_scope_weird_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "class_scope_weird" ++import "swigtests/class_scope_weird" + + func main() { + f := class_scope_weird.NewFoo() +diff --git a/Examples/test-suite/go/compactdefaultargs_runme.go b/Examples/test-suite/go/compactdefaultargs_runme.go +index fe6224ca2..c9e90087f 100644 +--- a/Examples/test-suite/go/compactdefaultargs_runme.go ++++ b/Examples/test-suite/go/compactdefaultargs_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "compactdefaultargs" ++import . "swigtests/compactdefaultargs" + + func main() { + defaults1 := NewDefaults1(1000) +diff --git a/Examples/test-suite/go/constover_runme.go b/Examples/test-suite/go/constover_runme.go +index 6c837095a..51d965e7f 100644 +--- a/Examples/test-suite/go/constover_runme.go ++++ b/Examples/test-suite/go/constover_runme.go +@@ -4,7 +4,7 @@ import ( + "fmt" + "os" + +- "constover" ++ "swigtests/constover" + ) + + func main() { +diff --git a/Examples/test-suite/go/constructor_copy_runme.go b/Examples/test-suite/go/constructor_copy_runme.go +index 68c428853..ca4725549 100644 +--- a/Examples/test-suite/go/constructor_copy_runme.go ++++ b/Examples/test-suite/go/constructor_copy_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "constructor_copy" ++import . "swigtests/constructor_copy" + + func main() { + f1 := NewFoo1(3) +diff --git a/Examples/test-suite/go/contract_runme.go b/Examples/test-suite/go/contract_runme.go +index b028855c3..7c9d0979e 100644 +--- a/Examples/test-suite/go/contract_runme.go ++++ b/Examples/test-suite/go/contract_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "contract" ++import "swigtests/contract" + + func main() { + contract.Test_preassert(1, 2) +diff --git a/Examples/test-suite/go/cpp11_strongly_typed_enumerations_runme.go b/Examples/test-suite/go/cpp11_strongly_typed_enumerations_runme.go +index f9ca74a1e..926b6f756 100644 +--- a/Examples/test-suite/go/cpp11_strongly_typed_enumerations_runme.go ++++ b/Examples/test-suite/go/cpp11_strongly_typed_enumerations_runme.go +@@ -1,7 +1,7 @@ + package main + + import "fmt" +-import . "cpp11_strongly_typed_enumerations" ++import . "swigtests/cpp11_strongly_typed_enumerations" + + func enumCheck(actual int, expected int) int { + if actual != expected { +diff --git a/Examples/test-suite/go/cpp_enum_runme.go b/Examples/test-suite/go/cpp_enum_runme.go +index 8906dd4f1..9b8930a44 100644 +--- a/Examples/test-suite/go/cpp_enum_runme.go ++++ b/Examples/test-suite/go/cpp_enum_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "cpp_enum" ++import "swigtests/cpp_enum" + + func main() { + f := cpp_enum.NewFoo() +diff --git a/Examples/test-suite/go/cpp_namespace_runme.go b/Examples/test-suite/go/cpp_namespace_runme.go +index aecdd9543..71affc57d 100644 +--- a/Examples/test-suite/go/cpp_namespace_runme.go ++++ b/Examples/test-suite/go/cpp_namespace_runme.go +@@ -1,7 +1,7 @@ + // Note: This example assumes that namespaces are flattened + package main + +-import "cpp_namespace" ++import "swigtests/cpp_namespace" + + func main() { + n := cpp_namespace.Fact(4) +diff --git a/Examples/test-suite/go/cpp_static_runme.go b/Examples/test-suite/go/cpp_static_runme.go +index 1ad981a60..d482298eb 100644 +--- a/Examples/test-suite/go/cpp_static_runme.go ++++ b/Examples/test-suite/go/cpp_static_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "cpp_static" ++import . "swigtests/cpp_static" + + func main() { + StaticFunctionTestStatic_func() +diff --git a/Examples/test-suite/go/default_args_runme.go b/Examples/test-suite/go/default_args_runme.go +index a39f95716..5b6f404e3 100644 +--- a/Examples/test-suite/go/default_args_runme.go ++++ b/Examples/test-suite/go/default_args_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "default_args" ++import "swigtests/default_args" + + func main() { + if default_args.StaticsStaticmethod() != 60 { +diff --git a/Examples/test-suite/go/default_constructor_runme.go b/Examples/test-suite/go/default_constructor_runme.go +index eeac7eaf8..90d960143 100644 +--- a/Examples/test-suite/go/default_constructor_runme.go ++++ b/Examples/test-suite/go/default_constructor_runme.go +@@ -1,6 +1,6 @@ + package main + +-import dc "default_constructor" ++import dc "swigtests/default_constructor" + + func main() { + a := dc.NewA() +diff --git a/Examples/test-suite/go/director_alternating_runme.go b/Examples/test-suite/go/director_alternating_runme.go +index b4793aa8f..2df31db82 100644 +--- a/Examples/test-suite/go/director_alternating_runme.go ++++ b/Examples/test-suite/go/director_alternating_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_alternating" ++import . "swigtests/director_alternating" + + func main() { + id := GetBar().Id() +diff --git a/Examples/test-suite/go/director_basic_runme.go b/Examples/test-suite/go/director_basic_runme.go +index 360424d9b..c308f2520 100644 +--- a/Examples/test-suite/go/director_basic_runme.go ++++ b/Examples/test-suite/go/director_basic_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "director_basic" ++import "swigtests/director_basic" + + type GoFoo struct{} + +diff --git a/Examples/test-suite/go/director_classic_runme.go b/Examples/test-suite/go/director_classic_runme.go +index 230c9638d..d8acc1337 100644 +--- a/Examples/test-suite/go/director_classic_runme.go ++++ b/Examples/test-suite/go/director_classic_runme.go +@@ -1,7 +1,7 @@ + package main + + import "fmt" +-import . "director_classic" ++import . "swigtests/director_classic" + + type TargetLangPerson struct{} // From Person + func (p *TargetLangPerson) Id() string { +diff --git a/Examples/test-suite/go/director_default_runme.go b/Examples/test-suite/go/director_default_runme.go +index ac2aace1d..557d5c54b 100644 +--- a/Examples/test-suite/go/director_default_runme.go ++++ b/Examples/test-suite/go/director_default_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_default" ++import . "swigtests/director_default" + + func main() { + NewFoo() +diff --git a/Examples/test-suite/go/director_detect_runme.go b/Examples/test-suite/go/director_detect_runme.go +index 0c3c95fdc..f82a0c04a 100644 +--- a/Examples/test-suite/go/director_detect_runme.go ++++ b/Examples/test-suite/go/director_detect_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "director_detect" ++import "swigtests/director_detect" + + type MyBar struct { + val int +diff --git a/Examples/test-suite/go/director_enum_runme.go b/Examples/test-suite/go/director_enum_runme.go +index 002d425d2..3e67417b2 100644 +--- a/Examples/test-suite/go/director_enum_runme.go ++++ b/Examples/test-suite/go/director_enum_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "director_enum" ++import "swigtests/director_enum" + + type MyFoo struct{} // From director_enum.Foo + func (p *MyFoo) Say_hi(val director_enum.EnumDirectorHello) director_enum.EnumDirectorHello { +diff --git a/Examples/test-suite/go/director_exception_runme.go b/Examples/test-suite/go/director_exception_runme.go +index 55231ff16..167d75193 100644 +--- a/Examples/test-suite/go/director_exception_runme.go ++++ b/Examples/test-suite/go/director_exception_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_exception" ++import . "swigtests/director_exception" + + type Exception struct { + msg string +diff --git a/Examples/test-suite/go/director_extend_runme.go b/Examples/test-suite/go/director_extend_runme.go +index 27e55b997..adfb6ddb7 100644 +--- a/Examples/test-suite/go/director_extend_runme.go ++++ b/Examples/test-suite/go/director_extend_runme.go +@@ -5,7 +5,7 @@ + + package main + +-import . "director_extend" ++import . "swigtests/director_extend" + + func main() { + m := NewSpObject() +diff --git a/Examples/test-suite/go/director_finalizer_runme.go b/Examples/test-suite/go/director_finalizer_runme.go +index d36a4ba33..5cd9d95e0 100644 +--- a/Examples/test-suite/go/director_finalizer_runme.go ++++ b/Examples/test-suite/go/director_finalizer_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_finalizer" ++import . "swigtests/director_finalizer" + + type MyFoo struct{} // From Foo + func DeleteMyFoo(p Foo) { +diff --git a/Examples/test-suite/go/director_frob_runme.go b/Examples/test-suite/go/director_frob_runme.go +index 3985eb14b..7354fa76b 100644 +--- a/Examples/test-suite/go/director_frob_runme.go ++++ b/Examples/test-suite/go/director_frob_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_frob" ++import . "swigtests/director_frob" + + func main() { + foo := NewBravo() +diff --git a/Examples/test-suite/go/director_nested_runme.go b/Examples/test-suite/go/director_nested_runme.go +index a1193ad59..b04893582 100644 +--- a/Examples/test-suite/go/director_nested_runme.go ++++ b/Examples/test-suite/go/director_nested_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_nested" ++import . "swigtests/director_nested" + + type A struct{} // From FooBar_int + func (p *A) Do_step() string { +diff --git a/Examples/test-suite/go/director_profile_runme.go b/Examples/test-suite/go/director_profile_runme.go +index a9bc7934b..da0ea219b 100644 +--- a/Examples/test-suite/go/director_profile_runme.go ++++ b/Examples/test-suite/go/director_profile_runme.go +@@ -1,7 +1,7 @@ + package main + + import "fmt" +-import "director_profile" ++import "swigtests/director_profile" + + type MyB struct{} // From director_profile.B + func (p *MyB) Vfi(a int) int { +diff --git a/Examples/test-suite/go/director_protected_runme.go b/Examples/test-suite/go/director_protected_runme.go +index bfd50c6b2..0012ccdb2 100644 +--- a/Examples/test-suite/go/director_protected_runme.go ++++ b/Examples/test-suite/go/director_protected_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_protected" ++import . "swigtests/director_protected" + + type FooBar struct{} // From Bar + func (p *FooBar) Ping() string { +diff --git a/Examples/test-suite/go/director_string_runme.go b/Examples/test-suite/go/director_string_runme.go +index f4f9cc150..0c73b6a29 100644 +--- a/Examples/test-suite/go/director_string_runme.go ++++ b/Examples/test-suite/go/director_string_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "director_string" ++import . "swigtests/director_string" + + type B struct { // From A + abi A +diff --git a/Examples/test-suite/go/director_unroll_runme.go b/Examples/test-suite/go/director_unroll_runme.go +index 6a919f656..560034c8a 100644 +--- a/Examples/test-suite/go/director_unroll_runme.go ++++ b/Examples/test-suite/go/director_unroll_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "director_unroll" ++import "swigtests/director_unroll" + + type MyFoo struct{} // From director_unroll.Foo + func (p *MyFoo) Ping() string { +diff --git a/Examples/test-suite/go/disown_runme.go b/Examples/test-suite/go/disown_runme.go +index 4484515fd..ba072a888 100644 +--- a/Examples/test-suite/go/disown_runme.go ++++ b/Examples/test-suite/go/disown_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "disown" ++import . "swigtests/disown" + + func main() { + a := NewA() +diff --git a/Examples/test-suite/go/dynamic_cast_runme.go b/Examples/test-suite/go/dynamic_cast_runme.go +index 46ba23698..213bc0ce5 100644 +--- a/Examples/test-suite/go/dynamic_cast_runme.go ++++ b/Examples/test-suite/go/dynamic_cast_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "dynamic_cast" ++import "swigtests/dynamic_cast" + + func main() { + f := dynamic_cast.NewFoo() +diff --git a/Examples/test-suite/go/empty_c_runme.go b/Examples/test-suite/go/empty_c_runme.go +index 1a1bd9cc5..f093103f6 100644 +--- a/Examples/test-suite/go/empty_c_runme.go ++++ b/Examples/test-suite/go/empty_c_runme.go +@@ -1,6 +1,6 @@ + package main + +-import _ "empty_c" ++import _ "swigtests/empty_c" + + func main() { + } +diff --git a/Examples/test-suite/go/empty_runme.go b/Examples/test-suite/go/empty_runme.go +index 681a6f3ad..03f423b8b 100644 +--- a/Examples/test-suite/go/empty_runme.go ++++ b/Examples/test-suite/go/empty_runme.go +@@ -1,6 +1,6 @@ + package main + +-import _ "empty" ++import _ "swigtests/empty" + + func main() { + } +diff --git a/Examples/test-suite/go/enum_template_runme.go b/Examples/test-suite/go/enum_template_runme.go +index c60a452d7..7f43eab68 100644 +--- a/Examples/test-suite/go/enum_template_runme.go ++++ b/Examples/test-suite/go/enum_template_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "enum_template" ++import "swigtests/enum_template" + + func main() { + if enum_template.MakeETest() != 1 { +diff --git a/Examples/test-suite/go/enums_runme.go b/Examples/test-suite/go/enums_runme.go +index 7a528b3e2..4a879a048 100644 +--- a/Examples/test-suite/go/enums_runme.go ++++ b/Examples/test-suite/go/enums_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "enums" ++import "swigtests/enums" + + func main() { + enums.Bar2(1) +diff --git a/Examples/test-suite/go/exception_order_runme.go b/Examples/test-suite/go/exception_order_runme.go +index 21dcff312..ee67712fc 100644 +--- a/Examples/test-suite/go/exception_order_runme.go ++++ b/Examples/test-suite/go/exception_order_runme.go +@@ -1,7 +1,7 @@ + package main + + import "strings" +-import . "exception_order" ++import . "swigtests/exception_order" + + func main() { + a := NewA() +diff --git a/Examples/test-suite/go/extend_placement_runme.go b/Examples/test-suite/go/extend_placement_runme.go +index 253ec6618..879589679 100644 +--- a/Examples/test-suite/go/extend_placement_runme.go ++++ b/Examples/test-suite/go/extend_placement_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "extend_placement" ++import "swigtests/extend_placement" + + func main() { + foo := extend_placement.NewFoo() +diff --git a/Examples/test-suite/go/extend_template_ns_runme.go b/Examples/test-suite/go/extend_template_ns_runme.go +index d005172a4..b1dd43a78 100644 +--- a/Examples/test-suite/go/extend_template_ns_runme.go ++++ b/Examples/test-suite/go/extend_template_ns_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "extend_template_ns" ++import . "swigtests/extend_template_ns" + + func main() { + f := NewFoo_One() +diff --git a/Examples/test-suite/go/extend_template_runme.go b/Examples/test-suite/go/extend_template_runme.go +index a5c4da4e1..4a6b7099b 100644 +--- a/Examples/test-suite/go/extend_template_runme.go ++++ b/Examples/test-suite/go/extend_template_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "extend_template" ++import "swigtests/extend_template" + + func main() { + f := extend_template.NewFoo_0() +diff --git a/Examples/test-suite/go/extend_variable_runme.go b/Examples/test-suite/go/extend_variable_runme.go +index 9425aee4d..278bffed6 100644 +--- a/Examples/test-suite/go/extend_variable_runme.go ++++ b/Examples/test-suite/go/extend_variable_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "extend_variable" ++import . "swigtests/extend_variable" + + func main() { + if FooBar != 42 { +diff --git a/Examples/test-suite/go/extern_c_runme.go b/Examples/test-suite/go/extern_c_runme.go +index 9bc2cd0cc..1cbfd9d80 100644 +--- a/Examples/test-suite/go/extern_c_runme.go ++++ b/Examples/test-suite/go/extern_c_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "extern_c" ++import "swigtests/extern_c" + + func main() { + extern_c.RealFunction(2) +diff --git a/Examples/test-suite/go/friends_runme.go b/Examples/test-suite/go/friends_runme.go +index 2e34a4db0..b6b9e93f3 100644 +--- a/Examples/test-suite/go/friends_runme.go ++++ b/Examples/test-suite/go/friends_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "friends" ++import "swigtests/friends" + + func main() { + a := friends.NewA(2) +diff --git a/Examples/test-suite/go/fvirtual_runme.go b/Examples/test-suite/go/fvirtual_runme.go +index 86ef90f18..01b94f419 100644 +--- a/Examples/test-suite/go/fvirtual_runme.go ++++ b/Examples/test-suite/go/fvirtual_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "fvirtual" ++import . "swigtests/fvirtual" + + func main() { + sw := NewNodeSwitch() +diff --git a/Examples/test-suite/go/global_ns_arg_runme.go b/Examples/test-suite/go/global_ns_arg_runme.go +index e86aa6747..aeacd91a3 100644 +--- a/Examples/test-suite/go/global_ns_arg_runme.go ++++ b/Examples/test-suite/go/global_ns_arg_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "global_ns_arg" ++import . "swigtests/global_ns_arg" + + func main() { + Foo(1) +diff --git a/Examples/test-suite/go/go_director_inout_runme.go b/Examples/test-suite/go/go_director_inout_runme.go +index e6768a465..171b3c223 100644 +--- a/Examples/test-suite/go/go_director_inout_runme.go ++++ b/Examples/test-suite/go/go_director_inout_runme.go +@@ -1,7 +1,7 @@ + package main + + import ( +- wrap "go_director_inout" ++ wrap "swigtests/go_director_inout" + ) + + type GoMyClass struct {} +diff --git a/Examples/test-suite/go/go_inout_runme.go b/Examples/test-suite/go/go_inout_runme.go +index 4599aa104..2dc5b9908 100644 +--- a/Examples/test-suite/go/go_inout_runme.go ++++ b/Examples/test-suite/go/go_inout_runme.go +@@ -5,7 +5,7 @@ import ( + "fmt" + "reflect" + +- "go_inout" ++ "swigtests/go_inout" + ) + + type S struct { +diff --git a/Examples/test-suite/go/grouping_runme.go b/Examples/test-suite/go/grouping_runme.go +index f808e1286..d5f347579 100644 +--- a/Examples/test-suite/go/grouping_runme.go ++++ b/Examples/test-suite/go/grouping_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "grouping" ++import "swigtests/grouping" + + func main() { + x := grouping.Test1(42) +diff --git a/Examples/test-suite/go/import_nomodule_runme.go b/Examples/test-suite/go/import_nomodule_runme.go +index 48592df25..23680159d 100644 +--- a/Examples/test-suite/go/import_nomodule_runme.go ++++ b/Examples/test-suite/go/import_nomodule_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "import_nomodule" ++import . "swigtests/import_nomodule" + + func main() { + f := Create_Foo() +diff --git a/Examples/test-suite/go/inctest_runme.go b/Examples/test-suite/go/inctest_runme.go +index 3148abcd2..490721e75 100644 +--- a/Examples/test-suite/go/inctest_runme.go ++++ b/Examples/test-suite/go/inctest_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "inctest" ++import "swigtests/inctest" + + func main() { + inctest.NewA() +diff --git a/Examples/test-suite/go/inherit_member_runme.go b/Examples/test-suite/go/inherit_member_runme.go +index 6fd70cf80..10dabad96 100644 +--- a/Examples/test-suite/go/inherit_member_runme.go ++++ b/Examples/test-suite/go/inherit_member_runme.go +@@ -1,6 +1,6 @@ + package main + +-import wrap "inherit_member" ++import wrap "swigtests/inherit_member" + + func main() { + s := wrap.NewChild() +diff --git a/Examples/test-suite/go/inherit_missing_runme.go b/Examples/test-suite/go/inherit_missing_runme.go +index c70c48306..b4706e974 100644 +--- a/Examples/test-suite/go/inherit_missing_runme.go ++++ b/Examples/test-suite/go/inherit_missing_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "inherit_missing" ++import "swigtests/inherit_missing" + + func main() { + a := inherit_missing.New_Foo() +diff --git a/Examples/test-suite/go/input_runme.go b/Examples/test-suite/go/input_runme.go +index ddc2992fe..c5eb9e45d 100644 +--- a/Examples/test-suite/go/input_runme.go ++++ b/Examples/test-suite/go/input_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "input" ++import . "swigtests/input" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/keyword_rename_c_runme.go b/Examples/test-suite/go/keyword_rename_c_runme.go +index 26f2ea42b..28f6ddd12 100644 +--- a/Examples/test-suite/go/keyword_rename_c_runme.go ++++ b/Examples/test-suite/go/keyword_rename_c_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "keyword_rename_c" ++import "swigtests/keyword_rename_c" + + func main() { + keyword_rename_c.Xgo(1) +diff --git a/Examples/test-suite/go/keyword_rename_runme.go b/Examples/test-suite/go/keyword_rename_runme.go +index 7a40ff83d..f93c7ab14 100644 +--- a/Examples/test-suite/go/keyword_rename_runme.go ++++ b/Examples/test-suite/go/keyword_rename_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "keyword_rename" ++import "swigtests/keyword_rename" + + func main() { + keyword_rename.Xgo(1) +diff --git a/Examples/test-suite/go/li_attribute_runme.go b/Examples/test-suite/go/li_attribute_runme.go +index b502b8cea..0702b898f 100644 +--- a/Examples/test-suite/go/li_attribute_runme.go ++++ b/Examples/test-suite/go/li_attribute_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "li_attribute" ++import "swigtests/li_attribute" + + func main() { + aa := li_attribute.NewA(1, 2, 3) +diff --git a/Examples/test-suite/go/li_carrays_cpp_runme.go b/Examples/test-suite/go/li_carrays_cpp_runme.go +index cfc171284..a96291c7b 100644 +--- a/Examples/test-suite/go/li_carrays_cpp_runme.go ++++ b/Examples/test-suite/go/li_carrays_cpp_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_carrays_cpp" ++import . "swigtests/li_carrays_cpp" + + func main() { + d := NewDoubleArray(10) +diff --git a/Examples/test-suite/go/li_carrays_runme.go b/Examples/test-suite/go/li_carrays_runme.go +index 9128bbfd1..eefc6ad72 100644 +--- a/Examples/test-suite/go/li_carrays_runme.go ++++ b/Examples/test-suite/go/li_carrays_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_carrays" ++import . "swigtests/li_carrays" + + func main() { + d := NewDoubleArray(10) +diff --git a/Examples/test-suite/go/li_cdata_cpp_runme.go b/Examples/test-suite/go/li_cdata_cpp_runme.go +index daa5384f7..5849c50d4 100644 +--- a/Examples/test-suite/go/li_cdata_cpp_runme.go ++++ b/Examples/test-suite/go/li_cdata_cpp_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_cdata_cpp" ++import . "swigtests/li_cdata_cpp" + + func main() { + s := "ABC abc" +diff --git a/Examples/test-suite/go/li_cdata_runme.go b/Examples/test-suite/go/li_cdata_runme.go +index 9458dab43..0c3e591ce 100644 +--- a/Examples/test-suite/go/li_cdata_runme.go ++++ b/Examples/test-suite/go/li_cdata_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_cdata" ++import . "swigtests/li_cdata" + + func main() { + s := "ABC abc" +diff --git a/Examples/test-suite/go/li_cmalloc_runme.go b/Examples/test-suite/go/li_cmalloc_runme.go +index 5b9f9704a..fb1b009c3 100644 +--- a/Examples/test-suite/go/li_cmalloc_runme.go ++++ b/Examples/test-suite/go/li_cmalloc_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_cmalloc" ++import . "swigtests/li_cmalloc" + + func main() { + p := Malloc_int() +diff --git a/Examples/test-suite/go/li_cpointer_cpp_runme.go b/Examples/test-suite/go/li_cpointer_cpp_runme.go +index 0de57c624..f422b2310 100644 +--- a/Examples/test-suite/go/li_cpointer_cpp_runme.go ++++ b/Examples/test-suite/go/li_cpointer_cpp_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_cpointer_cpp" ++import . "swigtests/li_cpointer_cpp" + + func main() { + p := New_intp() +diff --git a/Examples/test-suite/go/li_cpointer_runme.go b/Examples/test-suite/go/li_cpointer_runme.go +index 0fe29e77d..1a83bc62f 100644 +--- a/Examples/test-suite/go/li_cpointer_runme.go ++++ b/Examples/test-suite/go/li_cpointer_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_cpointer" ++import . "swigtests/li_cpointer" + + func main() { + p := New_intp() +diff --git a/Examples/test-suite/go/li_std_map_runme.go b/Examples/test-suite/go/li_std_map_runme.go +index 5c5cc2e4c..019ac6e30 100644 +--- a/Examples/test-suite/go/li_std_map_runme.go ++++ b/Examples/test-suite/go/li_std_map_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "li_std_map" ++import "swigtests/li_std_map" + + func main() { + a1 := li_std_map.NewA(3) +diff --git a/Examples/test-suite/go/li_std_vector_ptr_runme.go b/Examples/test-suite/go/li_std_vector_ptr_runme.go +index d66ff19c6..9a62d3796 100644 +--- a/Examples/test-suite/go/li_std_vector_ptr_runme.go ++++ b/Examples/test-suite/go/li_std_vector_ptr_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "li_std_vector_ptr" ++import . "swigtests/li_std_vector_ptr" + import "fmt" + + func check(val1 int, val2 int) { +diff --git a/Examples/test-suite/go/member_pointer_runme.go b/Examples/test-suite/go/member_pointer_runme.go +index 731526b75..02789382e 100644 +--- a/Examples/test-suite/go/member_pointer_runme.go ++++ b/Examples/test-suite/go/member_pointer_runme.go +@@ -3,7 +3,7 @@ + package main + + import "fmt" +-import . "member_pointer" ++import . "swigtests/member_pointer" + + func check(what string, expected float64, actual float64) { + if expected != actual { +diff --git a/Examples/test-suite/go/memberin_extend_c_runme.go b/Examples/test-suite/go/memberin_extend_c_runme.go +index 0551acc90..696f08abb 100644 +--- a/Examples/test-suite/go/memberin_extend_c_runme.go ++++ b/Examples/test-suite/go/memberin_extend_c_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "memberin_extend_c" ++import "swigtests/memberin_extend_c" + + func main() { + t := memberin_extend_c.NewPerson() +diff --git a/Examples/test-suite/go/minherit_runme.go b/Examples/test-suite/go/minherit_runme.go +index 9b7873cb0..f1504af31 100644 +--- a/Examples/test-suite/go/minherit_runme.go ++++ b/Examples/test-suite/go/minherit_runme.go +@@ -1,7 +1,7 @@ + package main + + import "fmt" +-import "minherit" ++import "swigtests/minherit" + + func main() { + a := minherit.NewFoo() +diff --git a/Examples/test-suite/go/namespace_class_runme.go b/Examples/test-suite/go/namespace_class_runme.go +index 4c240b6a4..435ee868a 100644 +--- a/Examples/test-suite/go/namespace_class_runme.go ++++ b/Examples/test-suite/go/namespace_class_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "namespace_class" ++import . "swigtests/namespace_class" + + func main() { + EulerT3DToFrame(1, 1, 1) +diff --git a/Examples/test-suite/go/namespace_typemap_runme.go b/Examples/test-suite/go/namespace_typemap_runme.go +index 47e2b64f1..6da43331b 100644 +--- a/Examples/test-suite/go/namespace_typemap_runme.go ++++ b/Examples/test-suite/go/namespace_typemap_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "namespace_typemap" ++import . "swigtests/namespace_typemap" + + func main() { + if Stest1("hello") != "hello" { +diff --git a/Examples/test-suite/go/namespace_virtual_method_runme.go b/Examples/test-suite/go/namespace_virtual_method_runme.go +index a8cb38bad..7ac4d3304 100644 +--- a/Examples/test-suite/go/namespace_virtual_method_runme.go ++++ b/Examples/test-suite/go/namespace_virtual_method_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "namespace_virtual_method" ++import "swigtests/namespace_virtual_method" + + func main() { + _ = namespace_virtual_method.NewSpam() +diff --git a/Examples/test-suite/go/naturalvar_runme.go b/Examples/test-suite/go/naturalvar_runme.go +index ed47e9d2d..458745ec4 100644 +--- a/Examples/test-suite/go/naturalvar_runme.go ++++ b/Examples/test-suite/go/naturalvar_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "naturalvar" ++import . "swigtests/naturalvar" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/nested_workaround_runme.go b/Examples/test-suite/go/nested_workaround_runme.go +index 8b31a7f4b..f42b48764 100644 +--- a/Examples/test-suite/go/nested_workaround_runme.go ++++ b/Examples/test-suite/go/nested_workaround_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "nested_workaround" ++import . "swigtests/nested_workaround" + + func main() { + inner := NewInner(5) +diff --git a/Examples/test-suite/go/overload_complicated_runme.go b/Examples/test-suite/go/overload_complicated_runme.go +index ce9d124c8..c238d974f 100644 +--- a/Examples/test-suite/go/overload_complicated_runme.go ++++ b/Examples/test-suite/go/overload_complicated_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "overload_complicated" ++import . "swigtests/overload_complicated" + + func main() { + var pInt *int +diff --git a/Examples/test-suite/go/overload_copy_runme.go b/Examples/test-suite/go/overload_copy_runme.go +index 55ec4a333..9815d76ef 100644 +--- a/Examples/test-suite/go/overload_copy_runme.go ++++ b/Examples/test-suite/go/overload_copy_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "overload_copy" ++import . "swigtests/overload_copy" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/overload_extend2_runme.go b/Examples/test-suite/go/overload_extend2_runme.go +index db790989c..d549098ba 100644 +--- a/Examples/test-suite/go/overload_extend2_runme.go ++++ b/Examples/test-suite/go/overload_extend2_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "overload_extend2" ++import "swigtests/overload_extend2" + + func main() { + f := overload_extend2.NewFoo() +diff --git a/Examples/test-suite/go/overload_extend_c_runme.go b/Examples/test-suite/go/overload_extend_c_runme.go +index 4d3b2b6e1..93b91d9e1 100644 +--- a/Examples/test-suite/go/overload_extend_c_runme.go ++++ b/Examples/test-suite/go/overload_extend_c_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "overload_extend_c" ++import "swigtests/overload_extend_c" + + func main() { + f := overload_extend_c.NewFoo() +diff --git a/Examples/test-suite/go/overload_extend_runme.go b/Examples/test-suite/go/overload_extend_runme.go +index d73d6cf3c..c1435f376 100644 +--- a/Examples/test-suite/go/overload_extend_runme.go ++++ b/Examples/test-suite/go/overload_extend_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "overload_extend" ++import "swigtests/overload_extend" + + func main() { + f := overload_extend.NewFoo() +diff --git a/Examples/test-suite/go/overload_polymorphic_runme.go b/Examples/test-suite/go/overload_polymorphic_runme.go +index 12b9777e6..6a4301f46 100644 +--- a/Examples/test-suite/go/overload_polymorphic_runme.go ++++ b/Examples/test-suite/go/overload_polymorphic_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "overload_polymorphic" ++import "swigtests/overload_polymorphic" + + func main(){ + t := overload_polymorphic.NewDerived() +diff --git a/Examples/test-suite/go/overload_rename_runme.go b/Examples/test-suite/go/overload_rename_runme.go +index 3bd4a69c5..982b1786a 100644 +--- a/Examples/test-suite/go/overload_rename_runme.go ++++ b/Examples/test-suite/go/overload_rename_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "overload_rename" ++import "swigtests/overload_rename" + + func main() { + _ = overload_rename.NewFoo(float32(1)) +diff --git a/Examples/test-suite/go/overload_simple_runme.go b/Examples/test-suite/go/overload_simple_runme.go +index 3eb859bac..23a80bf69 100644 +--- a/Examples/test-suite/go/overload_simple_runme.go ++++ b/Examples/test-suite/go/overload_simple_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "overload_simple" ++import . "swigtests/overload_simple" + + func main() { + if Foo(3) != "foo:int" { +diff --git a/Examples/test-suite/go/overload_subtype_runme.go b/Examples/test-suite/go/overload_subtype_runme.go +index 45d5a025f..09f7a83f4 100644 +--- a/Examples/test-suite/go/overload_subtype_runme.go ++++ b/Examples/test-suite/go/overload_subtype_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "overload_subtype" ++import . "swigtests/overload_subtype" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/overload_template_fast_runme.go b/Examples/test-suite/go/overload_template_fast_runme.go +index 63809c0ff..3b348f366 100644 +--- a/Examples/test-suite/go/overload_template_fast_runme.go ++++ b/Examples/test-suite/go/overload_template_fast_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "overload_template_fast" ++import . "swigtests/overload_template_fast" + + func main() { + _ = Foo() +diff --git a/Examples/test-suite/go/overload_template_runme.go b/Examples/test-suite/go/overload_template_runme.go +index f3a08ecd6..b85afb4d1 100644 +--- a/Examples/test-suite/go/overload_template_runme.go ++++ b/Examples/test-suite/go/overload_template_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "overload_template" ++import . "swigtests/overload_template" + + func main() { + _ = Foo() +diff --git a/Examples/test-suite/go/preproc_runme.go b/Examples/test-suite/go/preproc_runme.go +index 3c55aae72..878305463 100644 +--- a/Examples/test-suite/go/preproc_runme.go ++++ b/Examples/test-suite/go/preproc_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "preproc" ++import "swigtests/preproc" + + func main() { + if preproc.GetEndif() != 1 { +diff --git a/Examples/test-suite/go/primitive_ref_runme.go b/Examples/test-suite/go/primitive_ref_runme.go +index a1de2f8a5..8dcf9f5a9 100644 +--- a/Examples/test-suite/go/primitive_ref_runme.go ++++ b/Examples/test-suite/go/primitive_ref_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "primitive_ref" ++import . "swigtests/primitive_ref" + + func main() { + if Ref_int(3) != 3 { +diff --git a/Examples/test-suite/go/profiletest_runme.go b/Examples/test-suite/go/profiletest_runme.go +index c2b922ba3..68509f550 100644 +--- a/Examples/test-suite/go/profiletest_runme.go ++++ b/Examples/test-suite/go/profiletest_runme.go +@@ -1,7 +1,7 @@ + package main + + import "fmt" +-import "profiletest" ++import "swigtests/profiletest" + + func main() { + a := profiletest.NewA() +diff --git a/Examples/test-suite/go/refcount_runme.go b/Examples/test-suite/go/refcount_runme.go +index 07d407273..76e30dda3 100644 +--- a/Examples/test-suite/go/refcount_runme.go ++++ b/Examples/test-suite/go/refcount_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "refcount" ++import . "swigtests/refcount" + + // very innocent example + +diff --git a/Examples/test-suite/go/reference_global_vars_runme.go b/Examples/test-suite/go/reference_global_vars_runme.go +index 908358f95..f8c125854 100644 +--- a/Examples/test-suite/go/reference_global_vars_runme.go ++++ b/Examples/test-suite/go/reference_global_vars_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "reference_global_vars" ++import . "swigtests/reference_global_vars" + + func main() { + // const class reference variable +diff --git a/Examples/test-suite/go/rename_scope_runme.go b/Examples/test-suite/go/rename_scope_runme.go +index 13bd3f178..4ad7549ad 100644 +--- a/Examples/test-suite/go/rename_scope_runme.go ++++ b/Examples/test-suite/go/rename_scope_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "rename_scope" ++import . "swigtests/rename_scope" + + func main() { + a := NewNatural_UP() +diff --git a/Examples/test-suite/go/rename_simple_runme.go b/Examples/test-suite/go/rename_simple_runme.go +index bd559ef27..efe1edc7b 100644 +--- a/Examples/test-suite/go/rename_simple_runme.go ++++ b/Examples/test-suite/go/rename_simple_runme.go +@@ -1,7 +1,7 @@ + package main + + import "fmt" +-import . "rename_simple" ++import . "swigtests/rename_simple" + + func main() { + s := NewNewStruct() +diff --git a/Examples/test-suite/go/rename_strip_encoder_runme.go b/Examples/test-suite/go/rename_strip_encoder_runme.go +index ae670600c..74a0dbaaf 100644 +--- a/Examples/test-suite/go/rename_strip_encoder_runme.go ++++ b/Examples/test-suite/go/rename_strip_encoder_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "rename_strip_encoder" ++import . "swigtests/rename_strip_encoder" + + func main() { + _ = NewSomeWidget() +diff --git a/Examples/test-suite/go/ret_by_value_runme.go b/Examples/test-suite/go/ret_by_value_runme.go +index 9659d21e9..345868dcd 100644 +--- a/Examples/test-suite/go/ret_by_value_runme.go ++++ b/Examples/test-suite/go/ret_by_value_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "ret_by_value" ++import "swigtests/ret_by_value" + + func main() { + a := ret_by_value.Get_test() +diff --git a/Examples/test-suite/go/return_const_value_runme.go b/Examples/test-suite/go/return_const_value_runme.go +index aadb1265e..fc6baa240 100644 +--- a/Examples/test-suite/go/return_const_value_runme.go ++++ b/Examples/test-suite/go/return_const_value_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "return_const_value" ++import "swigtests/return_const_value" + + func main() { + p := return_const_value.Foo_ptrGetPtr() +diff --git a/Examples/test-suite/go/smart_pointer_extend_runme.go b/Examples/test-suite/go/smart_pointer_extend_runme.go +index a851e26b7..f91c9ac99 100644 +--- a/Examples/test-suite/go/smart_pointer_extend_runme.go ++++ b/Examples/test-suite/go/smart_pointer_extend_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_extend" ++import . "swigtests/smart_pointer_extend" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/smart_pointer_member_runme.go b/Examples/test-suite/go/smart_pointer_member_runme.go +index e7fe7c4c2..ca2ac2c76 100644 +--- a/Examples/test-suite/go/smart_pointer_member_runme.go ++++ b/Examples/test-suite/go/smart_pointer_member_runme.go +@@ -1,7 +1,7 @@ + package main + + import "fmt" +-import . "smart_pointer_member" ++import . "swigtests/smart_pointer_member" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/smart_pointer_multi_runme.go b/Examples/test-suite/go/smart_pointer_multi_runme.go +index 7c76061af..a8ec39f54 100644 +--- a/Examples/test-suite/go/smart_pointer_multi_runme.go ++++ b/Examples/test-suite/go/smart_pointer_multi_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_multi" ++import . "swigtests/smart_pointer_multi" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/smart_pointer_multi_typedef_runme.go b/Examples/test-suite/go/smart_pointer_multi_typedef_runme.go +index e584cf7a2..6bfd21ef6 100644 +--- a/Examples/test-suite/go/smart_pointer_multi_typedef_runme.go ++++ b/Examples/test-suite/go/smart_pointer_multi_typedef_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_multi_typedef" ++import . "swigtests/smart_pointer_multi_typedef" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/smart_pointer_overload_runme.go b/Examples/test-suite/go/smart_pointer_overload_runme.go +index 9481554f0..c28ce6100 100644 +--- a/Examples/test-suite/go/smart_pointer_overload_runme.go ++++ b/Examples/test-suite/go/smart_pointer_overload_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_overload" ++import . "swigtests/smart_pointer_overload" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/smart_pointer_rename_runme.go b/Examples/test-suite/go/smart_pointer_rename_runme.go +index 44841f5e6..22c0eb1e9 100644 +--- a/Examples/test-suite/go/smart_pointer_rename_runme.go ++++ b/Examples/test-suite/go/smart_pointer_rename_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_rename" ++import . "swigtests/smart_pointer_rename" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/smart_pointer_simple_runme.go b/Examples/test-suite/go/smart_pointer_simple_runme.go +index b468bd2e5..8a14dcf9b 100644 +--- a/Examples/test-suite/go/smart_pointer_simple_runme.go ++++ b/Examples/test-suite/go/smart_pointer_simple_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_simple" ++import . "swigtests/smart_pointer_simple" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/smart_pointer_templatevariables_runme.go b/Examples/test-suite/go/smart_pointer_templatevariables_runme.go +index 6d4ea91de..8f7102d43 100644 +--- a/Examples/test-suite/go/smart_pointer_templatevariables_runme.go ++++ b/Examples/test-suite/go/smart_pointer_templatevariables_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_templatevariables" ++import . "swigtests/smart_pointer_templatevariables" + + func main() { + d := NewDiffImContainerPtr_D(Create(1234, 5678)) +diff --git a/Examples/test-suite/go/smart_pointer_typedef_runme.go b/Examples/test-suite/go/smart_pointer_typedef_runme.go +index e89a8b150..5468a2926 100644 +--- a/Examples/test-suite/go/smart_pointer_typedef_runme.go ++++ b/Examples/test-suite/go/smart_pointer_typedef_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "smart_pointer_typedef" ++import . "swigtests/smart_pointer_typedef" + + func main() { + f := NewFoo() +diff --git a/Examples/test-suite/go/sneaky1_runme.go b/Examples/test-suite/go/sneaky1_runme.go +index 57c779724..c17f0ffc6 100644 +--- a/Examples/test-suite/go/sneaky1_runme.go ++++ b/Examples/test-suite/go/sneaky1_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "sneaky1" ++import "swigtests/sneaky1" + + func main() { + _ = sneaky1.Add(3, 4) +diff --git a/Examples/test-suite/go/special_variable_macros_runme.go b/Examples/test-suite/go/special_variable_macros_runme.go +index 9338e6558..597c48748 100644 +--- a/Examples/test-suite/go/special_variable_macros_runme.go ++++ b/Examples/test-suite/go/special_variable_macros_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "special_variable_macros" ++import "swigtests/special_variable_macros" + + func main() { + name := special_variable_macros.NewName() +diff --git a/Examples/test-suite/go/static_const_member_2_runme.go b/Examples/test-suite/go/static_const_member_2_runme.go +index ff8cbbbcd..7586eb404 100644 +--- a/Examples/test-suite/go/static_const_member_2_runme.go ++++ b/Examples/test-suite/go/static_const_member_2_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "static_const_member_2" ++import . "swigtests/static_const_member_2" + + func main() { + _ = NewTest_int() +diff --git a/Examples/test-suite/go/struct_initialization_runme.go b/Examples/test-suite/go/struct_initialization_runme.go +index a815bd3f5..d5eb4e968 100644 +--- a/Examples/test-suite/go/struct_initialization_runme.go ++++ b/Examples/test-suite/go/struct_initialization_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "struct_initialization" ++import . "swigtests/struct_initialization" + + func main() { + if GetInstanceC1().GetX() != 10 { +diff --git a/Examples/test-suite/go/struct_rename_runme.go b/Examples/test-suite/go/struct_rename_runme.go +index de99fc320..6d619e090 100644 +--- a/Examples/test-suite/go/struct_rename_runme.go ++++ b/Examples/test-suite/go/struct_rename_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "struct_rename" ++import "swigtests/struct_rename" + + func main() { + _ = struct_rename.NewBar() +diff --git a/Examples/test-suite/go/struct_value_runme.go b/Examples/test-suite/go/struct_value_runme.go +index 3b5e5c1dc..c43a67a88 100644 +--- a/Examples/test-suite/go/struct_value_runme.go ++++ b/Examples/test-suite/go/struct_value_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "struct_value" ++import "swigtests/struct_value" + + func main() { + b := struct_value.NewBar() +diff --git a/Examples/test-suite/go/template_default_arg_runme.go b/Examples/test-suite/go/template_default_arg_runme.go +index d67e63fa7..9558c7496 100644 +--- a/Examples/test-suite/go/template_default_arg_runme.go ++++ b/Examples/test-suite/go/template_default_arg_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "template_default_arg" ++import "swigtests/template_default_arg" + + func main() { + helloInt := template_default_arg.NewHello_int() +diff --git a/Examples/test-suite/go/template_extend1_runme.go b/Examples/test-suite/go/template_extend1_runme.go +index 0912fa6ed..f2469ab15 100644 +--- a/Examples/test-suite/go/template_extend1_runme.go ++++ b/Examples/test-suite/go/template_extend1_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "template_extend1" ++import "swigtests/template_extend1" + + func main() { + a := template_extend1.NewLBaz() +diff --git a/Examples/test-suite/go/template_extend2_runme.go b/Examples/test-suite/go/template_extend2_runme.go +index ced3d93cc..c3669bc95 100644 +--- a/Examples/test-suite/go/template_extend2_runme.go ++++ b/Examples/test-suite/go/template_extend2_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "template_extend2" ++import "swigtests/template_extend2" + + func main() { + a := template_extend2.NewLBaz() +diff --git a/Examples/test-suite/go/template_inherit_runme.go b/Examples/test-suite/go/template_inherit_runme.go +index a8d5126dc..10071b128 100644 +--- a/Examples/test-suite/go/template_inherit_runme.go ++++ b/Examples/test-suite/go/template_inherit_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_inherit" ++import . "swigtests/template_inherit" + + func main() { + a := NewFooInt() +diff --git a/Examples/test-suite/go/template_ns4_runme.go b/Examples/test-suite/go/template_ns4_runme.go +index 6c658ec97..c1b356b3f 100644 +--- a/Examples/test-suite/go/template_ns4_runme.go ++++ b/Examples/test-suite/go/template_ns4_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_ns4" ++import . "swigtests/template_ns4" + + func main() { + d := Make_Class_DD() +diff --git a/Examples/test-suite/go/template_ns_runme.go b/Examples/test-suite/go/template_ns_runme.go +index cfc56fa3c..e77c17bf7 100644 +--- a/Examples/test-suite/go/template_ns_runme.go ++++ b/Examples/test-suite/go/template_ns_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_ns" ++import . "swigtests/template_ns" + + func main() { + p1 := NewPairii(2, 3) +diff --git a/Examples/test-suite/go/template_opaque_runme.go b/Examples/test-suite/go/template_opaque_runme.go +index 71701df53..b3bf61043 100644 +--- a/Examples/test-suite/go/template_opaque_runme.go ++++ b/Examples/test-suite/go/template_opaque_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "template_opaque" ++import "swigtests/template_opaque" + + func main() { + v := template_opaque.NewOpaqueVectorType(int64(10)) +diff --git a/Examples/test-suite/go/template_ref_type_runme.go b/Examples/test-suite/go/template_ref_type_runme.go +index a01ce3d31..516b6c721 100644 +--- a/Examples/test-suite/go/template_ref_type_runme.go ++++ b/Examples/test-suite/go/template_ref_type_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "template_ref_type" ++import "swigtests/template_ref_type" + + func main() { + xr := template_ref_type.NewXC() +diff --git a/Examples/test-suite/go/template_rename_runme.go b/Examples/test-suite/go/template_rename_runme.go +index 6e04f8845..08cf3fb48 100644 +--- a/Examples/test-suite/go/template_rename_runme.go ++++ b/Examples/test-suite/go/template_rename_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "template_rename" ++import "swigtests/template_rename" + + func main() { + i := template_rename.NewIFoo() +diff --git a/Examples/test-suite/go/template_static_runme.go b/Examples/test-suite/go/template_static_runme.go +index f10ea78f7..205813dbf 100644 +--- a/Examples/test-suite/go/template_static_runme.go ++++ b/Examples/test-suite/go/template_static_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_static" ++import . "swigtests/template_static" + + func main() { + FooBar_double(1) +diff --git a/Examples/test-suite/go/template_tbase_template_runme.go b/Examples/test-suite/go/template_tbase_template_runme.go +index e1c46aaf7..a4832439f 100644 +--- a/Examples/test-suite/go/template_tbase_template_runme.go ++++ b/Examples/test-suite/go/template_tbase_template_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_tbase_template" ++import . "swigtests/template_tbase_template" + + func main() { + a := Make_Class_dd() +diff --git a/Examples/test-suite/go/template_type_namespace_runme.go b/Examples/test-suite/go/template_type_namespace_runme.go +index 1356f9b08..562fae78d 100644 +--- a/Examples/test-suite/go/template_type_namespace_runme.go ++++ b/Examples/test-suite/go/template_type_namespace_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_type_namespace" ++import . "swigtests/template_type_namespace" + + func main() { + if Foo().Get(0) == "" { +diff --git a/Examples/test-suite/go/template_typedef_cplx3_runme.go b/Examples/test-suite/go/template_typedef_cplx3_runme.go +index 0a2b31301..52a9bc7f6 100644 +--- a/Examples/test-suite/go/template_typedef_cplx3_runme.go ++++ b/Examples/test-suite/go/template_typedef_cplx3_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_typedef_cplx3" ++import . "swigtests/template_typedef_cplx3" + + func main() { + // this is OK +diff --git a/Examples/test-suite/go/template_typedef_cplx4_runme.go b/Examples/test-suite/go/template_typedef_cplx4_runme.go +index d8952cfb6..84347e404 100644 +--- a/Examples/test-suite/go/template_typedef_cplx4_runme.go ++++ b/Examples/test-suite/go/template_typedef_cplx4_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "template_typedef_cplx4" ++import . "swigtests/template_typedef_cplx4" + + func main() { + // this is OK +diff --git a/Examples/test-suite/go/threads_exception_runme.go b/Examples/test-suite/go/threads_exception_runme.go +index e3da1dc25..b554f0e28 100644 +--- a/Examples/test-suite/go/threads_exception_runme.go ++++ b/Examples/test-suite/go/threads_exception_runme.go +@@ -1,7 +1,7 @@ + package main + + import "strings" +-import "threads_exception" ++import "swigtests/threads_exception" + + func main() { + t := threads_exception.NewTest() +diff --git a/Examples/test-suite/go/typedef_class_runme.go b/Examples/test-suite/go/typedef_class_runme.go +index d94126d3b..157a91745 100644 +--- a/Examples/test-suite/go/typedef_class_runme.go ++++ b/Examples/test-suite/go/typedef_class_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "typedef_class" ++import "swigtests/typedef_class" + + func main() { + a := typedef_class.NewRealA() +diff --git a/Examples/test-suite/go/typedef_funcptr_runme.go b/Examples/test-suite/go/typedef_funcptr_runme.go +index 9d55f3f04..f76f088af 100644 +--- a/Examples/test-suite/go/typedef_funcptr_runme.go ++++ b/Examples/test-suite/go/typedef_funcptr_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "typedef_funcptr" ++import . "swigtests/typedef_funcptr" + + func main() { + a := 100 +diff --git a/Examples/test-suite/go/typedef_inherit_runme.go b/Examples/test-suite/go/typedef_inherit_runme.go +index 7a65569f2..f2dbb3263 100644 +--- a/Examples/test-suite/go/typedef_inherit_runme.go ++++ b/Examples/test-suite/go/typedef_inherit_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "typedef_inherit" ++import "swigtests/typedef_inherit" + + func main() { + a := typedef_inherit.NewFoo() +diff --git a/Examples/test-suite/go/typedef_scope_runme.go b/Examples/test-suite/go/typedef_scope_runme.go +index af282b16f..9c845bb69 100644 +--- a/Examples/test-suite/go/typedef_scope_runme.go ++++ b/Examples/test-suite/go/typedef_scope_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "typedef_scope" ++import "swigtests/typedef_scope" + + func main() { + b := typedef_scope.NewBar() +diff --git a/Examples/test-suite/go/typemap_namespace_runme.go b/Examples/test-suite/go/typemap_namespace_runme.go +index a2880d4a8..f0860803e 100644 +--- a/Examples/test-suite/go/typemap_namespace_runme.go ++++ b/Examples/test-suite/go/typemap_namespace_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "typemap_namespace" ++import . "swigtests/typemap_namespace" + + func main() { + if Test1("hello") != "hello" { +diff --git a/Examples/test-suite/go/typemap_ns_using_runme.go b/Examples/test-suite/go/typemap_ns_using_runme.go +index c4c21cf75..00e1131d6 100644 +--- a/Examples/test-suite/go/typemap_ns_using_runme.go ++++ b/Examples/test-suite/go/typemap_ns_using_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "typemap_ns_using" ++import "swigtests/typemap_ns_using" + + func main() { + if typemap_ns_using.Spam(37) != 37 { +diff --git a/Examples/test-suite/go/typemap_out_optimal_runme.go b/Examples/test-suite/go/typemap_out_optimal_runme.go +index 7cc3b38e3..0cccd97a6 100644 +--- a/Examples/test-suite/go/typemap_out_optimal_runme.go ++++ b/Examples/test-suite/go/typemap_out_optimal_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "typemap_out_optimal" ++import . "swigtests/typemap_out_optimal" + + func main() { + SetXXDebug(false) +diff --git a/Examples/test-suite/go/typename_runme.go b/Examples/test-suite/go/typename_runme.go +index d1665099c..1e1696d0a 100644 +--- a/Examples/test-suite/go/typename_runme.go ++++ b/Examples/test-suite/go/typename_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "typename" ++import "swigtests/typename" + + func main() { + f := typename.NewFoo() +diff --git a/Examples/test-suite/go/unions_runme.go b/Examples/test-suite/go/unions_runme.go +index b76ca5c75..6e2981192 100644 +--- a/Examples/test-suite/go/unions_runme.go ++++ b/Examples/test-suite/go/unions_runme.go +@@ -3,7 +3,7 @@ + + package main + +-import "unions" ++import "swigtests/unions" + + func main() { + // Create new instances of SmallStruct and BigStruct for later use +diff --git a/Examples/test-suite/go/using1_runme.go b/Examples/test-suite/go/using1_runme.go +index a6a6fa738..09cc381cc 100644 +--- a/Examples/test-suite/go/using1_runme.go ++++ b/Examples/test-suite/go/using1_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "using1" ++import "swigtests/using1" + + func main() { + if using1.Spam(37) != 37 { +diff --git a/Examples/test-suite/go/using2_runme.go b/Examples/test-suite/go/using2_runme.go +index f6b8d49b5..8109037f9 100644 +--- a/Examples/test-suite/go/using2_runme.go ++++ b/Examples/test-suite/go/using2_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "using2" ++import "swigtests/using2" + + func main() { + if using2.Spam(37) != 37 { +diff --git a/Examples/test-suite/go/using_composition_runme.go b/Examples/test-suite/go/using_composition_runme.go +index 712d1fad5..7ef09fef9 100644 +--- a/Examples/test-suite/go/using_composition_runme.go ++++ b/Examples/test-suite/go/using_composition_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "using_composition" ++import . "swigtests/using_composition" + + func main() { + f := NewFooBar() +diff --git a/Examples/test-suite/go/using_extend_runme.go b/Examples/test-suite/go/using_extend_runme.go +index 27d1ccc62..dac300ba4 100644 +--- a/Examples/test-suite/go/using_extend_runme.go ++++ b/Examples/test-suite/go/using_extend_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "using_extend" ++import . "swigtests/using_extend" + + func main() { + f := NewFooBar() +diff --git a/Examples/test-suite/go/using_inherit_runme.go b/Examples/test-suite/go/using_inherit_runme.go +index a88171817..c8755902f 100644 +--- a/Examples/test-suite/go/using_inherit_runme.go ++++ b/Examples/test-suite/go/using_inherit_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "using_inherit" ++import . "swigtests/using_inherit" + + func main() { + b := NewBar() +diff --git a/Examples/test-suite/go/using_private_runme.go b/Examples/test-suite/go/using_private_runme.go +index 2da62dc2e..4c86ef514 100644 +--- a/Examples/test-suite/go/using_private_runme.go ++++ b/Examples/test-suite/go/using_private_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "using_private" ++import . "swigtests/using_private" + + func main() { + f := NewFooBar() +diff --git a/Examples/test-suite/go/using_protected_runme.go b/Examples/test-suite/go/using_protected_runme.go +index 3fd5029f7..431081827 100644 +--- a/Examples/test-suite/go/using_protected_runme.go ++++ b/Examples/test-suite/go/using_protected_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "using_protected" ++import . "swigtests/using_protected" + + func main() { + f := NewFooBar() +diff --git a/Examples/test-suite/go/varargs_overload_runme.go b/Examples/test-suite/go/varargs_overload_runme.go +index 8ce580d65..50a430894 100644 +--- a/Examples/test-suite/go/varargs_overload_runme.go ++++ b/Examples/test-suite/go/varargs_overload_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "varargs_overload" ++import "swigtests/varargs_overload" + + func main() { + if varargs_overload.Vararg_over1("Hello") != "Hello" { +diff --git a/Examples/test-suite/go/varargs_runme.go b/Examples/test-suite/go/varargs_runme.go +index 60bd8829a..eb2fa94aa 100644 +--- a/Examples/test-suite/go/varargs_runme.go ++++ b/Examples/test-suite/go/varargs_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "varargs" ++import "swigtests/varargs" + + func main() { + if varargs.Test("Hello") != "Hello" { +diff --git a/Examples/test-suite/go/virtual_derivation_runme.go b/Examples/test-suite/go/virtual_derivation_runme.go +index 4e2c6e585..21135308c 100644 +--- a/Examples/test-suite/go/virtual_derivation_runme.go ++++ b/Examples/test-suite/go/virtual_derivation_runme.go +@@ -1,6 +1,6 @@ + package main + +-import . "virtual_derivation" ++import . "swigtests/virtual_derivation" + + // very innocent example + +diff --git a/Examples/test-suite/go/virtual_poly_runme.go b/Examples/test-suite/go/virtual_poly_runme.go +index 32906b391..9973f24c7 100644 +--- a/Examples/test-suite/go/virtual_poly_runme.go ++++ b/Examples/test-suite/go/virtual_poly_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "virtual_poly" ++import "swigtests/virtual_poly" + + func main() { + d := virtual_poly.NewNDouble(3.5) +diff --git a/Examples/test-suite/go/voidtest_runme.go b/Examples/test-suite/go/voidtest_runme.go +index 133545cea..35c5289fd 100644 +--- a/Examples/test-suite/go/voidtest_runme.go ++++ b/Examples/test-suite/go/voidtest_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "voidtest" ++import "swigtests/voidtest" + + func main() { + voidtest.Globalfunc() +diff --git a/Examples/test-suite/go/wrapmacro_runme.go b/Examples/test-suite/go/wrapmacro_runme.go +index a251a05e8..d792d4ffe 100644 +--- a/Examples/test-suite/go/wrapmacro_runme.go ++++ b/Examples/test-suite/go/wrapmacro_runme.go +@@ -1,6 +1,6 @@ + package main + +-import "wrapmacro" ++import "swigtests/wrapmacro" + + func main() { + a := 2 +diff --git a/configure.ac b/configure.ac +index 543274359..a38e97d2a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2370,11 +2370,6 @@ AS_HELP_STRING([--with-go=path], [Set location of Go compiler]),[GOBIN="$withval + if test x"${GOBIN}" = xno; then + AC_MSG_NOTICE([Disabling Go]) + GO= +- GOC= +- GO1=false +- GO12=false +- GO13=false +- GO15=false + GOGCC=false + GCCGO= + GOOPT= +@@ -2390,30 +2385,15 @@ else + + GOGCC=false + GCCGO= +- GO1=false +- GO12=false +- GO13=false +- GO15=false + GOOPT= + GCCGOOPT= + GOVERSIONOPTION= + + if test -n "$GO" ; then +- GO1=true +- GOVERSIONOPTION=version +- go_version=$($GO $GOVERSIONOPTION | sed -e 's/go version //') +- case "$go_version" in +- go1 | go1.[[01234]] | go1.[[01234]].*) +- GOC=$(sh -c "$(go env) && echo \$GOCHAR")c +- ;; +- *) +- GOC=compile +- ;; +- esac + AC_MSG_CHECKING([whether go version is too old]) + case $go_version in +- go1.1.* | go1.1 | go1.0 | go1.0.* | go1 ) +- AC_MSG_RESULT([yes - minimum version is 1.2]) ++ go1.[012345]*) ++ AC_MSG_RESULT([yes - minimum version is 1.6]) + GO= + GOOPT="-intgosize 32" + ;; +@@ -2429,20 +2409,6 @@ else + esac + ;; + esac +- case $go_version in +- go1.0 | go1.0.* | go1 | go1.1 | go1.1.*) +- GOOPT="$GOOPT -use-shlib" +- ;; +- go1.2 | go1.2.*) +- GO12=true +- ;; +- go1.3 | go1.3.* | go1.4 | go1.4.*) +- GO13=true +- ;; +- *) +- GO15=true +- ;; +- esac + fi + + AC_CHECK_PROGS(GCCGO, gccgo) +-- +2.20.1 + diff --git a/swig400-Restore-setting-of-GOVERSIONOPTION.patch b/swig400-Restore-setting-of-GOVERSIONOPTION.patch new file mode 100644 index 0000000..d66b0fa --- /dev/null +++ b/swig400-Restore-setting-of-GOVERSIONOPTION.patch @@ -0,0 +1,25 @@ +From 6b108c19e1504c937e1a7d50147575dd8e624b73 Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor +Date: Thu, 8 Aug 2019 22:59:57 -0700 +Subject: [PATCH 2/2] Restore setting of GOVERSIONOPTION + +Accidentally removed in last commit. +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index a38e97d2a..73c38a72c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2390,6 +2390,7 @@ else + GOVERSIONOPTION= + + if test -n "$GO" ; then ++ GOVERSIONOPTION=version + AC_MSG_CHECKING([whether go version is too old]) + case $go_version in + go1.[012345]*) +-- +2.20.1 +