• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1INSTALL - OpenPrinting CUPS Filters v1.28.17 - 2023-01-24
2---------------------------------------------------------
3
4This file describes how to compile and install OpenPrinting CUPS
5Filters from source code. For more information on OpenPrinting CUPS
6Filters see the file called "README.txt".  A complete change log can
7be found in "CHANGES.txt".
8
9**** IF YOU HAVE A NON-POSTSCRIPT PRINTER AND ARE NOT       ****
10**** RUNNING MAC OS X, YOU WILL ALSO NEED TO INSTALL GPL    ****
11**** GHOSTSCRIPT WITH THE "cups" DRIVER AFTER YOU INSTALL   ****
12**** CUPS AND BEFORE YOU INSTALL THIS PACKAGE.              ****
13
14
15BEFORE YOU BEGIN
16
17    You'll need ANSI-compliant C and C++ compilers, plus a make program and
18    POSIX-compliant shell (/bin/sh).  The GNU compiler tools and Bash work well
19    and we have tested the current CUPS code against several versions of GCC
20    with excellent results.
21
22    The makefiles used by the project should work with most versions of make.
23    We've tested them with GNU make as well as the make programs shipped by
24    Compaq, HP, SGI, and Sun.  BSD users should use GNU make (gmake) since BSD
25    make does not support "include".
26
27    Poppler, freetype, fontconfig, and liblcms (liblcms2 recommended)
28    must be installed to be able to compile this package.
29
30    Note that Poppler has to be compiled with the
31    "--enable-poppler-cpp" configure option (or the
32    "libpoppler-cpp-dev(el)" package has to be installed if the
33    Poppler packages from a Linux distribution are used).
34
35    Besides these tools you'll want the JPEG, PNG, TIFF, ZLIB libraries for
36    image support. CUPS Filters will compile and run without these, however
37    you'll miss out on many of the features provided by CUPS Filters.
38
39    To get cups-browsed, the daemon to browse Bonjour broadcasts of
40    remote CUPS queues and make the queues available locally, you also
41    need libavahi-common and libavahi-client.
42
43COMPILING THE BZR REPOSITORY CODE
44
45    The CUPS Filters BZR repository doesn't hold a copy of the pre-built
46    configure script.  You'll need to run the GNU autoconf software (2.65 or
47    higher) to create it:
48
49        ./autogen.sh
50
51
52CONFIGURATION
53
54    CUPS Filters uses GNU autoconf, so you should find the usual "configure"
55    script in the main CUPS Filters source directory.  To configure CUPS
56    Filters for your system, type:
57
58	./configure
59
60    The default installation will put the CUPS Filters software in the
61    "/etc" and "/usr" directories on your system, which will overwrite
62    some of the original filters and their auxiliary files of CUPS
63    1.5.x or earlier and the auxiliary files of bannertops in all CUPS
64    versions including version 1.6.x (see also the section "PACKAGING
65    THE SOFTWARE FOR OPERATING SYSTEM DISTRIBUTIONS" below). The
66    system will still have the same functionality as before, but CUPS
67    will not convert all incoming files into PostScript any more, it
68    will convert them into PDF instead and after applying page
69    management (N-up, selected pages, reverse order, ...) by the
70    pdftopdf filter and convert PDF into the printer's native format
71    then (PDF-based printing workflow). CUPS 1.6.x or later does not
72    contain any filters which this package provides. It requires the
73    installation of this package for printing with filters and drivers
74    under Linux (or other non-Mac-OS-X operation systems).
75
76    Use the "--prefix" option to install the CUPS Filters software in another
77    location:
78
79	./configure --prefix=/some/directory
80
81    To see a complete list of configuration options, use the --help option:
82
83        ./configure --help
84
85    If any of the dependent libraries are not installed in a system default
86    location (typically "/usr/include" and "/usr/lib") you'll need to set the
87    CFLAGS, CPPFLAGS, CXXFLAGS, DSOFLAGS, and LDFLAGS environment variables
88    prior to running configure:
89
90	setenv CFLAGS "-I/some/directory"
91	setenv CPPFLAGS "-I/some/directory"
92	setenv CXXFLAGS "-I/some/directory"
93	setenv DSOFLAGS "-L/some/directory"
94	setenv LDFLAGS "-L/some/directory"
95	./configure ...
96
97    or:
98
99	CFLAGS="-I/some/directory" \
100	CPPFLAGS="-I/some/directory" \
101	CXXFLAGS="-I/some/directory" \
102	DSOFLAGS="-L/some/directory" \
103	LDFLAGS="-L/some/directory" \
104	./configure ...
105
106    Once you have configured things, just type:
107
108	make ENTER
109
110    or if you have FreeBSD, NetBSD, or OpenBSD type:
111
112	gmake ENTER
113
114    to build the software.
115
116
117INSTALLING THE SOFTWARE
118
119    Once you have built the software you need to install it.  The "install"
120    target provides a quick way to install the software on your local system:
121
122	make install ENTER
123
124    or for FreeBSD, NetBSD, or OpenBSD:
125
126	gmake install ENTER
127
128PACKAGING THE SOFTWARE FOR OPERATING SYSTEM DISTRIBUTIONS
129
130    The use of cups-filters is supported for CUPS from version 1.5.x
131    on (to switch to the PDF-based printing workflow already now) and
132    required for CUPS 1.6.x (as it does not ship a complete filter set
133    any more). In both cases cups-filters ships some files which exist
134    also in CUPS, but the versions of cups-filters have to be used to
135    assure that printing works correctly. So in the packaging of CUPS
136    the files should be removed.
137
138    Use the alternatives facility (see update-alternatives(8)) only if
139    your CUPS version is 1.5.x and you want to make the use of
140    cups-filters optional. Note that then the files of cups-filters
141    need to have priority.
142
143    When using cups-filters with CUPS 1.5.x, many of the original CUPS
144    filters get replaced or at least useless. Please remove the
145    following files from your CUPS package:
146
147	/usr/lib/cups/backend/serial
148	/usr/lib/cups/backend/parallel
149	/usr/lib/cups/filter/bannertops
150	/usr/lib/cups/filter/commandtoescpx
151	/usr/lib/cups/filter/commandtopclx
152	/usr/lib/cups/filter/imagetops
153	/usr/lib/cups/filter/imagetoraster
154	/usr/lib/cups/filter/pdftops
155	/usr/lib/cups/filter/rastertoescpx
156	/usr/lib/cups/filter/rastertopclx
157	/usr/lib/cups/filter/texttops
158	/usr/share/cups/banners/*
159	/usr/share/cups/data/testprint
160	/usr/share/cups/data/psglyphs
161	/usr/share/cups/fonts/*
162
163    Also comment out all conversion rules which use any of the removed
164    filters. You can do it with the following command line:
165
166	perl -p -i -e 's:^(.*\s+(pdftops|texttops|imagetops|bannertops|imagetoraster)\s*)$:#\1:' /usr/share/cups/mime/mime.convs
167
168    If you use CUPS 1.6.x there is less to remove from the CUPS
169    package. It is only bannertops and its auxiliary files which are
170    in the way for bannertopdf:
171
172	/usr/lib/cups/filter/bannertops
173	/usr/share/cups/banners/*
174	/usr/share/cups/data/testprint
175
176    The conversion rules get commented out via:
177
178	perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs
179
180    For CUPS 1.6.x a bug report/feature request is posted to ask for
181    (at least optional) removal of bannertops:
182
183	http://www.cups.org/str.php?L4120
184