Keep the OpenCL headers out of the work pool header (#5213) `nano/lib/work.hpp` included `nano/node/openclwork.hpp` although it uses nothing declared there: the work pool takes OpenCL generation as a plain `std::function`, and `opencl_work` is already forward declared. The include made the lib layer depend on the node layer and carried the OpenCL C headers, and the macros set before them, into every file that includes the work pool, a third of the project, so any change to the OpenCL headers rebuilt all of it. The work pool header now includes only what it uses. The few files that relied on it for OpenCL types or network constants include those headers themselves. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
__________
Type: commit
Hash: 15c89290fe62c6f98c53b074e39809396713be30
Created: yesterday
__________
gr0v1ty/nano-node:15c89290fe62c6f98c53b074e39809396713be30
| Test Case | Status | Duration | Median Deviation | Log | Graph |
|---|---|---|---|---|---|
| 5n4pr_conf_10k_bintree | PASS | 117 s | 0.0 s | - | Show |
| 5n4pr_conf_10k_change | PASS | 136 s | -30.0 s | - | Show |
| 5n4pr_conf_change_dependant | PASS | 108 s | -11.0 s | - | - |
| 5n4pr_conf_change_independant | PASS | 112 s | 0.0 s | - | - |
| 5n4pr_conf_send_dependant | PASS | 120 s | 3.0 s | - | - |
| 5n4pr_conf_send_independant | FAIL | 3 s | -113.0 s | Show | - |
| 5n4pr_rocks_10k_bintree | PASS | 134 s | 12.0 s | - | - |
| 5n4pr_rocks_10k_change | PASS | 231 s | 51.0 s | - | - |