INSTALL - CUPS v1.2.11 - 2007-05-08
-----------------------------------

This file describes how to compile and install CUPS from source
code. For more information on CUPS see the file called
"README.txt".  A complete change log can be found in
"CHANGES.txt".

**** IF YOU HAVE A NON-POSTSCRIPT PRINTER, YOU WILL ALSO    ****
**** NEED TO INSTALL ESP GHOSTSCRIPT AFTER YOU INSTALL CUPS ****


BEFORE YOU BEGIN

    You'll need ANSI-compliant C and C++ compilers, plus a make
    program and Bourne shell.  The GNU compiler tools work well -
    we've tested the current CUPS code against several versions
    of GCC with excellent results.

    The makefiles used by the project should work with all
    versions of make.  We've tested them with GNU make as well as
    the make programs shipped by Compaq, HP, SGI, and Sun. 
    FreeBSD users should use GNU make (gmake).

    Besides these tools you'll want the JPEG, PNG, TIFF, and ZLIB
    libraries for image support, the CDSA, GNU TLS, or OpenSSL
    libraries for encryption support, and the OpenLDAP and
    OpenSLP libraries for directory services support. CUPS will
    compile and run without these, however you'll miss out on
    many of the features provided by CUPS.

    Also, please note that CUPS no longer includes the
    Ghostscript- based pstoraster filter.  You *must* download
    ESP Ghostscript separately from the CUPS web site if you want
    to print PostScript files to non-PostScript printers.


COMPILING FROM SUBVERSION

    The CUPS Subversion repository doesn't hold a copy of the
    pre-built configure script.  You'll need to run the GNU
    autoconf software (2.52 or higher) before compiling the
    software from Subversion:

	autoconf -f


CONFIGURATION

    CUPS uses GNU autoconf, so you should find the usual
    "configure" script in the main CUPS source directory.  To
    configure CUPS for your system, type:

	./configure

    The default installation will put the CUPS software in the
    "/etc", "/usr", and "/var" directories on your system, which
    will overwrite any existing printing commands on your system.
    Use the "--prefix" option to install the CUPS software in
    another location:

	./configure --prefix=/some/directory

    To see a complete list of configuration options, use the
    --help option:

        ./configure --help

    If any of the dependent libraries are not installed in a
    system default location (typically "/usr/include" and
    "/usr/lib") you'll need to set the CFLAGS, CPPFLAGS,
    CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables prior
    to running configure:

	setenv CFLAGS "-I/some/directory"
	setenv CPPFLAGS "-I/some/directory"
	setenv CXXFLAGS "-I/some/directory"
	setenv DSOFLAGS "-L/some/directory"
	setenv LDFLAGS "-L/some/directory"
	./configure ...

    or:

	CFLAGS="-I/some/directory" \
	CPPFLAGS="-I/some/directory" \
	CXXFLAGS="-I/some/directory" \
	DSOFLAGS="-L/some/directory" \
	LDFLAGS="-L/some/directory" \
	./configure ...

    Once you have configured things, just type:

	make ENTER

    or if you have FreeBSD, NetBSD, or OpenBSD type:

	gmake ENTER

    to build the software.


INSTALLING THE SOFTWARE

    Once you have built the software you need to install it.  The
    "install" target provides a quick way to install the software
    on your local system:

	make install ENTER

    or for FreeBSD, NetBSD, or OpenBSD:

	gmake install ENTER

    You can also build binary packages that can be installed on
    other machines using the RPM spec file
    ("packaging/cups.spec") or EPM list file
    ("packaging/cups.list").  The latter also supports building
    of binary RPMs, so it may be more convenient to use - we use
    EPM to build all of our binary distributions.

    You can find the RPM software at:

	http://www.rpm.org/

    The EPM software is available at:

	http://www.easysw.com/epm/


CREATING BINARY DISTRIBUTIONS WITH EPM

    The top level makefile supports generation of many types of binary
    distributions using EPM.  To build a binary distribution type:

	make <format> ENTER

    or

	gmake <format> ENTER

    for FreeBSD, NetBSD, and OpenBSD.  The <format> target is one of
    the following:

	epm       - Builds a script + tarfile package
	aix       - Builds an AIX package
	bsd       - Builds a *BSD package
	deb       - Builds a Debian package
	depot     - Builds a HP-UX package (also swinstall)
	inst      - Builds an IRIX package (also tardist)
	osx       - Builds a MacOS X package
	pkg       - Builds a Solaris package
	rpm       - Builds a RPM package
	setld     - Build a Tru64 UNIX package
	slackware - Build a Slackware package
	swinstall - Build a HP-UX package (also depot)
	tardist   - Builds an IRIX package (also inst)


REPORTING PROBLEMS

    If you have problems, READ THE DOCUMENTATION FIRST!  If the
    documentation does not solve your problems, please post a
    message on the "cups.general" forum at:

        http://www.cups.org/newsgroups.php

    Include your operating system and version, compiler and
    version, and any errors or problems you've run into. The
    "config.log" file and the output from the configure script
    and make should also be sent, as it often helps to determine
    the cause of your problem.

    If you are running a version of Linux, be sure to provide the
    Linux distribution you have, too.
