Add a --verbose build flag
This commit is contained in:
parent
163ce2a066
commit
ec06dd7460
@ -113,7 +113,7 @@ install: |
|
|||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- echo $LD_LIBRARY_PATH
|
- echo $LD_LIBRARY_PATH
|
||||||
- $PYTHON setup.py build --debug $SANITIZE_ARG;
|
- $PYTHON setup.py build --debug --verbose $SANITIZE_ARG;
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- if [[ -z $SANITIZE_ARG ]]; then $PYTHON test.py; else ./asan-launcher test.py; fi
|
- if [[ -z $SANITIZE_ARG ]]; then $PYTHON test.py; else ./asan-launcher test.py; fi
|
||||||
|
|||||||
17
Makefile
17
Makefile
@ -1,16 +1,23 @@
|
|||||||
|
ifdef V
|
||||||
|
VVAL=--verbose
|
||||||
|
endif
|
||||||
|
ifdef VERBOSE
|
||||||
|
VVAL=--verbose
|
||||||
|
endif
|
||||||
|
|
||||||
all:
|
all:
|
||||||
python3 setup.py
|
python3 setup.py $(VVAL)
|
||||||
|
|
||||||
test:
|
test:
|
||||||
python3 setup.py test
|
python3 setup.py $(VVAL) test
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
python3 setup.py clean
|
python3 setup.py $(VVAL) clean
|
||||||
|
|
||||||
# A debug build
|
# A debug build
|
||||||
debug:
|
debug:
|
||||||
python3 setup.py build --debug
|
python3 setup.py build $(VVAL) --debug
|
||||||
|
|
||||||
# Build with the ASAN and UBSAN sanitizers
|
# Build with the ASAN and UBSAN sanitizers
|
||||||
asan:
|
asan:
|
||||||
python3 setup.py build --debug --sanitize
|
python3 setup.py build $(VVAL) --debug --sanitize
|
||||||
|
|||||||
18
setup.py
18
setup.py
@ -16,6 +16,7 @@ import sysconfig
|
|||||||
base = os.path.dirname(os.path.abspath(__file__))
|
base = os.path.dirname(os.path.abspath(__file__))
|
||||||
sys.path.insert(0, os.path.join(base, 'glfw'))
|
sys.path.insert(0, os.path.join(base, 'glfw'))
|
||||||
glfw = importlib.import_module('glfw')
|
glfw = importlib.import_module('glfw')
|
||||||
|
verbose = False
|
||||||
del sys.path[0]
|
del sys.path[0]
|
||||||
build_dir = os.path.join(base, 'build')
|
build_dir = os.path.join(base, 'build')
|
||||||
constants = os.path.join(base, 'kitty', 'constants.py')
|
constants = os.path.join(base, 'kitty', 'constants.py')
|
||||||
@ -231,6 +232,8 @@ def define(x):
|
|||||||
def run_tool(cmd, desc=None):
|
def run_tool(cmd, desc=None):
|
||||||
if isinstance(cmd, str):
|
if isinstance(cmd, str):
|
||||||
cmd = shlex.split(cmd[0])
|
cmd = shlex.split(cmd[0])
|
||||||
|
if verbose:
|
||||||
|
desc = None
|
||||||
print(desc or ' '.join(cmd))
|
print(desc or ' '.join(cmd))
|
||||||
p = subprocess.Popen(cmd)
|
p = subprocess.Popen(cmd)
|
||||||
ret = p.wait()
|
ret = p.wait()
|
||||||
@ -308,7 +311,10 @@ def parallel_run(todo, desc='Compiling {} ...'):
|
|||||||
while items and failed is None:
|
while items and failed is None:
|
||||||
while len(workers) < num_workers and items:
|
while len(workers) < num_workers and items:
|
||||||
name, cmd = items.pop()
|
name, cmd = items.pop()
|
||||||
print(desc.format(emphasis(name)))
|
if verbose:
|
||||||
|
print(' '.join(cmd))
|
||||||
|
else:
|
||||||
|
print(desc.format(emphasis(name)))
|
||||||
w = subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
|
w = subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
|
||||||
workers[w.pid] = name, cmd, w
|
workers[w.pid] = name, cmd, w
|
||||||
wait()
|
wait()
|
||||||
@ -367,6 +373,12 @@ def option_parser():
|
|||||||
action='store_true',
|
action='store_true',
|
||||||
help='Build extension modules with debugging symbols'
|
help='Build extension modules with debugging symbols'
|
||||||
)
|
)
|
||||||
|
p.add_argument(
|
||||||
|
'-v', '--verbose',
|
||||||
|
default=0,
|
||||||
|
action='count',
|
||||||
|
help='Be verbose'
|
||||||
|
)
|
||||||
p.add_argument(
|
p.add_argument(
|
||||||
'--sanitize',
|
'--sanitize',
|
||||||
default=False,
|
default=False,
|
||||||
@ -434,10 +446,10 @@ def build(args, native_optimizations=True):
|
|||||||
k['file']: k['arguments'] for k in compilation_database
|
k['file']: k['arguments'] for k in compilation_database
|
||||||
}
|
}
|
||||||
env = init_env(args.debug, args.sanitize, native_optimizations, args.profile)
|
env = init_env(args.debug, args.sanitize, native_optimizations, args.profile)
|
||||||
compile_glfw(args.incremental, compilation_database)
|
|
||||||
compile_c_extension(
|
compile_c_extension(
|
||||||
kitty_env(), 'kitty/fast_data_types', args.incremental, compilation_database, *find_c_files()
|
kitty_env(), 'kitty/fast_data_types', args.incremental, compilation_database, *find_c_files()
|
||||||
)
|
)
|
||||||
|
compile_glfw(args.incremental, compilation_database)
|
||||||
compilation_database = [
|
compilation_database = [
|
||||||
{'file': k, 'arguments': v, 'directory': base} for k, v in compilation_database.items()
|
{'file': k, 'arguments': v, 'directory': base} for k, v in compilation_database.items()
|
||||||
]
|
]
|
||||||
@ -559,9 +571,11 @@ def clean():
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
global verbose
|
||||||
if sys.version_info < (3, 5):
|
if sys.version_info < (3, 5):
|
||||||
raise SystemExit('python >= 3.5 required')
|
raise SystemExit('python >= 3.5 required')
|
||||||
args = option_parser().parse_args()
|
args = option_parser().parse_args()
|
||||||
|
verbose = args.verbose > 0
|
||||||
args.prefix = os.path.abspath(args.prefix)
|
args.prefix = os.path.abspath(args.prefix)
|
||||||
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
||||||
if args.action == 'build':
|
if args.action == 'build':
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user