README
author ali <ali@juiblex.co.uk>
Mon Jan 30 23:32:47 2012 +0000 (2012-01-30)
changeset 11 4a80c6053a66
parent 6 faab25d520dd
child 19 05d082ebf685
permissions -rw-r--r--
Use Unicode output on MS-Windows consoles
     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 MSYS (http://www.mingw.org/wiki/MSYS) to build
    32 on a Windows machine. You'll need a copy of the development package for
    33 glib and its dependencies from http://www.gtk.org/download/win32.php.
    34 
    35 It's much easier to build using a cross-compiler from Linux, if you have
    36 access to such a system. Under Fedora, RHEL and friends you can do this
    37 with:
    38 
    39 % sudo yum install mingw32-gcc pkgconfig mingw32-glib2-static \
    40   mingw32-gettext-static mingw32-iconv-static
    41 % ./configure --host=i686-w64-mingw32 --disable-shared \
    42   --bindir=/bookloupe --datadir=/
    43 % make
    44 % mkdir build
    45 % make install DESTDIR=`pwd`/build
    46 
    47 The contents of the build/bookloupe directory can then be copied to a
    48 Microsoft Windows machine.
    49 
    50 Depending on the version of mingw32-gcc you use, you may need to specify a
    51 different host type. If you're not sure look and see what the cross-compiler
    52 is called (eg., i686-pc-mingw32-gcc) and use the prefix as the host type.
    53 
    54 Mac
    55 ---
    56 
    57 The least intrusive means to build on a Mac is to use Homebrew:
    58 
    59 http://mxcl.github.com/homebrew/
    60 
    61 Install Homebrew according to its instructions.
    62 
    63 If you are building bookloupe for your own use, you can use dynamic linking
    64 like this:
    65 
    66 $ brew install glib
    67 
    68 and then install bookloupe using:
    69 
    70 $ ./configure
    71 $ make
    72 $ make install
    73 
    74 If you want to build bookloupe for other people to use, you will probably
    75 want to link staticly. To do this you need to edit the formula for glib
    76 and each of its dependencies (gettext and libffi) using something like:
    77 
    78 $ brew edit gettext
    79 
    80 Each time find the args statement which includes --prefix and insert
    81 --disable-shared,for example change:
    82 
    83 args = ["--disable-dependency-tracking", "--disable-rebuilds",
    84            "--prefix=#{prefix}",
    85            "--disable-dtrace"]
    86 
    87 to
    88 
    89 args = ["--disable-dependency-tracking", "--disable-rebuilds",
    90            "--disable-shared",
    91            "--prefix=#{prefix}",
    92            "--disable-dtrace"]
    93 
    94 and then
    95 
    96 $ brew install glib
    97 
    98 before installing bookloupe as normal, but with the extra flag to configure:
    99 
   100 $ ./configure --disable-shared
   101 $ make
   102 $ make install
   103 
   104 Note that if you have previously used dynamic linking this may not work.
   105 (Homebrew doesn't seem to create .la files in a form that libtool can use
   106 when it is asked to prefer static libraries to dynamic ones.) Removing the
   107 dynamic libraries first will solve this problem.
   108 
   109 It may also be possible to use fink or macports.