[gccsdk] DeskLib and GCCSDK

Theo Markettos theo at markettos.org.uk
Wed May 13 04:41:11 PDT 2020


On Wed, May 13, 2020 at 11:00:48AM +0100, Steve Fryatt wrote:
> The first, which I would like to sort out before moving on to the rest, is
> that the DeskLib headers installed by the process above contain several
> 
>   #include "DeskLib:Core.h"
> 
> lines and similar, which GCCSDK can't sensibly resolve. I can make things
> build to a point where I'm looking at a handful of genuine-looking missing
> or conflicting source files in WinEd by doing a search and replace to remove
> the <DeskLib$Path> references from within ~/gccsdk/env/include/DeskLib/, but
> I'm not sure that this is the right thing to be doing given that the DeskLib
> docs refer to the library being prepped for use in the GCCSDK -- suggesting
> that everything should just work. :-)

Copying in what I suggested on csa.p:

It would be possible, but compilers should be able to handle the canonical
form without source modification.  It's especially important if you don't
know if you're cross compiling or not, and makes a mess of eg checking out a
new copy from a source repo or comparing hashes to see if anything changed.

Picking a random piece of RISC OS source:
https://gitlab.riscosopen.org/RiscOS/Sources/Toolbox/Window/-/blob/master/c/events
that does have
#include "objects/toolbox.h"
which indicates that Norcroft is happy with that syntax.

I think therefore the right thing to do would be to patch the headers to be
in the
#include "DeskLib/Wimp.h"
format, and then Makefiles need -IDeskLib:
and the path structure should be !DeskLib.DeskLib.h.Wimp
and in !Boot you have:
*Set DeskLib$Path <Obey$Dir>.


I don't know what others think of this plan?
How much breakage would it cause?

Theo



More information about the gcc mailing list