root/trunk/README

Revision 3552 (checked in by pvanhoof, 5 months ago)

Small test

Line 
1 About
2 =====
3
4 Project tinymail is an attempt to create an E-mail client framework for small
5 devices.
6
7 Documentation
8 =============
9
10 Online :
11
12 API reference manual per API version: http://tinymail.org/API/
13 Development website and info: http://tinymail.org/trac/tinymail
14 Marketing documentation & contact: http://tinymail.org
15
16 To generate the API documentation yourself:
17
18 ./autogen.sh --enable-gtk-doc --enable-tests && make
19 ./autogen.sh --enable-doxygen && make
20
21 Your documentation will be generated in docs/devel/reference and
22 docs/devel/doxygen. Tinymail being glib/gobject based will give you the best
23 results when using gtk-doc for API documentation generation.
24
25 Development tips
26 ================
27 You can find the Check unit test framework at http://check.sourceforge.net/
28 You'll need it if you build with --enable-unit-tests which will compile the
29 unit tests. Check the sources of the unit tests for more information.
30
31 It's highly recommended to set the CFLAGS environment to include -DDEBUG and
32 -DDBC: CFLAGS="-DDBC -DDEBUG" ./autogen.sh --enable-unit-tests ....
33
34 The DBC define will enable Design By Contract assertions, the DEBUG define will
35 enable certain debugging checks, assertions, features and messages.
36
37 Run all unit tests with 'make check'.
38
39 Building tips
40 =============
41
42 Checkout docs/building.txt
43
44 You can set the CFLAGS="-DDEVEL" environment variable to enable a debug build.
45
46 For building from repository source code, you simply do something like this:
47
48 ./autogen.sh --prefix=/opt/tinymail
49 make
50 make install
51
52 You can use --enable-gtk-doc to build API documentation in docs/devel/reference
53 You can use --enable-gnome=no/yes to disable or enable some GNOME features.
54 You can use --with-html-component=COMPONENT to select which HTML component to
55 use. There's also the option "none" to build no HTML component.
56
57 Packager tips
58 =============
59
60 You can use make dist, make distcheck and make distclean for distribution
61 building and package preparations. You can of course use --prefix and all other
62 typical autotools settings and configuration flags.
63
64 Supported platforms & devices
65 =============================
66
67   o. One Laptop Per Child platform (OLPC)
68   o. Maemo platform (For example for the Nokia 770)
69   o. GPE platform (For example for PocketPC)
70   o. GNOME desktop platform
71
72 Information for developers who would like to tryout the demo user interface:
73 ============================================================================
74
75 This information only applies to the desktop support of tinymail!
76
77 The libtinymail-gnome-desktop is an implementation that will work on a typical
78 GNOME desktop. It has been tested on Ubuntu Breezy, Dapper and on Fedora Core 4
79 and 5.
80
81 It uses GConf for storing the account settings, it can use gnome-keyring and
82 GnomePasswordDialog for password management. It can also use build-in infrast-
83 ructure for password handling. It can use GnomeVFS and normal FILE operations.
84 It can use a GtkMozEmbed HTML component (which is not recommended). It can
85 (soon) also use a GtkHTML HTMl component (recommended).
86
87 To disable GnomeVFS, icon lookups using the MIME-type, GnomePasswordDialog and
88 gnome-keyring, you use the --enable-gnome=no compilation option during the
89 ./autogen.sh or ./configure.
90
91 To select the HTML component you use the --with-html-component=COMPONENT
92 option. Possible values for COMPONENT are mozembed, none and gtkhtml.
93
94 If you want to create a test account, use something like this. You should also
95 take a look at tny-account-store.c in libtinymail-gnome-desktop. Please note
96 that *this* example does *not* mean that *all* tinymail-using applications will
97 be configurable using this method! This method is for the demo-ui only!
98
99 gconftool-2 -s /apps/tinymail/cache_dir -t string .tinymail
100 gconftool-2 -s /apps/tinymail/accounts/count -t int 1
101 gconftool-2 -s /apps/tinymail/accounts/0/name -t string "Account name"
102 gconftool-2 -s /apps/tinymail/accounts/0/proto -t string imap
103 gconftool-2 -s /apps/tinymail/accounts/0/type -t string store
104 gconftool-2 -s /apps/tinymail/accounts/0/user -t string [username]
105 gconftool-2 -s /apps/tinymail/accounts/0/hostname -t string [mailserver]
106
107 To use SSL (other values are "tls" - recommended - and "never"):
108
109 gconftool-2 -s /apps/tinymail/accounts/0/options -t list --list-type=string '[use_ssl=wrapped]'
110
111 Distribution specific: also check out requirements.txt
112 ------------------------------------------------------
113
114 Ubuntu Breezy & Dapper
115 ----------------------
116
117 Required Packages
118
119   gnome-devel
120   subversion
121   firefox-dev
122   libcamel1.2-dev or install camel-lite via camel-lite-builder
123   libnm-glib-0-dev
124   automake-1.7
125
126 Building
127
128   Both Ubuntu Breezy & Dapper support the default ./autogen.sh && make && make
129   install. Provided you installed the above packages.
130
131 Dependencies
132
133   If you want the unit tests, check above at the Development tips section. You
134   can find a URL to Check. There's often also Debian packages that will work
135   with Ubuntu Dapper & Breezy (and maybe/probably also with newer versions of
136   both the Debian and Ubuntu distributions).
137
138  If you want the Python bindings: python-gtk2-dev, python2.4-dev
139
140 Ubuntu Edgy Eft & Debian
141 ------------------------
142
143 See Ubuntu Breezy and Dapper above
144
145 Packages
146   The debian/ directory contains ready to use packaging scripts for a desktop
147   configuration. To compile packages, run ./autogen.sh and then start the
148   packaging script with for example 'dpkg-buildpackage -rfakeroot'.
149
150 Fedora Core 4 & 5
151 -----------------
152
153 Required Packages
154
155   Subversion
156   gnome-common
157   evolution-data-server-devel
158   NetworkManager-devel
159   NetworkManager-glib
160   NetworkManager-glib-devel
161   gnome-keyring-devel
162   automake-1.7
163
164 Building
165  
166   Use --with-html-component=none to disable building any HTML component. Because
167   Fedora Core 4 uses a quite old gnome-keyring API, it's recommended to also use
168   --enable-gnome=no when building on Fedora Core 4.
169
170 Dependencies
171
172   If you want the unit tests, check above at the Development tips section. You
173   can find a URL to Check sources.
174
175
Note: See TracBrowser for help on using the browser.