README
author ali <ali@juiblex.co.uk>
Fri Sep 20 23:41:09 2013 +0100 (2013-09-20)
changeset 92 a372c494d541
parent 19 05d082ebf685
child 93 3170a7cd7858
permissions -rw-r--r--
Fix bug #5: Cannot install on a Mac
     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 The least intrusive means to build on a Mac is to use Homebrew. However,
    59 Homebrew is not compatible with fink so if you have previously used fink
    60 then you need an alternative solution, such as MacPorts (see below).
    61 
    62 It may also be possible to use fink itself.
    63 
    64 Mac using Homebrew
    65 ------------------
    66 
    67 http://mxcl.github.com/homebrew/
    68 
    69 Install Homebrew according to its instructions.
    70 
    71 If you are building bookloupe for your own use, you can use dynamic linking
    72 like this:
    73 
    74 $ brew install glib
    75 
    76 and then install bookloupe using:
    77 
    78 $ ./configure
    79 $ make
    80 $ make install
    81 
    82 If you want to build bookloupe for other people to use, you will probably
    83 want to link staticly. To do this you need to edit the formula for glib
    84 and each of its dependencies (gettext and libffi) using something like:
    85 
    86 $ brew edit gettext
    87 
    88 Each time find the args statement which includes --prefix and insert
    89 --disable-shared,for example change:
    90 
    91 args = ["--disable-dependency-tracking", "--disable-rebuilds",
    92            "--prefix=#{prefix}",
    93            "--disable-dtrace"]
    94 
    95 to
    96 
    97 args = ["--disable-dependency-tracking", "--disable-rebuilds",
    98            "--disable-shared",
    99            "--prefix=#{prefix}",
   100            "--disable-dtrace"]
   101 
   102 and then
   103 
   104 $ brew install glib
   105 
   106 before installing bookloupe as normal, but with the extra flag to configure:
   107 
   108 $ ./configure --disable-shared
   109 $ make
   110 $ make install
   111 
   112 Note that if you have previously used dynamic linking this may not work.
   113 (Homebrew doesn't seem to create .la files in a form that libtool can use
   114 when it is asked to prefer static libraries to dynamic ones.) Removing the
   115 dynamic libraries first will solve this problem.
   116 
   117 Mac using MacPorts
   118 ------------------
   119 
   120 Install MacPorts from http://www.macports.org/.
   121 
   122 Install pkgconfig (required to build glib) and then glib itself:
   123 
   124 $ sudo port install pkgconfig
   125 $ sudo port install glib2
   126 
   127 Then install bookloupe as normal, telling configure where to find glib's
   128 package configuration file:
   129 
   130 $ ./configure PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
   131 $ make
   132 $ make install