libv8 3.3.10.2 → 3.3.10.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.md +35 -7
- data/Rakefile +61 -20
- data/ext/libv8/extconf.rb +15 -0
- data/lib/libv8/scons/CHANGES.txt +231 -24
- data/lib/libv8/scons/LICENSE.txt +1 -1
- data/lib/libv8/scons/MANIFEST +1 -0
- data/lib/libv8/scons/PKG-INFO +1 -1
- data/lib/libv8/scons/README.txt +9 -9
- data/lib/libv8/scons/RELEASE.txt +77 -75
- data/lib/libv8/scons/engine/SCons/Action.py +22 -6
- data/lib/libv8/scons/engine/SCons/Builder.py +2 -2
- data/lib/libv8/scons/engine/SCons/CacheDir.py +2 -2
- data/lib/libv8/scons/engine/SCons/Debug.py +2 -2
- data/lib/libv8/scons/engine/SCons/Defaults.py +24 -10
- data/lib/libv8/scons/engine/SCons/Environment.py +118 -19
- data/lib/libv8/scons/engine/SCons/Errors.py +2 -2
- data/lib/libv8/scons/engine/SCons/Executor.py +2 -2
- data/lib/libv8/scons/engine/SCons/Job.py +2 -2
- data/lib/libv8/scons/engine/SCons/Memoize.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/Alias.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/FS.py +281 -121
- data/lib/libv8/scons/engine/SCons/Node/Python.py +2 -2
- data/lib/libv8/scons/engine/SCons/Node/__init__.py +6 -5
- data/lib/libv8/scons/engine/SCons/Options/BoolOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/EnumOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/ListOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/PackageOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/PathOption.py +2 -2
- data/lib/libv8/scons/engine/SCons/Options/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/PathList.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/aix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/cygwin.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/darwin.py +27 -3
- data/lib/libv8/scons/engine/SCons/Platform/hpux.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/irix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/os2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/posix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/sunos.py +2 -2
- data/lib/libv8/scons/engine/SCons/Platform/win32.py +2 -2
- data/lib/libv8/scons/engine/SCons/SConf.py +2 -2
- data/lib/libv8/scons/engine/SCons/SConsign.py +9 -3
- data/lib/libv8/scons/engine/SCons/Scanner/C.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/D.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Dir.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Fortran.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/IDL.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/LaTeX.py +5 -2
- data/lib/libv8/scons/engine/SCons/Scanner/Prog.py +2 -2
- data/lib/libv8/scons/engine/SCons/Scanner/RC.py +3 -3
- data/lib/libv8/scons/engine/SCons/Scanner/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/Interactive.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/Main.py +82 -11
- data/lib/libv8/scons/engine/SCons/Script/SConsOptions.py +5 -5
- data/lib/libv8/scons/engine/SCons/Script/SConscript.py +2 -2
- data/lib/libv8/scons/engine/SCons/Script/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Sig.py +2 -2
- data/lib/libv8/scons/engine/SCons/Subst.py +2 -2
- data/lib/libv8/scons/engine/SCons/Taskmaster.py +10 -2
- data/lib/libv8/scons/engine/SCons/Tool/386asm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/BitKeeper.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/CVS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/FortranCommon.py +19 -2
- data/lib/libv8/scons/engine/SCons/Tool/JavaCommon.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/arch.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/common.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/netframework.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/sdk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vc.py +9 -6
- data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vs.py +29 -2
- data/lib/libv8/scons/engine/SCons/Tool/Perforce.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/PharLapCommon.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/RCS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/SCCS.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/Subversion.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/__init__.py +3 -3
- data/lib/libv8/scons/engine/SCons/Tool/aixc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixf77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/aixlink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/applelink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/as.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/bcc32.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/c++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/cc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/cvf.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/default.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/dmd.py +24 -7
- data/lib/libv8/scons/engine/SCons/Tool/dvi.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/dvipdf.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/dvips.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/f03.py +63 -0
- data/lib/libv8/scons/engine/SCons/Tool/f77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/f90.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/f95.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/filesystem.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/fortran.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/g++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/g77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gas.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/gfortran.py +3 -3
- data/lib/libv8/scons/engine/SCons/Tool/gnulink.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/gs.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hpc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hpcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/hplink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/icc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/icl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ifl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ifort.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ilink.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/ilink32.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/install.py +57 -3
- data/lib/libv8/scons/engine/SCons/Tool/intelc.py +65 -25
- data/lib/libv8/scons/engine/SCons/Tool/ipkg.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/jar.py +9 -3
- data/lib/libv8/scons/engine/SCons/Tool/javac.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/javah.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/latex.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/lex.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/link.py +6 -5
- data/lib/libv8/scons/engine/SCons/Tool/linkloc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/m4.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/masm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/midl.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mingw.py +31 -10
- data/lib/libv8/scons/engine/SCons/Tool/mslib.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mslink.py +61 -9
- data/lib/libv8/scons/engine/SCons/Tool/mssdk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/msvc.py +21 -11
- data/lib/libv8/scons/engine/SCons/Tool/msvs.py +477 -59
- data/lib/libv8/scons/engine/SCons/Tool/mwcc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/mwld.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/nasm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/ipk.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/msi.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/rpm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_tarbz2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_targz.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/src_zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/tarbz2.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/targz.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/packaging/zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdf.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdflatex.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/pdftex.py +3 -2
- data/lib/libv8/scons/engine/SCons/Tool/qt.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/rmic.py +9 -3
- data/lib/libv8/scons/engine/SCons/Tool/rpcgen.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/rpm.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgiar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgic++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgicc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sgilink.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/sunar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunc++.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/suncc.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf77.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf90.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunf95.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/sunlink.py +2 -3
- data/lib/libv8/scons/engine/SCons/Tool/swig.py +6 -5
- data/lib/libv8/scons/engine/SCons/Tool/tar.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/tex.py +96 -43
- data/lib/libv8/scons/engine/SCons/Tool/textfile.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/tlib.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/wix.py +2 -2
- data/lib/libv8/scons/engine/SCons/Tool/yacc.py +12 -2
- data/lib/libv8/scons/engine/SCons/Tool/zip.py +2 -2
- data/lib/libv8/scons/engine/SCons/Util.py +3 -3
- data/lib/libv8/scons/engine/SCons/Variables/BoolVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/EnumVariable.py +3 -3
- data/lib/libv8/scons/engine/SCons/Variables/ListVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/PackageVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/PathVariable.py +2 -2
- data/lib/libv8/scons/engine/SCons/Variables/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/Warnings.py +2 -2
- data/lib/libv8/scons/engine/SCons/__init__.py +6 -6
- data/lib/libv8/scons/engine/SCons/compat/__init__.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_builtins.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_collections.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_dbm.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_hashlib.py +2 -2
- data/lib/libv8/scons/engine/SCons/compat/_scons_io.py +2 -2
- data/lib/libv8/scons/engine/SCons/cpp.py +2 -2
- data/lib/libv8/scons/engine/SCons/dblite.py +4 -1
- data/lib/libv8/scons/engine/SCons/exitfuncs.py +2 -2
- data/lib/libv8/scons/scons-time.1 +3 -3
- data/lib/libv8/scons/scons.1 +1209 -1203
- data/lib/libv8/scons/sconsign.1 +3 -3
- data/lib/libv8/scons/script/scons +22 -22
- data/lib/libv8/scons/script/scons-time +2 -2
- data/lib/libv8/scons/script/scons.bat +7 -4
- data/lib/libv8/scons/script/sconsign +21 -20
- data/lib/libv8/scons/setup.cfg +0 -1
- data/lib/libv8/scons/setup.py +38 -40
- data/lib/libv8/version.rb +4 -2
- data/libv8.gemspec +7 -2
- metadata +46 -67
@@ -10,7 +10,7 @@ selection method.
|
|
10
10
|
"""
|
11
11
|
|
12
12
|
#
|
13
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
13
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
14
14
|
#
|
15
15
|
# Permission is hereby granted, free of charge, to any person obtaining
|
16
16
|
# a copy of this software and associated documentation files (the
|
@@ -32,7 +32,7 @@ selection method.
|
|
32
32
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
33
33
|
from __future__ import division
|
34
34
|
|
35
|
-
__revision__ = "src/engine/SCons/Tool/intelc.py
|
35
|
+
__revision__ = "src/engine/SCons/Tool/intelc.py 5357 2011/09/09 21:31:03 bdeegan"
|
36
36
|
|
37
37
|
import math, sys, os.path, glob, string, re
|
38
38
|
|
@@ -40,7 +40,7 @@ is_windows = sys.platform == 'win32'
|
|
40
40
|
is_win64 = is_windows and (os.environ['PROCESSOR_ARCHITECTURE'] == 'AMD64' or
|
41
41
|
('PROCESSOR_ARCHITEW6432' in os.environ and
|
42
42
|
os.environ['PROCESSOR_ARCHITEW6432'] == 'AMD64'))
|
43
|
-
is_linux = sys.platform
|
43
|
+
is_linux = sys.platform.startswith('linux')
|
44
44
|
is_mac = sys.platform == 'darwin'
|
45
45
|
|
46
46
|
if is_windows:
|
@@ -230,17 +230,26 @@ def get_all_compiler_versions():
|
|
230
230
|
for d in glob.glob('/opt/intel/cc*/*'):
|
231
231
|
# Typical dir here is /opt/intel/cc/9.0 for IA32,
|
232
232
|
# /opt/intel/cce/9.0 for EMT64 (AMD64)
|
233
|
-
m = re.search(r'([0-9.]
|
233
|
+
m = re.search(r'([0-9][0-9.]*)$', d)
|
234
|
+
if m:
|
235
|
+
versions.append(m.group(1))
|
236
|
+
for d in glob.glob('/opt/intel/Compiler/*'):
|
237
|
+
# Typical dir here is /opt/intel/Compiler/11.1
|
238
|
+
m = re.search(r'([0-9][0-9.]*)$', d)
|
234
239
|
if m:
|
235
240
|
versions.append(m.group(1))
|
236
241
|
elif is_mac:
|
237
242
|
for d in glob.glob('/opt/intel/cc*/*'):
|
238
243
|
# Typical dir here is /opt/intel/cc/9.0 for IA32,
|
239
244
|
# /opt/intel/cce/9.0 for EMT64 (AMD64)
|
240
|
-
m = re.search(r'([0-9.]
|
245
|
+
m = re.search(r'([0-9][0-9.]*)$', d)
|
241
246
|
if m:
|
242
247
|
versions.append(m.group(1))
|
243
|
-
|
248
|
+
def keyfunc(str):
|
249
|
+
"""Given a dot-separated version string, return a tuple of ints representing it."""
|
250
|
+
return [int(x) for x in str.split('.')]
|
251
|
+
# split into ints, sort, then remove dups
|
252
|
+
return sorted(uniquify(versions), key=keyfunc, reverse=True)
|
244
253
|
|
245
254
|
def get_intel_compiler_top(version, abi):
|
246
255
|
"""
|
@@ -259,15 +268,33 @@ def get_intel_compiler_top(version, abi):
|
|
259
268
|
and not os.path.exists(os.path.join(top, "Bin", abi, "icl.exe")):
|
260
269
|
raise MissingDirError("Can't find Intel compiler in %s"%(top))
|
261
270
|
elif is_mac or is_linux:
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
+
def find_in_2008style_dir(version):
|
272
|
+
# first dir is new (>=9.0) style, second is old (8.0) style.
|
273
|
+
dirs=('/opt/intel/cc/%s', '/opt/intel_cc_%s')
|
274
|
+
if abi == 'x86_64':
|
275
|
+
dirs=('/opt/intel/cce/%s',) # 'e' stands for 'em64t', aka x86_64 aka amd64
|
276
|
+
top=None
|
277
|
+
for d in dirs:
|
278
|
+
if os.path.exists(os.path.join(d%version, "bin", "icc")):
|
279
|
+
top = d%version
|
280
|
+
break
|
281
|
+
return top
|
282
|
+
def find_in_2010style_dir(version):
|
283
|
+
dirs=('/opt/intel/Compiler/%s/*'%version)
|
284
|
+
# typically /opt/intel/Compiler/11.1/064 (then bin/intel64/icc)
|
285
|
+
dirs=glob.glob(dirs)
|
286
|
+
# find highest sub-version number by reverse sorting and picking first existing one.
|
287
|
+
dirs.sort()
|
288
|
+
dirs.reverse()
|
289
|
+
top=None
|
290
|
+
for d in dirs:
|
291
|
+
if (os.path.exists(os.path.join(d, "bin", "ia32", "icc")) or
|
292
|
+
os.path.exists(os.path.join(d, "bin", "intel64", "icc"))):
|
293
|
+
top = d
|
294
|
+
break
|
295
|
+
return top
|
296
|
+
top = find_in_2010style_dir(version) or find_in_2008style_dir(version)
|
297
|
+
print "INTELC: top=",top
|
271
298
|
if not top:
|
272
299
|
raise MissingDirError("Can't find version %s Intel compiler in %s (abi='%s')"%(version,top, abi))
|
273
300
|
return top
|
@@ -353,29 +380,42 @@ def generate(env, version=None, abi=None, topdir=None, verbose=0):
|
|
353
380
|
(str(version), str(abi)))
|
354
381
|
|
355
382
|
if topdir:
|
383
|
+
archdir={'x86_64': 'intel64',
|
384
|
+
'amd64' : 'intel64',
|
385
|
+
'em64t' : 'intel64',
|
386
|
+
'x86' : 'ia32',
|
387
|
+
'i386' : 'ia32',
|
388
|
+
'ia32' : 'ia32'
|
389
|
+
}[abi] # for v11 and greater
|
390
|
+
if os.path.exists(os.path.join(topdir, 'bin', archdir)):
|
391
|
+
bindir="bin/%s"%archdir
|
392
|
+
libdir="lib/%s"%archdir
|
393
|
+
else:
|
394
|
+
bindir="bin"
|
395
|
+
libdir="lib"
|
356
396
|
if verbose:
|
357
|
-
print "Intel C compiler: using version %s (%g), abi %s, in '%s'"%\
|
358
|
-
(repr(version), linux_ver_normalize(version),abi,topdir)
|
397
|
+
print "Intel C compiler: using version %s (%g), abi %s, in '%s/%s'"%\
|
398
|
+
(repr(version), linux_ver_normalize(version),abi,topdir,bindir)
|
359
399
|
if is_linux:
|
360
400
|
# Show the actual compiler version by running the compiler.
|
361
|
-
os.system('%s/
|
401
|
+
os.system('%s/%s/icc --version'%(topdir,bindir))
|
362
402
|
if is_mac:
|
363
403
|
# Show the actual compiler version by running the compiler.
|
364
|
-
os.system('%s/
|
404
|
+
os.system('%s/%s/icc --version'%(topdir,bindir))
|
365
405
|
|
366
406
|
env['INTEL_C_COMPILER_TOP'] = topdir
|
367
407
|
if is_linux:
|
368
408
|
paths={'INCLUDE' : 'include',
|
369
|
-
'LIB' :
|
370
|
-
'PATH' :
|
371
|
-
'LD_LIBRARY_PATH' :
|
409
|
+
'LIB' : libdir,
|
410
|
+
'PATH' : bindir,
|
411
|
+
'LD_LIBRARY_PATH' : libdir}
|
372
412
|
for p in paths.keys():
|
373
413
|
env.PrependENVPath(p, os.path.join(topdir, paths[p]))
|
374
414
|
if is_mac:
|
375
415
|
paths={'INCLUDE' : 'include',
|
376
|
-
'LIB' :
|
377
|
-
'PATH' :
|
378
|
-
'LD_LIBRARY_PATH' :
|
416
|
+
'LIB' : libdir,
|
417
|
+
'PATH' : bindir,
|
418
|
+
'LD_LIBRARY_PATH' : libdir}
|
379
419
|
for p in paths.keys():
|
380
420
|
env.PrependENVPath(p, os.path.join(topdir, paths[p]))
|
381
421
|
if is_windows:
|
@@ -11,7 +11,7 @@ packages fake_root.
|
|
11
11
|
"""
|
12
12
|
|
13
13
|
#
|
14
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
14
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
15
15
|
#
|
16
16
|
# Permission is hereby granted, free of charge, to any person obtaining
|
17
17
|
# a copy of this software and associated documentation files (the
|
@@ -33,7 +33,7 @@ packages fake_root.
|
|
33
33
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
34
34
|
#
|
35
35
|
|
36
|
-
__revision__ = "src/engine/SCons/Tool/ipkg.py
|
36
|
+
__revision__ = "src/engine/SCons/Tool/ipkg.py 5357 2011/09/09 21:31:03 bdeegan"
|
37
37
|
|
38
38
|
import os
|
39
39
|
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/jar.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/jar.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import SCons.Subst
|
37
37
|
import SCons.Util
|
@@ -101,7 +101,13 @@ def generate(env):
|
|
101
101
|
env['JARSUFFIX'] = '.jar'
|
102
102
|
|
103
103
|
def exists(env):
|
104
|
-
|
104
|
+
# As reported by Jan Nijtmans in issue #2730, the simple
|
105
|
+
# return env.Detect('jar')
|
106
|
+
# doesn't always work during initialization. For now, we
|
107
|
+
# stop trying to detect an executable (analogous to the
|
108
|
+
# javac Builder).
|
109
|
+
# TODO: Come up with a proper detect() routine...and enable it.
|
110
|
+
return 1
|
105
111
|
|
106
112
|
# Local Variables:
|
107
113
|
# tab-width:4
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -30,7 +30,7 @@ selection method.
|
|
30
30
|
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
|
33
|
-
__revision__ = "src/engine/SCons/Tool/javac.py
|
33
|
+
__revision__ = "src/engine/SCons/Tool/javac.py 5357 2011/09/09 21:31:03 bdeegan"
|
34
34
|
|
35
35
|
import os
|
36
36
|
import os.path
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/javah.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/javah.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import os.path
|
37
37
|
|
@@ -10,7 +10,7 @@ selection method.
|
|
10
10
|
"""
|
11
11
|
|
12
12
|
#
|
13
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
13
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
14
14
|
#
|
15
15
|
# Permission is hereby granted, free of charge, to any person obtaining
|
16
16
|
# a copy of this software and associated documentation files (the
|
@@ -32,7 +32,7 @@ selection method.
|
|
32
32
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
33
33
|
#
|
34
34
|
|
35
|
-
__revision__ = "src/engine/SCons/Tool/latex.py
|
35
|
+
__revision__ = "src/engine/SCons/Tool/latex.py 5357 2011/09/09 21:31:03 bdeegan"
|
36
36
|
|
37
37
|
import SCons.Action
|
38
38
|
import SCons.Defaults
|
@@ -70,6 +70,7 @@ def generate(env):
|
|
70
70
|
SCons.Tool.tex.generate_common(env)
|
71
71
|
|
72
72
|
def exists(env):
|
73
|
+
SCons.Tool.tex.generate_darwin(env)
|
73
74
|
return env.Detect('latex')
|
74
75
|
|
75
76
|
# Local Variables:
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/lex.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/lex.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import os.path
|
37
37
|
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/link.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/link.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import SCons.Defaults
|
37
37
|
import SCons.Tool
|
@@ -75,14 +75,15 @@ def generate(env):
|
|
75
75
|
|
76
76
|
env['SHLINK'] = '$LINK'
|
77
77
|
env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
|
78
|
-
env['SHLINKCOM'] = '$SHLINK -o $TARGET $SHLINKFLAGS $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
|
78
|
+
env['SHLINKCOM'] = '$SHLINK -o $TARGET $SHLINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
|
79
79
|
# don't set up the emitter, cause AppendUnique will generate a list
|
80
80
|
# starting with None :-(
|
81
81
|
env.Append(SHLIBEMITTER = [shlib_emitter])
|
82
82
|
env['SMARTLINK'] = smart_link
|
83
83
|
env['LINK'] = "$SMARTLINK"
|
84
84
|
env['LINKFLAGS'] = SCons.Util.CLVar('')
|
85
|
-
|
85
|
+
# __RPATH is only set to something ($_RPATH typically) on platforms that support it.
|
86
|
+
env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
|
86
87
|
env['LIBDIRPREFIX']='-L'
|
87
88
|
env['LIBDIRSUFFIX']=''
|
88
89
|
env['_LIBFLAGS']='${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, LIBPREFIXES, LIBSUFFIXES, __env__)}'
|
@@ -105,7 +106,7 @@ def generate(env):
|
|
105
106
|
env['LDMODULEPREFIX'] = '$SHLIBPREFIX'
|
106
107
|
env['LDMODULESUFFIX'] = '$SHLIBSUFFIX'
|
107
108
|
env['LDMODULEFLAGS'] = '$SHLINKFLAGS'
|
108
|
-
env['LDMODULECOM'] = '$LDMODULE -o $TARGET $LDMODULEFLAGS $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
|
109
|
+
env['LDMODULECOM'] = '$LDMODULE -o $TARGET $LDMODULEFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
|
109
110
|
|
110
111
|
|
111
112
|
|
@@ -10,7 +10,7 @@ selection method.
|
|
10
10
|
"""
|
11
11
|
|
12
12
|
#
|
13
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
13
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
14
14
|
#
|
15
15
|
# Permission is hereby granted, free of charge, to any person obtaining
|
16
16
|
# a copy of this software and associated documentation files (the
|
@@ -32,7 +32,7 @@ selection method.
|
|
32
32
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
33
33
|
#
|
34
34
|
|
35
|
-
__revision__ = "src/engine/SCons/Tool/linkloc.py
|
35
|
+
__revision__ = "src/engine/SCons/Tool/linkloc.py 5357 2011/09/09 21:31:03 bdeegan"
|
36
36
|
|
37
37
|
import os.path
|
38
38
|
import re
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/m4.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/m4.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import SCons.Action
|
37
37
|
import SCons.Builder
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/masm.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/masm.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import SCons.Defaults
|
37
37
|
import SCons.Tool
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/midl.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/midl.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import SCons.Action
|
37
37
|
import SCons.Builder
|
@@ -9,7 +9,7 @@ selection method.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
#
|
12
|
-
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
12
|
+
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
13
13
|
#
|
14
14
|
# Permission is hereby granted, free of charge, to any person obtaining
|
15
15
|
# a copy of this software and associated documentation files (the
|
@@ -31,7 +31,7 @@ selection method.
|
|
31
31
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
32
32
|
#
|
33
33
|
|
34
|
-
__revision__ = "src/engine/SCons/Tool/mingw.py
|
34
|
+
__revision__ = "src/engine/SCons/Tool/mingw.py 5357 2011/09/09 21:31:03 bdeegan"
|
35
35
|
|
36
36
|
import os
|
37
37
|
import os.path
|
@@ -46,8 +46,22 @@ import SCons.Util
|
|
46
46
|
key_program = 'mingw32-gcc'
|
47
47
|
|
48
48
|
def find(env):
|
49
|
-
# First search in the SCons path
|
50
|
-
|
49
|
+
# First search in the SCons path
|
50
|
+
path=env.WhereIs(key_program)
|
51
|
+
if (path):
|
52
|
+
return path
|
53
|
+
# then the OS path:
|
54
|
+
path=SCons.Util.WhereIs(key_program)
|
55
|
+
if (path):
|
56
|
+
return path
|
57
|
+
|
58
|
+
# If that doesn't work try default location for mingw
|
59
|
+
save_path=env['ENV']['PATH']
|
60
|
+
env.AppendENVPath('PATH',r'c:\MinGW\bin')
|
61
|
+
path =env.WhereIs(key_program)
|
62
|
+
if not path:
|
63
|
+
env['ENV']['PATH']=save_path
|
64
|
+
return path
|
51
65
|
|
52
66
|
def shlib_generator(target, source, env, for_signature):
|
53
67
|
cmd = SCons.Util.CLVar(['$SHLINK', '$SHLINKFLAGS'])
|
@@ -77,10 +91,13 @@ def shlib_emitter(target, source, env):
|
|
77
91
|
if not no_import_lib and \
|
78
92
|
not env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX'):
|
79
93
|
|
80
|
-
#
|
81
|
-
|
94
|
+
# Create list of target libraries as strings
|
95
|
+
targetStrings=env.ReplaceIxes(dll,
|
82
96
|
'SHLIBPREFIX', 'SHLIBSUFFIX',
|
83
|
-
'LIBPREFIX', 'LIBSUFFIX')
|
97
|
+
'LIBPREFIX', 'LIBSUFFIX')
|
98
|
+
|
99
|
+
# Now add file nodes to target list
|
100
|
+
target.append(env.fs.File(targetStrings))
|
84
101
|
|
85
102
|
# Append a def file target if there isn't already a def file target
|
86
103
|
# or a def file source. There is no option to disable def file
|
@@ -89,10 +106,14 @@ def shlib_emitter(target, source, env):
|
|
89
106
|
def_source = env.FindIxes(source, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
|
90
107
|
def_target = env.FindIxes(target, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
|
91
108
|
if not def_source and not def_target:
|
92
|
-
target
|
109
|
+
# Create list of target libraries and def files as strings
|
110
|
+
targetStrings=env.ReplaceIxes(dll,
|
93
111
|
'SHLIBPREFIX', 'SHLIBSUFFIX',
|
94
|
-
'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
|
95
|
-
|
112
|
+
'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
|
113
|
+
|
114
|
+
# Now add file nodes to target list
|
115
|
+
target.append(env.fs.File(targetStrings))
|
116
|
+
|
96
117
|
return (target, source)
|
97
118
|
|
98
119
|
|