Correct build when nss/nspr do not provide pkg-config files
[evolution.git] / README
blob9be805c7cacbf266f8e25242861a8846706f82df
1 Evolution is the integrated mail, calendar and address book suite from
2 the Evolution Team.
4 See https://wiki.gnome.org/Apps/Evolution for more information.
6 If you are using Evolution, you may wish to subscribe to the Evolution
7 users mailing list.  If you are interested in contributing to
8 development on it, you should certainly subscribe to the Evolution
9 Hackers mailing list.  Visit
11         https://mail.gnome.org/mailman/listinfo
13 to subscribe or view archives of the Evolution mailing lists.
15 If you are planning to work on any part of Evolution, please send mail
16 to the mailing list first, to avoid duplicated effort (and to make
17 sure that you aren't basing your work on interfaces that are expected
18 to change).
20 There is also a #evolution IRC channel on irc.gnome.org.
22 Help for Evolution is available in the user manual (select "Help" from
23 the menu after running the application), at the GNOME users help site
24 (https://help.gnome.org/users/evolution/stable/), and in the --help strings
25 (run "evolution --help" at the command line).
27 The rest of this file is dedicated to building Evolution.
30 DEPENDENCIES
31 ------------
33 In order to build Evolution you need to have the full set of GNOME 3
34 (or greater) development libraries installed.
36 GNOME 3 or greater comes with most of the modern distributions, so
37 in most cases it should be enough to just install all the devel
38 packages from your distribution.
40 Please make sure you have the most recent versions of the libraries
41 installed, since bugs in the libraries can cause bugs in Evolution.
43 Additional dependencies, besides the stock GNOME libraries (the
44 dependencies should be compiled in the order they are listed here):
46         * evolution-data-server of the same version as the Evolution is
48              ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server
50         * libsoup 2.42 or later
52              ftp://ftp.gnome.org/pub/gnome/sources/libsoup
54         * WebKitGTK+ 2.13.0
56              http://webkitgtk.org/releases/
58         * Mozilla NSPR/NSS libraries
60           These are needed if you want to compile Evolution with SSL and S/MIME
61           support.
63              http://www.mozilla.org/
65           Many distributions ship these as Mozilla development
66           packages.
68 Other dependencies are claimed during the configure phase. If these are
69 optional, also a parameter for the CMake configure to not use that dependency
70 is shown.
72 CONFIGURING EVOLUTION
73 ---------------------
75 First you have to decide whether you want to install Evolution (and
76 its dependencies) into the same prefix as the rest of your GNOME
77 install, or into a new prefix.
79 Installing everything into the same prefix as the rest of your GNOME
80 install will make it much easier to build and run programs, and easier
81 to switch between using packages and building it yourself, but it may
82 also make it harder to uninstall later.  Also, it increases the chance
83 that something goes wrong and your GNOME installation gets ruined.
85 If you want to install in a different prefix, you need to do the
86 following things:
88         * Set the environment variables to contain a colon-separated list
89           of all the directories that will be involved in the build.
90           The environment variables are ACLOCAL_FLAGS, GSETTINGS_SCHEMA_DIR,
91           LD_LIBRARY_PATH, PATH and PKG_CONFIG_PATH.
93           For example, if you have GNOME installed in /usr and you
94           are installing Evolution and its dependencies in
95           /opt/evolution, you want to do something like the following
96           (assuming you are using Bash):
98                 export ACLOCAL_FLAGS="-I /opt/evolution/share/aclocal"
99                 export GSETTINGS_SCHEMA_DIR="/opt/evolution/share/glib-2.0/schemas"
100                 export LD_LIBRARY_PATH=/opt/evolution/lib:$LD_LIBRARY_PATH
101                 export PATH=/opt/evolution/bin:$PATH
102                 export PKG_CONFIG_PATH=/opt/evolution/lib/pkgconfig:$PKG_CONFIG_PATH
104         * Edit the D-Bus session-local.conf file (which is normally
105           search for by D-Bus in /etc/dbus-1/) to include the
106           location where you are installing Evolution.
108           In the example given above (GNOME in /usr, Evolution and
109           dependencies in /opt/evolution), your
110           session-local.conf will have to look like this:
112                 <!DOCTYPE busconfig PUBLIC
113                  "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
114                  "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
115                 <busconfig>
116                   <!-- Search for .service files in /usr/local -->
117                   <servicedir>/opt/evolution/share/dbus-1/services</servicedir>
118                 </busconfig>
120         * Pass an appropriate CMAKE_INSTALL_PREFIX parameter to the configure
121           scripts of Evolution and its dependencies, eg:
123                 cd ..../sources/evolution
124                 mkdir build
125                 cd build
126                 cmake -G "Unix Makefiles" \
127                       -DCMAKE_INSTALL_PREFIX=/opt/evolution \
128                       -DCMAKE_BUILD_TYPE=Release \
129                       ..
131         * Run `cmake --help` to get list of available generators (the -G argument)
132           on your platform.
134 OPTIONAL FEATURES
135 -----------------
137 Some optional features can be enabled at compilation time by passing
138 appropriate flags to the CMake. These options are shown at the end
139 of the successful configure phase.
141 BUILDING EVOLUTION
142 ------------------
144 After the Evolution is properly configured, run:
146                 make -j
147                 make -j install
149 to build it.