Some libraries, e.g. protobuf, depend on C++11 now. As they are
(indirectly) included in some .ah aspect headers, everything has to be
compiled with C++11 enabled now.
This change switches to C++14 globally.
Change-Id: I56a802bd510704d668a2b2c8957e11725fbe98b7
To use the new clang-based AspectC++ (ac++ >1.2), Fail* must be built
with -D__NO_MATH_INLINES (or --c_compiler clang++).
Change-Id: I020d62891946d09ac456b8df914b669ab33ab0e2
-Wunused-local-typedefs is included in -Wall since GCC 4.8, and generates a
flood of "typedef '...' locally defined but not used" warnings in
ac++-1.2-generated code.
Change-Id: I79748d5f049e269053b26935cc7a641caeb6dcba
Change the aspect weaver project path to all source paths (src, simulators,
debuggers, tools) and the <build>/src path.
Without this change "external" builds do work but do not weave in any
experiments. This change also allows multiple build directories within the
project root, as the weaver will no longer use aspects from all builds.
When further source directories are added to the project root, these
definitions will need to be updated.
Change-Id: If3d3d9fe61427fcba8b815171c8acdcdeb06cb69
Unfortunately, this does not (yet) work as advertised. I need to fight another
round of CMake battles before retrying. Reverting to previous state for now.
This reverts r1753.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1767 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
ag++ is now called with a list of currently active aspect headers
(ag++ -a aspect1.ah -a aspect2.ah ...). This resolves several problems at
once:
- Build directories may be positioned arbitrarily now, they need not be
a subdirectory of the project anymore.
- Multiple build directories can coexist within the project tree. Before
this commit, the generated instantiate-*.ah aspect headers disturbed
neighboring build trees.
- Due to this, the regression test should be runnable much more easily
now.
- The build time was reduced by an average of about 10%.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1753 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
The FailBochs client is not linked by the Bochs build system anymore, but
by our cmake scripts (make fail-client):
- All Bochs libraries are merged into libfailbochs.a (a new target
within the Bochs Autotools scripts).
- The previous libfail.a is *not* a merge of all Fail* libraries anymore,
but pulls these in via library dependencies.
Additionally I did a lot of build system cleanup, e.g. additional external
libraries may now be pulled in where they're needed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1390 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
"failstar" sounds like a name for a cruise liner from the 80s. As "*" isn't a
desirable part of directory names, just name the whole thing "fail/", the core
parts being stored in "fail/core/".
Additionally fixing two build system dependency issues:
- missing jobserver -> protomessages dependency
- broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain
file dependencies ... cmake for the win)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a