3.9 KiB
Building, Testing, and Installing PDFio
This file describes how to compile, test, and install the PDFio library from
source code. For more information on PDFio see the file called README.md.
Getting the Code
Note: Do not use the ZIP file available via the Github "Code" button on the main project page, as that archive is missing the TTF submodule and will not compile.
The source code is available in release tarballs or via the Github repository. For a release tarball, run the following commands:
tar xvzf pdfio-VERSION.tar.gz
cd pdfio-VERSION
Similarly, the release ZIP file can be extracted with the following commands:
unzip pdfio-VERSION.zip
cd pdfio-VERSION
From the Github sources, clone the repository with the --recurse-submodules
option or use the git submodule command:
git clone --recurse-submodules git@github.com:michaelrsweet/pdfio.git
cd pdfio
git clone git@github.com:michaelrsweet/pdfio.git
cd pdfio
git submodule update --init --recursive
To update an already-cloned repository:
git pull
git submodule update --init --recursive
Requirements
PDFio requires the following to build the software:
- A C99 compiler such as Clang, GCC, or MS Visual C
- A POSIX-compliant
makeprogram - A POSIX-compliant
shprogram - libpng (https://www.libpng.org/) 1.6 or later for full PNG image support (optional)
- libwebp (https://developers.google.com/speed/webp) 1.0 or later for WebP image support (optional)
- ZLIB (https://www.zlib.net/) 1.1 or later for compression support
IDE files for Xcode (macOS/iOS) and Visual Studio (Windows) are also provided.
On a stock Ubuntu install, the following command will install the various prerequisites:
sudo apt-get install build-essential libpng-dev libwebp-dev zlib1g-dev
Building and Installing on Linux/Unix
PDFio uses a configure script on Unix systems to generate a makefile:
./configure
If you want a shared library, run:
./configure --enable-shared
The default installation location is "/usr/local". Pass the --prefix option
to make to install it to another location:
./configure --prefix=/some/other/directory
Other configure options can be discovered by using the --help option:
./configure --help
Once configured, run the following command to build the library:
make all
Finally, run the following command to install the library, documentation, and examples on the local system:
sudo make install
Use the BUILDROOT variable to install to an alternate root directory:
sudo make BUILDROOT=/some/other/root/directory install
Note: PDFio also supports the GNU
DSTROOT, Apple/DarwinDESTDIR, and Red HatRPM_BUILD_ROOTvariables to specify an alternate root directory.
Running the Unit Tests
PDFio includes a unit test program that thoroughly tests the library. Type the following to run the unit tests:
make test
Detailed test results are saved to the "test.log" file.
Building on Windows with Visual Studio
The Visual Studio solution (pdfio.sln) is provided for Windows developers and
generates the PDFIO1 DLL. You can also use NuGet to install the pdfio_native
package.
You can build and run the testpdfio unit tests target from within Visual
Studio to verify the functioning of the library.
Building on macOS with Xcode
The Xcode project (pdfio.xcodeproj) is provided for macOS developer which
generates a static library that will be installed under "/usr/local". Run the
following command to build and install PDFio on macOS:
sudo xcodebuild install
Alternately you can add the Xcode project to a workspace and reference the PDFio library target as a dependency in your own project.
You can build and run the testpdfio unit tests target from within Xcode to
verify the functioning of the library.