diff --git a/require-ess/tools/driver.makefile b/require-ess/tools/driver.makefile index c95abca10908322e01f3641593d1a82627aeaa80..d650d0f5391d371285530502a45907272d6dea94 100644 --- a/require-ess/tools/driver.makefile +++ b/require-ess/tools/driver.makefile @@ -372,9 +372,7 @@ define update_dep_versions # If module_VERSION already exists fails if it doesn't matches # module_FETCHED_VERSION. $$(foreach mm,$$($$m_DEPS),\ - $$(eval\ - $$(mm)_FETCHED_VERSION := $$(call select,2,$$($$m_TBL),$$$$(call str-eq,$$$$1,$$(mm)))\ - )\ + $$(eval $$(mm)_FETCHED_VERSION := $$(call select,2,$$($$m_TBL),$$$$(call str-eq,$$$$1,$$(mm))))\ $$(if $$($$(mm)_VERSION),\ $$(if $$(filter-out $$($$(mm)_FETCHED_VERSION),$$($$(mm)_VERSION)),\ $$(error "$$(m) depends on $$(mm),$$($$(mm)_FETCHED_VERSION) but $$(mm),$$($$(mm)_VERSION) is also needed"),\ diff --git a/tests/test_build.py b/tests/test_build.py index 74af2b9ef33435ed28bb2fad301cf276deebd03b..8af46ae12817bd9a4e626bf5723bc1a304944827 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -435,21 +435,27 @@ def test_recursive_header_include(wrappers): wrapper_a = wrappers.get() wrapper_b = wrappers.get() wrapper_c = wrappers.get() + wrapper_d = wrappers.get() cell_path = wrapper_a.path / "cellMods" module_version = "0.0.0+0" + wrapper_c.add_var_to_config_module(f"{wrapper_d.name}_DEP_VERSION", module_version) wrapper_b.add_var_to_config_module(f"{wrapper_c.name}_DEP_VERSION", module_version) wrapper_a.add_var_to_config_module(f"{wrapper_b.name}_DEP_VERSION", module_version) - wrapper_c.add_var_to_module_makefile("HEADERS", f"{wrapper_c.name}.h") - (wrapper_c.module_dir / f"{wrapper_c.name}.h").touch() + wrapper_d.add_var_to_module_makefile("HEADERS", f"{wrapper_d.name}.h") + (wrapper_d.module_dir / f"{wrapper_d.name}.h").touch() wrapper_a.add_var_to_module_makefile("SOURCES", f"{wrapper_a.name}.c") with open(wrapper_a.module_dir / f"{wrapper_a.name}.c", "w") as f: - f.write(f'#include "{wrapper_c.name}.h"') + f.write(f'#include "{wrapper_d.name}.h"') + rc, *_ = wrapper_d.run_make( + "cellinstall", module_version=module_version, cell_path=cell_path + ) + assert rc == 0 rc, *_ = wrapper_c.run_make( "cellinstall", module_version=module_version, cell_path=cell_path )