FLiT is now very stable, so we can exit the beta releases. Honestly, we kept it in the beta release not because the tool was unreliable, but rather because we were unsure if the interface would undergo breaking changes with design reworks.
The interface has stabilized. We may do small breaks of interface in the future, but so far nothing major until FLiT 3.0.
Highlights of Major Changes:
- Place items from
flit::fsutilnamespace into theflitnamespace (breaking change) - MPI
- Add MPICH support
- Change MPI usage to be with a
main-like function as subprocesses
flit bisect- Bisect uses information from
flit-config.tomlif the given compiler matches one specified there. - Improve speed of the generated
Makefile - Add
--compiler-typeflag - Add
--ldflags,--add-ldflags, and--use-linker
- Bisect uses information from
- Autogenerated
Makefile- Use standard GNU Makefile variable names
- Brief colored output
- Source files can have any suffix (instead of just
.cpp) - Removed the automatic insertion of
--gcc-toolchainand--gxx-namefor the Clang and Intel compilers respectively -- user can now add this fromflit-config.toml(documentation added on how to do this) - Experimental support for a Ninja build file instead (through
flit experimental ninja) - Improve speed and responsiveness using more self-recursion
- Faster
make cleanby deleting output directories rather than all files - Mitigate C++ standard library incompatibility by compiling FLiT source code into each test executable
flit-config.toml- Add
fixed_compile_flagsandfixed_link_flagsfields for each compiler specified inflit-config.toml
- Add
- Return
std::vectoroffloat,double,long double, orstd::stringfrom tests. Add a comparison function for each. - Add functions to FLiT's C++ interface (can be used in tests):
rsplit(),lsplit(),split(),trim(),rstrip(),lstrip(),strip(),basename(), anddirname() - Bash-completion
All Issues Addressed:
- #255 (PR #260): Added
--compiler-typeflag forflit bisect - #222 (PR #264): Added MPICH support
- #253 (PR #266): Handle different file endings for source files
- #267 (PR #268): Makefile recursion on dry runs too
- #269 (PR #270): Faster
make cleanby deleting destination directories. Also, reorganize destination directories. Add amake dirstarget. - #49 (PR #271): Return
std::vectorof floating-point or ofstd::stringfrom a test - #273 (PR #274): Fix
flit bisectwhen callingmainas a subprocess - #165 (PR #280): Fixed the SimpleCHull litmus test to not use relative paths
- #272 (PR #275): Add ability to call a
main-like function from your test as a subprocess, with or without MPI - #216 (PR #281): Use standard Makefile Variable names in autogenerated Makefiles
- #276 (PR #282): Brief colored output from Makefiles
- #283 (PR #284): Fix
--deleteflag behavior forflit bisect - #289 (PR #290): Fix automated test for
flit bisectinvolving templates - #286 (PR #288): Add helper functions for
std::stringsuch asflit::split()andflit::trim(). Removeflit::fsutilnamespace - #292 (PR #295): Add
DESTDIRvariable to FLiT's top-levelMakefile - #296 (PR #297): Fix
Makefilecolor output for older systems and OSX - #125 (PR #301): Add
fixed_compile_flagsandfixed_link_flagsto thecompilersection inflit-config.toml - #302 (PR #303): Experimental support for Ninja build files instead of an autogenerated
Makefile - #293 (PR #304): Improve usage and testing of
mkstemp()andmkdtemp(). Add functionsstrip(),basename(), anddirname()to FLiT - #307 (PR #309): Fix use of
fixed_compile_flagsandfixed_link_flagsfromflit bisect - #310 (PR #311): Significantly improve responsiveness of autogenerated
Makefiles by using more self-recursion - #96 (PR #314): All flit functions in the
flitnamespace - #227 (PR #315): Remove hostname from generated files
- #210 (PR #318): Mitigate C++ standard library incompatibility by compiling FLiT source code into each test executable
- #133 (PR #322): Create a good default
compare()method that handlesNaNandinfin a way that makes sense - #316 (PR #324): Do not copy
Empty.cppwhen callingflit init --litmus-tests - #320 (PR #321): Update the issue template on GitHub
- #121 (PR #319): Implement bash-completion for FLiT
- #308 (PR #325): Add
--ldflags,--add-ldflags, and--use-linkertoflit bisect