~jkaivo/freeonebook

b512299c974d6114d45069c8e87ca6b5429bee89 — Jakob Kaivo 3 years ago 82cbb3c
add dependency build instructions
1 files changed, 44 insertions(+), 4 deletions(-)

M README.md
M README.md => README.md +44 -4
@@ 3,12 3,52 @@
## Compiling

In order to compile this, you will need an ARM cross compiler (unless you are
building natively on ARM, in which case skip this step). On Debian, this is
easy with:
building natively on ARM, in which case skip this step). You'll also need make
and pkg-config (otherwise ImageMagick won't build). On Debian, this is easy
with:

    $ sudo apt install gcc-arm-linux-gnueabihf make
    $ sudo apt install gcc-arm-linux-gnueabihf make pkg-config

To compile, simply run `make`.
### Dependencies

Image support is provided by ImageMagick, which in turn depends on libpng,
which in turn depends on zlib. The eOneBook already has dynamic libraries for
zlib and libpng installed, but you still need them installed in your
cross-compilation environment so ImageMagick knows they will be there.

#### zlib

    $ wget http://www.zlib.net/zlib-1.2.11.tar.gz
    $ tar xvzf zlib-1.2.11.tar.gz
    $ cd zlib-1.2.11
    $ CHOST=arm-linux-gnueabihf ./configure --prefix=/usr/arm-linux-gnueabihf
    $ make
    $ sudo make install

#### libpng

    $ wget https://download.sourceforge.net/libpng/libpng-1.6.35.tar.gz
    $ tar xvzf libpng-1.6.35.tar.gz
    $ cd libpng-1.6.35
    $ ./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux-gnueabihf
    $ make
    $ sudo make install

#### ImageMagick

ImageMagick is not installed on the eOneBook, so we'll configure it to build
as a static library.

    $ wget https://imagemagick.org/download/ImageMagick.tar.gz
    $ tar xvzf ImageMagick.tar.gz
    $ cd ImageMagick-7.0.8-14
    $ PKG_CONFIG_PATH=/usr/arm-linux-gnueabihf/lib/pkgconfig ./configure --host=arm-linux-gnueabihf --without-utilities --disable-openmp --disable-shared --prefix=/usr/arm-linux-gnueabihf
    $ make
    $ sudo make install

### freeonebook

Once dependencies are installed, simply run `make` in the freeonebook directory.

    $ make