Re: Problem with silc toolkit 0.9 on win32
Secure chat and conferencing protocol
Brought to you by:
priikone
From: Matthew A. <ma...@al...> - 2002-05-29 12:09:44
|
Zed Shaw wrote: >So, I've tracked down this strange bug in silc toolkit that I can't > >... > >VC++ .NET (although, this problem also existed in mingw). >Silc Toolkit 0.9 > fwiw, i'm using mingw/silc-toolkit-0.9, and it's working for me, albeit with some extra effort. (which I can't recall completely, but I hope this helps) I had to ensure the correct environment variables were used, so, setenv CC i386-mingw32-gcc, etc. The AR/RANLIB variable isn't used correctly in some places, so the Makefiles/configures etc, were changed to specifically refer to i386-mingw32-ar and i386-mingw32-ranlib. Then, somewhere (sorry, I can't recall), I defined.. #define _WIN32_WINNT 0x0400 #define __W32API_MAJOR_VERSION 1 With mingw32, this will cause silcwin32net.c to fail, but don't worry. Comment out the references to socket variables in silc_net_win32_init, and then launch configure.. ./configure --enable-debug --host=mingw32 --with-win32 --disable-asm --disable-threads Watch the build process to make sure the correct cross compiler binaries are used, etc, and you should end up with a mingw32 version of the silc libraries. Now (this is the weird bit), you need a mingw32 version of silcunixschedule.o . I edited silcunixschedule.c, removing references to signals (cross compiler will let you know.) You may have to edit the silcutil/Makefile to use the unix subdir (I can't recall), but you only need this file. Build it from the silcutil/unix directory or silcutil directory. (?) Return to the srcdir subdirectory, and build the silc libraries again. Because of a bug/feature in the way things are built, the silcunixschedule.o will be included in the win32 version of the silclibrary. (As well as silcwin32schedule.o) Use i386-mingw32-nm to make sure silcunixschedule.o appears before silcwin32schedule.o (and then silcschedule.o), after i386-mingw32-ranlib has been done from the Makefile. Then, do a make install. (you probably don't want this in /usr/local/silc, so use a --prefix=/usr/local/MSW/silc in the configure call above.) Copy contrib/getopt.h to /usr/local/MSW/silc/include, and then edit /usr/local/MSW/silc/include/silcincludes.h, replacing references to "../contrib/getopt.h" with "getopt.h". This should result in a build environment for silc under mingw32 cross compilation. What you do with it now, is up to you. :) Hope this helps ? Kind regards, Ma...@Al... |