OSLib 6.70 on RISC OS: tools called through Run$Path

Erik Groenhuis e.groenhuis at xs4all.nl
Fri Aug 6 18:51:46 BST 2004


Right, so I started out generating OSLib with a fresh machine and a
fresh CVS checkout.

This is the third of a (short) series of problems I encountered.

Setup: Sources checked out on Red Hat Linux with commands as given on
webpage (tag oslib-670). RiscPC with RISC OS 4.02 connected with
SunFish to NFS share on Unix where sources can be found. Converted
sources with RISCOSify. Using recent Acorn/Castle/Norcroft 32-bit compiler.
(And yes, double-clicked !OsLib to set environment. (:-)

When the newly generated tools (such as rm and DefMod) are called to
make the production release of OSLib, this is done by having added
'OSLibBin:' to the end of the Run$Path and calling the programs simply
by name (such as 'rm' or, sometimes 'Do DefMod').

I have to objections to this method.

First, the addition to the Run$Path is irreversible. It can be done, by
the user, but involves some tricky re-typing or selecting and pasting.
One slip-up and lot's of commands won't work any more. And adding
things to the Run$Path (which will disappear at the next reboot) can
have some weird (i.e. to the user) side-effects.

Second, the user may have older versions of the tools already in his
Run$Path. In the current setup, these older version are called, not the
newly generated ones.
[ This in fact happened to me: I had 'rm' and 'DefMod' in my $.Library.
The older DefMod chocked on
"do DefMod -q -cstrong -o <OSLib$SourceDir>.HelpData < swi.NetFiler".
The older rm did not support '-r' so 'make distclean' did not work ]

My suggestion is that the Run$Path should be left unchanged, and that
all calls to the generated tools in the makefiles should be preceded
with 'OSLibBin:'. Examples: 'OSLibBin:rm' or 'Do OSLibBin:DefMod'.

This involves adapting most, if not all, of the AMUmakefile and
AMUmakefile/source files.

(Sidenote: the DefMod program gives no indication as to it's version,
so it's very difficult to find out from which version of the sources a
particular executable has been built).
 
-- 
Erik Groenhuis http://www.xs4all.nl/~erikgrnh
Home of RCS for RISC OS v5.7.1.2  http://www.rcs.riscos.org.uk/
Csite on RiscPC with a StrongARM RISC processor and RISC OS 4.02



More information about the oslib-user mailing list