Commit Graph

22 Commits

Author SHA1 Message Date
8d1657a409 cmake: use -std=c++11 instead of c++14
With GCC 9, some of the stdlibc++'s header files don't compile with
AspectC++ anymore.  Until this is resolved, we compile with -std=c++11
although we actually use C++14 features; we need to ignore the
warnings pointing this out until AspectC++ works with these header
files.

Change-Id: If4d3c9fcbee61b7f8c6ffdf7f1ef9a641b6b6743
2020-05-20 10:08:47 +02:00
8d060ef375 Debian 10: switch to C++14
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
2019-10-21 17:14:51 +02:00
3ad42e270c fixes for Debian 9
- search for libdwarf.h in new locations (e.g., /usr/include/libdwarf/)
- build Bochs with -std=gnu++98 (gnu++14 is default since GCC 6.1)
- specify "proto2" syntax for protobuf messages
- minor build-system and C++ namespace fixes

Change-Id: I16dbc622c797ef8e936fe3c0fb9b03029d27529d
2017-08-01 14:12:03 +02:00
fe5ccdf425 fixes for Debian 8 and newer AspectC++ versions
-  Debian 8 does not provide libsvga1-dev anymore, so Bochs cannot be
    built --with-svga (which is included in --with-all-libs).

 -  The latest AspectC++ nightlies should work without any
    -D__NO_MATH_INLINES -D__STRICT_ANSI__ tricks.

Change-Id: I56801a0735eb4922689dff812923d79faa94d26e
2016-01-09 17:02:51 +01:00
614531ed67 cmake: properly search for ag++ with find_program
Change-Id: I45d6241e169147e120ae1cf6d4fc870f9969fe99
2015-04-25 14:01:49 +02:00
7ee105016c cmake/bochs: more strict dependency handling for libfailboch_external
The configure step for libfailbochs_external could be executed parallel
to other build steps, which required the files produced by the configure
step. Therefore a race-condition occurred. By giving the configure step
an explicit target name, more correct dependencies could be modeled
within bochs.cmake.

Change-Id: If2d7dafdace23b0eba6efcdff3ed0bfca2423048
2014-10-21 12:39:42 +02:00
9ac7c8b83c cmake: allow build outside project root
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
2013-08-23 10:02:56 +02:00
20a137d8d9 cmake/bochs: build --with-all-libs again
Without --with-all-libs (as documented in doc/how-to-build.txt), at least
the "nogui" GUI does not work anymore -- the default for headless
experiments.

(Note the UNDEFINED->UNDEF enum rename; this was necessary due to a vga.h
include side-effect in bochs/gui/svga.cc.)

Change-Id: I1bc3208e905783505a35bbc48ff29f00eef599d6
2013-03-27 17:52:31 +01:00
4e21fbc97a cmake: bochs{,all}clean targets don't fail even if stamp file doesn't exist 2013-03-19 22:32:12 +01:00
06c02e2fa1 cmake/Bochs: build with cmake 2.8.2 again
add_dependencies() works for IMPORTED libraries only with cmake 2.8.4 or
newer.  This workaround makes it work with Debian 6's cmake 2.8.2 again.
2013-03-14 18:10:17 +01:00
a7e5d2373f cmake/Bochs: Integrated Bochs configure into CMake
Bochs' configure options can now be set via ccmake.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2102 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 12:34:19 +00:00
425b6e3129 cmake: CMake-style look for VGA lib.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2101 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-02-15 12:34:16 +00:00
hsc
a911ebb353 Revert "explicit aspect activation"
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
2012-10-19 09:45:00 +00:00
hsc
a29ad39f5e explicit aspect activation
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
2012-10-17 15:22:23 +00:00
hsc
9d0bb7b6b5 install targets for fail-client and server
"make install" installs both fail-client and the campaign server, if the
experiment provides one.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1414 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 13:27:07 +00:00
hsc
3413243ea9 bochs(un)install targets removed
This doesn't work anymore, as we're not building a bochs binary.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1413 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 13:27:04 +00:00
hsc
b2353078bc add cmake configuration for additional ag++ flags
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1412 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 13:27:01 +00:00
hsc
80076ec568 reduced cmake cache variable namespace pollution
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1403 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-02 17:16:30 +00:00
hsc
4c3c5d53ab more fine-grained X11 library linking
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1401 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-02 12:03:12 +00:00
hsc
0ff2fb4dad more fine-grained X11 checks
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1395 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-30 00:14:37 +00:00
hsc
b832a11837 cmake compatibility fixes; optional Bochs dependencies
Gotta love subtle differences between cmake 2.8.2 and 2.8.7.  Builds on
both Debian 6.0 and Ubuntu 12.04 now.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1391 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-29 22:22:47 +00:00
hsc
4a4b3ea7e2 FailBochs build process reversed
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
2012-06-29 22:22:41 +00:00