diff options
author | Russel Winder <russel@winder.org.uk> | 2016-01-14 08:14:52 (GMT) |
---|---|---|
committer | Russel Winder <russel@winder.org.uk> | 2016-01-14 08:14:52 (GMT) |
commit | 7af8afe47afcb33f62da6a6c452680baf7b3b73b (patch) | |
tree | bd5fa1fc90b6909487db148bd2330de3efa3c3f2 | |
parent | 79d11adfb4ae11260ab644e8968843058e091ab4 (diff) | |
parent | ecb75f53e36ae33fa4874b3d8df478628b47018e (diff) | |
download | SCons-7af8afe47afcb33f62da6a6c452680baf7b3b73b.zip SCons-7af8afe47afcb33f62da6a6c452680baf7b3b73b.tar.gz SCons-7af8afe47afcb33f62da6a6c452680baf7b3b73b.tar.bz2 |
Commit resolved conflicting merge.
-rw-r--r-- | src/CHANGES.txt | 3 | ||||
-rw-r--r-- | src/engine/SCons/Taskmaster.py | 19 | ||||
-rw-r--r-- | src/engine/SCons/Tool/intelc.py | 17 |
3 files changed, 31 insertions, 8 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 659e651..6f7bd4c 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -6,6 +6,9 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER + From Jakub Pola: + - Intel Compiler 2016 (Linux/Mac) update for tool directories. + From William Blevins: - Added support for cross-language dependency scanning; SCons now respects scanner keys for implicit dependencies. diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py index fd1ba64..7260071 100644 --- a/src/engine/SCons/Taskmaster.py +++ b/src/engine/SCons/Taskmaster.py @@ -19,6 +19,7 @@ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + from __future__ import print_function __doc__ = """ @@ -108,7 +109,7 @@ fmt = "%(considered)3d "\ def dump_stats(): for n in sorted(StatsNodes, key=lambda a: str(a)): - print((fmt % n.stats.__dict__) + str(n)) + print((fmt % n.attributes.stats.__dict__) + str(n)) @@ -532,9 +533,13 @@ class Task(object): Raises a pending exception that was recorded while getting a Task ready for execution. """ - - import SCons.compat.six - SCons.compat.six.reraise(*self.exc_info()) + exc = self.exc_info()[:] + try: + exc_type, exc_value, exc_traceback = exc + except ValueError: + exc_type, exc_value = exc + exc_traceback = None + raise exc_type, exc_value, exc_traceback class AlwaysTask(Task): def needs_execute(self): @@ -778,10 +783,10 @@ class Taskmaster(object): # return node if CollectStats: - if not hasattr(node, 'stats'): - node.stats = Stats() + if not hasattr(node.attributes, 'stats'): + node.attributes.stats = Stats() StatsNodes.append(node) - S = node.stats + S = node.attributes.stats S.considered = S.considered + 1 else: S = None diff --git a/src/engine/SCons/Tool/intelc.py b/src/engine/SCons/Tool/intelc.py index 2b396c4..185db9e 100644 --- a/src/engine/SCons/Tool/intelc.py +++ b/src/engine/SCons/Tool/intelc.py @@ -288,6 +288,12 @@ def get_all_compiler_versions(): m = re.search(r'([0-9]{0,4})(?:_sp\d*)?\.([0-9][0-9.]*)$', d) if m: versions.append("%s.%s"%(m.group(1), m.group(2))) + for d in glob.glob('/opt/intel/compilers_and_libraries_*'): + # JPA: For the new version of Intel compiler 2016.1. + m = re.search(r'([0-9]{0,4})(?:_sp\d*)?\.([0-9][0-9.]*)$', d) + if m: + versions.append("%s.%s"%(m.group(1), m,group(2))) + def keyfunc(str): """Given a dot-separated version string, return a tuple of ints representing it.""" return [int(x) for x in str.split('.')] @@ -369,7 +375,16 @@ def get_intel_compiler_top(version, abi): top = d break return top - top = find_in_2011style_dir(version) or find_in_2010style_dir(version) or find_in_2008style_dir(version) + def find_in_2016style_dir(version): + # The 2016 (compiler v16) dirs are inconsistent from previous. + top = None + for d in glob.glob('/opt/intel/compilers_and_libraries_%s/linux'%version): + if os.path.exists(os.path.join(d, "bin", "ia32", "icc")) or os.path.exists(os.path.join(d, "bin", "intel64", "icc")): + top = d + break + return top + + top = find_in_2016style_dir(version) or find_in_2011style_dir(version) or find_in_2010style_dir(version) or find_in_2008style_dir(version) # print "INTELC: top=",top if not top: raise MissingDirError("Can't find version %s Intel compiler in %s (abi='%s')"%(version,top, abi)) |