A few Fedora fixes.

pull/15/head
Jussi Pakkanen 12 years ago
parent c0c2c35496
commit 65be7a9ab7
  1. 5
      backends.py
  2. 20
      environment.py
  3. 9
      run_tests.py

@ -834,8 +834,11 @@ class NinjaBackend(Backend):
default = 'default all\n\n'
outfile.write(default)
ninja_command = environment.detect_ninja()
if ninja_command is None:
raise RuntimeError('Could not detect ninja command')
elem = NinjaBuildElement('clean', 'CUSTOM_COMMAND', '')
elem.add_item('COMMAND', ['ninja', '-t', 'clean'])
elem.add_item('COMMAND', [ninja_command, '-t', 'clean'])
elem.add_item('description', 'Cleaning')
if self.environment.coredata.coverage:
self.generate_gcov_clean(outfile)

@ -532,6 +532,26 @@ def is_osx():
def is_windows():
return platform.system().lower() == 'windows'
def is_debianlike():
try:
open('/etc/debian_version', 'r')
return True
except FileNotFoundError:
return False
def detect_ninja():
for n in ['ninja', 'ninja-build']:
# Plain 'ninja' or 'ninja -h' yields an error
# code. Thanks a bunch, guys.
try:
p = subprocess.Popen([n, '-t', 'list'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except FileNotFoundError:
continue
p.communicate()
if p.returncode == 0:
return n
header_suffixes = ['h', 'hh', 'hpp', 'hxx', 'H']
cpp_suffixes = ['cc', 'cpp', 'cxx', 'hh', 'hpp', 'hxx']
c_suffixes = ['c']

@ -23,9 +23,12 @@ install_dir = os.path.join(os.path.split(os.path.abspath(__file__))[0], 'install
meson_command = './meson.py'
if True: # Currently we have only one backend.
backend_flags = []
compile_commands = ['ninja']
test_commands = ['ninja', 'test']
install_commands = ['ninja', 'install']
ninja_command = environment.detect_ninja()
if ninja_command is None:
raise RuntimeError('Could not find Ninja executable.')
compile_commands = [ninja_command]
test_commands = [ninja_command, 'test']
install_commands = [ninja_command, 'install']
def run_test(testdir):
shutil.rmtree(test_build_dir)

Loading…
Cancel
Save