README
author ali <ali@juiblex.co.uk>
Thu May 30 19:26:24 2013 +0100 (2013-05-30)
changeset 73 cffa80824f8c
parent 10 f28ad4577863
child 95 d13e2582c2b5
permissions -rw-r--r--
Use SetConsoleOutputCP() under MS-Windows
ali@5
     1
                                   bookloupe
ali@5
     2
                                   =========
ali@0
     3
ali@0
     4
General installation instructions can be found in INSTALL. The following
ali@0
     5
aim to give a quick overview and some help for specific systems. Documentation
ali@5
     6
for bookloupe itself can be found in doc/bookloupe.txt and for the test
ali@5
     7
framework in doc/loupe-test.txt.
ali@0
     8
ali@0
     9
Linux
ali@0
    10
-----
ali@0
    11
ali@0
    12
You should be able to use the standard:
ali@0
    13
ali@0
    14
% ./configure
ali@0
    15
% make
ali@0
    16
% sudo make install
ali@0
    17
ali@0
    18
If you get an error about no package 'glib-2.0' found, then you need to
ali@0
    19
install the development package for glib2. Under Fedora, RHEL and friends
ali@0
    20
that would be:
ali@0
    21
ali@0
    22
% sudo yum install gcc pkgconfig glib2-devel
ali@0
    23
ali@0
    24
Under Debian, Ubuntu and friends that would be:
ali@0
    25
ali@0
    26
% sudo apt-get install gcc pkgconfig glib2-devel
ali@0
    27
ali@0
    28
Microsoft Windows
ali@0
    29
-----------------
ali@0
    30
ali@19
    31
It should be possible to use either MSYS (http://www.mingw.org/wiki/MSYS)
ali@19
    32
or cygwin (http://www.cygwin.com/) to build on a Windows machine. You'll
ali@19
    33
need a copy of the development package for glib and its dependencies
ali@19
    34
from http://www.gtk.org/download/win32.php.
ali@0
    35
ali@0
    36
It's much easier to build using a cross-compiler from Linux, if you have
ali@0
    37
access to such a system. Under Fedora, RHEL and friends you can do this
ali@0
    38
with:
ali@0
    39
ali@0
    40
% sudo yum install mingw32-gcc pkgconfig mingw32-glib2-static \
ali@0
    41
  mingw32-gettext-static mingw32-iconv-static
ali@0
    42
% ./configure --host=i686-w64-mingw32 --disable-shared \
ali@5
    43
  --bindir=/bookloupe --datadir=/
ali@0
    44
% make
ali@0
    45
% mkdir build
ali@0
    46
% make install DESTDIR=`pwd`/build
ali@0
    47
ali@5
    48
The contents of the build/bookloupe directory can then be copied to a
ali@0
    49
Microsoft Windows machine.
ali@0
    50
ali@0
    51
Depending on the version of mingw32-gcc you use, you may need to specify a
ali@0
    52
different host type. If you're not sure look and see what the cross-compiler
ali@0
    53
is called (eg., i686-pc-mingw32-gcc) and use the prefix as the host type.
ali@0
    54
ali@0
    55
Mac
ali@0
    56
---
ali@0
    57
ali@10
    58
The least intrusive means to build on a Mac is to use Homebrew:
ali@0
    59
ali@10
    60
http://mxcl.github.com/homebrew/
ali@0
    61
ali@10
    62
Install Homebrew according to its instructions.
ali@10
    63
ali@10
    64
If you are building bookloupe for your own use, you can use dynamic linking
ali@10
    65
like this:
ali@10
    66
ali@10
    67
$ brew install glib
ali@10
    68
ali@10
    69
and then install bookloupe using:
ali@10
    70
ali@10
    71
$ ./configure
ali@10
    72
$ make
ali@10
    73
$ make install
ali@10
    74
ali@10
    75
If you want to build bookloupe for other people to use, you will probably
ali@10
    76
want to link staticly. To do this you need to edit the formula for glib
ali@10
    77
and each of its dependencies (gettext and libffi) using something like:
ali@10
    78
ali@10
    79
$ brew edit gettext
ali@10
    80
ali@10
    81
Each time find the args statement which includes --prefix and insert
ali@10
    82
--disable-shared,for example change:
ali@10
    83
ali@10
    84
args = ["--disable-dependency-tracking", "--disable-rebuilds",
ali@10
    85
           "--prefix=#{prefix}",
ali@10
    86
           "--disable-dtrace"]
ali@10
    87
ali@10
    88
to
ali@10
    89
ali@10
    90
args = ["--disable-dependency-tracking", "--disable-rebuilds",
ali@10
    91
           "--disable-shared",
ali@10
    92
           "--prefix=#{prefix}",
ali@10
    93
           "--disable-dtrace"]
ali@10
    94
ali@10
    95
and then
ali@10
    96
ali@10
    97
$ brew install glib
ali@10
    98
ali@10
    99
before installing bookloupe as normal, but with the extra flag to configure:
ali@10
   100
ali@10
   101
$ ./configure --disable-shared
ali@10
   102
$ make
ali@10
   103
$ make install
ali@10
   104
ali@10
   105
Note that if you have previously used dynamic linking this may not work.
ali@10
   106
(Homebrew doesn't seem to create .la files in a form that libtool can use
ali@10
   107
when it is asked to prefer static libraries to dynamic ones.) Removing the
ali@10
   108
dynamic libraries first will solve this problem.
ali@10
   109
ali@10
   110
It may also be possible to use fink or macports.