Skip to content

Commit

Permalink
Merge branch 'master' into improve-dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelrsweet committed Jul 11, 2018
2 parents 0cee0b9 + 52dd867 commit 98d6a21
Show file tree
Hide file tree
Showing 195 changed files with 34,042 additions and 22,514 deletions.
1 change: 1 addition & 0 deletions .cups-upstream
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a32af27c4c7ef29221d0764a251ff85244c20c64
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.git* export-ignore
.mailmap export-ignore
.travis.yml export-ignore
scripts export-ignore
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,32 @@ config.log
config.status
cups/libcups.a
cups/org.pwg.ippsample.*
cups/test.raster
cups/testarray
cups/testclient
cups/testdest
cups/testfile
cups/testhttp
cups/testi18n
cups/testipp
cups/testoptions
cups/testraster
data
doc/mantohtml
examples/pwg-raster-samples*
parts
prime
server/ippserver
stage
tools/ippdoclint
tools/ippfind
tools/ippproxy
tools/ipptool
tools/ipptransform
tools/ipptransform3d
vcnet/.vs
xcuserdata
*.dSYM
*.log
*.o
*.ras
Expand Down
8 changes: 8 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,11 @@
# gives no duplicates.
Michael R Sweet <michaelrsweet@gmail.com> msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Michael R Sweet <michaelrsweet@gmail.com> Michael Sweet <msweet@msweet-imac.local>
Michael R Sweet <michaelrsweet@gmail.com> Michael R Sweet <michael.r.sweet@gmail.com>
Michael R Sweet <michaelrsweet@gmail.com> Michael Sweet <michael.r.sweet@gmail.com>
Michael R Sweet <michaelrsweet@gmail.com> Michael Sweet <mike@Sams-MacBook-Air.local>
Michael R Sweet <michaelrsweet@gmail.com> Michael Sweet <mike@ma0103e-dhcp174.apple.com>
Michael R Sweet <michaelrsweet@gmail.com> Michael Sweet <msweet@apple.com>
Michael R Sweet <michaelrsweet@gmail.com> Michael Sweet <msweet@ma0103f-dhcp197.apple.com>
Michael R Sweet <michaelrsweet@gmail.com> Mike Sweet <msweet@apple.com>
Smith Kennedy <smith.kennedy@hp.com> Smith Kennedy <wifiprintguy@users.noreply.github.com>
26 changes: 26 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#
# Travis CI configuration file for the IPP sample project.
#
# Copyright © 2018 by the IEEE-ISTO Printer Working Group.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#

language: c

matrix:
include:
# Linux-specific build stuff
- os: linux
before_install:
- sudo apt-get -qq update
# Note: Because Travis CI does not yet support Ubuntu Xenial 18.04, we
# cannot do build tests with MuPDF or other dependencies since the
# projects just aren't there... :/
# - sudo apt-get install -y avahi-daemon avahi-utils cura-engine libavahi-client-dev libfreetype6-dev libgnutls28-dev libharfbuzz-dev libjbig2dec0-dev libjpeg-dev libmupdf-dev libnss-mdns libopenjp2-7-dev libpng-dev zlib1g-dev
- sudo apt-get install -y avahi-daemon avahi-utils libavahi-client-dev libgnutls28-dev libjpeg-dev libnss-mdns libpng-dev zlib1g-dev

# macOS-specific build stuff
- os: osx
osx_image: xcode9.4
112 changes: 112 additions & 0 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
Build Instructions for the IPP Sample Code
==========================================

This file describes how to compile and install the IPP sample code. For more
information on the IPP sample code see the file called `README.md`. Changes are
summarized in the file `CHANGES.md`.


Prerequisites
-------------

You'll need an ANSI-compliant C compiler plus a make program and POSIX-compliant
shell (/bin/sh). The GNU compiler tools and Bash work well and we have tested
the current IPP sample code against several versions of Clang and GCC with
excellent results.

The makefiles used by the project should work with most versions of make. We've
tested them with GNU make as well as the make programs shipped by Compaq, HP,
SGI, and Sun. BSD users should use GNU make (gmake) since BSD make does not
support "include".

Besides these tools you'll want the following libraries:

- Avahi (Linux) or mDNSResponder (all others) for Bonjour (DNS-SD) support
- CuraEngine for 3D support
- GNU TLS for encryption support on platforms other than iOS, macOS, or Windows
- LIBJPEG for JPEG support
- LIBPNG for PNG support
- MuPDF (1.11 or later) for PDF support on Linux
- ZLIB for compression support

On a stock Debian/Ubuntu install, the following command will install most of the
required prerequisites:

sudo apt-get install build-essential autoconf avahi-daemon avahi-utils \
cura-engine libavahi-client-dev libfreetype6-dev libgnutls28-dev \
libharfbuzz-dev libjbig2dec0-dev libjpeg-dev libmupdf-dev libnss-mdns \
libopenjp2-7-dev libpng-dev zlib1g-dev


Configuration
-------------

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

./configure

The default installation will put the software in the `/usr/local` directory on
your system. Use the `--prefix` option to install the 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:

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

Use the BUILDROOT variable to install to an alternate root directory:

make BUILDROOT=/some/other/root/directory install ENTER


Getting Debug Logging
---------------------

The following environment variables are used to enable and control debug
logging:

- `CUPS_DEBUG_FILTER`: Specifies a POSIX regular expression to control which
messages are logged.
- `CUPS_DEBUG_LEVEL`: Specifies a number from 0 to 9 to control the verbosity of
the logging. The default level is 1.
- `CUPS_DEBUG_LOG`: Specifies a log file to use. Specify the name "-" to send
the messages to stderr. Prefix a filename with "+" to append to an existing
file. You can include a single "%d" in the filename to embed the current
process ID.
Loading

0 comments on commit 98d6a21

Please sign in to comment.