summaryrefslogtreecommitdiff
path: root/html/build.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/build.html')
-rw-r--r--html/build.html194
1 files changed, 146 insertions, 48 deletions
diff --git a/html/build.html b/html/build.html
index 111674ca..362678f0 100644
--- a/html/build.html
+++ b/html/build.html
@@ -23,6 +23,7 @@ for viewing with version 1.1 or newer of the
<LI><A HREf=#Mac>Building on a Macintosh system</A>.
<LI><A HREF=#PC>Building on an MS-DOS or Windows system</A>.
<LI><A HREF=#VMS>Building on a VMS system</A>.
+<LI><A HREF=#Acorn>Building on an Acorn RISC OS system</A>.
<LI><A HREF=#Other>Building the Software on Other Systems</A>
</UL>
@@ -107,14 +108,7 @@ This second scheme is useful for:
Beware that if you choose to use the second scheme for configuring
the software you must not use an absolute pathname when you run configure
-(i.e. a pathname that begins with ``/'') and the make that you use
-to build the software must correctly support the VPATH facility.
-
-<P>
-<IMG SRC="images/warning.gif" ALT="NOTE: " ALIGN=left HSPACE=8>
-<B>HPUX 9.05</B>:
- <EM>The standard make incorrectly processes VPATH; either use gmake
- or configure builds in the source tree.</EM>
+(i.e. a pathname that begins with ``/'').
<A NAME="ConfigFiles"><P><HR WIDTH=65% ALIGN=right><H3>Configuration Files</H3></A>
@@ -178,7 +172,6 @@ distributed as part of the BSDI 1.1 distribution:
DIR_BIN="/usr/contrib/bin" # directory for client apps
DIR_LIB="/usr/contrib/lib" # directory for libraries
DIR_MAN="/usr/contrib/man" # directory for manual pages
-DIR_HTML="/usr/contrib/html/tiff" # directory for HTML documentation
</PRE>
<P>
@@ -211,20 +204,12 @@ If DSO support is <EM>explicitly enabled</EM> and there is no
support for using DSOs in the expected way then DSOs are not used.
<P>
-<DT><I>HTML Package</I>
-<DD>The <TT>HTML</TT> package contains this HTML documentation about TIFF.
-By default this package is not configured for installation
-since HTML documentation can be viewed directly from
-the source directory.
-You may want to configure the installation of the HTML materials
-if these documents are going to be shared by many people.
-
-<P>
<DT><I>JPEG Support</I>
<DD>The <TT>JPEG</TT> package enables support for the handling
of TIFF images with JPEG-encoded data.
Support for JPEG-encoded data requires the Independent JPEG Group (IJG)
-<TT>libjpeg</TT> distribution.
+<TT>libjpeg</TT> distribution; this software is available at
+<A HREF=ftp://ftp.uu.net/graphics/jpeg/>ftp.uu.net:/graphics/jpeg/</A>.
By default JPEG support is not configured.
<P>
@@ -232,7 +217,10 @@ By default JPEG support is not configured.
<DD>The <TT>ZIP</TT> support enables support for the handling
of TIFF images with deflate-encoded data.
Support for deflate-encoded data requires the freely available
-<TT>zlib</TT> distribution written by Jean-loup Gailly and Mark Adler.
+<TT>zlib</TT> distribution written by Jean-loup Gailly and Mark Adler;
+this software is available at
+<A HREF=ftp://ftp.uu.net/pub/archiving/zip/zlib/>ftp.uu.net:/pub/archiving/zip/zlib/</A>
+(or try <A HREF=ftp://quest.jpl.nasa.gov/beta/zlib/>quest.jpl.nasa.gov:/beta/zlib/</A>).
By default this package is not configured.
</DL>
@@ -288,12 +276,10 @@ If a C compiler requires options to enable ANSI C compilation, they
can be specified with the <TT>ENVOPTS</TT> parameter.</EM>
<P>
-Once a compiler is selected configure does several checks to see:
-<UL>
-<LI>if the compiler accepts a -g option to enable the generation
+Once a compiler is selected configure checks to see
+if the compiler accepts a -g option to enable the generation
of debugging symbols, and
-<LI>if the compiler includes an ANSI C preprocessor.
-</UL>
+if the compiler includes an ANSI C preprocessor.
<UL><PRE><TT>
Using /usr/ucb/make to configure the software.
@@ -307,20 +293,21 @@ automatically included it can be specified by setting the
<P><I>Creating port.h.</I>
The <B>port.h</B> file is included by all the C code
-in the system. It includes definitions for functions and type
+in the library (but not the tools).
+It includes definitions for functions and type
definitions that are missing from system include files, <TT>#defines</TT>
to enable or disable system-specific functionality, and other
odds and ends.
<UL><PRE><TT>
-Creating port.h with necessary definitions.
+Creating libtiff/port.h with necessary definitions.
... using LSB2MSB bit order for your i386 cpu
... using big-endian byte order for your i386 cpu
... configure use of mmap for memory-mapped files
-... O_RDONLY is in <fcntl.h>
+... O_RDONLY is in &lt;fcntl.h&gt;
... using double for promoted floating point parameters
... enabling use of inline functions
-Done creating port.h.
+Done creating libtiff/port.h.
</TT></PRE></UL>
This file can take a long time to create so configure
@@ -332,7 +319,7 @@ of the build tree will remove the <B>port.h</B> file (along
with all the other files generated by configure).
<P><I>Selecting emulated library functions.</I>
-Certain functions used by the software are not present on all systems
+Certain library functions used by the tools are not present on all systems
and can be emulated using other system functionality.
configure checks for the presence of such functions and if they are
missing, will configure emulation code from the <B>port</B> directory
@@ -394,8 +381,7 @@ TIFF configuration parameters are:
[ 2] Directory for libraries: /usr/contrib/lib
[ 3] Directory for include files: /usr/contrib/include
[ 4] Directory for manual pages: /usr/contrib/man
-[ 5] Directory for HTML documentation: /var/httpd/htdocs/tiff
-[ 6] Manual page installation scheme: bsd-nroff-gzip-0.gz
+[ 5] Manual page installation scheme: bsd-nroff-gzip-0.gz
Are these ok [yes]?
</TT></PRE></UL>
@@ -454,14 +440,6 @@ default this is <B>/usr/local/bin</B>.</TD>
</TR>
<TR>
-<TD VALIGN=top><TT>DIR_HTML</TT></TD>
-<TD>The directory where HTML-based
-documentation should be installed; by default this is
-<B>/var/httpd/htdocs/tiff</B> (usually appropriate for the
-NCSA HTTP server).</TD>
-</TR>
-
-<TR>
<TD VALIGN=top><TT>DIR_LIB</TT></TD>
<TD>The directory to install libraries and DSO's; by default
this is <B>/usr/local/lib</B>.</TD>
@@ -751,6 +729,112 @@ means that
should not be used.
+<A NAME=Acorn><P><HR><H2>Building the Software on an Acorn RISC OS system</H2></A>
+
+The directory <B>contrib/acorn</B> 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".
+
+<P>
+This support was contributed by Peter Greenham. (<A HREF=mailto:peter@enlarion.demon.co.uk>peter@enlarion.demon.co.uk</A>).
+
+<P>
+<H3>Installing LibTIFF:</H3>
+
+<P>
+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.
+
+<P>
+First of all, ensure you have Truncate configured on (type <TT>*Configure
+Truncate On</TT>)
+
+<P>
+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, <I>getting</I> it there is more problematic.
+<B>contrib.acorn.install</B> 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.
+
+<P>
+My recommendation, until Acorn address this problem properly, is to use Jason
+Tribbeck's <A
+HREF=ftp://ftp.demon.co.uk/pub/mirrors/hensa/micros/arch/riscos/c/c020/longfiles.arc>LongFilenames</A>, or any other
+working system that gives you long filenames, like a nearby NFS server for
+instance.
+
+<P>
+If you are using Longfilenames, even if only temporarily to install LIBTIFF,
+unpack the TAR into a RAMDisc which has been longfilenamed (ie: <TT>*addlongfs
+ram</TT>) 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.
+
+<P>
+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:
+
+<P><TT>
+install &lt;source_dir&gt; &lt;dest_dir&gt;
+
+</TT><P>
+Install will then create &lt;dest_dir&gt; and put the library in there. For
+example, having used LongFilenames on the RAMDisk and unpacked the library
+into there, you can then type:
+
+<P><TT>
+Obey RAM::RamDisc0.$.contrib.acorn.install RAM::RamDisc0.$ ADFS::4.$.LIBTIFF
+</TT><P>
+
+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.
+
+<P>
+<H3>Compiling LibTIFF:</H3>
+
+<P>
+Once the LibTIFF folder has been created and the files put inside, making the
+library should be just a matter of running '<B>SetVars</B>' to set the
+appropriate system variables, then running '<B>Makefile</B>'.
+
+<P>
+<B>OSLib</B>
+
+<P>
+<A HREF=ftp://ftp.acorn.co.uk/pub/riscos/releases/oslib/oslib.arc>OSLib</A>
+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:
+
+<PRE>
+# Static dependencies:
+@.o.tif_acorn: @.c.tif_acorn
+ cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn
+</PRE>
+<P>
+Change the cc line to:
+<PRE>
+ cc $(ccflags) -DINCLUDE_OSLIB -o @.o.tif_acorn @.c.tif_acorn
+</PRE>
+<P>
+Remember, however, that OSLib is only <I>recommended</I> for efficiency's
+sake. It is not required.
+
+
+
<A NAME=Other><P><HR><H2>Building the Software on Other Systems</H2></A>
This section contains information that might be useful
@@ -772,19 +856,30 @@ rm -f tif_fax3sm.c
./mkg3states -c const tif_fax3sm.c
</TT></PRE></UL>
+The <TT>-c</TT> option can be used to control whether or not the
+resutling tables are generated with a <TT>const</TT> declaration.
+The <TT>-s</TT> option can be used to specify a C storage class
+for the table declarations.
+The <TT>-b</TT> option can be used to force data values to be
+explicitly bracketed with ``{}'' (apparently needed for some
+MS-Windows compilers); otherwise the structures are emitted in
+as compact a format as possible.
Consult the source code for this program if you have questions.
<P>
The second file required to build the library, <B>version.h</B>,
contains the version
information returned by the <TT>TIFFGetVersion</TT> routine.
-This file is built on a UNIX system using commands that can be found
-in the file <B>Makefile.in</B>.
-An example copy of <B>version.h</B> is:
+This file is built on most system using the
+<TT>mkversion</TT> program and the contents of the
+<TT>VERSION</TT> and <TT>tiff.alpha</TT> files; for example,
-<UL><LISTING>
-#define VERSION "LIBTIFF, Version 3.4beta015 \nCopyright (c) 1988-1995 Sam Leffler\nCopyright (c) 1991-1995 Silicon Graphics, Inc."
-</LISTING></UL>
+<UL><PRE>
+cd libtiff
+cc -o mkversion mkversion.c
+rm -f version.h
+./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h
+</PRE></UL>
<P>
Otherwise, when building the library on a non-UNIX system be sure to
@@ -848,6 +943,7 @@ libtiff/tif_fax3.h CCITT Group 3/4-related definitions
libtiff/tif_predict.h private defs for Predictor tag support
libtiff/version.h version string (generated by Makefile)
+libtiff/tif_acorn.c Acorn-related OS support
libtiff/tif_apple.c Apple-related OS support
libtiff/tif_atari.c Atari-related OS support
libtiff/tif_aux.c auxilary directory-related functions
@@ -881,12 +977,14 @@ libtiff/tif_unix.c UNIX-related OS support
libtiff/tif_version.c library version support
libtiff/tif_vms.c VMS-related OS support
libtiff/tif_warning.c library warning handler
-libtiff/tif_win3.c Windows-related OS support
+libtiff/tif_win3.c Windows-3.1-related OS support
+libtiff/tif_win32.c Windows-3.2-related OS support
libtiff/tif_write.c image data writing support
libtiff/tif_zip.c Deflate codec
libtiff/mkg3states.c program to generate G3/G4 decoder state tables
libtiff/mkspans.c program to generate black-white span tables
+libtiff/mkversion.c program to generate libtiff/version.h.
</PRE>
<P>
@@ -894,7 +992,7 @@ libtiff/mkspans.c program to generate black-white span tables
<ADDRESS>
<A HREF="sam.html">Sam Leffler</A> / <A HREF="mailto:sam@engr.sgi.com">sam@engr.sgi.com</A>.
-Last updated: $Date: 1995/07/07 02:34:32 $
+Last updated: $Date: 1995/10/16 21:46:06 $
</ADDRESS>
</BODY>