lumiera_/admin
Ichthyostega c14bb61e6a fix for resolution of transitive dependencies between "Lumiera modules"
This is a somewhat intricate problem. As long as we linked with --no-as-needed,
these problems could not manifest themselves, since all dependencies are spotted
correctly by SCons and thus added as direct children of the executable.

But when we switch to --as-needed linking, the linker will omit some of
the dependencies given from the build system, when the code to be linked
doesn't call directly into these dependencies. But of course dynamic modules
may depend on each other, and indeed, the Lumiera libs do so. Thus
the linker may omit the dependency to liblumierasupport, and just add
a dependency to, say liblumierabackend. But the backend in turn
depends on the support library.

Now the problem is, that when resolving several steps deep into such
a dependency chain, our special relative path resolution scheme fails.
The fix is to give each lumiera module itself another relative path
resolution spec, which overrides at that point the root spec given
for the executable. Thus, we define

- for the executable: "search at $ORIGIN/modules"
- for the modules:    "search at $ORIGIN/../modules"

This accounts for the fact, that a module, which is the Origin
for a transitive resolution step, already sits in a subdirectory
below the executable; thus step one level up and devle down into
the hard wired modules directory. Alternatively, we could also
use just "search at $ORIGIN" (i.e. in the same directory).
But assuming that in future we'll roll several core plugins,
which also count as "Lumiera modules", the scheme defined here
is more flexible, since it allows to place those core plugins
into sibling directories.
2014-10-01 00:21:47 +02:00
..
git_hooks removed 'pushing' from the post commit hook 2008-12-16 23:59:00 +01:00
scons fix for resolution of transitive dependencies between "Lumiera modules" 2014-10-01 00:21:47 +02:00
DIR_INFO make some DIR_INFO's nicer 2007-06-21 03:15:52 +02:00
gnu-indent.sh Merge: change building to create modules 2008-12-20 02:15:33 +01:00
headercheck Merge from backend: wikis, admin-scrits, test.sh 2008-04-12 02:07:16 +02:00
lumiera_c_skeleton release prep: remove defunct autotools buildsystem 2013-10-29 03:47:50 +01:00
rfc.sh Add full-text search command to rfc.sh 2012-08-31 04:55:40 +02:00
rsync_docs_to_lumieraorg.sh Merge from backend: wikis, admin-scrits, test.sh 2008-04-12 02:07:16 +02:00
testfilter.sh Add two test tools to admin 2010-07-16 07:59:30 +02:00
treeinfo.sh Fix treeinfo.sh sorting order 2011-05-12 19:30:36 +02:00
vg-run.sh Install: change organisation of target and output directory variables 2011-01-29 14:10:19 +01:00
vgsuppression_gen.sh Merge from backend: wikis, admin-scrits, test.sh 2008-04-12 02:07:16 +02:00