From: <sv...@ww...> - 2006-01-13 04:38:54
|
Author: mkrose Date: 2006-01-12 20:38:44 -0800 (Thu, 12 Jan 2006) New Revision: 1813 Modified: trunk/CSP/csp/tools/build.py Log: Build fixes: - Report an error if swig isn't found. - Fix a bug under windows that caused swig wrappers to be written to the wrong filename. - Fix an incompatibility with scons version 0.96.91. Browse at: https://www.zerobar.net/viewcvs/viewcvs.cgi?view=rev&rev=1813 Modified: trunk/CSP/csp/tools/build.py =================================================================== --- trunk/CSP/csp/tools/build.py 2006-01-08 16:53:46 UTC (rev 1812) +++ trunk/CSP/csp/tools/build.py 2006-01-13 04:38:44 UTC (rev 1813) @@ -94,7 +94,11 @@ return os.path.splitext(fn)[1] def GetCurrentScript(): - return SCons.Script.SConscript.stack[-1].sconscript + try: + call_stack = SCons.Script.call_stack + except AttributeError: + call_stack = SCons.Script.SConscript.stack # pre 0.96.91 + return call_stack[-1].sconscript class SourceList(object): _header_ext = ('.h', '.hh', '.hpp', '.hxx') @@ -777,9 +781,14 @@ SWIG = 'swig' -def AddSwigSupport(env): +def AddSwigSupport(env, required=1): global SWIG SWIG = SCons.Util.WhereIs('swig') + if not SWIG: + print 'WARNING: swig not found in path' + if required: + print >>sys.stderr, 'Cannot continue without swig.' + sys.exit(1) env['SWIG'] = SWIG AddSwigDep(env) AddSwigBuild(env) @@ -1178,7 +1187,8 @@ for file in self._sources: if isinstance(file, SCons.Node.FS.File): if file.get_suffix() == '.i': - self._objects += self._env.SwigWrapper(file, **self._options) + wrapper, module = self._env.Swig(file, **self._options) + self._objects += self._env.SwigWrapper(wrapper, **self._options) elif file.get_suffix() != '.h': self._objects.append(self._env.SharedObject(file, **self._options)) else: |