diff --git a/admin/scons/LumieraEnvironment.py b/admin/scons/LumieraEnvironment.py
index 11dc15b5a..e85dbee62 100644
--- a/admin/scons/LumieraEnvironment.py
+++ b/admin/scons/LumieraEnvironment.py
@@ -29,14 +29,17 @@ class LumieraEnvironment(Environment):
using global vars. Idea inspired by Ardour.
"""
def __init__(self, buildSetup, buildVars, **kw):
- kw.update(VERSION = buildSetup.VERSION
- ,TARGDIR = buildSetup.TARGDIR
- ,DESTDIR = '$INSTALLDIR/$PREFIX'
- ,toolpath = [buildSetup.TOOLDIR ]
- ,variables = buildVars
- )
- Environment.__init__ (self, **kw)
- self.path = Record (extract_localPathDefs(buildSetup)) # e.g. buildExe -> env.path.buildExe
+ Environment.__init__ (self, toolpath = [buildSetup.TOOLDIR ]
+ , variables = buildVars # ◁───── reads settings from the commandline (see Options.py)
+ , **kw)
+ #
+ self['TARGDIR'] = buildSetup.TARGDIR
+ self['VERSION'] = buildSetup.VERSION
+ self['DESTDIR'] = '$INSTALLDIR/$PREFIX'
+ self._anchor_relative('INSTALLDIR')
+ self._anchor_relative('TARGDIR')
+ #
+ self.path = Record (extract_localPathDefs(buildSetup)) # ◁───── e.g. buildExe -> env.path.buildExe
self.libInfo = {}
self.Tool("BuilderDoxygen")
self.Tool("ToolDistCC")
@@ -44,6 +47,16 @@ class LumieraEnvironment(Environment):
register_LumieraResourceBuilder(self)
register_LumieraCustomBuilders(self)
+ def _anchor_relative(self, key):
+ """ ensure that a relative path spec becomes anchored at build-root
+ @note: a special convention within scons: '#' implies directory of SConstruct
+ """
+ spec = self[key].strip()
+ if not (spec.startswith('/') or spec.startswith('#')):
+ spec = '#'+spec
+ self[key] = spec
+
+
def Configure (self, *args, **kw):
kw['env'] = self
@@ -120,12 +133,13 @@ def register_LumieraResourceBuilder(env):
"""
import IconSvgRenderer as renderer # load Joel's python script for invoking the rsvg-convert (SVG render)
- renderer.rsvgPath = env.subst("$TARGDIR/rsvg-convert")
+ renderer.rsvgPath = env.subst("$TARGDIR/rsvg-convert").removeprefix('#')
+ # # the prefix '#' is a SCons specific convention,
+ # # which the external tool can not handle
def invokeRenderer(target, source, env):
source = str(source[0])
- targetdir = env.subst(env.path.buildIcon)
- if targetdir.startswith('#'): targetdir = targetdir[1:]
+ targetdir = env.subst(env.path.buildIcon).removeprefix('#')
renderer.main([source,targetdir])
return 0
diff --git a/admin/scons/Setup.py b/admin/scons/Setup.py
index af2cfae53..ba15e32d7 100644
--- a/admin/scons/Setup.py
+++ b/admin/scons/Setup.py
@@ -28,19 +28,19 @@ OPTCACHE = 'optcache'
CUSTOPTFILE = 'custom-options'
# these are accessible via env.path.xxxx
-buildExe = '#$TARGDIR'
-buildLib = '#$TARGDIR/modules'
-buildPlug = '#$TARGDIR/modules'
-buildIcon = '#$TARGDIR/gui/icons' # for IconResource() and IconRender()
-buildUIRes = '#$TARGDIR/gui/' # for GuiResource()
-buildConf = '#$TARGDIR/config' # for ConfigData()
-installExe = '#$DESTDIR/lib/lumiera'
-installLib = '#$DESTDIR/lib/lumiera/modules'
-installPlug = '#$DESTDIR/lib/lumiera/modules'
-installIcon = '#$DESTDIR/share/lumiera/icons'
-installUIRes = '#$DESTDIR/share/lumiera/'
-installConf = '#$DESTDIR/lib/lumiera/config'
-installDoc = '#$DESTDIR/share/doc/lumiera/'
+buildExe = '$TARGDIR'
+buildLib = '$TARGDIR/modules'
+buildPlug = '$TARGDIR/modules'
+buildIcon = '$TARGDIR/gui/icons' # for IconResource() and IconRender()
+buildUIRes = '$TARGDIR/gui/' # for GuiResource()
+buildConf = '$TARGDIR/config' # for ConfigData()
+installExe = '$DESTDIR/lib/lumiera'
+installLib = '$DESTDIR/lib/lumiera/modules'
+installPlug = '$DESTDIR/lib/lumiera/modules'
+installIcon = '$DESTDIR/share/lumiera/icons'
+installUIRes = '$DESTDIR/share/lumiera/'
+installConf = '$DESTDIR/lib/lumiera/config'
+installDoc = '$DESTDIR/share/doc/lumiera/'
#-------------------------------------------------------Configuration
diff --git a/src/SConscript b/src/SConscript
index 284569b7b..018937615 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -29,7 +29,7 @@ lumiera = ( env.Program('lumiera', ['lumiera/main.cpp'] + core, install=True)
# Install the lumiera application:
# symlink the executable into the bin dir
-env.SymLink('#$DESTDIR/bin/lumiera',env.path.installExe+'lumiera','../lib/lumiera/lumiera')
+env.SymLink('$DESTDIR/bin/lumiera',env.path.installExe+'lumiera','../lib/lumiera/lumiera')
# building Lumiera Plugins
diff --git a/tests/SConscript b/tests/SConscript
index 4fb38d9e7..c233bf178 100644
--- a/tests/SConscript
+++ b/tests/SConscript
@@ -130,10 +130,10 @@ propagateSetting(testEnv, 'TESTMODE')
propagateSetting(testEnv, 'LUMIERA_PLUGIN_PATH')
propagateSetting(testEnv, 'HOME')
-testDir = env.Dir('#$TARGDIR')
+testDir = env.Dir('$TARGDIR')
runTest = env.File("test.sh").abspath
-runTests = testEnv.Command('#$TARGDIR/,testlog', testsuite, runTest, chdir=testDir)
+runTests = testEnv.Command('$TARGDIR/,testlog', testsuite, runTest, chdir=testDir)
Depends(runTests,vgsuppression)
diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm
index a63370e0a..7abeb096c 100644
--- a/wiki/thinkPad.ichthyo.mm
+++ b/wiki/thinkPad.ichthyo.mm
@@ -171393,7 +171393,7 @@ Since then others have made contributions, see the log for the history.
-
+
@@ -177762,9 +177762,9 @@ Since then others have made contributions, see the log for the history.
-
-
-
+
+
+
@@ -177789,11 +177789,14 @@ Since then others have made contributions, see the log for the history.