9604e75 by Philip Van Hoof at 2006-11-19 1
iconv-detect.h
2
--------------
3
4
Note: Unless you are cross compiling, this probably isn't needed
5
6
When cross compiling there's one difficulty: the iconv-detect.h file in
7
libtinymail-camel/camel-lite/ which is a file that must be generated.
8
9
In case the normal configure script fails at creating this, you can or
10
checking m4/ticonv.m4 to figure out why it's failing, or put a file in
11
it manually.
12
13
You can generate one doing this on the target platform:
14
15
cd libtinymail-camel/camel-lite
16
gcc -DCONFIGURE_AC iconv-detect.c -o iconv-detect
17
./iconv-detect
18
cat iconv-detect.h
19
cd ../..
20
21
This is by the way basically the procedure that ticonv.m4 will do too.
22
23
Feel free to contribute a good detection that will always work with all
24
cross compilation situations.
04b62b0 by Philip Van Hoof at 2006-07-26 25
26
One laptop per child
27
--------------------
28
29
= On a x86 desktop =
30
31
32
svn co https://svn.tinymail.org/svn/tinymail
33
cd tinymail/trunk
cf19355 by Philip Van Hoof at 2007-12-30 34
./autogen.sh --prefix=/opt/tinymail-olpc --with-platform=olpc \
35
	--enable-imap-part-fetch
04b62b0 by Philip Van Hoof at 2006-07-26 36
make && make install
37
d486b86 by Philip Van Hoof at 2006-10-17 38
Now simply copy /opt/tinymail-olpc to the device
04b62b0 by Philip Van Hoof at 2006-07-26 39
864b8fd by Philip Van Hoof at 2006-07-26 40
Mount the image on /media/OLPCRoot
41
42
cp -a /opt/tinymail-olpc /media/OLPCRoot/opt/
43
44
04b62b0 by Philip Van Hoof at 2006-07-26 45
Maemo
46
-----
47
48
= Outside scratchbox =
49
50
cd /scratchbox/users/$USER/home/$USER/
51
svn co https://svn.tinymail.org/svn/tinymail
52
53
= Inside an ARMEL scratchbox =
54
55
cd tinymail/trunk
d486b86 by Philip Van Hoof at 2006-10-17 56
./autogen.sh --prefix=/opt/tinymail-maemo --with-platform=maemo
04b62b0 by Philip Van Hoof at 2006-07-26 57
make && make install
58
d486b86 by Philip Van Hoof at 2006-10-17 59
Now simply copy /opt/tinymail-maemo to the device
04b62b0 by Philip Van Hoof at 2006-07-26 60
e48a084 by Philip Van Hoof at 2006-11-02 61
GPE
62
---
63
64
svn co https://svn.tinymail.org/svn/tinymail
65
cd tinymail/trunk
cf19355 by Philip Van Hoof at 2007-12-30 66
./autogen.sh --prefix=/opt/tinymail --with-platform=gpe \
67
	--enable-imap-part-fetch
e48a084 by Philip Van Hoof at 2006-11-02 68
make && make install
69
70
Now run /opt/tinymail/bin/tinymail
04b62b0 by Philip Van Hoof at 2006-07-26 71
72
A desktop
73
---------
74
7fae6f2 by Philip Van Hoof at 2006-11-14 75
For dependencies per distribution, check out requirements.txt
76
04b62b0 by Philip Van Hoof at 2006-07-26 77
svn co https://svn.tinymail.org/svn/tinymail
78
cd tinymail/trunk
cf19355 by Philip Van Hoof at 2007-12-30 79
./autogen.sh --prefix=/opt/tinymail \
80
	--enable-imap-part-fetch
04b62b0 by Philip Van Hoof at 2006-07-26 81
make && make install
82
83
Now run /opt/tinymail/bin/tinymail
84
0f03cb3 by Philip Van Hoof at 2006-11-02 85
Creating the test-account for GPE, Maemo en Desktop builds
86
----------------------------------------------------------
87
68ae23e by Philip Van Hoof at 2006-11-14 88
Note that this information is specific for the following platform specific
89
implementations:
90
91
	o. libtinymail-gnome-desktop
92
	o. libtinymail-gpe
93
	o. libtinymail-maemo
94
95
Note that it's the developer who develops on top of tinymail who decides about
96
where to put and how to store configuration. This configuration will work for
97
clients that use the standard TnyAccountStore implementations.
98
99
For example the libtinymail-olpc implementation uses a .ini file in stead of
100
GConf. That's because the OLPC laptop doesn't come with GConf. GConf is not
101
a requirement of the tinymail framework. It's an optional method for storing
102
configuration data.
103
104
The demo user interfaces are all demos. They are not intented to be full
105
E-mail clients or PIM suites. It's you, the application developer, who's going
106
to make that using tinymail. Right?
107
0f03cb3 by Philip Van Hoof at 2006-11-02 108
gconftool-2 -s /apps/tinymail/accounts/count -t int 1
109
gconftool-2 -s /apps/tinymail/accounts/0/name -t string "Test account"
110
gconftool-2 -s /apps/tinymail/accounts/0/proto -t string "imap"
111
gconftool-2 -s /apps/tinymail/accounts/0/type -t string "store"
112
gconftool-2 -s /apps/tinymail/accounts/0/hostname -t string "mail.tinymail.org"
113
gconftool-2 -s /apps/tinymail/accounts/0/user -t string "tinymailunittest"
04b62b0 by Philip Van Hoof at 2006-07-26 114
5a8c21a by Philip Van Hoof at 2006-11-02 115
ps. The password is "unittest"
116
f5d4f83 by Philip Van Hoof at 2006-11-12 117
118
The make distcheck target
119
-------------------------
120
./autogen.sh --prefix=/opt/tinymail --with-html-component=mozembed \
cf19355 by Philip Van Hoof at 2007-12-30 121
	--enable-gtk-doc --enable-tests --enable-imap-part-fetch
f5d4f83 by Philip Van Hoof at 2006-11-12 122
make
123
make distcheck
124
404df7b by Philip Van Hoof at 2006-11-12 125
For packagers
126
-------------
127
Read packagers.txt
68ae23e by Philip Van Hoof at 2006-11-14 128
129
Dependencies
130
------------
131
Read requirements.txt
132
654641d by Philip Van Hoof at 2007-05-17 133
For debugging
134
-------------
213f00d by Philip Van Hoof at 2007-10-18 135
136
-DDEBUG
137
138
The DEBUG define will enable IMAP, POP, NNTP and SMTP debugging. If you compile
139
with this define you'll see some of the traffic on your stdout.
140
54e715a by Philip Van Hoof at 2007-12-23 141
CFLAGS="-DDEBUG -DDBC -D_GNU_SOURCE -O0 -Wall -g -ggdb" ./autogen.sh \
cf19355 by Philip Van Hoof at 2007-12-30 142
	--prefix=/opt/tinymail --enable-tests --enable-unit-tests \
143
	--enable-imap-part-fetch && \
363a073 by Philip Van Hoof at 2007-08-08 144
	 make && sudo make install
654641d by Philip Van Hoof at 2007-05-17 145
213f00d by Philip Van Hoof at 2007-10-18 146
-DMERGEFOLDERTEST
147
148
The mergefolder test will add a merge folder to each parent folder that has 
149
more than two subfolders, it takes the first and the second folder and 
150
creates a subfolder called MERGE TESTER that merges these two folders together.
151
152
6958e33 by Philip Van Hoof at 2007-07-10 153
Other commonly used CFLAGS
154
--------------------------
363a073 by Philip Van Hoof at 2007-08-08 155
export CFLAGS="-DDEBUG -DDBC -O0 -g -ggdb"
6958e33 by Philip Van Hoof at 2007-07-10 156
3d11741 by Philip Van Hoof at 2007-06-15 157
Typical for development
158
-----------------------
363a073 by Philip Van Hoof at 2007-08-08 159
CFLAGS="-DDEBUG -DDBC -O0 -Wstrict-prototypes -Wall -g -ggdb" ./autogen.sh --prefix=/opt/tinymail \
cf19355 by Philip Van Hoof at 2007-12-30 160
	--with-platform=maemo --with-ssl=openssl --enable-imap-part-fetch \
161
	&& make && make install
3d11741 by Philip Van Hoof at 2007-06-15 162
163
You typically compile E-mail clients this way now:
164
PKG_CONFIG_PATH=/opt/tinymail/lib/pkgconfig/ ./autogen --prefix=/opt/myclient --with-platform=maemo
165
ca06eb9 by Philip Van Hoof at 2007-06-06 166
SSL support
167
-----------
168
If you want to build with support for SSL, you can either choose for Mozilla's NSS or OpenSSL:
169
3d11741 by Philip Van Hoof at 2007-06-15 170
  Default               Detect NSS and if available, use it
171
  --with-ssl=nss        Use NSS
172
  --with-ssl=openssl    Use OpenSSL
ca06eb9 by Philip Van Hoof at 2007-06-06 173
  --with-ssl=none       Do NOT detect any SSL, and DON'T use it
174
3d11741 by Philip Van Hoof at 2007-06-15 175
363a073 by Philip Van Hoof at 2007-08-08 176
-- Building Modest --
177
#
178
## Outside scratchbox
179
#
180
cd /scratchbox/users/$USER/home/$USER
181
mkdir repos
182
cd repos
183
svn co https://svn.tinymail.org/svn/tinymail/trunk tinymail
184
svn co https://garage.maemo.org/svn/modest/maemo-providers-data maemo-providers-data   
185
svn co https://garage.maemo.org/svn/modest/libwpeditor-plus/trunk libwpeditor-plus 
186
svn co https://garage.maemo.org/svn/modest/modest/trunk modest
187
/scratchbox/login
188
189
#
190
## Inside scratchbox
191
#
192
cd $HOME/repos/tinymail
193
CFLAGS="-DDEBUG -DDBC -O0 -g -ggdb" ./autogen.sh --with-ssl=openssl --prefix=/opt/tinymail \
194
	--with-platform=maemo
cf19355 by Philip Van Hoof at 2007-12-30 195
196
# Modest does not yet support --enable-imap-part-fetch correctly
197
363a073 by Philip Van Hoof at 2007-08-08 198
make && make install
199
200
cd $HOME/repos/maemo-providers-data
201
./autogen.sh && ./configure --prefix=/opt/modest
202
make && make install
203
204
cd $HOME/libwpeditor-plus
205
./autogen.sh && ./configure --prefix=/opt/modest
206
make && make install
207
208
cd $HOME/repos/modest
209
PKG_CONFIG_PATH=/opt/tinymail/lib/pkgconfig:/opt/modest/lib/pkgconfig ./autogen.sh \
210
	--prefix=/opt/modest --with-platform=maemo
211
make && make install
212
213
#
214
## Deploying to your N800
215
##
216
cd /opt
217
sb~$ tar zcvf tny-mdst.tar.gz tinymail/ modest/
218
sb~$ mv tny-mdst.tar.gz /tmp
219
host~$ scp /tmp/tny-mdst.tar.gz root@yourdevice:
220
yourdevice~# cd /opt
221
yourdevice/opt# tar zxvf /root/tny-mdst.tar.gz
222
yourdevice~$ run-standalone.sh /opt/modest/bin/modest showui
223
224
Installing a debugger on a N800
225
-------------------------------
226
Read this documentation:
227
http://tinymail.org/trac/tinymail/wiki/RecentGdbN800
228
229
e71ea96 by Philip Van Hoof at 2007-12-05 230
Experimental features
231
---------------------
232
On demand fetching parts, in stead of always fetching the entire message:
233
Use the --enable-imap-part-fetch ./configure option to enable this feature
363a073 by Philip Van Hoof at 2007-08-08 234