jabberd2 for win32 guide ======================== This guide describes briefly how to build jabberd2 on Windows platforms. NOTE: Windows platforms prior to Windows 2000 are NOT supported, so this won't work on Windows 95/98/ME/NT. Building jabberd2 win32 with Visual Studio 2005 ----------------------------------------------- Starting from revision #229 complete win32 support with Visual Studio 2005 project files is present and maintained in the repository "win32" folder. All libraries shall be installed locally and added to VC Include files and Library files paths using: Tools->Options->Project and Solutions->VC++ Directories. All libraries' DLL files shall be copied to win32/bin folder and win32/bin/sasl folder for SASL plugins respectively. Prerequisites: 1. http://alpha.gnu.org/gnu/libidn/ libidn sources, linking to: libidn.lib, use win32/libidn.sln to build. 2. http://alpha.gnu.org/gnu/gsasl/ libgsasl sources, linking to: libgsasl.lib, use win32/libgsasl.sln to build. 3. http://www.slproweb.com/products/Win32OpenSSL.html Win32 OpenSSL, binaries, linking to: libeay32MT.lib ssleay32MT.lib 4. http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277 Expat XML Parser win32, binaries, linking: libexpat.lib 5. http://www.corpit.ru/mjt/udns.html udns sources, linking to: udns.lib, since there are no VC project files provided along with sources, please use patch files provided at: http://www.nanoant.com/projects/jabberd2-win32#download 6. http://www.zlib.net/ zlib sources, linking to: zlib1.lib, convert & use VC project files at: projects/visualc6, link to Win32_DLL_ASM_Release. If you encounter MASM error: .\inffas32.asm(647) : error A2070: invalid instruction operands Add a "dword ptr" type qualifier before "[esp]" as described here: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=166511 7. http://dev.mysql.com/downloads/mysql/5.0.html MySQL, auth & storage module, binary, linking to: libmysql.lib 8. http://www.sqlite.org/download.html SQLite, auth & storage module, source, linking to: sqlite3.lib. Since there are no libraries for VC except DLLs you shall make one using sqlite-source-3.x.zip from SQLite downloads. sqlite3 command present in PATH, needed for initial database. 9. http://tortoisesvn.tigris.org/ SubWCRev command present in PATH to generate version.h and version.wxi. Comes with TortoiseSVN bin folder, added to PATH by TortoiseSVN installer. 10. http://wix.sourceforge.net/releases/ WiX 3.0.4401.0 or newer for building MSI jabberd2 setup inside VS2005 IDE 11. http://www.activestate.com/store/activeperl/download/ ActivePerl (or any Perl distribution) perl command present in PATH (optional for generation of default configuration XML files) After all prerequisite libraries are configured for use within VC open win32/jabberd2.sln and build all projects. You should have now fresh & ready Windows build of jabberd2 at win32/bin folder! Building jabberd2 win32 with MinGW ---------------------------------- NOTE: MinGW is NOT supported by the jabberd2 project team. If you have problems, you're welcome to post to jabberd@jabberstudio.org, but thats all. If you file a bug that can't be reproduced under Unix or MSVC, then the bug will be assumed not to exist. If anyone would like to step up to maintain this port properly, please contact us. You'll need MinGW and MSys installed to get this going, available here: http://www.mingw.org/ At the time of writing, the latest MinGW is 3.1.0-1. If you get this version, you'll need to also get w32api 2.5 (to get the aforementioned DNS resolution APIs). Later versions of MinGW should include these. Once all this kit is up and running, its business as usual: % ./configure % make % make install Note that you'll still need the various external packages as stated at Visual Studio 2005 section (eg MySQL dev packages) available in order to build a working server. Getting these up and running under MinGW is outside the scope of this short guide. Thanks ------ I'd like to thank Robert Norris for former win32 guide & support. Also huge thanks go out to Peter Hinz for the original port that was cannibalised pretty seriously by my predecessor that wouldn't have had a chance if he hadn't seen his code. Also I'm sending thanks to Tomasz Sterna (current project maintainer) for letting me in with my win32 modifications and support. -- Adam Strzelecki , 2008-08-17