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::fsutil
namespace into theflit
namespace (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.toml
if the given compiler matches one specified there. - Improve speed of the generated
Makefile
- Add
--compiler-type
flag - 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-toolchain
and--gxx-name
for 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 clean
by 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_flags
andfixed_link_flags
fields for each compiler specified inflit-config.toml
- Add
- Return
std::vector
offloat
,double
,long double
, orstd::string
from 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-type
flag 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 clean
by deleting destination directories. Also, reorganize destination directories. Add amake dirs
target. - #49 (PR #271): Return
std::vector
of floating-point or ofstd::string
from a test - #273 (PR #274): Fix
flit bisect
when callingmain
as 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
--delete
flag behavior forflit bisect
- #289 (PR #290): Fix automated test for
flit bisect
involving templates - #286 (PR #288): Add helper functions for
std::string
such asflit::split()
andflit::trim()
. Removeflit::fsutil
namespace - #292 (PR #295): Add
DESTDIR
variable to FLiT's top-levelMakefile
- #296 (PR #297): Fix
Makefile
color output for older systems and OSX - #125 (PR #301): Add
fixed_compile_flags
andfixed_link_flags
to thecompiler
section 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_flags
andfixed_link_flags
fromflit bisect
- #310 (PR #311): Significantly improve responsiveness of autogenerated
Makefile
s by using more self-recursion - #96 (PR #314): All flit functions in the
flit
namespace - #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 handlesNaN
andinf
in a way that makes sense - #316 (PR #324): Do not copy
Empty.cpp
when 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-linker
toflit bisect