#229: Using a nonexistent header file should lead to an error message ---------------------+------------------------------------------------------ Reporter: hinder | Owner: Type: defect | Status: new Priority: major | Milestone: Component: Cactus | Version: Resolution: | Keywords: ---------------------+------------------------------------------------------
Comment (by eschnett):
This is actually a feature of the Cactus include file mechanism: Several thorns can contribute towards an include file, and it is not an error if no thorn provides anything. This allows thorns to provide optional capabilities.
One example is LoopControl, which provides a header file loopcontrol.h. This header file overwrites (improves upon) the looping constructs provided by the flesh (in cctk_Loop.h). Other thorns can include this file, independent of whether LoopControl is in the thorn list or not. This makes it possible to write thorns that use LoopControl, and which still work if LoopControl is not present.
The original motivation for this include mechanism was matter thorns, i.e. thorns contributing to Tmunu. A spacetime thorn could thus include matter terms via a header file, and would thus work independent of whether any matter thorns are present or not.