OSLib Unix-build

Stewart Brodie stewart.brodie at pace.co.uk
Tue Apr 15 11:47:03 BST 2003


In message <d3d17be34b.Tony at mk-net.demon.co.uk>
          Tony van der Hoff <tony at mk-net.demon.co.uk> wrote:

> I have re-commenced the port of the OSLib build environment to Linux; all
> well so far, thanks to Philip and Dave for their input.
> 
> For those who want to watch this develop, I have created a branch on the
> SourceForge tree (unix_build), but there's nothing new in there yet :-)
> 
> It looks to me like we'll have 4 different build environments:
> (1) RISC OS using Acorn C V5;  
> (2) RISC OS using GCC; 
> (3) Solaris with (I think) ARMSDK as used by Pace;  
> (4) Linux using GCC.
> 
> Of these, (1) is the "traditional" way of building OSLib. However, I'm
> finding the limitions of that version of AMU increasingly frustrating, the
> more so as I try to keep common make files between the environments. I
> therefore propose to abandon support for this environment in favour of
> Castle's new tools. Does anyone have any strong feelings about this?
> 
> We have covertly (and arguably not very well) supported (2) for a long time.
> I think it's time to come out of the closet, and openly support it; I don't
> think it'll make much difference to the development team, but I believe the
> RISC OS GCC project is now sufficiently mature to become the environment of
> choice for many users.
> 
> Stewart Brodie started the ball rolling for (3) with the port of DefMod.
> It's not a full build environment, as it does not generate the StrongHelp
> files. I'm not sure how much this is used nowadays, but it's only polite to
> continue to support this one as much as we can; unfortunately we do not
> have Solaris  available for testing, so I suspect that it'll drift into
> disuse without ==20 help from someone at Pace.

I think the problem with the StrongHelp files was my total failure to
understand how to call the tool that built the files: if I'd realised when I
started that you had to give it a *directory* name and not a filename, it'd
have just worked :-)

There's not been anybody at Pace working with RISC OS for a long time now,
and they're not going to start, because we've all been laid off.


> I've started work on (4). This is really a development on (3). Philip
> Ludlam did some early investigations in January, and his comments have been
> very useful. The main differences between this task, and that done for (3)
> is the use of a different assembler by DefMod, and the need for ports of
> the Help generator utilities. The first is easily overcome; for the second,
> Dave Ruck, has made available some "OSLib in C" utilities which, together
> with Stewart's similar work, should make the task relatively easy.

It shouldn't be too hard.  Probably the easiest way to support different
toolchains is to have the ability to specify a script which is executed in
order to assemble or compile a file.  Provided that you define the interface
to the script carefully, people can plug in anything they like,
which would make cross-compilation easier.

Another key thing to remember is that when you are compiling all this stuff
with gcc, you MUST ensure that characters are *unsigned* by default.  That
is, use -funsigned-char to make sure you don't mess it up.

-- 
Stewart Brodie, Senior Software Engineer, available from the end of June



More information about the oslib-user mailing list