[Core] New TSystem::CompileMacro flag, "h"
This Pull request:
Adds a new flag to CompileMacro, "h".
Changes or fixes:
This new functionality allows not to rebuild the macro even if the file is newer than the library based on a hash built for the macro and its name. This helps distributed execution, providing a clean way to augment python analyses with accelerated functions in C++ and compiled when the worker cannot be setup but just individual tasks.
Checklist:
- [v] tested changes locally
- [v] updated the docs (if necessary)
Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds
Thanks Danilo! Now that you are modifying this file, maybe could you also address the two first points of this issue wrt the doxygen documentation? https://github.com/root-project/root/issues/10395 Thks
Hi @ferdymercury , thanks for the reminder - it's a good proposal. I propose to let the tests run and add one additional commit when some additional refinement is needed!
Build failed on windows10/default. Running on null:C:\build\workspace\root-pullrequests-build See console output.
Errors:
- [2023-11-16T16:08:14.169Z] C:\build\workspace\root-pullrequests-build\root\core\base\src\TSystem.cxx(49,10): fatal error C1083: Cannot open include file: 'dlfcn.h': No such file or directory [C:\build\workspace\root-pullrequests-build\build\core\Core.vcxproj]
Build failed on ROOT-ubuntu2204/nortcxxmod. Running on root-ubuntu-2204-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Failing tests:
Build failed on ROOT-performance-centos8-multicore/soversion. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.
Build failed on ROOT-ubuntu2004/python3. Running on root-ubuntu-2004-3.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Failing tests:
Test Results
3 files 3 suites 11h 15m 27s :stopwatch: 2 443 tests 2 442 :heavy_check_mark: 0 :zzz: 1 :x: 7 268 runs 7 267 :heavy_check_mark: 0 :zzz: 1 :x:
For more details on these failures, see this check.
Results for commit 41c7b937.
Can this new mode be the default? And we add option h for the old, non hash approach?