FBReader build procedure
This is a very short description of FBReader build procedure.
All versions of FBReader are configured for building on Linux desktop computer. You need gcc compiler for building desktop version or cross gcc compiler for building package for another platform.
FBReader requires:
-
expat
-- library for XML parsing. AFAIK, all popular destributions includes package with name likeexpat-dev
orlibexpat-dev
. If you cannot find expat in your distribution, please visit http://expat.sourceforge.net -
libz
andlibbz2
-- libraries for zip and bzip2 (de)compression - UI library -- this depends on your target platform. For desktop,
- Qt library, version 3.* or 4.* OR
- GTK+ library, version >= 2.4 should be installed
-
liblinebreak
(http://vimgadgets.cvs.sourceforge.net/vimgadgets/common/tools/linebreak/) -- library for line breaking in a Unicode sequence -
libfribidi
-- for bidirectional text support -
lincurl
, version >= 7.17 -- for network libraries integration libsqlite3
- for win32 version, we use also
libpng
,libungif
,libjpeg
andlibtiff
sudo apt-get install ccache libunibreak-dev libfribidi-bin libfribidi-dev
Additionally, replace -llinebreak
with -lunibreak
at least in zlibrary/text/Makefile
.
Before building FBReader, you should check (and maybe edit) 2 files:
In this file you should define 3 variables:
-
TARGET_ARCH
-- target platform for building FBReader -
UI_TYPE
-- UI library -
TARGET_STATUS
-- "release", "debug" or "profile". "release" is reasonable choice for almost all users.
Possible pairs for TARGET_ARCH + UI_TYPE are:
TARGET_ARCH = desktop UI_TYPE = gtk
TARGET_ARCH = desktop UI_TYPE = qt
TARGET_ARCH = desktop UI_TYPE = qt4
TARGET_ARCH = pepperpad3 UI_TYPE = gtk
TARGET_ARCH = zaurus UI_TYPE = qtopia-240x320
TARGET_ARCH = zaurus UI_TYPE = qtopia-640x480
TARGET_ARCH = openzaurus UI_TYPE = opie
TARGET_ARCH = openzaurus UI_TYPE = gpe
TARGET_ARCH = pdaxrom UI_TYPE = gtk
TARGET_ARCH = pdaxrom UI_TYPE = qt
TARGET_ARCH = opensimpad-0.9.0 UI_TYPE = opie
TARGET_ARCH = maemo UI_TYPE = maemo2
TARGET_ARCH = maemo UI_TYPE = maemo4
TARGET_ARCH = pma400 UI_TYPE = qtopia
TARGET_ARCH = moto UI_TYPE = ezx
TARGET_ARCH = win32 UI_TYPE = win32
TARGET_ARCH = macosx UI_TYPE = cocoa
This file defines compiler name and location, headers and libraries locations, compilation flags, installation path (for desktop), etc.
Just type make
in FBReader root directory. (FBReader root directory ==
repository root.)
If you want to install FBReader on your desktop computer, just run make install
as root
in FBReader root directory.
If you want to create package for another platform, run make packages
in
FBReader root directory.