From a748c52f06f29b1067fd2cb841c43da2cf55fa20 Mon Sep 17 00:00:00 2001 From: Gustavo Jose de Sousa Date: Mon, 27 Jun 2016 15:54:03 -0300 Subject: [PATCH] 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. --- Tools/ardupilotwaf/cmake.py | 15 ++++++--------- modules/waf | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/Tools/ardupilotwaf/cmake.py b/Tools/ardupilotwaf/cmake.py index eeeb0012cd..c7b1a9b430 100644 --- a/Tools/ardupilotwaf/cmake.py +++ b/Tools/ardupilotwaf/cmake.py @@ -173,6 +173,9 @@ cmake_configure_task.run = _cmake_configure_task_run class cmake_build_task(Task.Task): run_str = '${CMAKE} --build ${CMAKE_BLD_DIR} --target ${CMAKE_TARGET}' color = 'BLUE' + # the cmake-generated build system is responsible of managing its own + # dependencies + always_run = True def exec_command(self, cmd, **kw): kw['stdout'] = sys.stdout @@ -211,10 +214,6 @@ def _cmake_build_task_post_run(self): return self.original_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): ''' 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: 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') - self._config_task.cwd = self.bldnode.abspath() + self._config_task = taskgen.create_task('cmake_configure_task') + self._config_task.cwd = self.bldnode self._config_task.cmake = self 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): 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') + tsk = self.create_task('cmake_build_task') tsk.cmake = cmake tsk.cmake_target = cmake_target tsk.output_patterns = [] diff --git a/modules/waf b/modules/waf index 1edef6f98d..9a0932951f 160000 --- a/modules/waf +++ b/modules/waf @@ -1 +1 @@ -Subproject commit 1edef6f98d38cf8c22ac9c5c548fe2daf4a7de39 +Subproject commit 9a0932951f9afb0a5029f501eddd7393ca61ac4c