You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kvirc/doc/win32.compiling.1.2.txt

270 lines
9.5 KiB

Win32 KVIrc compiling 1.2
a tutorial by <Grifisx>
updated by <LoSko> on 2007/01/18
english translation by <etherea`>
Index
@ Prologue
@ Ingredients
@ Providing ingredients
@ Setting up the ambiency
@ Setting ambiency variables
@ Compiling
@ Creating ambiency for setup
@ Creating setup
@ Prologue
This is meant to be a simple guide to KVIrc compiling under Windows ambiency, so
that everyone who's willing to try to compile the latest version of this cross platform
client can easily do without the need for the latest snapshot/development to be
released.
@ Ingredients
1) CVS version of KVIrc
2) Visual C++ 2005 Express
3) SDK package from Microsoft
4) Perl.
5) gettext for Windows
6) Innosetup or NSIS
7) Non Commercial QT 3.2.1
8) OpenSSL
9) zlib for Win32
@ Providing ingredients
So, let's see where to find the necessary ingredients to bake up our freshy KVIrc.
-1) CVS version of KVIrc
To get this out you will need a CVS client for Windows, then type the following
command:
cvs -z3 -d:pserver:anonymous@cvs.kvirc.net:/cvs co kvirccvs
And just in case you can find instructions here:
Link: http://www.kvirc.net/?id=cvs
A suggestion for a tiny and free CVS is Tortoise CVS.
Link: http://www.tortoisecvs.org/
-2) Visual C++ 2005 Express
This compiler is free (at least for the moment), you will only need to register in order to
get it and use it for free, use it!
Link: http://msdn.microsoft.com/vstudio/express/visualc/
-3) SDK package from Microsoft
This one too is for free, then download and install it!
Link: http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3A93E-40C0EC4F68E5&displaylang=en
-4) Perl
Perl is needed to create documentation and make perl module works, you can
download it from here:
Link: http://www.activestate.com/Products/ActivePerl/?
-5) gettext for Windows
Download and install it, it's needed to create languages localization files:
Link: http://sourceforge.net/projects/gettext
Note: be sure to install gettext in this directory C:\Program Files\GnuWin32 so that all the
executables are located in C:\Program Files\GnuWin32\bin otherwise you'll be forced to
change something in the file needed to create the setup ambiency.
-6) Innosetup
Another free program, required to create the final setup.
Link: http://www.jrsoftware.org/isinfo.php
If you are using NSIS you can have your copy here:
Link: http://nsis.sourceforge.net/Download
-7) Non Commercial QT 3.2.1
That's probably the most difficult thing to acquire; you can try find a book on QT that
has it enclosed (the non commercial one) or you'll have to figure out how to find it out.
You can buy a commercial version too, 3.x.x higher than 3.2.1.
Book: C++ GUI Programming with QT 3
Link: http://www.amazon.com/gp/product/0131240722/102-11831924381702?v=glance&n=283155
If you are pretty acknowledged with compiling you can try these instructions:
Link: http://qtwin.sourceforge.net/qt3-win32/compile-msvc-2005.php
Even if this last choice's a bit nasty to make out working =)
You still can find some precompiled version of this free stand (found on the same site of
qtwin even if a bit older) but beware: choosing this last chance will make KVIrc XP
themes not supported.
By using a different version of QT you'll need to modify every KVIrc project adapting
the qt.xxxx.dll and headers and libraries paths.
For example, assuming you have installed commercial QT 3.3.4 you'll have to modify
the projects this way:
a) selecting Properties of each project then ->Linker and ->Input
b) store the right library in the qt-mtnc321.lib matching the installed version
requirements, ie qt-3.3.4.lib. To know the exact name of your .lib file to be linked just go
to the directory where you did installed QT, in the subfolder /lib (like C:\Qt\3.3.4\lib)
-8) OpenSSL
That is needed in order to compile SSL support for KVIrc, you can have libraries and
everything else from here:
Link: http://www.slproweb.com/products/Win32OpenSSL.html
-9) zlib for win32
To give KVIrc the ability to save log files in compressed format that's what you need.
Link: http://gnuwin32.sourceforge.net/packages/zlib.htm
That's the main page, but you will need the developers files:
Link: http://gnuwin32.sourceforge.net/downloadlinks/zlib-lib-zip.php
Extract them in any folder you may like, my own suggestion is folder C:\lib for your
convenience; directory tree will be as follows:
C:(dir)
|__zlib(dir)
|__include(dir)
| |__zconf.h
| |__zlib.h
|__lib(dir)
|__zlib.lib
|__zlib.exp
Remember where did you have this folder extract because you will have to setup paths
of the include files (the .h files) and of the libraries (the .lib files) in ambiency variables
of your operating system.
@ Setting up the ambiency
Install in the following order (theoretically it is not necessary a given order but this
<EFBFBD>recipe<EFBFBD> is fully oriented to non expert users):
1-Visual C++ 2005 Express
2-SDK ; once you have installed it take the folders Lib, Include and Bin (you will find
them all in the SDK given path <20> generally in folder C:\Program Files\Microsoft Platform
SDK) and copy them in the folder \SDK\v2.0 that is under the installation path of Visual
C++ (generally in C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0).
Attention: when copying these files you'll be prompted to overwrite one or more files;
just answer NO.
3-QT 3.x.x ; during the installation you'll be prompted to record ambiency variables:
answer YES.
4-OpenSSL ; during the installation you'll be prompted to record ambiency variables:
answer YES.
5-Perl ; during the installation you'll be prompted to record ambiency variables:
answer YES.
6-gettext
7-Innosetup or NSIS or both =) (Freedom is the power to choose ;))
8-zlib ; if you did download the install&compile package; otherwise just unpack
and/or extract the ready-to-use pakage wherever you may like (generally in folder C:\).
@ Setting ambiency variables
Now we need to set up every variable of this ambiency, needed in order the compiler
will be able to find every library from which KVIrc depends.
Right-button on Resources then Properties -> Advanced -> Ambient Variables and this will
engage all QT system variables (TQTDIR) set; if that doesn't match you will need to
reinstall QT and remember to answer YES once you're prompted for setting all ambiency
variables, otherwise you will need to set them manually <20> that parts from this tutorial.
In the section dedicated to variables of the actual user add (if you don't have it yet) the
following and then give the right paths that are on your own machine (hereby are my
own paths):
Variable:
PERLDIR
Value:
C:\perl
Meaning:
Directory that stores Perl
Variable:
ZLIBLIBDIR
Value:
C:\zlib\lib
Meaning:
Directory that stores file .lib of zlib installed library, the file name must be zlib.lib
Variable:
OPENSSL
Value:
C:\OpenSLL
Meaning:
Installation folder of OpenSSL
Variable:
SSLINCDIR
Value:
C:\OpenSSL\include
Meaning:
Directory that stores OpenSSL .h files
Variable:
SSLLIBDIR
Value:
C:\OpenSSL\lib\VC
Meaning:
OpenSSL .lib files storage
Variable:
MSGFMT
Value:
C:\Program Files\GnuWin32\bin\msgfmt.exe
Meaning:
msgfmt executable path
After you've added all the variables with their own values you need to reboot.
@ Compiling
Go to folder kvirccvs\kvirc and open the file kvirc_vc05.sln then -for the less
experienced-select Build -> Configure Manager -> Release and run the compiling with
Build ->Build Solution.
You'll need to wait a little before the building ends, mostly that's up to your processor
(on a P3 800MHz it takes about 40/45 minutes, on a P4 3000 just 10/15 minutes).
Now.. pray everything is going to get the right place and no unexpected to happen; but
in case you do have troubles here are 3 different solutions:
a) read this tutorial once more, hoping you missed some points;
b) try to find out where the problem is;
c) step to Azzurranet on channel #kvirc.net and ask for Grifisx or Noldor or Pragma.
@ Creating ambiency for setup
If you're reading this, thank God, your patience and your mother (yes, yet she didn't
managed to kill you death nevertheless you spent 28 hours a day reading lines on a
monitor) you're almost done!
The latest 2 steps are quite easy.
Go to folder kvirccvs\kvirc\win32build and run makedist.vbs file.
Then run the process, on which end you'll get a folder named pakage; be sure inside
there are kvirc.exe, kvilib.dll, the folder with every KVIrc module and the following dlls:
ssleay32.dll
libeay32.dll
qt-mtnc3321.dll
perl58.dll
zlib1.dll
idleui.dll
msvcr80.dll
If you see something missing just run up a search onto your system and copy them into
the pakage directory.
Check even the file Microsoft.VC80.CRT.manifest is placed both in root folder and sub folder
modules, otherwise copy it into them (files are stored into kvirccvs\kvirc\data\manifests ;
in this last case you will only need to rename the given file
Microsoft.VC80.CRT.modules.manifest into Microsoft.VC80.CRT.manifest before you put it in
the modules folder).
@ Creating setup
Easypeasy!
After installation of Innosetup launch file KVIrc.iss that houses in folder
kvirccvs\kvirc\win32build and run the script so that at the end of the process you'll find
a freshy hot setup.exe in folder kvirccvs\kvirc\win32build\package\setup.
If you did chose NSIS: right click on the KVIrc.nsi installation script that is found in
folder kvirccvs\kvirc\win32build and run Compile NSIS Script.
This way you'll have a KVIrc.VERSION-dev-DATE.exe in your actual directory!
Run.
If everything went ok then.. EnjoY! =D
Tonino Imbesi
<Grifisx>