1 Building the Software on an Acorn RISC OS system
 
   3 The directory contrib/acorn contains support for compiling the library under
 
   4 Acorn C/C++ under Acorn's RISC OS 3.10 or above. Subsequent pathnames will
 
   5 use the Acorn format: The full-stop or period character is a pathname
 
   6 delimeter, and the slash character is not interpreted; the reverse position
 
   7 from Unix. Thus "libtiff/tif_acorn.c" becomes "libtiff.tif_acorn/c".
 
   9 This support was contributed by Peter Greenham.
 
  10 (peterg@angmulti.demon.co.uk).
 
  14 LIBTIFF uses several files which have names longer than the normal RISC OS
 
  15 maximum of ten characters. This complicates matters. Maybe one day Acorn will
 
  16 address the problem and implement long filenames properly. Until then this
 
  17 gets messy, especially as I'm trying to do this with obeyfiles and not have
 
  18 to include binaries in this distribution.
 
  20 First of all, ensure you have Truncate configured on (type *Configure
 
  21 Truncate On) Although it is, of course, preferable to have long filenames,
 
  22 LIBTIFF can be installed with short filenames, and it will compile and link
 
  23 without problems. However, getting it there is more problematic.
 
  24 contrib.acorn.install is an installation obeyfile which will create a normal
 
  25 Acorn-style library from the source (ie: with c, h and o folders etc.), but
 
  26 needs the distribution library to have been unpacked into a location which is
 
  27 capable of supporting long filenames, even if only temporarily.
 
  29 My recommendation, until Acorn address this problem properly, is to use Jason
 
  30 Tribbeck's LongFilenames , or any other working system that gives you long
 
  31 filenames, like a nearby NFS server for instance.
 
  33 If you are using Longfilenames, even if only temporarily to install LIBTIFF,
 
  34 unpack the TAR into a RAMDisc which has been longfilenamed (ie: *addlongfs
 
  35 ram) and then install from there to the hard disk. Unfortunately
 
  36 Longfilenames seems a bit unhappy about copying a bunch of long-named files
 
  37 across the same filing system, but is happy going between systems. You'll
 
  38 need to create a ramdisk of about 2Mb.
 
  40 Now you can run the installation script I've supplied (in contrib.acorn),
 
  41 which will automate the process of installing LIBTIFF as an Acorn-style
 
  42 library. The syntax is as follows:
 
  44 install <source_dir> <dest_dir>
 
  46 Install will then create <dest_dir> and put the library in there. For
 
  47 example, having used LongFilenames on the RAMDisk and unpacked the library
 
  48 into there, you can then type:
 
  50 Obey RAM::RamDisc0.$.contrib.acorn.install RAM::RamDisc0.$ ADFS::4.$.LIBTIFF
 
  52 It doesn't matter if the destination location can cope with long filenames or
 
  53 not. The filenames will be truncated if necessary (*Configure Truncate On if
 
  54 you get errors) and all will be well.
 
  58 Once the LibTIFF folder has been created and the files put inside, making the
 
  59 library should be just a matter of running 'SetVars' to set the appropriate
 
  60 system variables, then running 'Makefile'.
 
  64 OSLib is a comprehensive API for RISC OS machines, written by Jonathan
 
  65 Coxhead of Acorn Computers (although OSLib is not an official Acorn product).
 
  66 Using the OSLib SWI veneers produces code which is more compact and more
 
  67 efficient than code written using _kernel_swi or _swi. The Acorn port of
 
  68 LibTIFF can take advantage of this if present. Edit the Makefile and go to
 
  69 the Static dependencies section. The first entry is:
 
  71 # Static dependencies:
 
  72 @.o.tif_acorn:   @.c.tif_acorn
 
  73         cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn  
 
  74 Change the cc line to:
 
  76         cc $(ccflags) -DINCLUDE_OSLIB -o @.o.tif_acorn @.c.tif_acorn  
 
  78 Remember, however, that OSLib is only recommended for efficiency's sake. It