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