summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussel Winder <russel@winder.org.uk>2016-01-14 08:14:52 (GMT)
committerRussel Winder <russel@winder.org.uk>2016-01-14 08:14:52 (GMT)
commit7af8afe47afcb33f62da6a6c452680baf7b3b73b (patch)
treebd5fa1fc90b6909487db148bd2330de3efa3c3f2
parent79d11adfb4ae11260ab644e8968843058e091ab4 (diff)
parentecb75f53e36ae33fa4874b3d8df478628b47018e (diff)
downloadSCons-7af8afe47afcb33f62da6a6c452680baf7b3b73b.zip
SCons-7af8afe47afcb33f62da6a6c452680baf7b3b73b.tar.gz
SCons-7af8afe47afcb33f62da6a6c452680baf7b3b73b.tar.bz2
Commit resolved conflicting merge.
-rw-r--r--src/CHANGES.txt3
-rw-r--r--src/engine/SCons/Taskmaster.py19
-rw-r--r--src/engine/SCons/Tool/intelc.py17
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))