Go to file
Jay Berkenbilt 3bbd269775 typo
git-svn-id: svn+q:///qpdf/trunk@860 71b93d88-0707-0410-a8cf-f5a4172ac649
2009-10-22 15:43:14 +00:00
doc update release date to actual date 2008-04-29 12:55:25 +00:00
examples update C API for error retrieval 2009-10-20 00:24:44 +00:00
external-libs generalize build 2009-10-11 00:24:22 +00:00
include/qpdf make line buffering os-specific 2009-10-21 02:30:15 +00:00
libqpdf make line buffering os-specific 2009-10-21 02:30:15 +00:00
libtests test aes 2009-10-17 23:58:59 +00:00
m4 update libtool and automake pieces 2009-09-26 15:42:39 +00:00
make typo 2009-10-22 15:43:14 +00:00
manual notes 2009-10-11 01:21:06 +00:00
qpdf make line buffering os-specific 2009-10-21 02:30:15 +00:00
qtest fix qtest-driver 2009-10-14 00:57:04 +00:00
zlib-flate generalize build 2009-10-11 00:24:22 +00:00
Artistic-2.0 update release date to actual date 2008-04-29 12:55:25 +00:00
ChangeLog update C API for error retrieval 2009-10-20 00:24:44 +00:00
INSTALL update release date to actual date 2008-04-29 12:55:25 +00:00
Makefile revamp install targets 2009-10-22 15:33:32 +00:00
README got working aes128 implementation 2009-10-17 15:01:20 +00:00
README.maintainer finished testing C API 2009-09-27 20:33:17 +00:00
README.windows go back to function-based DLL_EXPORT rather than class-based to avoid creation of export files with executables under msvc 2009-10-21 00:27:24 +00:00
TODO note 2009-10-22 15:33:42 +00:00
autoconf.mk.in handle external libs in autoconf 2009-10-10 17:32:34 +00:00
config-mingw notes, setlinebuf 2009-10-20 01:46:56 +00:00
config-msvc notes, setlinebuf 2009-10-20 01:46:56 +00:00
config.guess update release date to actual date 2008-04-29 12:55:25 +00:00
config.sub update release date to actual date 2008-04-29 12:55:25 +00:00
configure.ac revert previous change 2009-10-20 02:04:51 +00:00
install-sh update libtool and automake pieces 2009-09-26 15:42:39 +00:00
ltmain.sh update libtool and automake pieces 2009-09-26 15:42:39 +00:00
make_dist update libtool and automake pieces 2009-09-26 15:42:39 +00:00
mkinstalldirs update libtool and automake pieces 2009-09-26 15:42:39 +00:00
qpdf.spec finished testing C API 2009-09-27 20:33:17 +00:00

README

This is the QPDF package.  Information about it can be found at
http://qpdf.qbilt.org.

QPDF is copyright (c) 2005-2009 Jay Berkenbilt

This software may be distributed under the terms of version 2 of the
Artistic License which may be found in the source distribution as
"Artistic-2.0".  It is provided "as is" without express or implied
warranty.


Licensing terms of embedded software
====================================

Some additional software with additional licensing terms is embedded
within the qpdf source distribution in "external-libs".  This software
is not actually used by the qpdf build unless the
--enable-build-external-libs option is passed to ./configure.  These
packages have their own licensing terms, both of which are compatible
with qpdf's license.

Zlib's license can be read in external-libs/zlib/zlib.h

PCRE's licensing terms can be found in external-libs/pcre/LICENSE.
PCRE's licensing terms require that we include the following
information:

   Regular expression support is provided by the PCRE library package,
   which is open source software, written by Philip Hazel, and
   copyright by the University of Cambridge, England.

The sources to PCRE can be independently obtained from

   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

The Rijndael encryption implementation used as the basis for AES
encryption and decryption support comes from Philip J. Erdelsky's
public domain implementation.  The files libqpdf/rijndael.cc and
libqpdf/qpdf/rijndael.h remain in the public domain.  They were
obtained from

  http://www.efgh.com/software/rijndael.htm
  http://www.efgh.com/software/rijndael.txt


Building on UNIX/Linux
======================

For UNIX and UNIX-like systems, you can usually get by with just

./configure
make
make install

For more detailed general information, see the "INSTALL" file in this
directory.

Building on Windows
===================

QPDF is known to build and pass its test suite with mingw (gcc 4.4.0)
and Microsoft Visual C++ .NET 2008 Express.  Either cygwin or MSYS
plus ActivateState Perl is required to build as well in order to get
make and other related tools.  The MSVC works with either cygwin or
MSYS.  The mingw build requires MSYS and will probably not work with
cygwin.

For details on how to build under Windows, see README.windows.


Additional Notes on Build
=========================

QPDF's build system, inspired by abuild (http://www.abuild.org), can
optionally use its own built-in rules rather than using libtool and
obeying the compiler specified with configure.  This can be enabled by
passing --with-buildrules=buildrules where buildrules corresponds to
one of the .mk files (other than rules.mk) in the make directory.
This should never be necessary on a UNIX system, but may be necessary
on a Windows system.  See README.windows for details.  There is a
gcc-linux.mk file enable "gcc-linux" build rules, but it is intended
to help test the build system; Linux users should build with the
"libtools" rules, which are enabled by default.

The QPDF package provides some executables and a software library.  A
user's manual can be found in the "doc" directory.  The docbook
sources to the user's manual can be found in the "manual" directory.

The software library is just libqpdf, and all the header files are in
the qpdf subdirectory.  If you link with -lqpdf and your system does
not know how to read libtool .la files, then you will also need to
link with -lpcre and -lz.

To learn about using the library, please read comments in the header
files in include/qpdf, especially QPDF.hh, QPDFObjectHandle.hh, and
QPDFWriter.hh.  You can also study the code of qpdf/qpdf.cc, which
exercises most of the public interface.  There are additional example
programs in the examples directory.