+60
−44
clang/kitsune/none.cfg.in
0 → 100644
+3
−0
Loading
stable, have less overhead dealing with dependencies, fix some broken bits
(e.g., building the examples), and finally fit with the new bitcode approach
used by cheetah/opencilk for runtime code.
-- some internal renaming done w/ cmake variables to be a bit more
consistent across the code base.
-- kitsune components (off top-level directory) now built as a runtime
target (as supported with llvm's build system terminology).
-- automatic fetch of cheetah (opencilk runtime) and kokkos by the
cmake setup. Both rolled into the overall build. For cheetah this
allows for compatible bitcode file generation. For kokkos allows
better control of feature set used and related details. No need for
git submodules for either package.
-- numerous bug fixes, cleanup, and in some cases an overhaul of some
messy details (like the way the kitsune build was duct taped into
clang).
New clang feature for the use of automatically generated configuration
files. This is built on the base functionality provided by the
--config command line argument. The extensions allow a config file per
"target" (e.g. kokkos, and each of supported runtime ABIs). These files
can live in one of four places:
1. in the same directory the compiler is being invoked from.
2. a user-specified directory to search.
3. a kitsune-centric directory path to search.
4. a system-wide directory to search.
Each of the configuration files are named related to the kitsune and
tapir specific features (e.g., kokkos.cfg, opencilk.cfg, qthreads.cfg,
etc.). The names and paths of files and directories can be configured
via the cmake build.
Overall, there is an updated cmake cache file in
kitsune/cmake/caches/kitsune-dev.cmake that has documented settings in it
that should provide a good reference and starting point for builds.
This current feature set is primarily intended for in-tree testing (vs.
installed use cases). Some of the features used still need to be refined
and tested in installed configurations. Most things can be overhauled
via the command line (i.e., there should be no hard errors) but there are
undoubtedly mistakes and misconfiguration lurking in many corners...
CMake updates to try and get dependencies correctly specified
due to parallel build isssues (races between dependent packages).
Haven't been able to reproduce build issues with these fixes.
Some more robust error handling for opencilk bitcode loading -- seg
faulted before if assertions were disabled. Will now print a fatal
error message and exit.