Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
LumieraModuleBuilder Class Reference

Description

Definition at line 352 of file LumieraEnvironment.py.

Public Member Functions

 getCustomEnvironment (self, lumiEnv, target, **kw)
 augments the built-in SharedLibrary() builder to add some tweaks missing in SCons 1.0, like setting a SONAME proper instead of just passing the relative pathname to the linker.
 
 getBuildDestination (self, lumiEnv)
 
 getInstallDestination (self, lumiEnv)
 
 installTarget (self, env, buildTarget, **kw)
 ensure a shared library is not marked executable.
 
 defineSoname (self, target, **kw)
 internal helper to extract or guess a suitable library SONAME, either using an explicit spec, falling back on the lib filename
 
- Public Member Functions inherited from WrappedStandardExeBuilder
 __init__ (self, originalBuilder)
 
 __bool__ (self)
 
 __call__ (self, env, target=None, source=None, **kw)
 when the builder gets invoked from the SConscript... create a clone environment for specific configuration and then pass on the call to the wrapped original builder.
 
 invokeOriginalBuilder (self, env, target, source, **kw)
 
 buildLocation (self, env, target)
 prefix project output directory
 

Member Function Documentation

◆ getCustomEnvironment()

getCustomEnvironment (   self,
  lumiEnv,
  target,
**  kw 
)

augments the built-in SharedLibrary() builder to add some tweaks missing in SCons 1.0, like setting a SONAME proper instead of just passing the relative pathname to the linker.

Besides, we override the library search path to allow for transitive dependencies between Lumiera modules; modules are assumed to reside in a subdirectory below the executable.

Reimplemented in LumieraPluginBuilder.

Definition at line 354 of file LumieraEnvironment.py.

References LumieraModuleBuilder.defineSoname().

Referenced by WrappedStandardExeBuilder.__call__().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBuildDestination()

getBuildDestination (   self,
  lumiEnv 
)

Reimplemented in LumieraPluginBuilder.

Definition at line 367 of file LumieraEnvironment.py.

Referenced by WrappedStandardExeBuilder.buildLocation().

+ Here is the caller graph for this function:

◆ getInstallDestination()

getInstallDestination (   self,
  lumiEnv 
)

Reimplemented in LumieraPluginBuilder.

Definition at line 368 of file LumieraEnvironment.py.

Referenced by WrappedStandardExeBuilder.installTarget().

+ Here is the caller graph for this function:

◆ installTarget()

installTarget (   self,
  env,
  buildTarget,
**  kw 
)

ensure a shared library is not marked executable.

The default toolchain on Linux often installs shared libraries as executable, which seems to be necessary on some arcane Unix platforms. However, Debian Policy prohibits that. See https://unix.stackexchange.com/questions/400187/why-should-or-should-not-shared-libraries-be-executable-e-g-red-hat-vs-debian

Reimplemented from WrappedStandardExeBuilder.

Definition at line 371 of file LumieraEnvironment.py.

References LumieraModuleBuilder.installTarget().

Referenced by WrappedStandardExeBuilder.__call__(), and LumieraModuleBuilder.installTarget().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ defineSoname()

defineSoname (   self,
  target,
**  kw 
)

internal helper to extract or guess a suitable library SONAME, either using an explicit spec, falling back on the lib filename

Definition at line 391 of file LumieraEnvironment.py.

Referenced by LumieraModuleBuilder.getCustomEnvironment().

+ Here is the caller graph for this function:
+ Inheritance diagram for LumieraModuleBuilder:
+ Collaboration diagram for LumieraModuleBuilder:

The documentation for this class was generated from the following file: