bookloupe ========= General installation instructions can be found in INSTALL. The following aim to give a quick overview and some help for specific systems. Documentation for bookloupe itself can be found in doc/bookloupe.txt and for the test framework in doc/loupe-test.txt. Linux ----- You should be able to use the standard: % ./configure % make % sudo make install If you get an error about no package 'glib-2.0' found, then you need to install the development package for glib2. Under Fedora, RHEL and friends that would be: % sudo yum install gcc pkgconfig glib2-devel Under Debian, Ubuntu and friends that would be: % sudo apt-get install gcc pkgconfig glib2-devel Microsoft Windows ----------------- It should be possible to use either MSYS (http://www.mingw.org/wiki/MSYS) or cygwin (http://www.cygwin.com/) to build on a Windows machine. You'll need a copy of the development package for glib and its dependencies from http://www.gtk.org/download/win32.php. It's much easier to build using a cross-compiler from Linux, if you have access to such a system. Under Fedora, RHEL and friends you can do this with: % sudo yum install mingw32-gcc pkgconfig mingw32-glib2-static \ mingw32-gettext-static mingw32-iconv-static % ./configure --host=i686-w64-mingw32 --disable-shared \ --bindir=/bookloupe --datadir=/ % make % mkdir build % make install DESTDIR=`pwd`/build The contents of the build/bookloupe directory can then be copied to a Microsoft Windows machine. Depending on the version of mingw32-gcc you use, you may need to specify a different host type. If you're not sure look and see what the cross-compiler is called (eg., i686-pc-mingw32-gcc) and use the prefix as the host type. Mac --- You will need the command line tools for any of the procedures described below. If you don't already have them, install Xcode (it's a free download). The simplest and least intrusive means to build on a Mac is to use Frau Sma's Homebrew formula. However, Homebrew is not compatible with Fink so if you have previously used Fink then you need an alternative solution, such as MacPorts (see below). It may also be possible to use Fink itself. Mac using Frau Sma's Homebrew formula ------------------------------------- https://github.com/frau-sma/homebrew-bookloupe The README will be displayed by default. Follow its instructions to install bookloupe on your Mac. Creating statically linked binaries on a Mac using Homebrew ----------------------------------------------------------- If you want to be able to distribute binaries of bookloupe to other Mac users, then they need to be statically (rather than dynamically) linked. Fundamentally this means that glib and its dependencies are included in the binary rather than being linked into the program by the Operating System each time it is run. http://mxcl.github.com/homebrew/ Install Homebrew according to its instructions. If you already had Homebrew before, make sure it's all up to date and “raring to brew.” For that, you want to run: $ brew update and $ brew doctor from your terminal. Then you need to edit the formula for glib and each of its dependencies (gettext and libffi at the time of writing) using something like: $ brew edit gettext Each time find the args statement which includes --prefix and insert --disable-shared,for example change: args = ["--disable-dependency-tracking", "--disable-rebuilds", "--prefix=#{prefix}", "--disable-dtrace"] to args = ["--disable-dependency-tracking", "--disable-rebuilds", "--disable-shared", "--prefix=#{prefix}", "--disable-dtrace"] and then $ brew install glib before installing bookloupe as normal, but with the extra flag to configure: $ ./configure --disable-shared $ make $ make install Note that if you have previously used dynamic linking this may not work. (Homebrew doesn't seem to create .la files in a form that libtool can use when it is asked to prefer static libraries to dynamic ones.) Removing the dynamic libraries first will solve this problem. Mac using MacPorts ------------------ Install MacPorts from http://www.macports.org/. Install pkgconfig (required to build glib) and then glib itself: $ sudo port install pkgconfig $ sudo port install glib2 Then install bookloupe as normal, telling configure where to find glib's package configuration file: $ ./configure PKG_CONFIG_PATH=/opt/local/lib/pkgconfig $ make $ make install