Browse Source

Added KDE3 version of kvirc


git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kvirc@1095341 283d02a7-25f6-0310-bc7c-ecb5cbfe19
tpearson 9 years ago
commit
a6d58bb605
100 changed files with 28411 additions and 0 deletions
  1. 2280
    0
      ChangeLog
  2. 712
    0
      FAQ
  3. 753
    0
      INSTALL
  4. 95
    0
      Makefile.am
  5. 387
    0
      README
  6. 50
    0
      TODO
  7. 8761
    0
      acinclude.m4
  8. 910
    0
      aclocal.m4
  9. 164
    0
      autogen.sh
  10. 270
    0
      configure.in
  11. 6
    0
      data/Makefile.am
  12. 5
    0
      data/applnk/Makefile.am
  13. 18
    0
      data/applnk/kvirc.desktop
  14. 5
    0
      data/config/Makefile.am
  15. 1611
    0
      data/config/serverdb.kvc
  16. 39
    0
      data/config/texticons.kvc
  17. 11
    0
      data/defscript/Makefile.am
  18. 706
    0
      data/defscript/aliases.kvs
  19. 37
    0
      data/defscript/default.kvs
  20. 105
    0
      data/defscript/events.kvs
  21. 169
    0
      data/defscript/installer.kvs
  22. 1381
    0
      data/defscript/popups.kvs
  23. 30
    0
      data/defscript/theme-install.kvs
  24. 43
    0
      data/defscript/toolbars.kvs
  25. 2
    0
      data/deftheme/Makefile.am
  26. 5
    0
      data/deftheme/silverirc/Makefile.am
  27. BIN
      data/deftheme/silverirc/pixmapInputBackground.png
  28. BIN
      data/deftheme/silverirc/pixmapIrcViewBackground.png
  29. BIN
      data/deftheme/silverirc/pixmapUserListViewBackground.png
  30. 273
    0
      data/deftheme/silverirc/themedata.kvc
  31. 10
    0
      data/deftheme/silverirc/themeinfo.kvc
  32. 1
    0
      data/doctemplates/Makefile.am
  33. 60
    0
      data/doctemplates/ircintro.template
  34. 67
    0
      data/doctemplates/kvircintro.template
  35. 3312
    0
      data/doctemplates/rfc2812.template
  36. 5
    0
      data/helppics/Makefile.am
  37. BIN
      data/helppics/helplogoleft.png
  38. BIN
      data/helppics/helplogoright.png
  39. 5
    0
      data/icons/128x128/Makefile.am
  40. BIN
      data/icons/128x128/kva.png
  41. BIN
      data/icons/128x128/kvc.png
  42. BIN
      data/icons/128x128/kvirc.png
  43. BIN
      data/icons/128x128/kvs.png
  44. BIN
      data/icons/128x128/kvt.png
  45. 5
    0
      data/icons/16x16/Makefile.am
  46. BIN
      data/icons/16x16/kva.png
  47. BIN
      data/icons/16x16/kvc.png
  48. BIN
      data/icons/16x16/kvirc.png
  49. BIN
      data/icons/16x16/kvs.png
  50. BIN
      data/icons/16x16/kvt.png
  51. 6
    0
      data/icons/32x32/Makefile.am
  52. BIN
      data/icons/32x32/kva.png
  53. BIN
      data/icons/32x32/kvc.png
  54. BIN
      data/icons/32x32/kvirc.png
  55. 295
    0
      data/icons/32x32/kvirc.xpm
  56. BIN
      data/icons/32x32/kvs.png
  57. BIN
      data/icons/32x32/kvt.png
  58. 5
    0
      data/icons/48x48/Makefile.am
  59. BIN
      data/icons/48x48/kva.png
  60. BIN
      data/icons/48x48/kvc.png
  61. BIN
      data/icons/48x48/kvirc.png
  62. 311
    0
      data/icons/48x48/kvirc.xpm
  63. BIN
      data/icons/48x48/kvs.png
  64. BIN
      data/icons/48x48/kvt.png
  65. 5
    0
      data/icons/64x64/Makefile.am
  66. BIN
      data/icons/64x64/kvirc.png
  67. BIN
      data/icons/64x64/kvs.png
  68. 5
    0
      data/icons/Makefile.am
  69. 5
    0
      data/icons/scalable/Makefile.am
  70. 24
    0
      data/icons/scalable/createpng.sh
  71. BIN
      data/icons/scalable/kva.svgz
  72. BIN
      data/icons/scalable/kvc.svgz
  73. BIN
      data/icons/scalable/kvirc.svgz
  74. BIN
      data/icons/scalable/kvs.svgz
  75. BIN
      data/icons/scalable/kvt.svgz
  76. 3
    0
      data/man/Makefile.am
  77. 133
    0
      data/man/kvirc.1
  78. 5
    0
      data/mimelnk/Makefile.am
  79. 7
    0
      data/mimelnk/x-kva.desktop
  80. 7
    0
      data/mimelnk/x-kvc.desktop
  81. 7
    0
      data/mimelnk/x-kvs.desktop
  82. 7
    0
      data/mimelnk/x-kvt.desktop
  83. 5
    0
      data/msgcolors/Makefile.am
  84. 659
    0
      data/msgcolors/all-black.msgclr
  85. 659
    0
      data/msgcolors/all-gray.msgclr
  86. 659
    0
      data/msgcolors/all-green.msgclr
  87. 659
    0
      data/msgcolors/all-white.msgclr
  88. 659
    0
      data/msgcolors/colored-2.msgclr
  89. 659
    0
      data/msgcolors/colored.msgclr
  90. 659
    0
      data/msgcolors/default.msgclr
  91. 659
    0
      data/msgcolors/heavy-colors.msgclr
  92. 8
    0
      data/pics/Makefile.am
  93. 8
    0
      data/pics/coresmall/Makefile.am
  94. BIN
      data/pics/coresmall/kcs_accept.png
  95. BIN
      data/pics/coresmall/kcs_action.png
  96. BIN
      data/pics/coresmall/kcs_addons.png
  97. BIN
      data/pics/coresmall/kcs_afraid.png
  98. BIN
      data/pics/coresmall/kcs_alert.png
  99. BIN
      data/pics/coresmall/kcs_alias.png
  100. 0
    0
      data/pics/coresmall/kcs_aliashighlighted.png

+ 2280
- 0
ChangeLog
File diff suppressed because it is too large
View File


+ 712
- 0
FAQ View File

@@ -0,0 +1,712 @@
1
+1. PROJECT RELATED QUESTIONS
2
+
3
+1.1 What is KVIrc ? What the "KVIrc" name stands for ?
4
+1.2 Why KVIrc is not totally integrated in KDE ?
5
+
6
+
7
+2. COMPILATION 
8
+
9
+2.1 I can't compile kvirc from cvs, what's wrong?
10
+2.2 Internal Compiler Errors ?
11
+2.3 On Mandrake 10.0 (or other) KVIrc fails to start
12
+    saying that it can't find libkvisetup.so.
13
+2.4 I got 'amarokInterface.cpp:29:31: amarokInterface.moc: No such file or directory'. Whats going wrong?
14
+2.5 Configure complains about a missing libdl.so but I seem to have it
15
+
16
+
17
+3. INSTALLATION 
18
+
19
+3.1 There is a problem during package installation/creation
20
+     file /usr/share/services/irc.protocol from install
21
+     kvirc-version.package conflicts with file from package xxx
22
+
23
+
24
+4. IRC
25
+
26
+4.1 How do i join a channel ?
27
+4.2 How do i autojoin channels ?
28
+4.3 How do I enable automatic NickServ identification ?
29
+4.4 I can't see my national characters, what's wrong ?
30
+4.5 I can't connect to an IPV6 server, what's wrong ?
31
+4.6 /me doesn't support the '$' character, what's wrong ?
32
+4.7 /me doesn't support the '"' (double quote) character, what's wrong ?
33
+4.8 /me can't contain the ';' character, what's wrong ?
34
+4.9 I try to do a /whois on nick blah\ but i get the reply for blah (without the slash)
35
+4.10 What is AVATAR protocol ? Is there any documentation about it ?
36
+4.11 The log files seem to be saved randomly, when I open a log
37
+     I can see only a part of the text that actually should be there
38
+4.12 The DCC transfers seem to be interrupted after the first few bytes:
39
+     KVIrc says that the remote end has closed the connection.
40
+
41
+
42
+5. ADVANCED IRC FEATURES
43
+
44
+5.1 How do I connect to an SSL-enabled IRC server ?
45
+5.2 How do I use DCC over SSL ?
46
+5.3 Do I need a SSL certificate ?
47
+5.4 How do I create a SSL certificate ?
48
+5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong ?
49
+5.6 KVIrc crashes when a certificate is used under Windows, what's wrong ?
50
+5.7 How do I enable mircryption (encryption in general) for a specific channel ?
51
+5.8 How do I execute a process and send its output to a channel ?
52
+5.9 How do I keep channels and queries open after a disconnect ?
53
+5.10 I have an unreliable ISP connection but KVIrc takes a really long
54
+    time to detect a disconnection and reconnect.
55
+5.11 I'm in a LAN and KVIrc uses a wrong IP address in dcc transfers
56
+
57
+6. APPAREANCE
58
+
59
+6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong ?
60
+6.2 I don't see the channel popup menus anymore, what's wrong ?
61
+6.3 Does KVIrc support Themes?
62
+6.4 I hate all that colors, what can I do about it ?
63
+6.5 On Windows, how do I use firefox/opera/any_other_browser to open links instead of explorer ?
64
+
65
+
66
+7. CRASHES
67
+
68
+7.1 KVIrc crashes when the multiline text input is opened (obsolete)
69
+7.2 What the heck is a gdb stack trace and how do I get it ?
70
+7.3 KVIrc hangs up, but doesn't crash. How do i report debug informations ?
71
+7.4 KVIrc exits by itself or simply "disappears" without any apparent reason.
72
+7.5 KVIrc dies randomly and "Alarm Clock" is printed in the console
73
+7.6 KVIrc dies when using alias(identify){ identify password; }
74
+
75
+--------------------------------------------------------------------------------
76
+1. PROJECT RELATED QUESTIONS
77
+--------------------------------------------------------------------------------
78
+
79
+
80
+1.1 What is KVIrc ?
81
+
82
+   KVIrc is a cross-platform Internet Relay Chat client.
83
+   The name stands for K Visual Internet Relay Chat client.
84
+   The K prefix comes from the old times, when KVIrc was bound to the
85
+   KDE project and depended on the KDE libraries to run. Actually this
86
+   is not true anymore since KVIrc depends only on the Qt library from
87
+   TrollTech and runs also on platforms where KDE can't run.
88
+
89
+
90
+1.2 Why KVIrc is not totally integrated in KDE ?
91
+
92
+   First of all read the answer for question 1.1.
93
+   We could provide a more complete integration by the means of conditional
94
+   compilation but since it would require additional efforts to synchronize
95
+   the KVIrc sources with the KDE library changes we choose not to do it.
96
+   If you wish to contribute some code that better integrates KVIrc with
97
+   KDE you're welcome to do so: we will happily accept your patches as long
98
+   as you promise to mantain them :)
99
+
100
+
101
+--------------------------------------------------------------------------------
102
+2. COMPILATION
103
+--------------------------------------------------------------------------------
104
+
105
+2.1 I can't compile kvirc from svn, what's wrong?
106
+
107
+   Have you checked the requirements ?
108
+   *Carefully* read the INSTALL file that comes with the distribution:
109
+   it contains the informations to solve 95% of the problems that
110
+   you may encounter. You may also try digging in our mailing list
111
+   archive: many problems have been solved there.
112
+   If you still can't get it to work please either subscribe to the KVIrc
113
+   mailing list (see www.kvirc.net) and report the problem there or join #kvirc
114
+   on IRCNet and ask the channel members for a hint.
115
+
116
+
117
+2.2 Internal Compiler Errors ?
118
+
119
+   Compile errors like this:
120
+       In file [somefile]:[someline] internal error:
121
+   Segmentation fault
122
+   Please submit a full bug report,
123
+   with preprocessed source if appropriate.
124
+   See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
125
+
126
+   This error can have multiple reasons.
127
+   1) A compiler bug: my GCC 3.2 20020903 (default on RH 8.0) spits
128
+      out 5-6 of them daily. Usually it is solved by simply restarting the "make" command.
129
+      If it doesn't go away or if it gets really frequent and annoying you might try to upgrade the compiler.
130
+   2) A memory corruption: this is really frequent: one of your memory banks is spitting random bytes
131
+      sometimes. Usually the problems come out under heavy system load (kernel, KDE or kvirc compilation for example).
132
+      You can check for memory corruption by trying different RAM modules (or removing them one at a time to discover
133
+      the broken bank). You can also try a program called memtest and a kernel
134
+      patch that can force the broken memory banks to be ignored by the kernel (allocated permanently to a dummy kernel task).
135
+      These tools can be found by digging the web with your favorite search engine.
136
+   3) A deeper hardware problem: if upgrading the compiler and changing memory banks doesn't help then
137
+      it *might* be a deeper hardware problem: bus errors , faulty IDE (or SCSI) controller or even buggy CPU...
138
+      Well....
139
+
140
+
141
+2.3 On Mandrake 10.0 (or other) KVIrc fails to start
142
+    saying that it can't find libkvisetup.so.
143
+
144
+    Mandrake 10.0 default libtool package is broken. Either upgrade
145
+    the libtool package or try to run ./autogen.sh --bundled-libtool
146
+    and then recompile (./configure, make, make install).
147
+    This *might* apply to other systems too.
148
+
149
+
150
+2.4 I got 'amarokInterface.cpp:29:31: amarokInterface.moc: No such file or directory'. Whats going wrong?
151
+
152
+    You have to install qt3 devel tools which include uic and moc. If installed, be sure that uic and moc are in PATH.
153
+
154
+
155
+2.5 Configure complains about a missing libdl.so but I seem to have it
156
+
157
+  The most common causes are two:
158
+
159
+  1) You have libdl.so.X (where X is usually a number or a set of numbers) but not libdl.so
160
+
161
+  You need to do a symbolic link from libdl.so.X to libdl.so. You do it by entering the directory
162
+  where libdl.so.X is and issuing a ln -s command, for example:
163
+
164
+  # cd /lib
165
+  # ls libdl*
166
+  # ln -s libdl.so.2 libdl.so
167
+
168
+  Then try to ./configure again
169
+
170
+  2) You don't have a c++ compiler installed
171
+
172
+  The libdl test is the first ./configure test made with a c++ compiler.
173
+  The confirmation for this error can be found in the config.log file
174
+  where you can find lines similar to the following:
175
+
176
+  configure:21637: g++ -o conftest    conftest.cc -rdynamic -ldl >&5
177
+  ./configure: line 1: g++: command not found
178
+  configure:21643: $? = 127
179
+  configure: failed program was:
180
+  ...
181
+
182
+  Your distribution probably ships the c++ frontend to gcc in a package
183
+  separated from gcc itself. The package might be also named g++.
184
+  Look it up on your installation CD and install it, then ./configure again.
185
+
186
+-------------------------------------------------------------------------------
187
+3. INSTALLATION
188
+-------------------------------------------------------------------------------
189
+
190
+3.1 There is a problem during package installation/creation
191
+     file /usr/share/services/irc.protocol from install
192
+     kvirc-version.package conflicts with file from package xxx
193
+
194
+  This is a known issue with all types of packages that handle
195
+  file conflicts. KVIrc installs the irc protocol handler for KDE
196
+  and the same is done by ksirc and kopete (and maybe others).
197
+  There is no particular reason for KVIrc to fix it in the core
198
+  distribution (and there is also no simple way to do it).
199
+  Either the package maker must exclude the irc.protocol
200
+  file from installation or mark it as "optional" in some way or the
201
+  users must use some sort of "force" flag during the installation.
202
+
203
+
204
+-------------------------------------------------------------------------------
205
+4. IRC
206
+-------------------------------------------------------------------------------
207
+
208
+4.1 How do i join a channel ?
209
+
210
+  Type "/join #channelname"
211
+
212
+
213
+4.2 How do i autojoin channels?
214
+
215
+  There are many ways to do it.
216
+  For example:
217
+  Select "Scripting/Events" from the KVIrc menu.
218
+  Lookup the "OnIrc" entry in the left pane of the window that pops up.
219
+  Right-click on that entry and select "Add handler".
220
+  A "default" handler will be created. In the right pane write:
221
+       join #kvirc
222
+       join #kde-users
223
+       join #somechannel
224
+       ....
225
+  Now click OK and you're done: you have just created a handler for an event.
226
+  Reconnect to a server and KVIrc will autojoin the channels that you have selected.
227
+  Another option (nicer, if you use several servers) is to go to the servers options
228
+  page and click the button labeled 'Advanced' on the entry for the single server.
229
+  There is a server-specific "On connect execute..." event.
230
+
231
+
232
+4.3 How do I enable automatic NickServ identification ?
233
+
234
+  KVIrc supports two kind of NickServ identification rules: per-network and global.
235
+  The per-network rules can be accessed from the server options page.
236
+  You need to select a network in the list view (not a server!) and then click
237
+  "Advanced...". In the dialog that appears there is a NickServ tab
238
+  on that you can add your identification rules. Adding a rule
239
+  should be straightforward (if you stop the mouse over an item you will likely get a small
240
+  tool tip with the explaination). Each rule is composed of:
241
+  - the nickname that is being identified: the rule will be applied only
242
+      when your current nickname corresponds to this one.
243
+  - a nick server user mask that must be matched by the NickServ user
244
+      in order for him to be recognized as the real NickServ asking for
245
+      identification. You will probably use something like NickServ!service@*
246
+  - a message regular expression that must be matched by the message
247
+      that the NickServ sends when requesting the identification.
248
+      You will probably use something like "If this is your nick,
249
+      identify yourself with /ns IDENTIFY password"
250
+  - an identification command that will be executed when all the rules
251
+      above match. You will probably use something like "ns IDENTIFY yourpassword"
252
+  The global rules can be created in the IRC::NickServ page of the options dialog
253
+  (accessible from the Settings/Configure KVIrc... menu). The main difference
254
+  is that each rule has a server mask that must be matched by the current
255
+  server name for the rule to be applied.
256
+  KVIrc first looks in the per-network rules and if none matches it looks
257
+  in the global rules.
258
+
259
+
260
+4.4 I can't see my national characters, what's wrong ?
261
+
262
+  There are several ways to fix your national characters display.
263
+  General encoding:
264
+      Open the options dialog and go to the "Encoding" page.
265
+      You can set explicitly the encoding to be used for the whole application.
266
+      If you choose "Use Language Encoding" KVIrc will try to guess the
267
+      encoding from your system settings. If this doesn't work then the reasons
268
+      may be:
269
+      - Your system settings are wrong
270
+        You need to fix them
271
+      - Your server applies some specific encoding to the data
272
+        See "Server encoding"
273
+      - You're chatting with people that have different system settings
274
+        See "Channel & Query encoding"
275
+  Server encoding
276
+      Besides the general encoding you can set one encoding per server.
277
+      This is done in the server options dialog (Click Advanced...).
278
+      The encoding will be applied to all the text that comes from
279
+      and goes to the server. If you choose "Use system encoding"
280
+      then the server will inherit the "General encoding" value above.
281
+      If this doesn't work then you have either set it incorrectly or
282
+      you are chatting with people that use different encodings.
283
+      In this case see "Channel & Query encoding"
284
+      The server encoding is used also to decode nicknames and
285
+      channel names on servers that support it.
286
+  Channel & Query encoding
287
+      Besides the general and server encoding you can set also per-window
288
+      encoding in channels and queries. This encoding will be applied
289
+      ONLY to the text sent to or received from that channel or query.
290
+      This feature is useful when chatting over a non unicode aware
291
+      IRC server (nearly all at the time of writing) with people
292
+      that have settings different than your general defaults or
293
+      the server default.
294
+
295
+  Keep in mind that IRC has a MAJOR problem with character encoding
296
+  and in fact the formal definition of the protocol requires it
297
+  to be only 7bit safe. This means that on some servers you may
298
+  see your national characters eaten by the IRC network and there
299
+  is almost nothing you can do about that...
300
+
301
+  UTF-8 is the best encoding we can get on IRC. Try to convince
302
+  other people to use it :)     
303
+
304
+
305
+4.5 I can't connect to an IPV6 server, what's wrong ?
306
+
307
+  First of all make sure that your IPV6 stack is setup correctly.
308
+  Can you ping6 other IPV6 other machines ?
309
+
310
+        # ping6 www.6bone.net
311
+
312
+  Is the IPV6 support enabled in your kvirc executable ?
313
+  To find it out , try
314
+
315
+        /echo $features 
316
+
317
+  in the KVIrc commandline. You should get a comma separated list of
318
+  features compiled in the executable. If the list contains "IPv6" then
319
+  the support is compiled in, otherwise you must check your compilation
320
+  stage to guess what went wrong.
321
+  To connect to an IPV6 server you can use /server -i <servername>
322
+  If you can ping other IPV6 machines, the IPv6 support is compiled in your
323
+  executable and you still can't connect to an *existing* IPv6 server then
324
+  you may have found a bug :) Report it.
325
+
326
+
327
+4.6 /me doesn't support the '$' character, what's wrong ?
328
+
329
+  This is NOT a bug : this is a feature : kvirc supports (and substitutes!) variables in all the commands.
330
+  You can escape your $ sign by using the backslash character: /me has gained \$100 will work correctly
331
+
332
+
333
+4.7 /me doesn't support the '"' (double quote) character, what's wrong ?
334
+
335
+  This is NOT a bug : this is a feature : a string enclosed in double quotes will have its whitespace preserved
336
+  while the other strings will have the whitespace simplified. This is valid for ANY command.
337
+  You can escape your " sign by using the backslash character: /me feels a bit \"foo\" will work correctly
338
+
339
+
340
+4.8 /me can't contain the ';' character, what's wrong ?
341
+
342
+  This is NOT a bug : this is a feature : kvirc supports multiple commands on a single line and uses ';' as a command
343
+  separator. You can escape your ';' sign by using the backslash character: /me is hungry \;) will work correctly.
344
+
345
+
346
+4.9 I try to do a /whois on nick blah\ but i get the reply for blah (without the slash)
347
+
348
+  In KVIrc /whois is a scripting command and the nickname is a command parameter.
349
+  In scripting commands the backslash is a special character with several "escape"
350
+  meanings. To include a literal backslash inside a parameter you MUST double it,
351
+  thus the correct command to issue is /whois blah\\
352
+
353
+
354
+4.10 What is AVATAR protocol? Is there any documentation about it ?
355
+
356
+  AVATAR is a simple CTCP based protocol that allows associating images (avatars)
357
+  to IRC users. The protocol definition is simple:
358
+
359
+  - CTCP AVATAR QUERY:
360
+       :<source> PRIVMSG <target> :<0x01>AVATAR<0x01>
361
+    Queries the avatar of the <target>.
362
+  - CTCP AVATAR REPLY:
363
+       :<source> NOTICE <target> :<0x01>AVATAR <avatar_url><0x01>
364
+    Asserts that the <source> user's avatar is located at <avatar_url>
365
+    that usually will be something like http://server.domain.top/avatarimage.jpg.
366
+
367
+  KVIrc supports also DCC based avatars that are simply "offered" to the
368
+  remote users. In this case the <avatar_url> does not contain the http://
369
+  prefix but is a simple file name. The remote users request the avatars
370
+  by issuing a DCC GET command. This is an useful but secondary extension
371
+  and can be ignored by simple implementations. If you need more informations
372
+  about this method please write to pragma at kvirc dot net.
373
+
374
+
375
+4.11 The log files seem to be saved randomly, when I open a log
376
+     I can see only a part of the text that actually should be there
377
+
378
+   KVIrc does not explicitly flush the log files while writing them. The OS
379
+   (or the underlying C library) does the flush operation when necessary.
380
+   This means that blocks of the log file will be added to the file on disk
381
+   only once in a while. If you really need to see the logs in real time
382
+   then you can explicitly flush the log files by scripting.
383
+   Just add a script like this to your OnKVIrcStartup event:
384
+ 
385
+   timer(flushlogfiles,30000)
386
+   {
387
+       foreach(%x,$window.list(all,any))
388
+       {
389
+          if($log.file(%x))
390
+          {
391
+              echo -w=%x "Flushing log file...";
392
+              log.flush -w=%x;
393
+          }
394
+       }
395
+   }
396
+ 
397
+   The script above will flush all the log files every 30 seconds. You may
398
+   remove the echo statement if you're annoyed by the output :)
399
+
400
+
401
+4.12 The DCC transfers seem to be interrupted after the first few bytes:
402
+     KVIrc says that the remote end has closed the connection.
403
+
404
+   Make sure that you don't have activated the "Send ACK for byte 0"
405
+   option in "Options->DCC->File Transfer->Advanced".
406
+   This option should be used ONLY IF you have problems without.
407
+
408
+
409
+
410
+
411
+-------------------------------------------------------------------------------
412
+5. ADVANCED IRC FEATURES
413
+-------------------------------------------------------------------------------
414
+
415
+
416
+5.1 How do I connect to an SSL-enabled IRC server ?
417
+
418
+  Use /server -s <servername>
419
+  It should work also over IPV6.
420
+  If it doesn't work then your executable might have no SSL support compiled in.
421
+  To find it out type 
422
+
423
+       /echo $features
424
+
425
+  in the KVIrc commandline. If "SSL" is not in the list then you must go back
426
+  to the compilation phase and see what went wrong.
427
+
428
+
429
+5.1 How do I use DCC over SSL ?
430
+
431
+  /dcc.chat -s <nickname> should work
432
+
433
+
434
+5.3 Do I need a SSL certificate ?
435
+
436
+  No you shouldn't need it, but you can use it if you want.
437
+
438
+
439
+5.4 How do I create a SSL certificate ?
440
+
441
+  A test self-signed certificate can be created by using the CA.pl perl script included
442
+  in the OpenSSL distribution. It will be something like CA.pl -newcert
443
+
444
+
445
+5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong ?
446
+
447
+  The SSL protocol doesn't require the "client" to send the certificate: it is
448
+  sent only if the "server side" requests it (it is not the KVIrc case).
449
+  The server side may have a certificate and you can set it in the SSL options page.
450
+  If your Private Key is stored in the certificate file pass the same filename
451
+  to both Certificate and PrivateKey option.
452
+  Remember to set the password if needed.
453
+
454
+
455
+5.6 KVIrc crashes when a certificate is used under Windows, what's wrong ?
456
+
457
+  This is probably a bug of the SSL dll shipped with the windows version of KVIrc.
458
+  You might try with a different version of this dll.
459
+
460
+
461
+5.7 Can I encrypt my messages?
462
+(or: How do I enable mircryption (encryption in general) for a specific channel?)
463
+
464
+  KVIrc supports encryption for channels, queries and dcc chats by the means
465
+  of text transformation engines. You can access the list of the engines
466
+  by clicking the button with the yellow lock in the upper right corner
467
+  of the window. In the pane that will appear select "use text transformation"
468
+  and then choose one of the available engines. 
469
+  The Mircryption engine is an implementation of the mircryption protocol and 
470
+  supports both ECB and CBC mode. There is also a wide variety of Rijndael based encryption 
471
+  engies as well as some funky other text transform tricks.
472
+  Most of the engines will need a pair of keys to encrypt and decrypt text
473
+  and in most cases you will use the same key for both encrypting and
474
+  decrypting. In the particular case of Mircryption you can enable
475
+  CBC mode by prefixing your key(s) with the "cbc:" string.
476
+  Once you have entered the keys just click on OK and start "talking" in the
477
+  window. Any encrypted text will have a "lock" overlay in his icon.
478
+  If you want to avoid encrypting a particular text line (maybe because
479
+  you want to allow everyone on a channel to read it) you can start
480
+  the line with a CTRL+P character.
481
+
482
+
483
+5.8 How do I execute a process and send its output to a channel ?
484
+
485
+  The straight way to do this is
486
+
487
+    /exec("your command here"){ say $1; }
488
+
489
+  Since it is not too much "user friendly", you can alias it in
490
+  the following way:
491
+
492
+    alias(runandsay)
493
+    {
494
+        exec($0-){ say $1; }
495
+    }
496
+
497
+  Then you would simply run
498
+
499
+    /runandsay cat /proc/cpuinfo
500
+
501
+  in the channel window you want the output sent to.
502
+
503
+  Keep in mind that this is a "brute" approach and I'm sure that after
504
+  reading some documentation (start from /help exec) you will be able to
505
+  find more elaborate and nice ways to send a process output to a channel/query.
506
+
507
+
508
+5.9 How do I keep channels and queries open after a disconnect ?
509
+
510
+  KVIrc can keep your channels and queries open when the connection terminates
511
+  unexpectedly. This will probably make sense only if you plan to
512
+  reconnect to the same server or at least the same network (either manually
513
+  or automatically).
514
+
515
+  An "unexpected disconnect" is a connection termination not explicitly caused by
516
+  the KVIrc user. This means that the connection is interrupted, either
517
+  by the networking stack or by the remote server, without the user
518
+  having sent a QUIT message (by the means of the /quit command or by pressing
519
+  the "disconnect" button in the toolbar).
520
+
521
+  All this because the normal behaviour of a /QUIT command is, yes, to quit
522
+  your current connection without leaving traces of it.
523
+
524
+  To keep the channels and queries open you just need to select the
525
+  relative options in the "Connection" page of the options dialog
526
+  (on unexpected disconnect: "Keep channels open" an/or "Keep queries open").
527
+  
528
+  Then you might also select "Automatically reconnect", "Rejoin channels
529
+  after reconnect" and "Reopen queries after reconnect" to bring your
530
+  "dead windows" to life again :)
531
+
532
+  Finally, you can simulate an "unexpected disconnection" by using the -u switch
533
+  of the /quit command. This might be useful when you want to explicitly
534
+  quit your connection while leaving the channels and queries open... maybe
535
+  because you need to renew the connection to your ISP before reconnecting ;)
536
+
537
+
538
+5.10 I have an unreliable ISP connection but KVIrc takes a really long
539
+    time to detect a disconnection and reconnect.
540
+
541
+  KVIrc doesn't detect itself that the connection has dropped until your
542
+  kernel explicitly times out. KVIrc measures lag, instead, that will
543
+  probably grow up a lot when the connection has dropped.
544
+  You can write a handler for the OnLagCheck event that will detect
545
+  the lag growing over a certain threshold and reconnect.
546
+  This involves opening the event editor, selecting OnLagCheck
547
+  and choosing "Add handler" from the right mouse menu.
548
+  In the handler write:
549
+
550
+     if($1 > 30000){ quit -f -u; }
551
+
552
+  30000 is just a sample threshold (it means 30000 milliseconds!), replace
553
+  it with a value of your choice.
554
+  quit -f -u will close the current connection immediately (-f = force)
555
+  and will simulate an "unexpected disconnection" condition (-u = unexpected).
556
+  If you then enable automatic reconnection (see answer for question 5.9)
557
+  in the options dialog, KVIrc will automatically reconnect and rejoin channels.
558
+
559
+
560
+5.11 I'm in a LAN and KVIrc uses a wrong IP address in dcc transfers
561
+
562
+  KVIrc supports a couple of methods for guessing the right IP address for
563
+  DCC transfers: you only have to guide it a bit :)
564
+
565
+  The first thing to try is "Guess address from IRC when unroutable" (Options->DCC).
566
+  This will perform a lookup on your own IRC mask once you connect
567
+  to an IRC server and use the address as source in DCC transfers.
568
+  (You need to reconnect to the server to make this option work!)
569
+  This trick will fail when your hostmask is cloaked (mode +x on recent IRC servers):
570
+  KVIrc will tell you that it couldn't look up the hostname and give up.
571
+
572
+  In this case you might try to set a fixed address to be sent as source
573
+  in the DCC transfers: you just need to fill in the *IP address* of your
574
+  router in the option field. This field doesn't support hostname lookups
575
+  and it won't update automatically when you router's IP changes.
576
+  However, if you router's IP has a dns entry, you can ask KVIrc to fill
577
+  this field with a simple script to be performed at every connection.
578
+
579
+  event(OnIRCConnectionEstabilished,updatedccsource)
580
+  {
581
+      ahost(yourrouterhostname.dyndns.org)
582
+      {
583
+         option boolDCCSendFakeAddressByDefault 1
584
+         if($1)option stringDefaultDCCFakeAddress $2
585
+         else echo "Couldn't look up the router's hostname"
586
+      }
587
+  }
588
+
589
+  When transferring files to other KVIrc clients you may also try the
590
+  DCC RSEND protocol instead of DCC SEND. It will ask the remote end
591
+  to listen instead.
592
+  
593
+-------------------------------------------------------------------------------
594
+6. APPAREANCE
595
+-------------------------------------------------------------------------------
596
+
597
+6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong ?
598
+
599
+  This is usually caused by the heavy graphics: try removing some graphic effects like the
600
+  pseudo-transparency. I have experimented that it happens almost always on 32-bit displays.
601
+  Switching to 16 or 24 bits may also help.
602
+
603
+
604
+6.2 I don't see the channel popup menus anymore, what's wrong ?
605
+
606
+  If something went wrong with KVIrc settings (a crash when the script settings
607
+  were saved ?) or if you have messed with the scripting options and you
608
+  want to get back the original behaviour (default script) you can choose
609
+  "Scripting/Restore default script" from the KVIrc menu.
610
+  (WARNING: It will erase any script modification you have made!)
611
+  Update: starting with the cvs of 2005.01.17, KVIrc should be able to
612
+  detect such situations and automatically suggest the re-installation of the
613
+  default script.
614
+
615
+6.3 Does KVIrc support Themes? 
616
+
617
+  Yes, KVIrc now has introduced a Theme Manager. You can find it in the Option dialog.
618
+  From there you can change the way KVIrc looks: fonts, colors, windows behaviour, 
619
+  icons, taskbars, and so on. 
620
+  Once you have changed the theme, you can save it, archive it (tar.bz2 or zip) and share with your friends, 
621
+  or send it to the KVIrc staff to see it published on the web site. 
622
+
623
+
624
+6.4  I hate all that colors, what can I do about it ?
625
+
626
+  By fiddling with the options you can make KVIrc appear even monochromatic.
627
+  Go to Options/Theme and select the minimalist theme: it will set white text
628
+  on black background and will disable the displaying of a lot of icons.
629
+  This is a good starting point for you console addicted hackerz :D
630
+
631
+
632
+6.5 On Windows, how do I use firefox/opera/any_other_browser to open links instead of explorer ?
633
+
634
+  Go to the "URL Handlers" options page and set
635
+
636
+      run "C:\\path\\to\\your\\browser.exe" "$0"
637
+
638
+  as url handler for the protocol you're interested in (maybe in all).
639
+
640
+  Suepahfly suggests to use
641
+
642
+     rundll32 url.dll,FileProtocolHandler "$0"
643
+
644
+  as url handler to open the url in the default windows browser.
645
+
646
+
647
+-------------------------------------------------------------------------------
648
+7. CRASH
649
+-------------------------------------------------------------------------------
650
+
651
+7.1 KVIrc crashes when the multiline text input is opened (obsolete)
652
+
653
+  If you have installed a new version of KVIrc over a previous installation
654
+  br if you have changed the Qt libraries that KVIrc is linked to then
655
+  it might be caused by a broken multiline text editor config.
656
+  Try removing $HOME/.kvircssexeditorrc and starting KVIrc again.
657
+  Update: this problem has been completely removed during late 2004 developments
658
+  by completely rewriting the multiline input.
659
+
660
+
661
+7.2 What the heck is a gdb stack trace and how do I get it ?
662
+
663
+  A gdb stack trace is a "photography" of the state of the KVIrc internals
664
+  taken when a certain event has occured. The most common event
665
+  is a program crash (Segmentation Fault).
666
+  The stack trace helps (or even allows) the developers to locate the
667
+  crash cause in the program sources.
668
+  To obtain a gdb stack trace you must:
669
+
670
+  - Compile KVIrc with the --enable-debug ./configure option.
671
+    Without this switch the stack trace is USELESS.
672
+  - Have a working installation of gdb (the gnu debugger)
673
+    This is usually available on your distribution cd
674
+    and you may already have it installed.
675
+  - Run KVirc:
676
+    # gdb kvirc
677
+    When the gdb prompt appears write:
678
+    # (gdb) run -f
679
+    Make KVIrc crash: gdb will tell something about
680
+    a signal received by the program. Write then:
681
+    # (gdb) bt
682
+    The text you see is the stack trace you wanted :)
683
+    Copy+Paste+Send it to pragma at kvirc dot net or the mailing list.
684
+
685
+
686
+7.3 KVIrc hangs up, but doesn't crash. How do i report debug informations ?
687
+
688
+  Use gdb to get a stack trace as in answer to question 7.2.
689
+  Since your KVIrc doesn't crash you will have to interrupt the execution
690
+  manually while it is hung up. You can do it by pressing CTRL+C in gdb.
691
+
692
+
693
+7.4 KVIrc exits by itself or simply "disappears" without any apparent reason.
694
+
695
+  Yes. It probably crashed but you haven't noticed that.
696
+  We NEED a gdb stack trace or a working procedure to reproduce the
697
+  behaviour in order to hunt it.
698
+
699
+
700
+7.5 KVIrc dies randomly and "Alarm Clock" is printed in the console
701
+
702
+  Try recompiling kvirc by adding the --with-ignore-sigalarm switch to
703
+  ./configure. (Note: the reason of the incoming SIGALARM signals
704
+  on certain systems is acually unknown. Please send hints to pragma at kvirc dot net).
705
+
706
+
707
+7.6 KVIrc dies when using alias(identify){ identify password; };
708
+
709
+  This is infinite recursion: a programming error.
710
+  Take a look at http://en.wikipedia.org/wiki/Infinite_loop , learn
711
+  that once for all and fix your script.
712
+

+ 753
- 0
INSTALL View File

@@ -0,0 +1,753 @@
1
+Szymon Stefanek                                                 Mon Mar 04 2008
2
+###############################################################################
3
+General notes for the installation of the 3.4.0 release of KVIrc 
4
+###############################################################################
5
+
6
+    This document contains the procedures to compile and install
7
+    the version 3.4.0 of KVIrc.
8
+
9
+###############################################################################
10
+# 0. Table of contents
11
+###############################################################################
12
+
13
+    1. Introduction
14
+    2. Guru-level installation
15
+    3. Hacker-level installation
16
+    4. Human (detailed) installation instructions
17
+    5. How to compile KVIrc with Qt-embedded
18
+    6. Compiling KVIrc on Mac OS X
19
+    7. A note about Windows 95/98/ME
20
+
21
+###############################################################################
22
+# 1. Introduction
23
+###############################################################################
24
+
25
+    This document contains the procedures to compile and install
26
+    the version 3.4.0 of KVIrc.
27
+
28
+    If you have found this document in a binary distribution then
29
+    KVIrc has been probably already installed by your favorite package
30
+    manager and maybe something is not working as expected. In this case
31
+    this document and the accompanying FAQ can help you in guessing
32
+    what's wrong.
33
+
34
+    If you have found this document in a source distribution or you
35
+    have downloaded it by using the svn then well...
36
+    this is a standard INSTALL file :)
37
+
38
+###############################################################################
39
+# 2. Guru installation:
40
+###############################################################################
41
+
42
+    # ./configure
43
+    # make install
44
+
45
+###############################################################################
46
+# 3. Hacker installation:
47
+###############################################################################
48
+
49
+    If you're compiling the svn version of KVirc run ./autogen.sh
50
+    (You NEED automake >= 1.5 for autogen.sh to run).
51
+
52
+    # export QTDIR="your qtlibrary path"
53
+
54
+    eventually:
55
+
56
+    # export KDEDIR="your kde library path"
57
+
58
+    We're using GNU tools here.
59
+
60
+    # ./configure --help
61
+    # ./configure [your options]
62
+    # make
63
+    # make install
64
+
65
+###############################################################################
66
+# 4. Human (detailed) installation:
67
+###############################################################################
68
+
69
+        If you're not a guru, or have problems with the installation
70
+        read these instructions carefully.
71
+
72
+    ###
73
+    ### Step 0 (ONLY FOR THE SVN VERSION)
74
+    ###
75
+
76
+        If (*** AND ONLY IF ***) you're compiling the svn version of kvirc
77
+        you need to generate the configure script. If you're compiling
78
+        a downloaded tar.gz (or tar.bz2) package or you don't know what
79
+        svn is then jump directly to step 1!
80
+
81
+        You need a recent automake and autoconf installed on your system.
82
+        It is also reccomended to have a recent (matching) libtool installed
83
+        (libtool is not strictly necessary since KVIrc has a bundled one,
84
+        but a libtool matching your automake/autoconf versions will probably
85
+        run better on your system).
86
+
87
+        Anyway, run:
88
+    
89
+        # ./autogen.sh
90
+
91
+        If it runs without any error (it will tell you "Done") then
92
+        you may skip to step 1, otherwise read on.
93
+
94
+        First of all check your auomake version.
95
+        You need automake >= 1.5: older versions will NOT WORK.
96
+        You can check the automake version with the command
97
+
98
+        # automake --version
99
+
100
+        If your automake version is lower than 1.5 upgrade it.
101
+        You can find it at http://www.gnu.org/software/automake/ (source)
102
+        or on your favorite distribution site as auto-installing package.
103
+
104
+            Automake installation tip: automake installs in /usr/local/
105
+            by default. If you have an older automake installation that
106
+            resides in /usr/ it's better to remove it or (better) overwrite it
107
+            with the new installation.
108
+            If you choose to overwrite the old installation with the new
109
+            one then just use "./configure --prefix=/usr" as the automake's
110
+            configure command.
111
+            If you choose to remove the old version then the files to be
112
+            removed are /usr/bin/automake /usr/bin/aclocal /usr/share/automake
113
+            /usr/share/aclocal. If you feel unsure about removing it, rename it.
114
+
115
+        If the script fails to run then you might try
116
+
117
+        # ./autogen.sh --bundled-libtool
118
+
119
+        to force the usage of the bundled libtool version.
120
+        If you later have unexplicable problems with the compilation tools
121
+        you might also try the bundled libtool.
122
+
123
+    ###
124
+    ### Step 1 : Matching the requirements
125
+    ###
126
+
127
+        - You NEED a fully working C++ compiler.
128
+        
129
+        Most linux distributions have it pre-installed and if you have
130
+        already compiled other programs before then you're probably ok,
131
+        so actually skip this check and go ahead. If anything fails
132
+        in the following steps then this is the very first thing to verify.
133
+        A broken compiler installation usually manifests itself
134
+        in failed ./configure tests (dlopen capabilities).
135
+        Try
136
+        
137
+        # gcc -v
138
+        # g++ -v
139
+
140
+        on the commandline. If it says something about "command not found"
141
+        then you miss some gcc related package. Install it from the distro cd.
142
+
143
+
144
+        - You NEED the Qt library.
145
+
146
+        You can download the latest version from ftp://ftp.trolltech.com.
147
+        The main Qt www site is http://www.trolltech.com.
148
+        Note for the GPL maniacs: Qt IS GPL.
149
+        The minimum required version is 3.1.2 (older versions *might* work)
150
+        Download and install it by following the rules
151
+        explained in the excellent documentation that comes with the library.
152
+
153
+
154
+        - You need a decent pthread implementation.
155
+
156
+        This is usually included in your distribution and is probably
157
+        already installed. The library is called libpthread.so.
158
+        You can look for it with the "find" command:
159
+
160
+        # find / -name libpthread.so
161
+
162
+        On my system the output is:
163
+
164
+        # /usr/lib/libpthread.so 
165
+
166
+        If you don't have it (the configure script will tell you)
167
+        you can download it from your favorite GNU mirror.
168
+
169
+        On Solaris you can use the native libthread.so library instead
170
+        but you will have to pass the specific option to configure (see below).
171
+        FreeBSD has a native implementation of pthreads in libc_r and
172
+        the gcc compiler has a special -pthread flag to link to it.
173
+        If you're on FreeBSD, use the --with-freebsd-pthread configure
174
+        option and make sure that you don't have other pthread wrappers
175
+        installed (that might collide with the native header files).
176
+
177
+        The configure script will also fail if the library is
178
+        hidden somewhere on your system (eg. not in /lib , /usr/lib or
179
+        /usr/local/lib): you should probably move it.
180
+
181
+
182
+        - You need the dynamic linker interface library libdl.so.
183
+
184
+        This is usually installed on your system , so don't care until
185
+        configure complatins about it. Some system have the interface
186
+        builtin in libc. The configure script can detect it.
187
+
188
+
189
+        - (Optional) If you want to compile the KDE integration support
190
+        you obviousy need KDE. The kdelibs package should suffice.
191
+
192
+
193
+        - (Optional) If you want the translations to non-english languages to work
194
+        then you need the GNU gettext package. In particular KVIrc uses
195
+        the msgfmt program.
196
+
197
+        This is usually included in your distribution and is probably
198
+        already installed. You can check it by running 
199
+
200
+        # msgfmt --version
201
+
202
+        KVIrc will not complain if the command above is missing: it will
203
+        just skip the creation of the translation files.
204
+        If the command above fails then you need to install the gettext package
205
+        if you want any language other than english.
206
+
207
+
208
+        - (Optional) If you want DCC VOICE to support the gsm codec,
209
+        you need a recent copy of libgsm. This is not strictly required
210
+        at compile time since KVIrc will look for the library at run-time,
211
+        and only if the DCC VOICE with the gsm codec is requested.
212
+        You can check for libgsm using the 'find' command.
213
+
214
+        # find / -name libgsm*
215
+
216
+        The output should be sometihg like
217
+
218
+        # /usr/lib/libgsm.so
219
+
220
+        This library is included in most distributions. Some distros ship
221
+        only the static version of the library "libgsm.a": if the previous
222
+        find returned only something similar to "/usr/lib/libgsm.a" , you might
223
+        create manually the shared archive by running:
224
+
225
+        # cd /usr/lib
226
+        # ld --whole-archive -shared -o libgsm.so.1 libgsm.a
227
+        # ln -s libgsm.so.1 libgsm.so
228
+        # ldconfig
229
+
230
+        If you don't have it installed at all, you might have a look in your
231
+        distribution CD, or download it from the web.
232
+
233
+
234
+        - (Optional) If you want the /snd plugin to play various audio formats
235
+        you either need a running artsd, a running esd or a reasonably recent
236
+        audiofile library. Without these KVIrc will be only able to play *.au
237
+        files.
238
+
239
+
240
+        - (Optional) If you want to generate the on-line documentation
241
+        you also need perl: any version will do (I guess).
242
+
243
+
244
+        - (Optional) If you want the secure socket layer support to be compiled
245
+        you need the OpenSSL library and headers. (libssl.so and openssl/ssl.h)
246
+
247
+
248
+        - (Optional) If you want perl scripting support to be compiled
249
+        you need a working perl installation. Your libperl.so MUST be compiled
250
+        with the MULTIPLICITY option. (You can check it with perl -V).
251
+
252
+    ###
253
+    ### Step 2 : Running the configure script (mandatory)
254
+    ###
255
+
256
+        First of all you must run the configure script that will guess some
257
+        info about your system and prepare the compilation.
258
+        You may try to "simply run" it and check if it works...the configure
259
+        script tries to be smart , but in some cases it will fail.
260
+
261
+        So before running the script make sure that the enviroinement
262
+        variable $QTDIR points to the right location. This will help
263
+        in finding the correct version of Qt.
264
+        You might eventually set it with the command:
265
+
266
+        # export QTDIR="your qt dir"
267
+
268
+        On my system qt is installed in /usr/local/kde/qt
269
+        so I actually execute
270
+
271
+        # export QTDIR="/usr/local/kde/qt"
272
+
273
+        If you want to compile the KDE support you might want to do the same
274
+        with KDEDIR
275
+
276
+        # export KDEDIR="your kde dir"
277
+
278
+        In my case KDE is installed in /usr/local/kde so I use
279
+
280
+        # export KDEDIR="/usr/local/kde"
281
+   
282
+        The configure script has a lot of options that can be listed by using
283
+
284
+        # ./configure --help
285
+
286
+        Here's a list with explainations (the most common are at the top):
287
+
288
+        --enable-debug
289
+            This is for debugging and reporting problems.
290
+            It sets the compiler options in order to leave the debugging
291
+            informations into the kvirc executable and the libraries.
292
+            In this way you will be able to produce a gdb backtrace
293
+            in case of a crash.
294
+            YOU NEED THIS OPTION IF YOU WANT TO REPORT A PROGRAM CRASH.
295
+
296
+        --enable-pipes
297
+            Asks the compiler to use pipes instead of files for the
298
+            compilation stage. The pipes will help in reducing disk usage and
299
+            will probably shorten the compilation a bit. Use this option if
300
+            your platform supports it.
301
+
302
+        --with-qt-library-dir=<DIR>
303
+            Look for the qt library in <DIR>.
304
+            You might want to use this if the configure script has trouble
305
+            in finding the qt library.
306
+            You should have no problems if you use export QTDIR="<DIR>"
307
+            before launching the configure script, but it might help you
308
+            if you have a non standard Qt installation.
309
+        
310
+        --with-qt-include-dir=<DIR>
311
+            Look for the qt headers in <DIR>.
312
+            You might want to use this if the configure script has trouble
313
+            in finding the qt headers. It may especially help if your headers
314
+            are in a place different than $QTDIR/include (and thus you have
315
+            a non standard installation)
316
+         
317
+        --with-qt-moc=<PATH>
318
+            Use the qt meta-object compiler found in <PATH>
319
+            The path is usually $QTDIR/bin/moc , and the
320
+            configure script will find it if you have a standard
321
+            Qt installation and $QTDIR points to the right directory.
322
+            Thus should have no problems if you use export QTDIR="<DIR>"
323
+            before launching the configure script, but it might help you
324
+            if you have a non standard Qt installation.
325
+            This will also help if you have the moc compiler renamed
326
+            in some way: like "moc2" or sth...
327
+            <PATH> in this case is a FULL path: directory/program_name!
328
+        
329
+        --disable-qt-check
330
+            This disables Qt checking at compilation time.
331
+            If this is the only way to compile and run
332
+            the kvirc executable , then there is something
333
+            wrong with the configure script.
334
+
335
+        --without-kde-support
336
+            The configure script will look for the KDE headers and libraries
337
+            and if found it will enable the KDE support. If you don't want
338
+            the KDE support even if KDE is detected, just use this switch.
339
+        
340
+        --with-kde-library-dir=<DIR>
341
+            Look for the KDE libraries in <DIR>
342
+            If $KDEDIR points to the right place, you shouldn't need this.
343
+        
344
+        --with-kde-include-dir=<DIR>
345
+            Look for the KDE headers in <DIR>
346
+            If $KDEDIR points to the right place, you shouldn't need this.
347
+
348
+        --with-kde-services-dir=<DIR>
349
+            Install the kde service protocol files in <DIR>
350
+            If $KDEDIR points to the right place, you shouldn't need this.
351
+            This is also non-critical for kvirc: if the configure script
352
+            can't find this directory, you will only looose the support for
353
+            irc:// urls in konqueror
354
+
355
+        --without-kde-check
356
+            Similar to --without-qt-check but for KDE.
357
+
358
+        --enable-optimisation=<NUMBER>
359
+            Enables the compiler optimisation flag -o<NUMBER>.
360
+            Possible values are 0 , 1, 2 and 3 (but if you compiler supports
361
+            more optimisation levels , you might use other numbers here).
362
+            Increases compilation time but may produce a slightly faster
363
+            executable. 
364
+
365
+        --with-other-libs=<libraries>
366
+            Explicitly link to the specified libraries.
367
+            Example: --with-other-libs="-lmylib -lstrangesystemsupport"
368
+        
369
+        --with-other-ldirs=<paths>
370
+            Explicitly add the specified library search paths
371
+            Example: --with-other-ldirs="-L/home/pippo/lib/ -L/my/library/"
372
+        
373
+        --with-other-idirs
374
+            Explicitly add the specified include search path
375
+            Example: --with-other-idirs="-I/home/pippo/include/ -I/tmp/inc/"
376
+
377
+        --enable-objprelink
378
+            This is an experimental support for object prelinking that improves
379
+            significantly the executable startup time. In order to use it you
380
+            need to have the "objprelink" program in the PATH. The objprelink
381
+            program is included in the distribution in the admin directory.
382
+            In order to use it, you will need to:
383
+
384
+            # cd admin
385
+            # make objprelink
386
+            # cp objprelink /somewhere_on_your_path
387
+
388
+            All this AFTER running ./configure and BEFORE running make.
389
+
390
+        --with-no-pthread-check
391
+            Do not check if the pthread stuff works.
392
+            If configure fails in the pthread library check , you might want to
393
+            try this...(but then you will have really to "pray" that
394
+            the check has been broken by some "unusual" conditions and the
395
+            compilation will succeed).
396
+
397
+        --x-includes=DIR
398
+            Specifies explicitly the path to the X header files.
399
+            You might want to use this if the configure script
400
+            has trouble in finding it.
401
+        
402
+        --x-libraries=DIR
403
+            Specifies explicitly the path to the X libraries.
404
+            You might want to use this if the configure script
405
+            has trouble in finding it.
406
+
407
+        --with-qt-name=<NAME>
408
+            Use <NAME> instead of "qt" as the Qt library name.
409
+            This is useful on systems where Qt has been installed with
410
+            a name different than the default "qt".
411
+            It happens often that to allow multiple copies of qt to work
412
+            the newest have the version name appended to it.
413
+            For example, on FreeBSD I have found "qt" being Qt1.* and
414
+            "qt2" being Qt 2.*. Since you need Qt 2.* for kvirc to work,
415
+            you will need to use --with-qt-name=qt2.
416
+            If you use this option, you will probably also need to remap
417
+            the moc compiler path/name with --with-qt-moc.
418
+
419
+        --disable-qt-mt
420
+            Disable checking for the multithreaded version of Qt.
421
+            By default , KVIrc will try to link to the multithreaded version
422
+            if found on the system.
423
+            NOTE: if you enable the KDE support , KVIrc MUST be linked to the
424
+                  qt library that KDE is linked to.
425
+
426
+        --with-ix86-asm
427
+            KVIrc contains some ix86 assembly routines that *could*
428
+            performs some things faster (this is not always true, depends
429
+            on the compiler). You might want to try it if your kvirc seems to
430
+            be really slow...
431
+
432
+        --without-ipv6-support
433
+            The IPV6 support is compiled by default on the platforms that
434
+            support it: this option disables it.
435
+            Even if you have a plain IPV4-only connection, you might want to
436
+            keep the IPV6 support: you will be able to lookup IPV6 hostnames.
437
+
438
+        --without-system-memmove
439
+            This will disable the use of the system memmove() memcpy() and
440
+            memset() functions and enable the bundled implementations. Use
441
+            it if you have undefined references to these functions while
442
+            compiling.
443
+
444
+        --with-ignore-sigalarm
445
+            This is a hack mainly for Solaris.
446
+            Use this option if kvirc exits with no apparent reason and
447
+            the system prints a message related to an "Alarm" :)
448
+
449
+            This is a mail that suggests an explaination for the SIGALARM fault.
450
+            If you experience the problem please drop me a mail at pragma at kvirc dot net
451
+            and we'll try to look for a solution.
452
+
453
+              From: "Andre Stechert" (astechert at email dot com)
454
+              Date:  26/7/2005 09:36
455
+
456
+              Hi,
457
+              I noticed in your readme that you were having problems with sigalarm
458
+              in your solaris port and you weren't sure why.  I quickly scanned your
459
+              source code and noticed that you use usleep and threads.  That's the problem,
460
+              if you haven't already figured it out. On Solaris, usleep is implemented with
461
+              SIGALARM. So is threading. So if you the active thread changes while
462
+              a usleep is in progress, bang, the process is dead.
463
+
464
+        --without-crypt-support
465
+            Disables the cryptographic engines and the whole
466
+            cryptography/text-transformation support. Produces a slightly
467
+            smaller executable. Anyway, if you don't know what the
468
+            ctryptography/text-transformation
469
+            support is ,I suggest you to avoid using this option.
470
+        
471
+        --enable-new-kvs
472
+            Developers only!
473
+            This enables the compilation of the new KVS parser, currently
474
+            under heavy development. This will produce a bigger and possibly
475
+            unstable executable: do not use if you don't know what you're doing.
476
+
477
+        --enable-new-kvs-only
478
+            Developers only!
479
+            This hardwires the new KVS parser to be used as the main scripting
480
+            engine in KVIrc. Be aware that the new KVS engine is NOT YET 100% COMPLETE
481
+            so some scripts will simply fail.
482
+
483
+        --without-transparency
484
+            This option disables pseudo-transparency support.
485
+            The pseudo transparency support makes the KVirc windows
486
+            look like semi-transparent (this is NOT real transparency: this is
487
+            just a nice-looking hack).
488
+            If KDE support is enabled, KVirc will have an option that
489
+            makes all windows use a faded KDE desktop background image
490
+            as background. Without KDE support you will be able to choose
491
+            a fake background image and use it as background. (You can still
492
+            choose your desktop wallpaper: this will (more-or-less) work in
493
+            all the window managers).
494
+            It is cool-looking but usually eats some memory when enabled.
495
+            It also eats some executable size.
496
+            So this option allows to disable the pseudo-transparency.
497
+
498
+        --with-solaris-lthread
499
+            If you're on Solaris and don't have the pthread library (A wrapper
500
+            I guess) you might try this option: it attempts to use the native
501
+            Solaris threading support.
502
+
503
+        --with-freebsd-pthread
504
+            If you're on FreeBSD, you NEED this option. This enables the usage
505
+            of the native FreeBSD pthread implementation found in libc_r.
506
+            This requires you to use the native gcc compiler: it has a special
507
+            -pthread flag that enables the linkage to libc_r instead
508
+            of plain libc.
509
+
510
+        --with-libresolv
511
+            Link to libresolv. I guess that this is required for Solaris
512
+        
513
+        --with-libsocket
514
+            Link to libsocket. I guess that this is required for Solaris
515
+        
516
+        --with-libnsl
517
+            Link to libnsl. I guess that this is required for Solaris
518
+
519
+        --with-libcompat
520
+            Link to libcompat. This might be required for some systems...
521
+            but I have no idea which ones. If you find it useful: mail me.
522
+
523
+        --enable-fno-rtti
524
+            Disables compiler runtime type information generation.
525
+            This is probably needed only with qt-embedded.
526
+            DON'T use it if you don't exactly know what it does.
527
+            Actually this may even make KVIrc crash in some situations.
528
+            For example the KDE sources use __dynamic_cast...
529
+
530
+        --disable-x-support
531
+            Disables completely the X Windows support.
532
+            This is useful in environments where X is not needed to compile KVIrc
533
+            such as Qt-Mac on MacOSX, QtEmbedded or Windows.
534
+            This switch implies also --without-x-bell
535
+
536
+        --without-x-bell
537
+            Disables the usage of the XBell function (needed if you want to
538
+            compile KVIrc with qt-embedded (no X at all))
539
+            This is implied by --disable-x-support
540
+
541
+        --with-qt-embedded
542
+            You need this to compile KVIrc with qt-embedded
543
+
544
+        --without-ipc
545
+            Disables support for inter-process communication.
546
+            You will be not able to send remote commands to running
547
+            kvirc sessions: this basically means that every time you run
548
+            the kvirc executable , a new session will be started.
549
+            If you don't use this switch, a new session will be started
550
+            only if no session is running on the same display or
551
+            "new session" has been forced by a commandline switch.
552
+            If a session is already running, the commandline will be
553
+            passed to that session via IPC (X-event-based communication).
554
+            This option saves some KB of the KVIrc executable,
555
+            so if you're really short in memory , you might use it,
556
+            otherwise, IPC is a nice feature.
557
+       
558
+        --without-dyn-labels
559
+            You should not need this option.
560
+            It disables compilation of code that relies on a particular
561
+            compiler feature (jumping to a dynamic label with a goto).
562
+            Not all compilers support this , but configure shoud detect
563
+            it automatically. Anyway , if you get compilation errors on
564
+            kvi_ircview.cpp, you may try this option...
565
+            This may also help if the configure script seems to hang
566
+            when checking for the "compiler dynamic label support".
567
+
568
+        --without-splash-screen
569
+            Do not compile the splash screen code.
570
+            This will remove you that nice "banner" image that pops up
571
+            while kvirc is starting up. It will maybe help in making an
572
+            executable smaller by a couple of KB and save a couple
573
+            of extra milliseconds during the startup. Use it if you're
574
+            tring to build a performance critical executable and you're
575
+            short both in memory and CPU time :)
576
+
577
+        --without-gsm
578
+            Explicitly disable the usage of the GSM library. This will
579
+            disable the DCC VOICE gsm codec but might help when the
580
+            compilation stops complaining of something related to GSM :)
581
+
582
+        --without-dcc-sound
583
+            Explicitly disable the DCC VOICE sound support. This might help
584
+            if you have problems in compilation of src/modules/dcc/voice.cpp.
585
+            It will disable the sound support
586
+            (and thus make DCC VOICE not usable).
587
+
588
+        --disable-ssl
589
+            Disables the secure socket layer support. The SSL support is
590
+            automatically enabled if OpenSSL is detected at ./configure time.
591
+            This option forces it to be left out.
592
+
593
+        --with-memory-profile
594
+            Debug stuff...enables memory allocation profiling (don't use it :)
595
+
596
+        --with-memory-checks
597
+            Enables malloc() memory checks. This will print a nice message
598
+            if your system goes out of memory...
599
+            It can't save you from buying new RAM,
600
+            but at least you will know that your system went out of memory
601
+            and it is not a proper kvirc fault. Actually you probably have
602
+            no reason in using it.
603
+
604
+        --with-big-channels
605
+            Minor hash table optimisations: higher memory usage but
606
+            faster user lookups. Use it if you often stay in channels with
607
+            a lot of users. (this is not critical anyway)
608
+
609
+        --enable-profiling
610
+            Asks the compiler/linker to include profiling informations in the
611
+            executable. This is useful only if you want to profile KVIrc by
612
+            using the gprof program. Note that this will generate a bigger
613
+            and slower executable.
614
+
615
+        --disable-perl
616
+            Forcibly disable perl support.
617
+
618
+        So finally you have to run
619
+
620
+        # ./configure <your options>
621
+
622
+        For example , my common options are:
623
+
624
+        # ./configure --enable-pipes --enable-debug
625
+
626
+        On FreeBSD I have found useful this command line:
627
+
628
+        # ./configure --with-qt-name=qt2 --with-qt-moc=/<PATH_HERE>/moc2 \
629
+                         --with-freebsd-pthread
630
+
631
+        Once the configure script ran succesfully you can go to the next step.
632
+
633
+    ###
634
+    ### Step 3 : Compiling (mandatory)
635
+    ###
636
+
637
+        This step is easy:
638
+        Cross your fingers and run
639
+
640
+        # make kvirc
641
+
642
+        If your make is not a GNU make (this happens on FreeBSD for example)
643
+        you should use "gmake" instead.
644
+        The compilation process will take from 6-7 minutes to several hours
645
+        depending on the machine capabilities and load.
646
+        If you have a slow cpu but have a couple of computers in a lan you
647
+        might consider using distcc to distribute the compilation.
648
+
649
+        Once the compilation has been succesfull, run
650
+
651
+        # make install
652
+
653
+        Same as above: use "gmake install" if your make is not GNU make.
654
+
655
+        This will install the executable in /usr/local/bin
656
+        (if you don't have specified a different --prefix option in
657
+        the configure script) , the libraries in /usr/local/lib
658
+        and the shared data in /usr/local/share/kvirc.
659
+        If you had a previous kvirc installation , the default prefix
660
+        will be referring to the directory where the old kvirc
661
+        executable was found.
662
+
663
+        Make sure that /usr/local/lib is in your /etc/ld.so.conf , 
664
+        if it isn't there , put it there and run
665
+
666
+        # ldconfig
667
+
668
+        If you have decided to use the KDE support the installation
669
+        might have placed all these files in your $KDEDIR tree
670
+        instead of /usr/local. In this case you should be OK since
671
+        KDE requires its library dir to be in /etc/ld.so.conf
672
+
673
+    ###
674
+    ### Step 4: Having fun
675
+    ###
676
+
677
+        # kvirc &
678
+
679
+        That's all folks.
680
+
681
+
682
+###############################################################################
683
+# 5. Compiling KVIrc on qt-embedded
684
+###############################################################################
685
+
686
+    Do you want KVIrc 3 on your hand computer ?
687
+    On your Nokia 9999910 ?
688
+    On your LINUX CONSOLE?
689
+
690
+    Well, for the third it's really easy, just follow carefully those steps:
691
+
692
+    1. Install qt-embedded libraries (including the development files).
693
+       This can be as easy as: apt-get install libqt-emb-dev on Debian.
694
+
695
+    2. cd to the KVIrc3 source directory
696
+
697
+    3. run configure with the following parameters:
698
+
699
+        # ./configure --with-qt-name=qte --with-fno-rtti --without-x-calls
700
+               --without-ipc --without-splash-screen --without-transparency
701
+               --with-qt-embedded --without-x-bell
702
+
703
+       then run make and make install as usual
704
+
705
+    4. Try to have a life for the next minutes while kvirc3 compiles
706
+
707
+    5. You need your kernel with framebuffer support (it's under 'Console')
708
+       so if your kernel don't have it reconfigure and recompile your kernel.
709
+
710
+    6. switch to a console
711
+
712
+    7. export QTDIR=[path] On Debian is '/usr'
713
+
714
+    8. Read http://doc.trolltech.com/3.0/envvars.html and configure your
715
+       environment vars until kvirc3-emb loads (it will give you an error
716
+       indicating what went wrong else). Pay especial attention to
717
+       QWS_MOUSE_PROTO, QWS_CARD_SLOT and QWS_DISPLAY
718
+
719
+    9. Enjoy :)
720
+
721
+###############################################################################
722
+# 6. Compiling KVIrc on MacOSX
723
+###############################################################################
724
+
725
+    There is a detailed compilation and installation HOWTO for MacOSX systems
726
+    located in the doc dorectory.
727
+
728
+###############################################################################
729
+# 7. A note about Windows 95/98/ME
730
+###############################################################################
731
+
732
+    On Windows versions prior to 2000 the KVIrc binary may refuse to start
733
+    because of an incompatible msvcrt.dll included in the distribution.
734
+
735
+    If this happens to you then you may try the following tricks:
736
+
737
+    - Find msvcrt.dll in your C:\Windows directory. It may also be
738
+      in C:\Windows\System or C:\Windows\System32
739
+      Copy it to the KVIrc installation folder overwriting the existing
740
+      msvcrt.dll shipped with kvirc.
741
+
742
+    - Find msvcrt.dll somewhere on the net. An url hint might be:
743
+      http://www.dll-files.com/dllindex/dll-files.shtml?msvcrt 
744
+      Download the file and copy it to the KVIrc installation folder
745
+      overwriting the existing msvcrt.dll shipped with kvirc.
746
+
747
+    If none of the two steps work for you please write a mail to
748
+    pragma at kvirc dot net reporting your exact Windows version and build
749
+    and including the exact messages that the system reports when trying
750
+    to run the KVIrc executable.
751
+
752
+    Thanx to Dusan Hokuv for reporting this and suggesting the fixes.
753
+

+ 95
- 0
Makefile.am View File

@@ -0,0 +1,95 @@
1
+###############################################################################
2
+# KVirc IRC client Makefile - 16.12.98 Szymon Stefanek 
3
+###############################################################################
4
+
5
+EXTRA_DIST    = autogen.sh README FAQ
6
+
7
+SUBDIRS          = admin data doc po scripts src
8
+
9
+AUTOMAKE_OPTIONS = foreign 
10
+
11
+###############################################################################
12
+# Delete moc files all around
13
+###############################################################################
14
+
15
+delmoc:
16
+	rm -f $(topdir)/src/*/*/*.moc
17
+	rm -f $(topdir)/src/*/*/moc_*.cpp
18
+
19
+###############################################################################
20
+# Main make command
21
+###############################################################################
22
+
23
+kvirc-intro:
24
+	@echo "################################################################################"
25
+	@echo "### Ok..."
26
+	@echo "### The compilation process will take a while..."
27
+	@echo "### Have a cold beer in the meantime..."
28
+	@echo "################################################################################"
29
+	
30
+kvirc-outro:
31
+	@echo "################################################################################"
32
+	@echo "### Finished..."
33
+	@echo "### Now type 'make install'"
34
+	@echo "################################################################################"
35
+
36
+kvirc: kvirc-intro all kvirc-outro
37
+
38
+install: install-recursive docs banner
39
+
40
+install-devel: install-recursive banner
41
+
42
+messages:
43
+	cd $(topdir)/po/kvirc && make messages
44
+	cd $(topdir)/po/modules/about && make messages
45
+	cd $(topdir)/po/modules/dcc && make messages
46
+	cd $(topdir)/po/modules/editor && make messages
47
+	cd $(topdir)/po/modules/logview && make messages
48
+	cd $(topdir)/po/modules/mediaplayer && make messages
49
+	cd $(topdir)/po/modules/notifier && make messages
50
+	cd $(topdir)/po/modules/options && make messages
51
+	cd $(topdir)/po/modules/perl && make messages
52
+	cd $(topdir)/po/modules/perlcore && make messages
53
+	cd $(topdir)/po/modules/sharedfileswindow && make messages
54
+	cd $(topdir)/po/modules/theme && make messages
55
+
56
+###############################################################################
57
+# Generate documentation
58
+###############################################################################
59
+
60
+docs:
61
+	$(mkinstalldirs) $(DESTDIR)$(helpdir)
62
+	perl admin/gendoc.pl -v $(VERSION) $(DESTDIR)$(helpdir) \
63
+          data/doctemplates/*.template \
64
+          `find ./ -name "*.cpp" -print` \
65
+		  `find ./ -name "*.h" -print`
66
+
67
+###############################################################################
68
+# Rule for developer documentation
69
+###############################################################################
70
+
71
+devdocs:
72
+	cd admin && doxygen
73
+
74
+###############################################################################
75
+# Finished :)
76
+###############################################################################
77
+
78
+banner:
79
+	@echo "################################################################################"
80
+	@echo "### INSTALLATION COMPLETE"
81
+	@echo "################################################################################"
82
+	@echo "###"
83
+	@echo "### KVIrc is now installed and ready to run."
84
+	@echo "###"
85
+	@echo "### Please send bug reports and suggestions"
86
+	@echo "### to pragma at kvirc dot net"
87
+	@echo "### You can use the mail report form on"
88
+	@echo "###"
89
+	@echo "### http://www.kvirc.net"
90
+	@echo "###"
91
+	@echo "### We hope that you will enjoy KVIrc."
92
+	@echo "###"
93
+	@echo "### Szymon Stefanek and the KVIrc Development Team"
94
+	@echo "###"
95
+	@echo "################################################################################"

+ 387
- 0
README View File

@@ -0,0 +1,387 @@
1
+23.03.2008: Release 3.4.0 "Virgo"
2
+###############################################################################
3
+
4
+Here we go with another release :)
5
+
6
+This one took a very long time but, well, finally it's here.
7
+
8
+Notable new features of this release include:
9
+
10
+	- improved themeing support
11
+	- better desktop integration
12
+	- nicer support for many different IRC servers
13
+	- a totally revised option layout
14
+	- basic support for script "addons"
15
+	- improved help subsystem
16
+	- new nice statusbar applets
17
+	- improved scripting engine
18
+	- improved windows and macosx support
19
+	- ....
20
+
21
+There is also a lot of small new details that you will
22
+find out by yourself while playing around and finally
23
+we obviously also have a huge number of bugfixes.
24
+
25
+This will be the last stable release of the 3.* series and also the last
26
+one using Qt3. From now on we'll be working on major version 4 and
27
+switching completly to Qt4. This release actually contains a preliminary
28
+Qt4 support and if you feel brave you might test it by passing
29
+the "hidden" --enable-qt swtich to configure.
30
+
31
+Have fun :)
32
+Szymon Stefanek and The KVIrc Development Team
33
+
34
+
35
+
36
+
37
+
38
+
39
+###############################################################################
40
+General notes for the 3.4.0 release of the KVIrc IRC client
41
+###############################################################################
42
+
43
+- Installation
44
+
45
+The detailed installation instructions for the unix source distribution
46
+are in the INSTALL file.
47
+
48
+The Windows version needs no installation: you just need to run the
49
+installer executable and follow the proposed steps.
50
+
51
+Other documentation can be found in the doc subdirectory.
52
+
53
+- Reporting problems
54
+
55
+You are encouraged to "mess" with all the KVIrc options and features,
56
+and to report bugs and misbehaviours to the author.
57
+Anyway , before reporting a bug , ask yourself if it can be caused
58
+by some other part of your system: KVIrc uses many external libraries
59
+and (as all programs) relies on a correct system behaviour.
60
+Make sure that the libraries you use are the correct ones (!!!).
61
+
62
+When you encounter a problem please read the FAQ that is found
63
+in the distribution and also take a look at http://www.kvirc.net
64
+for a more recent version. If nothing helps to solve your problem
65
+then you might consider issuing a bug report.
66
+
67
+The best way to report a bug is to use the bugtrack system at
68
+http://svn.kvirc.de/kvirc/. Another way is to subscribe
69
+to the kvirc mailing list (see http://www.kvirc.net for instructions)
70
+and report the problem there. In both cases your bug report
71
+should be written in english and should contain most informations
72
+possible about the problem. If you have encountered a crash
73
+on an unix platform you should include a gdb backtrace (stack dump).
74
+The more gdb info you send, the biggest is the possibility for us
75
+to find the problem and maybe a solution. There is a FAQ entry
76
+that explains how to produce a suitable gdb backtrace.
77
+If you can't obtain a gdb backtrace (maybe because you're on
78
+a platform where gdb is not available) or if the problem
79
+is not related to a program crash then you should include
80
+a detailed procedure that leads to the manifestation of your problem.
81
+You should always include a short description of the platform you
82
+are running on: the operating system, the cpu (if not an x86),
83
+the version of the Qt library and the KDE environment (if relevant).
84
+You should also mention the relevant version of KVIrc and where
85
+you got it from (cvs, kvirc site, other sites).
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+###############################################################################
105
+# Historic entries : just for the curious
106
+###############################################################################
107
+
108
+
109
+22.02.2005: Release 3.2.0 "Realia"
110
+###############################################################################
111
+
112
+Here we go again: 3.2.0 is out!
113
+
114
+The long road to stability has reached an important milestone. The previous
115
+releases of the 3.* series were the first ones after a huge codebase rewrite.
116
+3.2.0 is a result of several months of testing, debugging and improving.
117
+You will surely find it more stable, fast and user friendly.
118
+
119
+The old scripting toolbars have been replaced by the new "action" based
120
+approach. Besides the scripting flexibility of the actions we have also
121
+gained "drag & drop" toolbar editing. Just select "Settings -> Toolbars
122
+-> Customize" from the menu and drag your favorite actions (buttons!) to the
123
+toolbars you wish. You can obviously create new toolbars on the fly and destroy
124
+old ones. There is a set of builtin actions and new ones can be added
125
+by the means of the action editor (another new feature) accessible from
126
+the Scripting menu. Play with it :)
127
+
128
+The UNICODE support has been improved yet more. Now you can set global,
129
+per-network, per-server and per-window encodings! There is also a new
130
+set of "smart" encoding engines that first try to decode the text as UTF8
131
+and in case of failure fallback to your standard encoding.
132
+
133
+The translators did a really good (and hard) job: we actually have KVIrc
134
+translated in 14 languages. I'm really happy about that.
135
+
136
+There is a new nice Instant-Messager-like notifier window that pops up when
137
+a query message arrives and KVIrc is not the active application. Yes,
138
+you can disable it, but I'm sure you will not. The notifier is also fully
139
+scriptable and we're working on a simple skinning engine for it.
140
+
141
+We also have perl support: now you can use perl from KVS and
142
+KVS from perl. The engine is still quite essential but with some hacking
143
+you can obtain really good results from it.
144
+
145
+The small IRC-Context-Display has been removed from the toolbar and has been
146
+replaced by a real status bar that is capable of displaying the same
147
+informations in a much cleaner way. The IRC-Context-Display is still
148
+available as an action so you can just drag it back in its place
149
+and hide the status bar to return to the previous release configuration.
150
+The statusbar also supports applets that can be added/dragged/removed by the
151
+means of the mouse: just try the right click.
152
+
153
+The scripting engine has been improved and there are several new object
154
+classes. An interesting new feature here is the $tr() function that allows
155
+your scripts to be translated with the standard gettext mechanism. The
156
+widely requested DCOP communication function has been implemented too.
157
+
158
+Out-of-the-box mircryption support has been added. The KVIrc's mircryption
159
+engine supports the standard ECB mode and the new CBC mode
160
+
161
+The DCC transfers have been improved and seveal related bugs have been
162
+fixed. It is also possible to limit the bandwidth for each transfer.
163
+
164
+There is a lot of minor new features that will make your IRC sessions funnier
165
+and more exciting: some of them are described in the ChangeLog file and
166
+other can be found by exploring the user interface.
167
+
168
+The small one-man-project has grown to the level of a small community.
169
+People from around the world have joined our development efforts and are
170
+constantly donating their time, eyes and bandwidth in order to make KVIrc
171
+a really good IRC client. Besides of simply giving you a free (as in freedom!)
172
+and nice program for chatting, they are giving you the great opportunity to see
173
+what's behind the scenes: you have the source code for the whole application.
174
+In practical terms this means more or less 300.000 lines of tested, debugged and
175
+commented C++ code, several perl scripts, dozens of makefiles and all the means
176
+that you need to produce a working KVIrc executable on all the supported platforms.
177
+There is a lot of knowledge (some people call it "technology" because it sells better)
178
+inside, ready to be acquired by an attentive reader. Don't forget that the freedom of
179
+building your own executable from the sources gives you the opportunity
180
+of verifying the source itself: for example you might be interested in verifying
181
+that KVIrc will not run any malware code on your machine nor will collect
182
+your private data and sell it to someone while you're happily chatting with a friend.
183
+We call it freedom, please respect it :)
184
+
185
+Our community is contantly growing and this release was possible thanks to the
186
+contribution of really many people. There are new mighty developers, new addicted
187
+fans and we have seen a lot of new users. The list of the major contributors
188
+can be found on the KVIrc site, in the about dialog and all around the sources.
189
+If you want to meet them please join the #kvirc channel on your favorite
190
+IRC network or subscribe to our mailing list.
191
+
192
+Ah, I was going to forget it: you might have noticed that there is
193
+a version bump from 3.0.1 to 3.2.0. It's a typo that we arbitrairly
194
+decided not to fix :)
195
+
196
+Have fun :)
197
+Szymon Stefanek and The KVIrc Development Team
198
+
199
+
200
+
201
+
202
+31.05.2004: Release 3.0.1 "System Virtue"
203
+###############################################################################
204
+
205
+Here we go again: 3.0.1 is out!
206
+
207
+3.0.1 is mainly a bugfix release. 3.0.0 was the first public release
208
+after long time and even if we have tested it for a very long time
209
+some bugs didn't miss to jump out. 3.0.1 contains the fixes for these
210
+problems and adds some minor functionality. The detailed list of
211
+changes is in the ChangeLog file.
212
+
213
+The bugs for this release should be reported by using the bugtrack system available
214
+at http://bugtrack.kvirc.omnikron.net
215
+
216
+Have fun :)
217
+Szymon Stefanek and The KVIrc Development Team
218
+
219
+
220
+17.04.2004: Release 3.0.0 "Awakening"
221
+###############################################################################
222
+
223
+After a couple of years from the last stable release, here we go again :)
224
+
225
+Since the 2.* releases the KVIrc source code has been almost completely
226
+rewritten. The major differences are summarized in the following list:
227
+
228
+	- Multiserver: you can have multiple IRC connections in a single window
229
+	- IPV6 support, also for DCC transfers
230
+	- SSL support (also over IPV6)
231
+	- UNICODE support for the user interface
232
+	- Better scripting language
233
+	- A basic Theme Engine
234
+
235
+The first major goal of the rewrite was "user-friendliness": you should be
236
+able to start an IRC session by selecting a server and clicking "Connect Now"
237
+just after the installation.
238
+The second major goal was "extreme-flexibility": you can customize the way KVIrc
239
+looks and the scripting language allows you to implement complex responses
240
+to IRC generated events.
241
+
242
+There is a lot of minor new features that will make your IRC sessions funnier
243
+and more exciting: some of them are described in the ChangeLog file and
244
+other can be found by exploring the user interface.
245
+
246
+This release was possible thanks to the contribution of many people.
247
+The list includes but is not limited to: Triskelios, Jan Wagner (spion),
248
+Juanjo Alvarez (Kane), Andrea Parrella (Yap), Luk De Ketelaere (Balboy),
249
+Sara D'Alia (Sbrokka), Ted Podgurski (alch3m1st), Ciro Guariglia (d3vah),
250
+Christoph Thielecke (Crissi), Eva Schaller (Penny), Niklas Luerßen (Tequila)
251
+Olle Hallnas (Crocodile), Francesco Meloni (Princo), Alessandro Rossini (Aronnax),
252
+Alex Grijalba Martinez (SuD), SuperbepS, Thilo Schulz (Thilo), Dworf,
253
+Jorma Tuomainen (Wiza), Michele Pinassi (O-Zone), Paolo Sammicheli (XDatap1),
254
+Ahinu, xevilstar, The Siena Linux Users Group, cyco & samweis,
255
+The Firenze Linux Users Group, all the subscribers of the KVIrc public mailing
256
+list and finally all the people from #kvirc on IRCNet and Freenode.
257
+
258
+Have fun :)
259
+Szymon Stefanek and The KVIrc Development Team
260
+
261
+###############################################################################
262
+General notes for the 3.0.0 release of the KVIrc IRC client
263
+###############################################################################
264
+
265
+- Installation
266
+
267
+The detailed installation instructions for the unix source distribution
268
+are in the INSTALL file.
269
+
270
+The Windows version needs no installation: just unzip the archive in
271
+a suitable directory (such as C:\Program Files\) and run kvirc.exe from there.
272
+
273
+Other documentation can be found in the doc subdirectory.
274
+
275
+- Reporting problems
276
+
277
+In this release , the changes are so huge that it was not possible
278
+to test them in all the possible conditions. A 'normal' irc session
279
+should give you no problems.
280
+You are encouraged to "mess" with all the KVIrc options and features,
281
+and to report bugs and misbehaviours to the author.
282
+Anyway , before reporting a bug , ask yourself if it can be caused
283
+by some other part of your system: KVIrc uses many external libraries
284
+and (as all programs) relies on a correct system behaviour.
285
+Make sure that the libraries you use are the correct ones (!!!).
286
+
287
+- Contents of a good bug report:
288
+
289
+- A gdb backtrace in case of a segfault.
290
+	The more gdb info you send , the biggest is the possibility
291
+	for me to find the problem and maybe a solution.
292
+- A detailed description (read : procedure) to reproduce the bug
293
+	Obviously if possible...
294
+- All informations on your system that you think that may be
295
+	related to KVIrc and to the problem itself.
296
+
297
+To enable the gdb debugging you must compile kvirc with
298
+the --enable-debug configure option.
299
+
300
+
301
+
302
+03.01.2003: Release 3.0.0 beta2
303
+###############################################################################
304
+
305
+
306
+Here we go again!
307
+Yes , this is still called "beta" , but it should be stable on most machines.
308
+We're simply still missing some features planned for the final 3.0.0.
309
+
310
+Beta2 is being released as a source package.
311
+Binary packages (for windows and other platforms) might be available soon
312
+so check out the download section once in a while.
313
+
314
+90% of the 2.* branch features have been already re-implemented and there are
315
+many new things to play with.
316
+
317
+There is a preliminary UNICODE port: KVIrc UI starts to "speak" foreign (non Latin1) based languages.
318
+IRC character set mapping has been implemented (with 8 commonly used codepages for now).
319
+You should be able to use the Euro sign (ISO-8859-15), write Cyrillic (KOI-8-R , CP-1251 , ISO-8859-5),
320
+Greek (ISO-8859-7) and even use ideograms with the UTF-8 encoding.
321
+Character mapping selection is window based thus you should be able to write Cyrillic on #russian,
322
+Greek on #athens and write plain English on #kvirc in the same IRC session.
323
+
324
+Some modules have been removed from the main distribution. This is because the source
325
+tree has been growing too much: we are removing the non-strictly-necessary features
326
+and we will release them as separate packages.
327
+
328
+On the CVS you can already find the "nap" module that allows chatting (no file sharing yet)
329
+on OpenNap networks.
330
+
331
+The scriptcenter dialog has been splitted in smaller "pieces" and a GUI toolbar editor has been added.
332
+
333
+Finally there are tons of bugfixes and improvements: just play with it :)
334
+
335
+The bugs for this release should be reported by using the bugtrack system available
336
+at http://bugtrack.kvirc.omnikron.net.
337
+
338
+Have fun :)
339
+Szymon Stefanek and The KVIrc Development Team
340
+
341
+###############################################################################
342
+
343
+
344
+
345
+25.06.2002
346
+###############################################################################
347
+
348
+3.0.0 beta1 (Codename: "Eve's Avatar")
349
+
350
+This release is "floating around" since a couple of months...
351
+Well... finally... here we go :)
352
+This is not stable yet, but many people use it and we get a really small number of
353
+critical reports: this means that you probably can use it for your daily chatting.
354
+
355
+Beta1 is being released as a source package and a binary distro for the windows platform.
356
+Binary packages for other platforms might be available soon so check out the download section once in a while.
357
+
358
+If you had previous KVIrc installations and you experience problems (missing menus for example)
359
+try to remove (or better just rename) the old local configuration directory (locaed
360
+in your home dir probably) and to restart KVIrc.
361
+
362
+80% of the 2.* branch features have been already re-implemented and there is a whole
363
+bunch of new things to play with. One of the greates "ChangeLog" entries is the preliminary
364
+SSL support that works for IRC and DCC CHAT (both over IPv4 and IPv6).
365
+CTCP PAGE support has been added and there were some major changes to the variable
366
+management in the scripting language (added "real" array support and changed the syntax for the dictionaries).
367
+Those of you that like colors can now enable the icon-like display of emoticons
368
+and play with icons in the text sent through the server (a new escape code).
369
+The documentation has been reworked a little bit more, there are some new modules and
370
+a lot of new options to try.
371
+
372
+The windows version is not completely in sync with the linux one thus you might find
373
+that it lacks some features (mainly advanced scripting language, sound support etc...).
374
+We hope to have a completely synchronized versions on both platforms for the time
375
+of 3.0.0 final.
376
+
377
+The bugs for this release should be reported by using our new shiny bugtrack system available
378
+at http://bugtrack.kvirc.omnikron.net.
379
+
380
+Well..
381
+That's all folks!
382
+
383
+Have fun :)
384
+Szymon Stefanek and The KVIrc Development Team
385
+
386
+###############################################################################
387
+

+ 50
- 0
TODO View File

@@ -0,0 +1,50 @@
1
+Update TODO file, if something is implemented, it should be removed in the TODO file.
2
+Mantain TODO file as clear as possible
3
+
4
+- Pragma should read this file :D
5
+- Events, events, events. There are lots of them pending (see TODO.Events).
6
+- Multiple identities (and identity associations for servers)
7
+- Port the speech module!
8
+- /timer as a module
9
+- It would be cool if KVIrc could to delete old log files automatically 
10
+	(configurable, of course), to avoid disk ocupation. For example, delete (or 
11
+	move to trash) 15-days old log files automatically (configurable by user).
12
+- html colored logs (with icons ? configurable with an option)
13
+- Check away status from the /WHO message ? (this would involve requesting WHO often)
14
+- Handle more uncommon channel modes in the channel mode box ?
15
+  SHould get the available modes from RPL_ISUPPORT and show them in the box
16
+- On-line charset guessing:
17
+	KviWindow should have the possibility of setting a KVI_CHARSET_AUTO
18
+	The KviWindow::decodeText() should contain an algorithm that
19
+	would use the best "guess" charset based on the window output
20
+	history , the actually detected charset and the text to decode
21
+
22
+	/charset ISO-8859-15
23
+- When user clicks search in the help window there should be some kind of
24
+	notification when the search starts... The way it is now you can't tell if the
25
+	search button even worked, until the search process is finished
26
+- Channel mode-field
27
+	The channel mode field should be dynamical, it should be able to change width according to what it needs,
28
+	today it's way too long.
29
+- Userlist
30
+	The userlist should be dynamical after how many characters the server lets you use in a nickname, today it's
31
+	way too wide, this makes it look ugly.
32
+- Text-hints
33
+	Text hints doesn't dissapear after changing desktop under KDE, and you have to change back to the
34
+	desktop where KVIrc is to remove the hint.
35
+- CService support
36
+	We already have nickserv support, why not CService/X support? This should be much much easier to
37
+	implement as it's only on one net (Undernet), and with a static host and command that never changes, we
38
+	only need to specify password.
39
+- Option to save & restore sessions (session = opened irc connections, channels & queries)
40
+- Group messages:
41
+         * Add predefined groups
42
+         
43
+         As kvirc3 now supports the ability to send msg's to more than one person at
44
+         a time, I would have liked to see
45
+         a way of making predefined groups.  For example if I often send the same msg
46
+         to both user1, user3, user9 and
47
+         user31, then I would like to add these to a group called "Friends", and then
48
+         just do a "/gquery Friends hi :) what's up?"
49
+
50
+- Add commands for playing PCM WAV files (using the DCC voice code).

+ 8761
- 0
acinclude.m4
File diff suppressed because it is too large
View File


+ 910
- 0
aclocal.m4 View File

@@ -0,0 +1,910 @@
1
+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
2
+
3
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4
+# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
5
+# This file is free software; the Free Software Foundation
6
+# gives unlimited permission to copy and/or distribute it,
7
+# with or without modifications, as long as this notice is preserved.
8
+
9
+# This program is distributed in the hope that it will be useful,
10
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12
+# PARTICULAR PURPOSE.
13
+
14
+m4_ifndef([AC_AUTOCONF_VERSION],
15
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16
+m4_if(AC_AUTOCONF_VERSION, [2.61],,
17
+[m4_warning([this file was generated for autoconf 2.61.
18
+You have another version of autoconf.  It may work, but is not guaranteed to.
19
+If you have problems, you may need to regenerate the build system entirely.
20
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
21
+
22
+# Copyright (C) 2002, 2003, 2005, 2006, 2007  Free Software Foundation, Inc.
23
+#
24
+# This file is free software; the Free Software Foundation
25
+# gives unlimited permission to copy and/or distribute it,
26
+# with or without modifications, as long as this notice is preserved.
27
+
28
+# AM_AUTOMAKE_VERSION(VERSION)
29
+# ----------------------------
30
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
31
+# generated from the m4 files accompanying Automake X.Y.
32
+# (This private macro should not be called outside this file.)
33
+AC_DEFUN([AM_AUTOMAKE_VERSION],
34
+[am__api_version='1.10'
35
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
36
+dnl require some minimum version.  Point them to the right macro.
37
+m4_if([$1], [1.10.1], [],
38
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
39
+])
40
+
41
+# _AM_AUTOCONF_VERSION(VERSION)
42
+# -----------------------------
43
+# aclocal traces this macro to find the Autoconf version.
44
+# This is a private macro too.  Using m4_define simplifies
45
+# the logic in aclocal, which can simply ignore this definition.
46
+m4_define([_AM_AUTOCONF_VERSION], [])
47
+
48
+# AM_SET_CURRENT_AUTOMAKE_VERSION
49
+# -------------------------------
50
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
51
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
52
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
53
+[AM_AUTOMAKE_VERSION([1.10.1])dnl
54
+m4_ifndef([AC_AUTOCONF_VERSION],
55
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
56
+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
57
+
58
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
59
+
60
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
61
+#
62
+# This file is free software; the Free Software Foundation
63
+# gives unlimited permission to copy and/or distribute it,
64
+# with or without modifications, as long as this notice is preserved.
65
+
66
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
67
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
68
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
69
+#
70
+# Of course, Automake must honor this variable whenever it calls a
71
+# tool from the auxiliary directory.  The problem is that $srcdir (and
72
+# therefore $ac_aux_dir as well) can be either absolute or relative,
73
+# depending on how configure is run.  This is pretty annoying, since
74
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
75
+# source directory, any form will work fine, but in subdirectories a
76
+# relative path needs to be adjusted first.
77
+#
78
+# $ac_aux_dir/missing
79
+#    fails when called from a subdirectory if $ac_aux_dir is relative
80
+# $top_srcdir/$ac_aux_dir/missing
81
+#    fails if $ac_aux_dir is absolute,
82
+#    fails when called from a subdirectory in a VPATH build with
83
+#          a relative $ac_aux_dir
84
+#
85
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
86
+# are both prefixed by $srcdir.  In an in-source build this is usually
87
+# harmless because $srcdir is `.', but things will broke when you
88
+# start a VPATH build or use an absolute $srcdir.
89
+#
90
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
91
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
92
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
93
+# and then we would define $MISSING as
94
+#   MISSING="\${SHELL} $am_aux_dir/missing"
95
+# This will work as long as MISSING is not called from configure, because
96
+# unfortunately $(top_srcdir) has no meaning in configure.
97
+# However there are other variables, like CC, which are often used in
98
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
99
+#
100
+# Another solution, used here, is to always expand $ac_aux_dir to an
101
+# absolute PATH.  The drawback is that using absolute paths prevent a
102
+# configured tree to be moved without reconfiguration.
103
+
104
+AC_DEFUN([AM_AUX_DIR_EXPAND],
105
+[dnl Rely on autoconf to set up CDPATH properly.
106
+AC_PREREQ([2.50])dnl
107
+# expand $ac_aux_dir to an absolute path
108
+am_aux_dir=`cd $ac_aux_dir && pwd`
109
+])
110
+
111
+# AM_CONDITIONAL                                            -*- Autoconf -*-
112
+
113
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
114
+# Free Software Foundation, Inc.
115
+#
116
+# This file is free software; the Free Software Foundation
117
+# gives unlimited permission to copy and/or distribute it,
118
+# with or without modifications, as long as this notice is preserved.
119
+
120
+# serial 8
121
+
122
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
123
+# -------------------------------------
124
+# Define a conditional.
125
+AC_DEFUN([AM_CONDITIONAL],
126
+[AC_PREREQ(2.52)dnl
127
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
128
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
129
+AC_SUBST([$1_TRUE])dnl
130
+AC_SUBST([$1_FALSE])dnl
131
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
132
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
133
+if $2; then
134
+  $1_TRUE=
135
+  $1_FALSE='#'
136
+else
137
+  $1_TRUE='#'
138
+  $1_FALSE=
139
+fi
140
+AC_CONFIG_COMMANDS_PRE(
141
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
142
+  AC_MSG_ERROR([[conditional "$1" was never defined.
143
+Usually this means the macro was only invoked conditionally.]])
144
+fi])])
145
+
146
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
147
+# Free Software Foundation, Inc.
148
+#
149
+# This file is free software; the Free Software Foundation
150
+# gives unlimited permission to copy and/or distribute it,
151
+# with or without modifications, as long as this notice is preserved.
152
+
153
+# serial 9
154
+
155
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
156
+# written in clear, in which case automake, when reading aclocal.m4,
157
+# will think it sees a *use*, and therefore will trigger all it's
158
+# C support machinery.  Also note that it means that autoscan, seeing
159
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
160
+
161
+
162
+# _AM_DEPENDENCIES(NAME)
163
+# ----------------------
164
+# See how the compiler implements dependency checking.
165
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
166
+# We try a few techniques and use that to set a single cache variable.
167
+#
168
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
169
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
170
+# dependency, and given that the user is not expected to run this macro,
171
+# just rely on AC_PROG_CC.
172
+AC_DEFUN([_AM_DEPENDENCIES],
173
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
174
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
175
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
176
+AC_REQUIRE([AM_DEP_TRACK])dnl
177
+
178
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
179
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
180
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
181
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
182
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
183
+                   [depcc="$$1"   am_compiler_list=])
184
+
185
+AC_CACHE_CHECK([dependency style of $depcc],
186
+               [am_cv_$1_dependencies_compiler_type],
187
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
188
+  # We make a subdir and do the tests there.  Otherwise we can end up
189
+  # making bogus files that we don't know about and never remove.  For
190
+  # instance it was reported that on HP-UX the gcc test will end up
191
+  # making a dummy file named `D' -- because `-MD' means `put the output
192
+  # in D'.
193
+  mkdir conftest.dir
194
+  # Copy depcomp to subdir because otherwise we won't find it if we're
195
+  # using a relative directory.
196
+  cp "$am_depcomp" conftest.dir
197
+  cd conftest.dir
198
+  # We will build objects and dependencies in a subdirectory because
199
+  # it helps to detect inapplicable dependency modes.  For instance
200
+  # both Tru64's cc and ICC support -MD to output dependencies as a
201
+  # side effect of compilation, but ICC will put the dependencies in
202
+  # the current directory while Tru64 will put them in the object
203
+  # directory.
204
+  mkdir sub
205
+
206
+  am_cv_$1_dependencies_compiler_type=none
207
+  if test "$am_compiler_list" = ""; then
208
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
209
+  fi
210
+  for depmode in $am_compiler_list; do
211
+    # Setup a source with many dependencies, because some compilers
212
+    # like to wrap large dependency lists on column 80 (with \), and
213
+    # we should not choose a depcomp mode which is confused by this.
214
+    #
215
+    # We need to recreate these files for each test, as the compiler may
216
+    # overwrite some of them when testing with obscure command lines.
217
+    # This happens at least with the AIX C compiler.
218
+    : > sub/conftest.c
219
+    for i in 1 2 3 4 5 6; do
220
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
221
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
222
+      # Solaris 8's {/usr,}/bin/sh.
223
+      touch sub/conftst$i.h
224
+    done
225
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
226
+
227
+    case $depmode in
228
+    nosideeffect)
229
+      # after this tag, mechanisms are not by side-effect, so they'll
230
+      # only be used when explicitly requested
231
+      if test "x$enable_dependency_tracking" = xyes; then
232
+	continue
233
+      else
234
+	break
235
+      fi
236
+      ;;
237
+    none) break ;;
238
+    esac
239
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
240
+    # mode.  It turns out that the SunPro C++ compiler does not properly
241
+    # handle `-M -o', and we need to detect this.
242
+    if depmode=$depmode \
243
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
244
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
245
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
246
+         >/dev/null 2>conftest.err &&
247
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
248
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
249
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
250
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
251
+      # icc doesn't choke on unknown options, it will just issue warnings
252
+      # or remarks (even with -Werror).  So we grep stderr for any message
253
+      # that says an option was ignored or not supported.
254
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
255
+      #   icc: Command line warning: ignoring option '-M'; no argument required
256
+      # The diagnosis changed in icc 8.0:
257
+      #   icc: Command line remark: option '-MP' not supported
258
+      if (grep 'ignoring option' conftest.err ||
259
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
260
+        am_cv_$1_dependencies_compiler_type=$depmode
261
+        break
262
+      fi
263
+    fi
264
+  done
265
+
266
+  cd ..
267
+  rm -rf conftest.dir
268
+else
269
+  am_cv_$1_dependencies_compiler_type=none
270
+fi
271
+])
272
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
273
+AM_CONDITIONAL([am__fastdep$1], [
274
+  test "x$enable_dependency_tracking" != xno \
275
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
276
+])
277
+
278
+
279
+# AM_SET_DEPDIR
280
+# -------------
281
+# Choose a directory name for dependency files.
282
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
283
+AC_DEFUN([AM_SET_DEPDIR],
284
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
285
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
286
+])
287
+
288
+
289
+# AM_DEP_TRACK
290
+# ------------
291
+AC_DEFUN([AM_DEP_TRACK],
292
+[AC_ARG_ENABLE(dependency-tracking,
293
+[  --disable-dependency-tracking  speeds up one-time build
294
+  --enable-dependency-tracking   do not reject slow dependency extractors])
295
+if test "x$enable_dependency_tracking" != xno; then
296
+  am_depcomp="$ac_aux_dir/depcomp"
297
+  AMDEPBACKSLASH='\'
298
+fi
299
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
300
+AC_SUBST([AMDEPBACKSLASH])dnl
301
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
302
+])
303
+
304
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
305
+
306
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
307
+# Free Software Foundation, Inc.
308
+#
309
+# This file is free software; the Free Software Foundation
310
+# gives unlimited permission to copy and/or distribute it,
311
+# with or without modifications, as long as this notice is preserved.
312
+
313
+#serial 3
314
+
315
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
316
+# ------------------------------
317
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
318
+[for mf in $CONFIG_FILES; do
319
+  # Strip MF so we end up with the name of the file.
320
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
321
+  # Check whether this is an Automake generated Makefile or not.
322
+  # We used to match only the files named `Makefile.in', but
323
+  # some people rename them; so instead we look at the file content.
324
+  # Grep'ing the first line is not enough: some people post-process
325
+  # each Makefile.in and add a new line on top of each file to say so.
326
+  # Grep'ing the whole file is not good either: AIX grep has a line
327
+  # limit of 2048, but all sed's we know have understand at least 4000.
328
+  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
329
+    dirpart=`AS_DIRNAME("$mf")`
330
+  else
331
+    continue
332
+  fi
333
+  # Extract the definition of DEPDIR, am__include, and am__quote
334
+  # from the Makefile without running `make'.
335
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
336
+  test -z "$DEPDIR" && continue
337
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
338
+  test -z "am__include" && continue
339
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
340
+  # When using ansi2knr, U may be empty or an underscore; expand it
341
+  U=`sed -n 's/^U = //p' < "$mf"`
342
+  # Find all dependency output files, they are included files with
343
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
344
+  # simplest approach to changing $(DEPDIR) to its actual value in the
345
+  # expansion.
346
+  for file in `sed -n "
347
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
348
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
349
+    # Make sure the directory exists.
350
+    test -f "$dirpart/$file" && continue
351
+    fdir=`AS_DIRNAME(["$file"])`
352
+    AS_MKDIR_P([$dirpart/$fdir])
353
+    # echo "creating $dirpart/$file"
354
+    echo '# dummy' > "$dirpart/$file"
355
+  done
356
+done
357
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
358
+
359
+
360
+# AM_OUTPUT_DEPENDENCY_COMMANDS
361
+# -----------------------------
362
+# This macro should only be invoked once -- use via AC_REQUIRE.
363
+#
364
+# This code is only required when automatic dependency tracking
365
+# is enabled.  FIXME.  This creates each `.P' file that we will
366
+# need in order to bootstrap the dependency handling code.
367
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
368
+[AC_CONFIG_COMMANDS([depfiles],
369
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
370
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
371
+])
372
+
373
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
374
+# Free Software Foundation, Inc.
375
+#
376
+# This file is free software; the Free Software Foundation
377
+# gives unlimited permission to copy and/or distribute it,
378
+# with or without modifications, as long as this notice is preserved.
379
+
380
+# serial 8
381
+
382
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
383
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
384
+
385
+# Do all the work for Automake.                             -*- Autoconf -*-
386
+
387
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
388
+# 2005, 2006, 2008 Free Software Foundation, Inc.
389
+#
390
+# This file is free software; the Free Software Foundation
391
+# gives unlimited permission to copy and/or distribute it,
392
+# with or without modifications, as long as this notice is preserved.
393
+
394
+# serial 13
395
+
396
+# This macro actually does too much.  Some checks are only needed if
397
+# your package does certain things.  But this isn't really a big deal.
398
+
399
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
400
+# AM_INIT_AUTOMAKE([OPTIONS])
401
+# -----------------------------------------------
402
+# The call with PACKAGE and VERSION arguments is the old style
403
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
404
+# and VERSION should now be passed to AC_INIT and removed from
405
+# the call to AM_INIT_AUTOMAKE.
406
+# We support both call styles for the transition.  After
407
+# the next Automake release, Autoconf can make the AC_INIT
408
+# arguments mandatory, and then we can depend on a new Autoconf
409
+# release and drop the old call support.
410
+AC_DEFUN([AM_INIT_AUTOMAKE],
411
+[AC_PREREQ([2.60])dnl
412
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
413
+dnl the ones we care about.
414
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
415
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
416
+AC_REQUIRE([AC_PROG_INSTALL])dnl
417
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
418
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
419
+  # is not polluted with repeated "-I."
420
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
421
+  # test to see if srcdir already configured
422
+  if test -f $srcdir/config.status; then
423
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
424
+  fi
425
+fi
426
+
427
+# test whether we have cygpath
428
+if test -z "$CYGPATH_W"; then
429
+  if (cygpath --version) >/dev/null 2>/dev/null; then
430
+    CYGPATH_W='cygpath -w'
431
+  else
432
+    CYGPATH_W=echo
433
+  fi
434
+fi
435
+AC_SUBST([CYGPATH_W])
436
+
437
+# Define the identity of the package.
438
+dnl Distinguish between old-style and new-style calls.
439
+m4_ifval([$2],
440
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
441
+ AC_SUBST([PACKAGE], [$1])dnl
442
+ AC_SUBST([VERSION], [$2])],
443
+[_AM_SET_OPTIONS([$1])dnl
444
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
445
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
446
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
447
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
448
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
449
+
450
+_AM_IF_OPTION([no-define],,
451
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
452
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
453
+
454
+# Some tools Automake needs.
455
+AC_REQUIRE([AM_SANITY_CHECK])dnl
456
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
457
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
458
+AM_MISSING_PROG(AUTOCONF, autoconf)
459
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
460
+AM_MISSING_PROG(AUTOHEADER, autoheader)
461
+AM_MISSING_PROG(MAKEINFO, makeinfo)
462
+AM_PROG_INSTALL_SH
463
+AM_PROG_INSTALL_STRIP
464
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
465
+# We need awk for the "check" target.  The system "awk" is bad on
466
+# some platforms.
467
+AC_REQUIRE([AC_PROG_AWK])dnl
468
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
469
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
470
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
471
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
472
+	      		     [_AM_PROG_TAR([v7])])])
473
+_AM_IF_OPTION([no-dependencies],,
474
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
475
+                  [_AM_DEPENDENCIES(CC)],
476
+                  [define([AC_PROG_CC],
477
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
478