README
author ali <ali@juiblex.co.uk>
Sat Sep 21 18:37:24 2013 +0100 (2013-09-21)
changeset 93 3170a7cd7858
parent 92 a372c494d541
child 98 07186a3af5fe
permissions -rw-r--r--
Refix bug #5: Incorporate changes as suggested in comments 3 & 5
     1                                    bookloupe
     2                                    =========
     3 
     4 General installation instructions can be found in INSTALL. The following
     5 aim to give a quick overview and some help for specific systems. Documentation
     6 for bookloupe itself can be found in doc/bookloupe.txt and for the test
     7 framework in doc/loupe-test.txt.
     8 
     9 Linux
    10 -----
    11 
    12 You should be able to use the standard:
    13 
    14 % ./configure
    15 % make
    16 % sudo make install
    17 
    18 If you get an error about no package 'glib-2.0' found, then you need to
    19 install the development package for glib2. Under Fedora, RHEL and friends
    20 that would be:
    21 
    22 % sudo yum install gcc pkgconfig glib2-devel
    23 
    24 Under Debian, Ubuntu and friends that would be:
    25 
    26 % sudo apt-get install gcc pkgconfig glib2-devel
    27 
    28 Microsoft Windows
    29 -----------------
    30 
    31 It should be possible to use either MSYS (http://www.mingw.org/wiki/MSYS)
    32 or cygwin (http://www.cygwin.com/) to build on a Windows machine. You'll
    33 need a copy of the development package for glib and its dependencies
    34 from http://www.gtk.org/download/win32.php.
    35 
    36 It's much easier to build using a cross-compiler from Linux, if you have
    37 access to such a system. Under Fedora, RHEL and friends you can do this
    38 with:
    39 
    40 % sudo yum install mingw32-gcc pkgconfig mingw32-glib2-static \
    41   mingw32-gettext-static mingw32-iconv-static
    42 % ./configure --host=i686-w64-mingw32 --disable-shared \
    43   --bindir=/bookloupe --datadir=/
    44 % make
    45 % mkdir build
    46 % make install DESTDIR=`pwd`/build
    47 
    48 The contents of the build/bookloupe directory can then be copied to a
    49 Microsoft Windows machine.
    50 
    51 Depending on the version of mingw32-gcc you use, you may need to specify a
    52 different host type. If you're not sure look and see what the cross-compiler
    53 is called (eg., i686-pc-mingw32-gcc) and use the prefix as the host type.
    54 
    55 Mac
    56 ---
    57 
    58 You will need the command line tools for any of the procedures described
    59 below. If you don't already have them, install Xcode (it's a free download).
    60 
    61 The least intrusive means to build on a Mac is to use Homebrew. However,
    62 Homebrew is not compatible with Fink so if you have previously used Fink
    63 then you need an alternative solution, such as MacPorts (see below).
    64 
    65 It may also be possible to use Fink itself.
    66 
    67 Mac using Homebrew
    68 ------------------
    69 
    70 http://mxcl.github.com/homebrew/
    71 
    72 Install Homebrew according to its instructions. If you already had Homebrew
    73 before, make sure it's all up to date and “raring to brew.” For that, you
    74 want to run:
    75 
    76 $ brew update
    77 
    78 and
    79 
    80 $ brew doctor
    81 
    82 from your terminal.
    83 
    84 If you are building bookloupe for your own use, you can use dynamic linking
    85 like this:
    86 
    87 $ brew install glib
    88 
    89 and then install bookloupe using:
    90 
    91 $ ./configure
    92 $ make
    93 $ make install
    94 
    95 If you want to build bookloupe for other people to use, you will probably
    96 want to link staticly. To do this you need to edit the formula for glib
    97 and each of its dependencies (gettext and libffi) using something like:
    98 
    99 $ brew edit gettext
   100 
   101 Each time find the args statement which includes --prefix and insert
   102 --disable-shared,for example change:
   103 
   104 args = ["--disable-dependency-tracking", "--disable-rebuilds",
   105            "--prefix=#{prefix}",
   106            "--disable-dtrace"]
   107 
   108 to
   109 
   110 args = ["--disable-dependency-tracking", "--disable-rebuilds",
   111            "--disable-shared",
   112            "--prefix=#{prefix}",
   113            "--disable-dtrace"]
   114 
   115 and then
   116 
   117 $ brew install glib
   118 
   119 before installing bookloupe as normal, but with the extra flag to configure:
   120 
   121 $ ./configure --disable-shared
   122 $ make
   123 $ make install
   124 
   125 Note that if you have previously used dynamic linking this may not work.
   126 (Homebrew doesn't seem to create .la files in a form that libtool can use
   127 when it is asked to prefer static libraries to dynamic ones.) Removing the
   128 dynamic libraries first will solve this problem.
   129 
   130 Mac using MacPorts
   131 ------------------
   132 
   133 Install MacPorts from http://www.macports.org/.
   134 
   135 Install pkgconfig (required to build glib) and then glib itself:
   136 
   137 $ sudo port install pkgconfig
   138 $ sudo port install glib2
   139 
   140 Then install bookloupe as normal, telling configure where to find glib's
   141 package configuration file:
   142 
   143 $ ./configure PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
   144 $ make
   145 $ make install