lumiera_/admin/scons
Ichthyostega afa7ca2e4d Upgrade: switch to C++23 (see #1245)
The Lumiera »Reference Platform« is now upgraded to Debian/Buster, which provides GCC-14 and Clang-20.
Thus the compiler support for C++20 language features seems solid enough, and C++23,
while still in ''experimental stage'' can be seen as a complement and addendum.

This changeset
 * upgrades the compile switches for the build system
 * provides all the necessary adjustments to keep the code base compilable

Notable changes:
 * λ-capture by value now requires explicit qualification how to handle `this`
 * comparison operators are now handled transparently by the core language,
   largely obsoleting boost::operators. This change incurs several changes
   to implicit handling rules and causes lots of ambiguities — which typically
   pinpoint some long standing design issues, especially related to MObjects
   and the ''time entities''. Most tweaks done here can be ''considered preliminary''
 * unfortunately the upgraded standard ''fails'' to handle **tuple-like** entities
   in a satisfactory way — rather an ''exposition-only'' concept is introduced,
   which applies solely to some containers from the STL, thereby breaking some
   very crucial code in the render entities, which was built upon the notion of
   ''tuple-like'' entities and the ''tuple protocol''. The solution is to
   abandon the STL in this respect and **provide an alternative implementation**
   of the `apply` function and related elements.
2025-06-19 01:52:55 +02:00
..
BuilderDoxygen.py Upgrade: Scons Doxygen Builder from 2022 2025-04-08 04:17:57 +02:00
BuilderGCH.py clean-up: trifles 2025-06-07 23:59:57 +02:00
Buildhelper.py clean-up: trifles 2025-06-07 23:59:57 +02:00
DIR_INFO Anchor: Directory for Scons tools 2025-04-08 04:10:02 +02:00
IconSvgRenderer.py clean-up: trifles 2025-06-07 23:59:57 +02:00
LumieraEnvironment.py clean-up: trifles 2025-06-07 23:59:57 +02:00
Options.py clean-up: trifles 2025-06-07 23:59:57 +02:00
Platform.py clean-up: trifles 2025-06-07 23:59:57 +02:00
Setup.py Upgrade: switch to C++23 (see #1245) 2025-06-19 01:52:55 +02:00
ToolCCache.py Upgrade: adapt to use Scons 4.x which uses Python 3 2025-03-16 16:38:07 +01:00
ToolDistCC.py Upgrade: adapt to use Scons 4.x which uses Python 3 2025-03-16 16:38:07 +01:00