This document describes the details of pdfout's build system.
All build and test tasks are run with the make.pl script. It supports the following list of subcommands, which can also be viewed by running these commands:
./make.pl --help
or: ./make.pl -h
./make.pl build [OPTION]
or: ./make.pl [OPTION]
Build the pdfout binary. In a first step, this will build the mupdf submodule.
The default build directory is build.
Options:
--out=OUTPUT_DIR alternative build directory.
--cc=CC name of the C compiler
-c, --cflags=CFLAGS additional compiler flags
--cppflags=CPPFLAGS additional preprocessor flags
--ldflags=LDFLAGS additional linker flags
--mupdf-cflags=CFLAGS CFLAGS for mupdf. Defaults to '-O2 -g'
--prefix=PREFIX installation prefix
--install install pdfout
-j, --jobs=JOBS number of jobs used by make
-v, --verbose Show build commands
./make.pl clean [OPTION]
Clean the build directory. By default everything is cleaned. The options give you more fine-grained control.
Options:
--out=OUTPUT_DIR target directory
--mupdf only clean the mupdf build
--pdfout keep the mupdf build
--html only clean the doc output
./make.pl check
or ./make.pl check --tests='info-dict.t page-count.t'
Test a pdfout build. This will run all *.t files in the test directory.
Options:
--out=OUTPUT_DIR build directory
-j, --jobs=JOBS number of parallel jobs
--valgrind run tests under valgrind
-t, --tests=TESTS run only these tests
--timer print elapsed time after each test
This requires Test::Files.
Using valgrind will only work, if the build does not use optimization.
./make.pl doc
Build the documentation. This will produce nicely formatted XHTML. By default, the output will be written into build/html/.
This requires Pod::Simple::XHTML.
Options:
--out=OUTPUT_DIR put output into OUTPUT_DIR/html
./make.pl upload-doc
Maintainer command to update the docs at https://amba.github.io/pdfout.
./make.pl submodules
Check out the mupdf submodule and mupdf's own submodules.
./make.pl cover -j4
Requires Devel::Cover installed.
Do coverage build with gcov. Uses output directory cover-build.
Open output of gcov2perl in firefox.
Options:
-j, --jobs=JOBS number of parallel jobs
./make.pl perltidy
Run Perl::Tidy on all of our perl sources.