Skip to content
Snippets Groups Projects
Forked from Sven M. Hallberg / pdf
436 commits behind the upstream repository.
Beginnings of a PDF parser in Hammer
====================================

 - Currently needs a custom Hammer branch. You'll need to build against this:

   https://gitlab.special-circumstanc.es/pesco/hammer/tree/pdf

   For detailed build instructions, see README.md in that repository.

 - Help the default Makefile find Hammer

       $ ln -s ../hammer/src hammer         # needed for building pdf, include files
       $ ln -s ../hammer/build/opt/src lib  # needed for running pdf, to locate libhammer.so

 - Notes for 2020-04-27 release:

    The release branch has been tested to build with the 2020-04-27_RELEASE` branch located at https://gitlab.special-circumstanc.es/pesco/hammer/tree/2020-04-27_RELEASE

 - Build:

       $ pushd ../hammer; scons; popd       # build Hammer
       $ make pdf

 - Usage:

       $ export LD_LIBRARY_PATH=./lib       # see Troubleshooting section below to see if this is needed
       $ ldd ./pdf | grep libhammer         # verify that libhammer.so was found
       $ ./pdf <filename>

       # place some test files in the t/ directory...
       $ make test

 - Troubleshooting:

       libhammer.so not found:

           If Hammer is not installed as a system library, ld may fail to locate libhammer.so. The quick fix for this is altering LD_LIBRARY_PATH before running pdf:

           $ export LD_LIBRARY_PATH=./lib
           $ make test

           The second solution is executing "scons install" when building Hammer, which will install it in ld's usual search path:

           $ pushd ../hammer; scons install; popd
           # ... Update ldconfig cache if needed
           $ make pdf
           $ make test

 - Evaluating test results:
 
   For every file in the t/ directory, the pdf parser is executed. On successful parse, a message of the following form is displayed:

   OK: t/<filename>

   In case of a non-fatal parse error, error messages may be displayed, but presence of the "OK" indicates pdf exited successfully. On a failed test run, only parse error messages are displayed.

 - Copyright:

  - pesco 2019,2020
  - pompolic 2020
  - Paul Vines 2020
  - David Bryant (modified lzw-ab code)

  See LICENSE and lzw-ab-license.txt for full copyright and licensing notice.