summaryrefslogtreecommitdiff
path: root/build/generator/swig/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'build/generator/swig/__init__.py')
-rw-r--r--build/generator/swig/__init__.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/build/generator/swig/__init__.py b/build/generator/swig/__init__.py
index 99820cc..993d17b 100644
--- a/build/generator/swig/__init__.py
+++ b/build/generator/swig/__init__.py
@@ -61,10 +61,17 @@ class Generator:
self.swig_path = swig_path
self.swig_libdir = _exec.output([self.swig_path, "-swiglib"], strip=1)
+ _swigVersion = None
def version(self):
"""Get the version number of SWIG"""
- swig_version = _exec.output([self.swig_path, "-version"])
- m = re.search("Version (\d+).(\d+).(\d+)", swig_version)
- if m:
- return (m.group(1), m.group(2), m.group(3))
- return (0, 0, 0)
+
+ if not self._swigVersion:
+ swig_version = _exec.output([self.swig_path, "-version"])
+ m = re.search("Version (\d+).(\d+).(\d+)", swig_version)
+ if m:
+ self._swigVersion = tuple(map(int, m.groups()))
+ else:
+ self._swigVersion = (0, 0, 0)
+
+ # Copy value to avoid changes
+ return tuple(list(self._swigVersion))