Commit graph

7 commits

Author SHA1 Message Date
8d88ffcdff SCons: rework test definition to link according to layer
tests used to be defined ad hoc and test definitions
are scattered confusingly over various directories.
Now built some simple rules into the buildsystem
to allow organising the tests into layers and
linking them accordingly.

Note: this switches to building shared objects
for the test classes too, which effectively speeds up
both re-building and re-running of test cases
2013-01-07 02:15:05 +01:00
0710d51aaf SCons: fix the remaining shared linking problems on Ubuntu-Precise
Our libraries constitute a clear dependency hierarchy,
we do not want circular dependencies. Declaring these
dependencies while creating the shared libraries would
allow strict checking by the linker; but unfortunately
this also creates transitive depdendencies stored as
DT_NEEDED tags.

While basically this would be just fine, the resolution of $ORIGIN
on gets confused in case of transitively defined library dependencies
over multiple hops, especially in case when actually no symbol of this
transitive dependency is used. Since these newer systems set the
--as-needed switch for linking by default, these unnecessary
DT_NEEDED entries will be purged from the executable, but of course
not from the shared library causing the transitive dependencies.
As a consequence, when loading the executable, the $ORIGIN resolution
mechanism doesn't act on the dependencies recorded in the library,
causing the shared loader to abort with an "unresolved dependency"

So the resolution for these problems is not to use transitive
dependencies on libraries intended to be found via $ORIGIN
2013-01-05 04:50:59 +01:00
56ac1afe18 move Icon building down into separate SConscript 2012-01-11 07:05:01 +01:00
e64a17d1ba SConstruct: reduce the remaining defs
no need to use functions anymore, since
only the clean and phony targets are left
2012-01-11 07:05:00 +01:00
f84da63e11 use import/export instead of passing an artefacts map 2012-01-11 07:05:00 +01:00
25b21fe575 reorder building/installing of Icons
no need to define them together with the source.
SCons is able to work out the real dependencies
just fine. Thus, Icons remain in Main SConstruct
2012-01-11 07:05:00 +01:00
c62eccd25f SCons overhaul/clean-up: disentangle main build
The goal is to make the build scrips more clear
at first sight. So move the main build targets
into a separate SConscript, to make them similar
to the tests, research and tools.

The final goal of this makeover is to reduce
the main SConstruct as much as possible
2012-01-11 07:05:00 +01:00