forked from Mirrors/freeswitch
e6e5fde3b0
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13134 d0543943-73ff-0310-b7d9-9358b9ac24b2
80 lines
3.6 KiB
Plaintext
80 lines
3.6 KiB
Plaintext
Building the Software on an Acorn RISC OS system
|
|
|
|
The directory contrib/acorn contains support for compiling the library under
|
|
Acorn C/C++ under Acorn's RISC OS 3.10 or above. Subsequent pathnames will
|
|
use the Acorn format: The full-stop or period character is a pathname
|
|
delimeter, and the slash character is not interpreted; the reverse position
|
|
from Unix. Thus "libtiff/tif_acorn.c" becomes "libtiff.tif_acorn/c".
|
|
|
|
This support was contributed by Peter Greenham.
|
|
(peterg@angmulti.demon.co.uk).
|
|
|
|
Installing LibTIFF:
|
|
|
|
LIBTIFF uses several files which have names longer than the normal RISC OS
|
|
maximum of ten characters. This complicates matters. Maybe one day Acorn will
|
|
address the problem and implement long filenames properly. Until then this
|
|
gets messy, especially as I'm trying to do this with obeyfiles and not have
|
|
to include binaries in this distribution.
|
|
|
|
First of all, ensure you have Truncate configured on (type *Configure
|
|
Truncate On) Although it is, of course, preferable to have long filenames,
|
|
LIBTIFF can be installed with short filenames, and it will compile and link
|
|
without problems. However, getting it there is more problematic.
|
|
contrib.acorn.install is an installation obeyfile which will create a normal
|
|
Acorn-style library from the source (ie: with c, h and o folders etc.), but
|
|
needs the distribution library to have been unpacked into a location which is
|
|
capable of supporting long filenames, even if only temporarily.
|
|
|
|
My recommendation, until Acorn address this problem properly, is to use Jason
|
|
Tribbeck's LongFilenames , or any other working system that gives you long
|
|
filenames, like a nearby NFS server for instance.
|
|
|
|
If you are using Longfilenames, even if only temporarily to install LIBTIFF,
|
|
unpack the TAR into a RAMDisc which has been longfilenamed (ie: *addlongfs
|
|
ram) and then install from there to the hard disk. Unfortunately
|
|
Longfilenames seems a bit unhappy about copying a bunch of long-named files
|
|
across the same filing system, but is happy going between systems. You'll
|
|
need to create a ramdisk of about 2Mb.
|
|
|
|
Now you can run the installation script I've supplied (in contrib.acorn),
|
|
which will automate the process of installing LIBTIFF as an Acorn-style
|
|
library. The syntax is as follows:
|
|
|
|
install <source_dir> <dest_dir>
|
|
|
|
Install will then create <dest_dir> and put the library in there. For
|
|
example, having used LongFilenames on the RAMDisk and unpacked the library
|
|
into there, you can then type:
|
|
|
|
Obey RAM::RamDisc0.$.contrib.acorn.install RAM::RamDisc0.$ ADFS::4.$.LIBTIFF
|
|
|
|
It doesn't matter if the destination location can cope with long filenames or
|
|
not. The filenames will be truncated if necessary (*Configure Truncate On if
|
|
you get errors) and all will be well.
|
|
|
|
Compiling LibTIFF:
|
|
|
|
Once the LibTIFF folder has been created and the files put inside, making the
|
|
library should be just a matter of running 'SetVars' to set the appropriate
|
|
system variables, then running 'Makefile'.
|
|
|
|
OSLib
|
|
|
|
OSLib is a comprehensive API for RISC OS machines, written by Jonathan
|
|
Coxhead of Acorn Computers (although OSLib is not an official Acorn product).
|
|
Using the OSLib SWI veneers produces code which is more compact and more
|
|
efficient than code written using _kernel_swi or _swi. The Acorn port of
|
|
LibTIFF can take advantage of this if present. Edit the Makefile and go to
|
|
the Static dependencies section. The first entry is:
|
|
|
|
# Static dependencies:
|
|
@.o.tif_acorn: @.c.tif_acorn
|
|
cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn
|
|
Change the cc line to:
|
|
|
|
cc $(ccflags) -DINCLUDE_OSLIB -o @.o.tif_acorn @.c.tif_acorn
|
|
|
|
Remember, however, that OSLib is only recommended for efficiency's sake. It
|
|
is not required.
|