mirror of
https://github.com/samba-team/samba.git
synced 2025-02-23 09:57:40 +03:00
third_party/waf: upgrade to waf 2.0.8
Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
79c4ba26b0
commit
3b7dfc51ac
4
third_party/waf/waflib/Build.py
vendored
4
third_party/waf/waflib/Build.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
4
third_party/waf/waflib/ConfigSet.py
vendored
4
third_party/waf/waflib/ConfigSet.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
14
third_party/waf/waflib/Configure.py
vendored
14
third_party/waf/waflib/Configure.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
@ -315,11 +311,7 @@ def conf(f):
|
||||
:type f: function
|
||||
"""
|
||||
def fun(*k, **kw):
|
||||
mandatory = True
|
||||
if 'mandatory' in kw:
|
||||
mandatory = kw['mandatory']
|
||||
del kw['mandatory']
|
||||
|
||||
mandatory = kw.pop('mandatory', True)
|
||||
try:
|
||||
return f(*k, **kw)
|
||||
except Errors.ConfigurationError:
|
||||
@ -426,8 +418,8 @@ def find_program(self, filename, **kw):
|
||||
:type var: string
|
||||
:param value: obtain the program from the value passed exclusively
|
||||
:type value: list or string (list is preferred)
|
||||
:param ext: list of extensions for the binary (do not add an extension for portability)
|
||||
:type ext: list of string
|
||||
:param exts: list of extensions for the binary (do not add an extension for portability)
|
||||
:type exts: list of string
|
||||
:param msg: name to display in the log, by default filename is used
|
||||
:type msg: string
|
||||
:param interpreter: interpreter for the program
|
||||
|
38
third_party/waf/waflib/Context.py
vendored
38
third_party/waf/waflib/Context.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2010-2018 (ita)
|
||||
@ -15,13 +11,13 @@ from waflib import Utils, Errors, Logs
|
||||
import waflib.Node
|
||||
|
||||
# the following 3 constants are updated on each new release (do not touch)
|
||||
HEXVERSION=0x2000400
|
||||
HEXVERSION=0x2000800
|
||||
"""Constant updated on new releases"""
|
||||
|
||||
WAFVERSION="2.0.4"
|
||||
WAFVERSION="2.0.8"
|
||||
"""Constant updated on new releases"""
|
||||
|
||||
WAFREVISION="5996879673deb7166b61a299be317a738de6891e"
|
||||
WAFREVISION="f78fbc32bb355a3291c9b5f79bbe0c8dfe81282a"
|
||||
"""Git revision when the waf version is updated"""
|
||||
|
||||
ABI = 20
|
||||
@ -56,6 +52,9 @@ out_dir = ''
|
||||
waf_dir = ''
|
||||
"""Directory containing the waf modules"""
|
||||
|
||||
default_encoding = Utils.console_encoding()
|
||||
"""Encoding to use when reading outputs from other processes"""
|
||||
|
||||
g_module = None
|
||||
"""
|
||||
Module representing the top-level wscript file (see :py:const:`waflib.Context.run_dir`)
|
||||
@ -358,6 +357,8 @@ class Context(ctx):
|
||||
if not isinstance(kw['cwd'], str):
|
||||
kw['cwd'] = kw['cwd'].abspath()
|
||||
|
||||
encoding = kw.pop('decode_as', default_encoding)
|
||||
|
||||
try:
|
||||
ret, out, err = Utils.run_process(cmd, kw, cargs)
|
||||
except Exception as e:
|
||||
@ -365,14 +366,14 @@ class Context(ctx):
|
||||
|
||||
if out:
|
||||
if not isinstance(out, str):
|
||||
out = out.decode(sys.stdout.encoding or 'latin-1', errors='replace')
|
||||
out = out.decode(encoding, errors='replace')
|
||||
if self.logger:
|
||||
self.logger.debug('out: %s', out)
|
||||
else:
|
||||
Logs.info(out, extra={'stream':sys.stdout, 'c1': ''})
|
||||
if err:
|
||||
if not isinstance(err, str):
|
||||
err = err.decode(sys.stdout.encoding or 'latin-1', errors='replace')
|
||||
err = err.decode(encoding, errors='replace')
|
||||
if self.logger:
|
||||
self.logger.error('err: %s' % err)
|
||||
else:
|
||||
@ -408,17 +409,8 @@ class Context(ctx):
|
||||
kw['shell'] = isinstance(cmd, str)
|
||||
self.log_command(cmd, kw)
|
||||
|
||||
if 'quiet' in kw:
|
||||
quiet = kw['quiet']
|
||||
del kw['quiet']
|
||||
else:
|
||||
quiet = None
|
||||
|
||||
if 'output' in kw:
|
||||
to_ret = kw['output']
|
||||
del kw['output']
|
||||
else:
|
||||
to_ret = STDOUT
|
||||
quiet = kw.pop('quiet', None)
|
||||
to_ret = kw.pop('output', STDOUT)
|
||||
|
||||
if Logs.verbose and not kw['shell'] and not Utils.check_exe(cmd[0]):
|
||||
raise Errors.WafError('Program %r not found!' % cmd[0])
|
||||
@ -444,15 +436,17 @@ class Context(ctx):
|
||||
if not isinstance(kw['cwd'], str):
|
||||
kw['cwd'] = kw['cwd'].abspath()
|
||||
|
||||
encoding = kw.pop('decode_as', default_encoding)
|
||||
|
||||
try:
|
||||
ret, out, err = Utils.run_process(cmd, kw, cargs)
|
||||
except Exception as e:
|
||||
raise Errors.WafError('Execution failure: %s' % str(e), ex=e)
|
||||
|
||||
if not isinstance(out, str):
|
||||
out = out.decode(sys.stdout.encoding or 'latin-1', errors='replace')
|
||||
out = out.decode(encoding, errors='replace')
|
||||
if not isinstance(err, str):
|
||||
err = err.decode(sys.stdout.encoding or 'latin-1', errors='replace')
|
||||
err = err.decode(encoding, errors='replace')
|
||||
|
||||
if out and quiet != STDOUT and quiet != BOTH:
|
||||
self.to_log('out: %s' % out)
|
||||
|
4
third_party/waf/waflib/Errors.py
vendored
4
third_party/waf/waflib/Errors.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2010-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Logs.py
vendored
4
third_party/waf/waflib/Logs.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
60
third_party/waf/waflib/Node.py
vendored
60
third_party/waf/waflib/Node.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
@ -630,11 +626,10 @@ class Node(object):
|
||||
if maxdepth:
|
||||
for k in node.ant_iter(accept=accept, maxdepth=maxdepth - 1, pats=npats, dir=dir, src=src, remove=remove, quiet=quiet):
|
||||
yield k
|
||||
raise StopIteration
|
||||
|
||||
def ant_glob(self, *k, **kw):
|
||||
"""
|
||||
Finds files across folders:
|
||||
Finds files across folders and returns Node objects:
|
||||
|
||||
* ``**/*`` find all files recursively
|
||||
* ``**/*.class`` find all files ending by .class
|
||||
@ -643,14 +638,51 @@ class Node(object):
|
||||
For example::
|
||||
|
||||
def configure(cfg):
|
||||
cfg.path.ant_glob('**/*.cpp') # finds all .cpp files
|
||||
cfg.root.ant_glob('etc/*.txt') # matching from the filesystem root can be slow
|
||||
cfg.path.ant_glob('*.cpp', excl=['*.c'], src=True, dir=False)
|
||||
# find all .cpp files
|
||||
cfg.path.ant_glob('**/*.cpp')
|
||||
# find particular files from the root filesystem (can be slow)
|
||||
cfg.root.ant_glob('etc/*.txt')
|
||||
# simple exclusion rule example
|
||||
cfg.path.ant_glob('*.c*', excl=['*.c'], src=True, dir=False)
|
||||
|
||||
For more information see http://ant.apache.org/manual/dirtasks.html
|
||||
For more information about the patterns, consult http://ant.apache.org/manual/dirtasks.html
|
||||
Please remember that the '..' sequence does not represent the parent directory::
|
||||
|
||||
def configure(cfg):
|
||||
cfg.path.ant_glob('../*.h') # incorrect
|
||||
cfg.path.parent.ant_glob('*.h') # correct
|
||||
|
||||
The Node structure is itself a filesystem cache, so certain precautions must
|
||||
be taken while matching files in the build or installation phases.
|
||||
Nodes objects that do have a corresponding file or folder are garbage-collected by default.
|
||||
This garbage collection is usually required to prevent returning files that do not
|
||||
exist anymore. Yet, this may also remove Node objects of files that are yet-to-be built.
|
||||
|
||||
This typically happens when trying to match files in the build directory,
|
||||
but there are also cases when files are created in the source directory.
|
||||
Run ``waf -v`` to display any warnings, and try consider passing ``remove=False``
|
||||
when matching files in the build directory.
|
||||
|
||||
Since ant_glob can traverse both source and build folders, it is a best practice
|
||||
to call this method only from the most specific build node::
|
||||
|
||||
def build(bld):
|
||||
# traverses the build directory, may need ``remove=False``:
|
||||
bld.path.ant_glob('project/dir/**/*.h')
|
||||
# better, no accidental build directory traversal:
|
||||
bld.path.find_node('project/dir').ant_glob('**/*.h') # best
|
||||
|
||||
In addition, files and folders are listed immediately. When matching files in the
|
||||
build folders, consider passing ``generator=True`` so that the generator object
|
||||
returned can defer computation to a later stage. For example::
|
||||
|
||||
def build(bld):
|
||||
bld(rule='tar xvf ${SRC}', source='arch.tar')
|
||||
bld.add_group()
|
||||
gen = bld.bldnode.ant_glob("*.h", generator=True, remove=True)
|
||||
# files will be listed only after the arch.tar is unpacked
|
||||
bld(rule='ls ${SRC}', source=gen, name='XYZ')
|
||||
|
||||
The nodes that correspond to files and folders that do not exist are garbage-collected.
|
||||
To prevent this behaviour in particular when running over the build directory, pass ``remove=False``
|
||||
|
||||
:param incl: ant patterns or list of patterns to include
|
||||
:type incl: string or list of strings
|
||||
@ -664,13 +696,13 @@ class Node(object):
|
||||
:type maxdepth: int
|
||||
:param ignorecase: ignore case while matching (False by default)
|
||||
:type ignorecase: bool
|
||||
:returns: The corresponding Nodes
|
||||
:param generator: Whether to evaluate the Nodes lazily
|
||||
:type generator: bool
|
||||
:param remove: remove files/folders that do not exist (True by default)
|
||||
:type remove: bool
|
||||
:param quiet: disable build directory traversal warnings (verbose mode)
|
||||
:type quiet: bool
|
||||
:returns: Whether to evaluate the Nodes lazily, alters the type of the returned value
|
||||
:returns: The corresponding Node objects as a list or as a generator object (generator=True)
|
||||
:rtype: by default, list of :py:class:`waflib.Node.Node` instances
|
||||
"""
|
||||
src = kw.get('src', True)
|
||||
|
4
third_party/waf/waflib/Options.py
vendored
4
third_party/waf/waflib/Options.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Scott Newton, 2005 (scottn)
|
||||
|
49
third_party/waf/waflib/Runner.py
vendored
49
third_party/waf/waflib/Runner.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
@ -12,9 +8,21 @@ Runner.py: Task scheduling and execution
|
||||
|
||||
import heapq, traceback
|
||||
try:
|
||||
from queue import Queue
|
||||
from queue import Queue, PriorityQueue
|
||||
except ImportError:
|
||||
from Queue import Queue
|
||||
try:
|
||||
from Queue import PriorityQueue
|
||||
except ImportError:
|
||||
class PriorityQueue(Queue):
|
||||
def _init(self, maxsize):
|
||||
self.maxsize = maxsize
|
||||
self.queue = []
|
||||
def _put(self, item):
|
||||
heapq.heappush(self.queue, item)
|
||||
def _get(self):
|
||||
return heapq.heappop(self.queue)
|
||||
|
||||
from waflib import Utils, Task, Errors, Logs
|
||||
|
||||
GAP = 5
|
||||
@ -34,6 +42,7 @@ class PriorityTasks(object):
|
||||
def append(self, task):
|
||||
heapq.heappush(self.lst, task)
|
||||
def appendleft(self, task):
|
||||
"Deprecated, do not use"
|
||||
heapq.heappush(self.lst, task)
|
||||
def pop(self):
|
||||
return heapq.heappop(self.lst)
|
||||
@ -141,7 +150,7 @@ class Parallel(object):
|
||||
self.incomplete = set()
|
||||
"""List of :py:class:`waflib.Task.Task` waiting for dependent tasks to complete (DAG)"""
|
||||
|
||||
self.ready = Queue(0)
|
||||
self.ready = PriorityQueue(0)
|
||||
"""List of :py:class:`waflib.Task.Task` ready to be executed by consumers"""
|
||||
|
||||
self.out = Queue(0)
|
||||
@ -261,7 +270,26 @@ class Parallel(object):
|
||||
:type tsk: :py:attr:`waflib.Task.Task`
|
||||
"""
|
||||
if getattr(tsk, 'more_tasks', None):
|
||||
# TODO recompute priorities globally?
|
||||
more = set(tsk.more_tasks)
|
||||
groups_done = set()
|
||||
def iteri(a, b):
|
||||
for x in a:
|
||||
yield x
|
||||
for x in b:
|
||||
yield x
|
||||
|
||||
# Update the dependency tree
|
||||
# this assumes that task.run_after values were updated
|
||||
for x in iteri(self.outstanding, self.incomplete):
|
||||
for k in x.run_after:
|
||||
if isinstance(k, Task.TaskGroup):
|
||||
if k not in groups_done:
|
||||
groups_done.add(k)
|
||||
for j in k.prev & more:
|
||||
self.revdeps[j].add(k)
|
||||
elif k in more:
|
||||
self.revdeps[k].add(x)
|
||||
|
||||
ready, waiting = self.prio_and_split(tsk.more_tasks)
|
||||
self.outstanding.extend(ready)
|
||||
self.incomplete.update(waiting)
|
||||
@ -480,13 +508,12 @@ class Parallel(object):
|
||||
|
||||
reverse = self.revdeps
|
||||
|
||||
groups_done = set()
|
||||
for x in tasks:
|
||||
for k in x.run_after:
|
||||
if isinstance(k, Task.TaskGroup):
|
||||
if k.done:
|
||||
pass
|
||||
else:
|
||||
k.done = True
|
||||
if k not in groups_done:
|
||||
groups_done.add(k)
|
||||
for j in k.prev:
|
||||
reverse[j].add(k)
|
||||
else:
|
||||
|
4
third_party/waf/waflib/Scripting.py
vendored
4
third_party/waf/waflib/Scripting.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
40
third_party/waf/waflib/Task.py
vendored
40
third_party/waf/waflib/Task.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
@ -726,6 +722,32 @@ class Task(evil):
|
||||
v = v() # dependency is a function, call it
|
||||
upd(v)
|
||||
|
||||
def sig_deep_inputs(self):
|
||||
"""
|
||||
Enable rebuilds on input files task signatures. Not used by default.
|
||||
|
||||
Example: hashes of output programs can be unchanged after being re-linked,
|
||||
despite the libraries being different. This method can thus prevent stale unit test
|
||||
results (waf_unit_test.py).
|
||||
|
||||
Hashing input file timestamps is another possibility for the implementation.
|
||||
This may cause unnecessary rebuilds when input tasks are frequently executed.
|
||||
Here is an implementation example::
|
||||
|
||||
lst = []
|
||||
for node in self.inputs + self.dep_nodes:
|
||||
st = os.stat(node.abspath())
|
||||
lst.append(st.st_mtime)
|
||||
lst.append(st.st_size)
|
||||
self.m.update(Utils.h_list(lst))
|
||||
|
||||
The downside of the implementation is that it absolutely requires all build directory
|
||||
files to be declared within the current build.
|
||||
"""
|
||||
bld = self.generator.bld
|
||||
lst = [bld.task_sigs[bld.node_sigs[node]] for node in (self.inputs + self.dep_nodes) if node.is_bld()]
|
||||
self.m.update(Utils.h_list(lst))
|
||||
|
||||
def sig_vars(self):
|
||||
"""
|
||||
Used by :py:meth:`waflib.Task.Task.signature`; it hashes :py:attr:`waflib.Task.Task.env` variables/values
|
||||
@ -1244,6 +1266,16 @@ def task_factory(name, func=None, vars=None, color='GREEN', ext_in=[], ext_out=[
|
||||
|
||||
return cls
|
||||
|
||||
def deep_inputs(cls):
|
||||
"""
|
||||
Task class decorator to enable rebuilds on input files task signatures
|
||||
"""
|
||||
def sig_explicit_deps(self):
|
||||
Task.sig_explicit_deps(self)
|
||||
Task.sig_deep_inputs(self)
|
||||
cls.sig_explicit_deps = sig_explicit_deps
|
||||
return cls
|
||||
|
||||
TaskBase = Task
|
||||
"Provided for compatibility reasons, TaskBase should not be used"
|
||||
|
||||
|
11
third_party/waf/waflib/TaskGen.py
vendored
11
third_party/waf/waflib/TaskGen.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
@ -571,6 +567,7 @@ def process_rule(self):
|
||||
* stderr: standard error, set to None to prevent waf from capturing the text
|
||||
* timeout: timeout for command execution (Python 3)
|
||||
* always: whether to always run the command (False by default)
|
||||
* deep_inputs: whether the task must depend on the input file tasks too (False by default)
|
||||
"""
|
||||
if not getattr(self, 'rule', None):
|
||||
return
|
||||
@ -592,12 +589,13 @@ def process_rule(self):
|
||||
cls_str = getattr(self, 'cls_str', None)
|
||||
cls_keyword = getattr(self, 'cls_keyword', None)
|
||||
use_cache = getattr(self, 'cache_rule', 'True')
|
||||
deep_inputs = getattr(self, 'deep_inputs', False)
|
||||
|
||||
scan_val = has_deps = hasattr(self, 'deps')
|
||||
if scan:
|
||||
scan_val = id(scan)
|
||||
|
||||
key = Utils.h_list((name, self.rule, chmod, shell, color, cls_str, cls_keyword, scan_val, _vars))
|
||||
key = Utils.h_list((name, self.rule, chmod, shell, color, cls_str, cls_keyword, scan_val, _vars, deep_inputs))
|
||||
|
||||
cls = None
|
||||
if use_cache:
|
||||
@ -626,6 +624,9 @@ def process_rule(self):
|
||||
if cls_keyword:
|
||||
setattr(cls, 'keyword', self.cls_keyword)
|
||||
|
||||
if deep_inputs:
|
||||
Task.deep_inputs(cls)
|
||||
|
||||
if scan:
|
||||
cls.scan = self.scan
|
||||
elif has_deps:
|
||||
|
4
third_party/waf/waflib/Tools/__init__.py
vendored
4
third_party/waf/waflib/Tools/__init__.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/ar.py
vendored
4
third_party/waf/waflib/Tools/ar.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/asm.py
vendored
4
third_party/waf/waflib/Tools/asm.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2008-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/bison.py
vendored
4
third_party/waf/waflib/Tools/bison.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# John O'Meara, 2006
|
||||
|
4
third_party/waf/waflib/Tools/c.py
vendored
4
third_party/waf/waflib/Tools/c.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/c_aliases.py
vendored
4
third_party/waf/waflib/Tools/c_aliases.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2015 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/c_config.py
vendored
4
third_party/waf/waflib/Tools/c_config.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/c_osx.py
vendored
4
third_party/waf/waflib/Tools/c_osx.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy 2008-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/c_preproc.py
vendored
4
third_party/waf/waflib/Tools/c_preproc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/c_tests.py
vendored
4
third_party/waf/waflib/Tools/c_tests.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2016-2018 (ita)
|
||||
|
10
third_party/waf/waflib/Tools/ccroot.py
vendored
10
third_party/waf/waflib/Tools/ccroot.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
@ -517,11 +513,11 @@ def apply_implib(self):
|
||||
node = self.path.find_resource(self.defs)
|
||||
if not node:
|
||||
raise Errors.WafError('invalid def file %r' % self.defs)
|
||||
if 'msvc' in (self.env.CC_NAME, self.env.CXX_NAME):
|
||||
self.env.append_value('LINKFLAGS', '/def:%s' % node.path_from(self.get_cwd()))
|
||||
if self.env.def_PATTERN:
|
||||
self.env.append_value('LINKFLAGS', self.env.def_PATTERN % node.path_from(self.get_cwd()))
|
||||
self.link_task.dep_nodes.append(node)
|
||||
else:
|
||||
#gcc for windows takes *.def file a an input without any special flag
|
||||
# gcc for windows takes *.def file as input without any special flag
|
||||
self.link_task.inputs.append(node)
|
||||
|
||||
# where to put the import library
|
||||
|
4
third_party/waf/waflib/Tools/clang.py
vendored
4
third_party/waf/waflib/Tools/clang.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Krzysztof Kosiński 2014
|
||||
|
4
third_party/waf/waflib/Tools/clangxx.py
vendored
4
third_party/waf/waflib/Tools/clangxx.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy 2009-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/compiler_c.py
vendored
4
third_party/waf/waflib/Tools/compiler_c.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Matthias Jahn jahn dôt matthias ât freenet dôt de, 2007 (pmarat)
|
||||
|
4
third_party/waf/waflib/Tools/compiler_cxx.py
vendored
4
third_party/waf/waflib/Tools/compiler_cxx.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Matthias Jahn jahn dôt matthias ât freenet dôt de 2007 (pmarat)
|
||||
|
4
third_party/waf/waflib/Tools/compiler_d.py
vendored
4
third_party/waf/waflib/Tools/compiler_d.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Carlos Rafael Giani, 2007 (dv)
|
||||
|
4
third_party/waf/waflib/Tools/compiler_fc.py
vendored
4
third_party/waf/waflib/Tools/compiler_fc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
|
4
third_party/waf/waflib/Tools/cs.py
vendored
4
third_party/waf/waflib/Tools/cs.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/cxx.py
vendored
4
third_party/waf/waflib/Tools/cxx.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/d.py
vendored
4
third_party/waf/waflib/Tools/d.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Carlos Rafael Giani, 2007 (dv)
|
||||
|
4
third_party/waf/waflib/Tools/d_config.py
vendored
4
third_party/waf/waflib/Tools/d_config.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2016-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/d_scan.py
vendored
4
third_party/waf/waflib/Tools/d_scan.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2016-2018 (ita)
|
||||
|
6
third_party/waf/waflib/Tools/dbus.py
vendored
6
third_party/waf/waflib/Tools/dbus.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Ali Sabil, 2007
|
||||
@ -44,7 +40,7 @@ def add_dbus_file(self, filename, prefix, mode):
|
||||
self.meths.append('process_dbus')
|
||||
self.dbus_lst.append([filename, prefix, mode])
|
||||
|
||||
@before_method('apply_core')
|
||||
@before_method('process_source')
|
||||
def process_dbus(self):
|
||||
"""
|
||||
Processes the dbus files stored in the attribute *dbus_lst* to create :py:class:`waflib.Tools.dbus.dbus_binding_tool` instances.
|
||||
|
4
third_party/waf/waflib/Tools/dmd.py
vendored
4
third_party/waf/waflib/Tools/dmd.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Carlos Rafael Giani, 2007 (dv)
|
||||
|
4
third_party/waf/waflib/Tools/errcheck.py
vendored
4
third_party/waf/waflib/Tools/errcheck.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2011 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/fc.py
vendored
4
third_party/waf/waflib/Tools/fc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# DC 2008
|
||||
|
4
third_party/waf/waflib/Tools/fc_config.py
vendored
4
third_party/waf/waflib/Tools/fc_config.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# DC 2008
|
||||
|
4
third_party/waf/waflib/Tools/fc_scan.py
vendored
4
third_party/waf/waflib/Tools/fc_scan.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# DC 2008
|
||||
|
4
third_party/waf/waflib/Tools/flex.py
vendored
4
third_party/waf/waflib/Tools/flex.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# John O'Meara, 2006
|
||||
|
4
third_party/waf/waflib/Tools/g95.py
vendored
4
third_party/waf/waflib/Tools/g95.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# KWS 2010
|
||||
|
4
third_party/waf/waflib/Tools/gas.py
vendored
4
third_party/waf/waflib/Tools/gas.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2008-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/gcc.py
vendored
4
third_party/waf/waflib/Tools/gcc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/gdc.py
vendored
4
third_party/waf/waflib/Tools/gdc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Carlos Rafael Giani, 2007 (dv)
|
||||
|
4
third_party/waf/waflib/Tools/gfortran.py
vendored
4
third_party/waf/waflib/Tools/gfortran.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# DC 2008
|
||||
|
4
third_party/waf/waflib/Tools/glib2.py
vendored
4
third_party/waf/waflib/Tools/glib2.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/gnu_dirs.py
vendored
4
third_party/waf/waflib/Tools/gnu_dirs.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Ali Sabil, 2007
|
||||
|
4
third_party/waf/waflib/Tools/gxx.py
vendored
4
third_party/waf/waflib/Tools/gxx.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/icc.py
vendored
4
third_party/waf/waflib/Tools/icc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Stian Selnes 2008
|
||||
|
4
third_party/waf/waflib/Tools/icpc.py
vendored
4
third_party/waf/waflib/Tools/icpc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy 2009-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/ifort.py
vendored
4
third_party/waf/waflib/Tools/ifort.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# DC 2008
|
||||
|
4
third_party/waf/waflib/Tools/intltool.py
vendored
4
third_party/waf/waflib/Tools/intltool.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/irixcc.py
vendored
4
third_party/waf/waflib/Tools/irixcc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# imported from samba
|
||||
|
4
third_party/waf/waflib/Tools/javaw.py
vendored
4
third_party/waf/waflib/Tools/javaw.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/ldc2.py
vendored
4
third_party/waf/waflib/Tools/ldc2.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Alex Rønne Petersen, 2012 (alexrp/Zor)
|
||||
|
4
third_party/waf/waflib/Tools/lua.py
vendored
4
third_party/waf/waflib/Tools/lua.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Sebastian Schlingmann, 2008
|
||||
|
4
third_party/waf/waflib/Tools/md5_tstamp.py
vendored
4
third_party/waf/waflib/Tools/md5_tstamp.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
|
18
third_party/waf/waflib/Tools/msvc.py
vendored
18
third_party/waf/waflib/Tools/msvc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Carlos Rafael Giani, 2006 (dv)
|
||||
@ -12,6 +8,12 @@
|
||||
"""
|
||||
Microsoft Visual C++/Intel C++ compiler support
|
||||
|
||||
If you get detection problems, first try any of the following::
|
||||
|
||||
chcp 65001
|
||||
set PYTHONIOENCODING=...
|
||||
set PYTHONLEGACYWINDOWSSTDIO=1
|
||||
|
||||
Usage::
|
||||
|
||||
$ waf configure --msvc_version="msvc 10.0,msvc 9.0" --msvc_target="x64"
|
||||
@ -461,10 +463,8 @@ def gather_vswhere_versions(conf, versions):
|
||||
return
|
||||
|
||||
if sys.version_info[0] < 3:
|
||||
try:
|
||||
txt = txt.decode(sys.stdout.encoding or 'cp1252')
|
||||
except UnicodeError:
|
||||
txt = txt.decode('utf-8', 'replace')
|
||||
txt = txt.decode(Utils.console_encoding())
|
||||
|
||||
arr = json.loads(txt)
|
||||
arr.sort(key=lambda x: x['installationVersion'])
|
||||
for entry in arr:
|
||||
@ -940,6 +940,8 @@ def msvc_common_flags(conf):
|
||||
|
||||
v.cprogram_PATTERN = v.cxxprogram_PATTERN = '%s.exe'
|
||||
|
||||
v.def_PATTERN = '/def:%s'
|
||||
|
||||
|
||||
#######################################################################################################
|
||||
##### conf above, build below
|
||||
|
4
third_party/waf/waflib/Tools/nasm.py
vendored
4
third_party/waf/waflib/Tools/nasm.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2008-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/nobuild.py
vendored
4
third_party/waf/waflib/Tools/nobuild.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2015 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/perl.py
vendored
4
third_party/waf/waflib/Tools/perl.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# andersg at 0x63.nu 2007
|
||||
|
10
third_party/waf/waflib/Tools/python.py
vendored
10
third_party/waf/waflib/Tools/python.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2007-2015 (ita)
|
||||
@ -450,9 +446,9 @@ def check_python_version(conf, minver=None):
|
||||
Check if the python interpreter is found matching a given minimum version.
|
||||
minver should be a tuple, eg. to check for python >= 2.4.2 pass (2,4,2) as minver.
|
||||
|
||||
If successful, PYTHON_VERSION is defined as 'MAJOR.MINOR'
|
||||
(eg. '2.4') of the actual python version found, and PYTHONDIR is
|
||||
defined, pointing to the site-packages directory appropriate for
|
||||
If successful, PYTHON_VERSION is defined as 'MAJOR.MINOR' (eg. '2.4')
|
||||
of the actual python version found, and PYTHONDIR and PYTHONARCHDIR
|
||||
are defined, pointing to the site-packages directories appropriate for
|
||||
this python version, where modules/packages/extensions should be
|
||||
installed.
|
||||
|
||||
|
31
third_party/waf/waflib/Tools/qt5.py
vendored
31
third_party/waf/waflib/Tools/qt5.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
@ -399,6 +395,19 @@ class rcc(Task.Task):
|
||||
names.append(x)
|
||||
return (nodes, names)
|
||||
|
||||
def quote_flag(self, x):
|
||||
"""
|
||||
Override Task.quote_flag. QT parses the argument files
|
||||
differently than cl.exe and link.exe
|
||||
|
||||
:param x: flag
|
||||
:type x: string
|
||||
:return: quoted flag
|
||||
:rtype: string
|
||||
"""
|
||||
return x
|
||||
|
||||
|
||||
class moc(Task.Task):
|
||||
"""
|
||||
Creates ``.moc`` files
|
||||
@ -406,6 +415,19 @@ class moc(Task.Task):
|
||||
color = 'BLUE'
|
||||
run_str = '${QT_MOC} ${MOC_FLAGS} ${MOCCPPPATH_ST:INCPATHS} ${MOCDEFINES_ST:DEFINES} ${SRC} ${MOC_ST} ${TGT}'
|
||||
|
||||
def quote_flag(self, x):
|
||||
"""
|
||||
Override Task.quote_flag. QT parses the argument files
|
||||
differently than cl.exe and link.exe
|
||||
|
||||
:param x: flag
|
||||
:type x: string
|
||||
:return: quoted flag
|
||||
:rtype: string
|
||||
"""
|
||||
return x
|
||||
|
||||
|
||||
class ui5(Task.Task):
|
||||
"""
|
||||
Processes ``.ui`` files
|
||||
@ -629,7 +651,6 @@ def find_single_qt5_lib(self, name, uselib, qtlibs, qtincludes, force_static):
|
||||
for k in ('', '5') if Utils.is_win32 else ['']:
|
||||
for p in ('lib', ''):
|
||||
yield (p, name, k, x)
|
||||
raise StopIteration
|
||||
|
||||
for tup in lib_names():
|
||||
k = ''.join(tup)
|
||||
|
4
third_party/waf/waflib/Tools/ruby.py
vendored
4
third_party/waf/waflib/Tools/ruby.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# daniel.svensson at purplescout.se 2008
|
||||
|
4
third_party/waf/waflib/Tools/suncc.py
vendored
4
third_party/waf/waflib/Tools/suncc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/suncxx.py
vendored
4
third_party/waf/waflib/Tools/suncxx.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/tex.py
vendored
4
third_party/waf/waflib/Tools/tex.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/vala.py
vendored
4
third_party/waf/waflib/Tools/vala.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Ali Sabil, 2007
|
||||
|
10
third_party/waf/waflib/Tools/waf_unit_test.py
vendored
10
third_party/waf/waflib/Tools/waf_unit_test.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Carlos Rafael Giani, 2006
|
||||
@ -156,6 +152,7 @@ def add_test_results(self, tup):
|
||||
except AttributeError:
|
||||
self.bld.utest_results = [tup]
|
||||
|
||||
@Task.deep_inputs
|
||||
class utest(Task.Task):
|
||||
"""
|
||||
Execute a unit test
|
||||
@ -235,11 +232,6 @@ class utest(Task.Task):
|
||||
def get_cwd(self):
|
||||
return getattr(self.generator, 'ut_cwd', self.inputs[0].parent)
|
||||
|
||||
def sig_explicit_deps(self):
|
||||
lst = [os.stat(node.abspath()).st_mtime for node in self.inputs]
|
||||
self.m.update(str(lst))
|
||||
return super(utest, self).sig_explicit_deps()
|
||||
|
||||
def summary(bld):
|
||||
"""
|
||||
Display an execution summary::
|
||||
|
4
third_party/waf/waflib/Tools/winres.py
vendored
4
third_party/waf/waflib/Tools/winres.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Brant Young, 2007
|
||||
|
4
third_party/waf/waflib/Tools/xlc.py
vendored
4
third_party/waf/waflib/Tools/xlc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
4
third_party/waf/waflib/Tools/xlcxx.py
vendored
4
third_party/waf/waflib/Tools/xlcxx.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2018 (ita)
|
||||
|
21
third_party/waf/waflib/Utils.py
vendored
21
third_party/waf/waflib/Utils.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
@ -204,6 +200,8 @@ class lazy_generator(object):
|
||||
it = self.it = self.fun(*self.params)
|
||||
return next(it)
|
||||
|
||||
next = __next__
|
||||
|
||||
is_win32 = os.sep == '\\' or sys.platform == 'win32' # msys2
|
||||
"""
|
||||
Whether this system is a Windows series
|
||||
@ -436,6 +434,21 @@ def to_list(val):
|
||||
else:
|
||||
return val
|
||||
|
||||
def console_encoding():
|
||||
try:
|
||||
import ctypes
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
codepage = ctypes.windll.kernel32.GetConsoleCP()
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
if codepage:
|
||||
return 'cp%d' % codepage
|
||||
return sys.stdout.encoding or ('cp1252' if is_win32 else 'latin-1')
|
||||
|
||||
def split_path_unix(path):
|
||||
return path.split('/')
|
||||
|
||||
|
4
third_party/waf/waflib/__init__.py
vendored
4
third_party/waf/waflib/__init__.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2018 (ita)
|
||||
|
4
third_party/waf/waflib/ansiterm.py
vendored
4
third_party/waf/waflib/ansiterm.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
|
4
third_party/waf/waflib/extras/__init__.py
vendored
4
third_party/waf/waflib/extras/__init__.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2005-2010 (ita)
|
||||
|
4
third_party/waf/waflib/extras/batched_cc.py
vendored
4
third_party/waf/waflib/extras/batched_cc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2015 (ita)
|
||||
|
4
third_party/waf/waflib/extras/biber.py
vendored
4
third_party/waf/waflib/extras/biber.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2011 (ita)
|
||||
|
4
third_party/waf/waflib/extras/bjam.py
vendored
4
third_party/waf/waflib/extras/bjam.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# per rosengren 2011
|
||||
|
||||
|
4
third_party/waf/waflib/extras/blender.py
vendored
4
third_party/waf/waflib/extras/blender.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Michal Proszek, 2014 (poxip)
|
||||
|
4
third_party/waf/waflib/extras/boo.py
vendored
4
third_party/waf/waflib/extras/boo.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Yannick LM 2011
|
||||
|
123
third_party/waf/waflib/extras/boost.py
vendored
123
third_party/waf/waflib/extras/boost.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
#
|
||||
@ -58,8 +54,7 @@ from waflib import Utils, Logs, Errors
|
||||
from waflib.Configure import conf
|
||||
from waflib.TaskGen import feature, after_method
|
||||
|
||||
BOOST_LIBS = ['/usr/lib/x86_64-linux-gnu', '/usr/lib/i386-linux-gnu',
|
||||
'/usr/lib', '/usr/local/lib', '/opt/local/lib', '/sw/lib', '/lib']
|
||||
BOOST_LIBS = ['/usr/lib', '/usr/local/lib', '/opt/local/lib', '/sw/lib', '/lib']
|
||||
BOOST_INCLUDES = ['/usr/include', '/usr/local/include', '/opt/local/include', '/sw/include']
|
||||
BOOST_VERSION_FILE = 'boost/version.hpp'
|
||||
BOOST_VERSION_CODE = '''
|
||||
@ -73,6 +68,21 @@ BOOST_ERROR_CODE = '''
|
||||
int main() { boost::system::error_code c; }
|
||||
'''
|
||||
|
||||
PTHREAD_CODE = '''
|
||||
#include <pthread.h>
|
||||
static void* f(void*) { return 0; }
|
||||
int main() {
|
||||
pthread_t th;
|
||||
pthread_attr_t attr;
|
||||
pthread_attr_init(&attr);
|
||||
pthread_create(&th, &attr, &f, 0);
|
||||
pthread_join(th, 0);
|
||||
pthread_cleanup_push(0, 0);
|
||||
pthread_cleanup_pop(0);
|
||||
pthread_attr_destroy(&attr);
|
||||
}
|
||||
'''
|
||||
|
||||
BOOST_THREAD_CODE = '''
|
||||
#include <boost/thread.hpp>
|
||||
int main() { boost::thread t; }
|
||||
@ -309,6 +319,66 @@ def boost_get_libs(self, *k, **kw):
|
||||
|
||||
return path.abspath(), match_libs(kw.get('lib'), False), match_libs(kw.get('stlib'), True)
|
||||
|
||||
@conf
|
||||
def _check_pthread_flag(self, *k, **kw):
|
||||
'''
|
||||
Computes which flags should be added to CXXFLAGS and LINKFLAGS to compile in multi-threading mode
|
||||
|
||||
Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3,
|
||||
boost/thread.hpp will trigger a #error if -pthread isn't used:
|
||||
boost/config/requires_threads.hpp:47:5: #error "Compiler threading support
|
||||
is not turned on. Please set the correct command line options for
|
||||
threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
|
||||
|
||||
Based on _BOOST_PTHREAD_FLAG(): https://github.com/tsuna/boost.m4/blob/master/build-aux/boost.m4
|
||||
'''
|
||||
|
||||
var = kw.get('uselib_store', 'BOOST')
|
||||
|
||||
self.start_msg('Checking the flags needed to use pthreads')
|
||||
|
||||
# The ordering *is* (sometimes) important. Some notes on the
|
||||
# individual items follow:
|
||||
# (none): in case threads are in libc; should be tried before -Kthread and
|
||||
# other compiler flags to prevent continual compiler warnings
|
||||
# -lpthreads: AIX (must check this before -lpthread)
|
||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
||||
# -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
||||
# -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads)
|
||||
# -pthreads: Solaris/GCC
|
||||
# -mthreads: MinGW32/GCC, Lynx/GCC
|
||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
||||
# doesn't hurt to check since this sometimes defines pthreads too;
|
||||
# also defines -D_REENTRANT)
|
||||
# ... -mt is also the pthreads flag for HP/aCC
|
||||
# -lpthread: GNU Linux, etc.
|
||||
# --thread-safe: KAI C++
|
||||
if Utils.unversioned_sys_platform() == "sunos":
|
||||
# On Solaris (at least, for some versions), libc contains stubbed
|
||||
# (non-functional) versions of the pthreads routines, so link-based
|
||||
# tests will erroneously succeed. (We need to link with -pthreads/-mt/
|
||||
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
|
||||
# a function called by this macro, so we could check for that, but
|
||||
# who knows whether they'll stub that too in a future libc.) So,
|
||||
# we'll just look for -pthreads and -lpthread first:
|
||||
boost_pthread_flags = ["-pthreads", "-lpthread", "-mt", "-pthread"]
|
||||
else:
|
||||
boost_pthread_flags = ["", "-lpthreads", "-Kthread", "-kthread", "-llthread", "-pthread",
|
||||
"-pthreads", "-mthreads", "-lpthread", "--thread-safe", "-mt"]
|
||||
|
||||
for boost_pthread_flag in boost_pthread_flags:
|
||||
try:
|
||||
self.env.stash()
|
||||
self.env.append_value('CXXFLAGS_%s' % var, boost_pthread_flag)
|
||||
self.env.append_value('LINKFLAGS_%s' % var, boost_pthread_flag)
|
||||
self.check_cxx(code=PTHREAD_CODE, msg=None, use=var, execute=False)
|
||||
|
||||
self.end_msg(boost_pthread_flag)
|
||||
return
|
||||
except self.errors.ConfigurationError:
|
||||
self.env.revert()
|
||||
self.end_msg('None')
|
||||
|
||||
@conf
|
||||
def check_boost(self, *k, **kw):
|
||||
@ -333,6 +403,11 @@ def check_boost(self, *k, **kw):
|
||||
|
||||
var = kw.get('uselib_store', 'BOOST')
|
||||
|
||||
self.find_program('dpkg-architecture', var='DPKG_ARCHITECTURE', mandatory=False)
|
||||
if self.env.DPKG_ARCHITECTURE:
|
||||
deb_host_multiarch = self.cmd_and_log([self.env.DPKG_ARCHITECTURE[0], '-qDEB_HOST_MULTIARCH'])
|
||||
BOOST_LIBS.insert(0, '/usr/lib/%s' % deb_host_multiarch.strip())
|
||||
|
||||
self.start_msg('Checking boost includes')
|
||||
self.env['INCLUDES_%s' % var] = inc = self.boost_get_includes(**params)
|
||||
versions = self.boost_get_version(inc)
|
||||
@ -360,32 +435,26 @@ def check_boost(self, *k, **kw):
|
||||
Logs.pprint('CYAN', ' shared libs : %s' % libs)
|
||||
Logs.pprint('CYAN', ' static libs : %s' % stlibs)
|
||||
|
||||
def has_shlib(lib):
|
||||
return params['lib'] and lib in params['lib']
|
||||
def has_stlib(lib):
|
||||
return params['stlib'] and lib in params['stlib']
|
||||
def has_lib(lib):
|
||||
return has_shlib(lib) or has_stlib(lib)
|
||||
if has_lib('thread'):
|
||||
# not inside try_link to make check visible in the output
|
||||
self._check_pthread_flag(k, kw)
|
||||
|
||||
def try_link():
|
||||
if (params['lib'] and 'system' in params['lib']) or \
|
||||
params['stlib'] and 'system' in params['stlib']:
|
||||
if has_lib('system'):
|
||||
self.check_cxx(fragment=BOOST_ERROR_CODE, use=var, execute=False)
|
||||
if (params['lib'] and 'thread' in params['lib']) or \
|
||||
params['stlib'] and 'thread' in params['stlib']:
|
||||
if has_lib('thread'):
|
||||
self.check_cxx(fragment=BOOST_THREAD_CODE, use=var, execute=False)
|
||||
|
||||
def is_log_mt():
|
||||
'''Check if found boost_log library is multithread-safe'''
|
||||
for lib in libs:
|
||||
if lib.startswith('boost_log'):
|
||||
lib_log = lib
|
||||
break
|
||||
return '-mt' in lib_log
|
||||
|
||||
if params['lib'] and 'log' in params['lib']:
|
||||
self.env['DEFINES_%s' % var] += ['BOOST_LOG_DYN_LINK']
|
||||
if not is_log_mt():
|
||||
self.env['DEFINES_%s' % var] += ['BOOST_LOG_NO_THREADS']
|
||||
self.check_cxx(fragment=BOOST_LOG_CODE, use=var, execute=False)
|
||||
if params['stlib'] and 'log' in params['stlib']:
|
||||
# Static linking is assumed by default
|
||||
if not is_log_mt():
|
||||
if has_lib('log'):
|
||||
if not has_lib('thread'):
|
||||
self.env['DEFINES_%s' % var] += ['BOOST_LOG_NO_THREADS']
|
||||
if has_shlib('log'):
|
||||
self.env['DEFINES_%s' % var] += ['BOOST_LOG_DYN_LINK']
|
||||
self.check_cxx(fragment=BOOST_LOG_CODE, use=var, execute=False)
|
||||
|
||||
if params.get('linkage_autodetect', False):
|
||||
|
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2015
|
||||
|
4
third_party/waf/waflib/extras/build_logs.py
vendored
4
third_party/waf/waflib/extras/build_logs.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2013 (ita)
|
||||
|
4
third_party/waf/waflib/extras/buildcopy.py
vendored
4
third_party/waf/waflib/extras/buildcopy.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Calle Rosenquist, 2017 (xbreak)
|
||||
|
4
third_party/waf/waflib/extras/c_bgxlc.py
vendored
4
third_party/waf/waflib/extras/c_bgxlc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# harald at klimachs.de
|
||||
|
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2006-2010 (ita)
|
||||
|
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 vi:ts=4:noexpandtab
|
||||
|
||||
|
4
third_party/waf/waflib/extras/c_nec.py
vendored
4
third_party/waf/waflib/extras/c_nec.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# harald at klimachs.de
|
||||
|
4
third_party/waf/waflib/extras/cabal.py
vendored
4
third_party/waf/waflib/extras/cabal.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Anton Feldmann, 2012
|
||||
|
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# Tool to extend c_config.check_cfg()
|
||||
|
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Christoph Koke, 2013
|
||||
@ -23,11 +19,6 @@ from waflib import Logs, TaskGen, Task
|
||||
|
||||
Task.Task.keep_last_cmd = True
|
||||
|
||||
if sys.hexversion >= 0x3030000:
|
||||
quote = shlex.quote
|
||||
else:
|
||||
quote = pipes.quote
|
||||
|
||||
@TaskGen.feature('c', 'cxx')
|
||||
@TaskGen.after_method('process_use')
|
||||
def collect_compilation_db_tasks(self):
|
||||
@ -60,10 +51,9 @@ def write_compilation_database(ctx):
|
||||
directory = getattr(task, 'cwd', ctx.variant_dir)
|
||||
f_node = task.inputs[0]
|
||||
filename = os.path.relpath(f_node.abspath(), directory)
|
||||
cmd = " ".join(map(quote, cmd))
|
||||
entry = {
|
||||
"directory": directory,
|
||||
"command": cmd,
|
||||
"arguments": cmd,
|
||||
"file": filename,
|
||||
}
|
||||
clang_db[filename] = entry
|
||||
@ -93,4 +83,3 @@ for x in ('c', 'cxx'):
|
||||
|
||||
setattr(t, 'old_runnable_status', getattr(t, 'runnable_status', None))
|
||||
setattr(t, 'runnable_status', runnable_status)
|
||||
|
||||
|
4
third_party/waf/waflib/extras/codelite.py
vendored
4
third_party/waf/waflib/extras/codelite.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# CodeLite Project
|
||||
|
4
third_party/waf/waflib/extras/color_gcc.py
vendored
4
third_party/waf/waflib/extras/color_gcc.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
|
4
third_party/waf/waflib/extras/color_rvct.py
vendored
4
third_party/waf/waflib/extras/color_rvct.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
|
4
third_party/waf/waflib/extras/compat15.py
vendored
4
third_party/waf/waflib/extras/compat15.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Thomas Nagy, 2010 (ita)
|
||||
|
4
third_party/waf/waflib/extras/cppcheck.py
vendored
4
third_party/waf/waflib/extras/cppcheck.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# -*- encoding: utf-8 -*-
|
||||
# Michel Mooij, michel.mooij7@gmail.com
|
||||
|
4
third_party/waf/waflib/extras/cpplint.py
vendored
4
third_party/waf/waflib/extras/cpplint.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
#
|
||||
|
4
third_party/waf/waflib/extras/cross_gnu.py
vendored
4
third_party/waf/waflib/extras/cross_gnu.py
vendored
@ -1,7 +1,3 @@
|
||||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
|
||||
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 vi:ts=4:noexpandtab
|
||||
# Tool to provide dedicated variables for cross-compilation
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user