"hdr/UserIF/Sovereign" did not exist on "1a931801eb88b6b5faf24f5147db6f92afd1b8d7"
* New header file "Hdr:UserIF.UserIF" provided for definitions specific to the...
Simon Forrest authored
* New header file "Hdr:UserIF.UserIF" provided for definitions specific to the user interface on products.  This abstracts the UI definitions from the machine-specific ones, and (ultimately) allows more flexibility in the choice of Machine and UserIF build combinations.

Detail:

  * As part of the work to remove the (almost obsolete) STB flag, a new
    flag has been defined: Embedded_UI.  This is provided by the "UserIF"
    header file.  The file should not be directly included; instead use the
    same mechanism as for "Hdr:Machine.Machine" and use "Hdr:UserIF.<UserIF>".

    In the past, the STB flag has been used to mean different things in
    different software components, some machine-dependent but more often than
    not to differentiate desktop builds from STB/NC versions.  Two types
    of system are identified: "Desktop" and "Embedded"; UserIF_Type is
    defined as a string containing the UI type.  STB/NC user interface
    differences should be encapsulated in appropriate "Embedded_UI" switches.
    Any other user interface-specific changes should probably define a new
    flag in the UserIF header file.

    Presently, the STB flag remains intact in "Hdr:Machine.Machine" to allow
    builds to progress as normal until all software components that utilise
    it have been appropriately modified to remove the dependency.  For
    example, the Kernel makes heavy use of the flag, but after HAL-isation
    will no longer do so.  Once all software components have been modified
    the flag will be withdrawn, and feature tests or appropriately defined
    user interface flags will be used instead.

  * "Hdr:CMOS" revised to remove definitions under the control of the defunct
    ObsoleteNC1CMOS flag.  Furthermore, the STB flag conditional has been
    removed.

Admin:

  * Tested using appropriately modified software components on a 32-bit
    Lazarus build.

  * Use of the STB flag is now deprecated.  Software components should
    use "Hdr:UserIF.<UserIF>" or specific feature tests from this point
    onwards.  Appropriate header files exist inside the "Hdr.UserIF"
    directory for each user interface type.

Version 1.17. Tagged as 'HdrSrc-1_17'
1a931801