waf: bump to version 1.9.0

Some things worth mentioning:

- That version contains commits we had cherry picked on our submodule.
- There's a patch on top with a fix for the new process spawning used on
  version 1.9.0. That has already been applied to upstream's master, but not
  released yet.
- This patch also does necessary changes on our build system in order to
  accommodate the upgrade. Basically:
  - Use full task class names when calling create_task().
  - Use always_run class attribute instead of the decorator, which is
    deprecated.
This commit is contained in:
Gustavo Jose de Sousa 2016-06-27 15:54:03 -03:00 committed by Lucas De Marchi
parent 753f734a39
commit a748c52f06
2 changed files with 7 additions and 10 deletions

View File

@ -173,6 +173,9 @@ cmake_configure_task.run = _cmake_configure_task_run
class cmake_build_task(Task.Task): class cmake_build_task(Task.Task):
run_str = '${CMAKE} --build ${CMAKE_BLD_DIR} --target ${CMAKE_TARGET}' run_str = '${CMAKE} --build ${CMAKE_BLD_DIR} --target ${CMAKE_TARGET}'
color = 'BLUE' color = 'BLUE'
# the cmake-generated build system is responsible of managing its own
# dependencies
always_run = True
def exec_command(self, cmd, **kw): def exec_command(self, cmd, **kw):
kw['stdout'] = sys.stdout kw['stdout'] = sys.stdout
@ -211,10 +214,6 @@ def _cmake_build_task_post_run(self):
return self.original_post_run() return self.original_post_run()
cmake_build_task.post_run = _cmake_build_task_post_run cmake_build_task.post_run = _cmake_build_task_post_run
# the cmake-generated build system is responsible of managing its own
# dependencies
cmake_build_task = Task.always_run(cmake_build_task)
class CMakeConfig(object): class CMakeConfig(object):
''' '''
CMake configuration. This object shouldn't be instantiated directly. Use CMake configuration. This object shouldn't be instantiated directly. Use
@ -253,9 +252,8 @@ class CMakeConfig(object):
if self._config_task and self._config_task.cmake_config_sig == sig: if self._config_task and self._config_task.cmake_config_sig == sig:
return self._config_task return self._config_task
# NOTE: we'll probably need to use the full class name in waf 1.9 self._config_task = taskgen.create_task('cmake_configure_task')
self._config_task = taskgen.create_task('cmake_configure') self._config_task.cwd = self.bldnode
self._config_task.cwd = self.bldnode.abspath()
self._config_task.cmake = self self._config_task.cmake = self
self._config_task.cmake_config_sig = sig self._config_task.cmake_config_sig = sig
@ -349,8 +347,7 @@ def cmake_build(bld, cmake_config, cmake_target, **kw):
def create_cmake_build_task(self, cmake_config, cmake_target): def create_cmake_build_task(self, cmake_config, cmake_target):
cmake = get_cmake(cmake_config) cmake = get_cmake(cmake_config)
# NOTE: we'll probably need to use the full class name in waf 1.9 tsk = self.create_task('cmake_build_task')
tsk = self.create_task('cmake_build')
tsk.cmake = cmake tsk.cmake = cmake
tsk.cmake_target = cmake_target tsk.cmake_target = cmake_target
tsk.output_patterns = [] tsk.output_patterns = []

2
modules/waf vendored

@ -1 +1 @@
Subproject commit 1edef6f98d38cf8c22ac9c5c548fe2daf4a7de39 Subproject commit 9a0932951f9afb0a5029f501eddd7393ca61ac4c