Commit graph

35 commits

Author SHA1 Message Date
8b2a329898 Build: some further code clean-up and documentation
* Simplify some constructs from the Python-3 migration
 * update copyright, since I did maintain the SCons build continuosly
 * remove unused method from Buildhelper

Furthermore, the documentation page for our build system
https://lumiera.org/documentation/technical/build/SCons.html
has been reworked, to add a synopsis, some further background
information about the internal structure of SCons and about
the specific conventions and definitions used for Lumiera
2025-11-27 18:21:22 +01:00
d888891d84 clean-up: trifles 2025-06-07 23:59:57 +02:00
406275abbe Upgrade: adapt to use Scons 4.x which uses Python 3
The build system Scons switched from using Python 2.7 to using
Python 3.x, so the build breaks on, for example, Debian Bullseye.

As a first step use `ato3` to convert Python scripts from 2 to 3.
2025-03-16 16:38:07 +01:00
806db414dd Copyright: clarify and simplify the file headers
* Lumiera source code always was copyrighted by individual contributors
 * there is no entity "Lumiera.org" which holds any copyrights
 * Lumiera source code is provided under the GPL Version 2+

== Explanations ==
Lumiera as a whole is distributed under Copyleft, GNU General Public License Version 2 or above.
For this to become legally effective, the ''File COPYING in the root directory is sufficient.''

The licensing header in each file is not strictly necessary, yet considered good practice;
attaching a licence notice increases the likeliness that this information is retained
in case someone extracts individual code files. However, it is not by the presence of some
text, that legally binding licensing terms become effective; rather the fact matters that a
given piece of code was provably copyrighted and published under a license. Even reformatting
the code, renaming some variables or deleting parts of the code will not alter this legal
situation, but rather creates a derivative work, which is likewise covered by the GPL!

The most relevant information in the file header is the notice regarding the
time of the first individual copyright claim. By virtue of this initial copyright,
the first author is entitled to choose the terms of licensing. All further
modifications are permitted and covered by the License. The specific wording
or format of the copyright header is not legally relevant, as long as the
intention to publish under the GPL remains clear. The extended wording was
based on a recommendation by the FSF. It can be shortened, because the full terms
of the license are provided alongside the distribution, in the file COPYING.
2024-11-17 23:42:55 +01:00
8d6cb19e3f Global-Layer-Renaming: fix handling of GuiResources in the build
the new structure causes them now to be installed into $TARGET/stage
which is simply not what I want. I still consider $TARGET/gui the better choice,
since an administrator or packager is not aware of our layer namings.

The existing solution was half baked anyway, it did not really replicate the source tree.
On the other hand, I want to retain the location of the CSS files within the GUI tree,
since I consider it a good practice, to keep "code-like" resources with the actual code,
and not far away in some arcane "data" directory.

No I've noticed, that the env.GuiResource() function is only used once, for this very task.
So, for the time being, we can keep it simple and deditaced to that task, i.e
we pick up all CSS files we find and install it into a single target directory.

NOTE: this issue has brought to my attention two further, completely unrelated issues

 * Ticket #1192 (Lumiera hangs on failed GUI start)
 * The ProcDispatcher does an idle wait, due to an error in timed-wait implementation
2018-11-16 18:18:33 +01:00
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
56ac1afe18 move Icon building down into separate SConscript 2012-01-11 07:05:01 +01:00
27db94a64c adjust code / indentation style
no functional change
2012-01-11 07:05:01 +01:00
08d330310f cleanup unnecessary builder function and flags in SCons build 2011-12-03 05:46:36 +01:00
3c27147459 small fixes, comments 2011-02-13 23:11:16 +01:00
ff0ae1527a Fix build: the LUMIERA_PLUGIN didn't get through to the object compilation 2011-02-06 15:12:13 +01:00
d9f90c2c04 SCons: finish reworking buildsystem to rely on custom builders.
All target paths and install targets now defined automatically,
most of the buildscript just using plain sourcefile names
2011-01-30 22:12:55 +01:00
daef6c7676 SCons: remove unnecessary indirections $SRCDIR, $MODULES, $ICONDIR etc
these don't create real flexibility and make definitions less readable
2011-01-30 19:20:02 +01:00
abf1bc776b SCons: remove all explicit target and install specifications
now superfluous, because our custom builder handles that automatically
2011-01-30 18:56:51 +01:00
014c22b40a SCons: rework build directory configuration. All customisations to LuimieraEnvironment 2011-01-30 15:27:21 +01:00
bc22ec7faa Install: first preliminary working installation setup
the installed lumiera exe can even be started...
...well with a bit of cheating: you need to cd into the lib/lumiera
because the PLUGINPATH problem isn't solved yet
2011-01-29 16:45:22 +01:00
7993759f8e SCons: remove the homebrew tarballer
that was a nice SCons learning exercise, but never used
moreover, packaing is not the concern of a build system
2011-01-29 14:16:15 +01:00
a6810957b4 Install: change organisation of target and output directory variables
now supporting a PREFIX in addition to the INSTALLDIR.
The latter is intended for package building
2011-01-29 14:10:19 +01:00
35953b335b SCons: rearrange output directory to target/modules 2011-01-29 02:06:21 +01:00
d11c57adb8 python-2.6 fix: loading the icon_rener.py script (Ticket #222) 2010-01-16 17:04:32 +01:00
ac156231ac SCons: use new plugin building rule for the test plugins 2009-01-12 12:48:14 +01:00
bd6436e43b SCons: implement logic to find source trees, which than can be built as plugin 2009-01-12 11:42:03 +01:00
7a64f37643 SCons: use two existing modules for integrating DistCC and CCache 2008-12-19 20:17:23 +01:00
12fc97b8e2 Build most of Lumiera as shared library (SCons build) 2008-12-15 13:36:42 +01:00
32dd0e661a replace the homebrew GCH-builder by a lib solution 2008-08-21 09:59:24 +02:00
878ce2319b integrated SVG Icon rendering into the SCons build 2008-08-19 05:03:29 +02:00
7a6b987a50 merge after integrating the GUI draft; now using multiple build environments and check via pkg-config 2008-07-11 05:35:48 +02:00
dc10c78a83 merge Lumiera renaming 2008-03-10 09:28:58 +01:00
c3b1048fc4 merge buildsystem improvements 2008-01-27 03:58:24 +01:00
8c7a2055e8 integrate Doxygen into SCons build. some doc fixes 2007-08-24 16:41:16 +02:00
06efcf0f77 merge together work done for the Testsuite.
- to make it similar to Cehteh's tests, moved my testcode to tests/components
- made scons build the errortest and plugin-example as well
- scons check will run the suite

please note, my implementation work is quite incomplete (warnings, app shuttdown
not yet implemented); I hadn't success running the plugintest.
2007-08-17 11:06:49 +02:00
45c2167700 wrote a very simple Test-Suite runner and provided a Tests source tree 2007-08-13 09:55:32 +02:00
ebb4da6cc7 ** Start Coding ** Renderengine sources generated, reformatted and made compilable. 2007-08-08 04:50:02 +02:00
Christian Thaeter
805399aa7b emacs likes """ more than ''', and some whitespace fixes 2007-07-18 01:45:31 +02:00
Christian Thaeter
815ed3a298 move the Buildhelper.py to ./admin/scons 2007-07-18 00:39:53 +02:00
Renamed from Buildhelper.py (Browse further)