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