Skip to main content.
home | support | download

Back to List Archive

Re: 2.2.4-rc1 on Windows under Cygwin

From: David L Norris <dave(at)>
Date: Fri May 30 2003 - 16:39:42 GMT
On Fri, 2003-05-30 at 10:03, David L Norris wrote:
Replying to myself, this is surely a sign of something...

Let me know if you need to build under Cygwin...  Should be no problem
to support, I think.  I try to ward people away from Cygwin emulation
where possible because it seriously impacts performance and tends to be
very buggy.

> SWISH-E will compile natively using GCC.  Best option is to install
> MinGW and MSYS from and compile just as before:
>   ./configure
>   make

I should clarify that you would also need native libxml2, pcre, and zlib
builds.  At the least SWISH-E probably requires PCRE on Win32 since
Win32 has no native RegEx library.  Native Win32 builds of those
packages aren't always ideal. I've hand made my own DLLs and config
scripts for each and I pass their locations to configure with their
respective options.

This is my SWISH-E build directory containing libxml2, pcre, and zlib:

Condensed Version:
Run the MSYS Shell from the start menu...
  tar xvzf builddir.tar.gz
  cd win32
  cvs -z3 login
  # Press Enter when asked for Password
  cvs -z3 co
  cd swish-e
  # $PWD is important here, you need the full path to each dir.
  ./configure \
      --with-libxml2=$PWD/../libxml2 \
      --with-zlib=$PWD/../zlib \
  cd src
  cp swish-e.exe ../../libxml2/lib/*.dll \
      ../../pcre/bin/*.dll \
      ../../zlib/bin/*.dll \
  cd ../..

Now let's see what we have:
$ ls
iconv.dll  libxml2.dll  pcre      swish-e      zlib
libxml2    libz.dll     pcre.dll  swish-e.exe

Goodie, we now have all the DLLs and swish-e.exe.  Then you can do this:
$ ./swish-e.exe -h
    swish [-e] [-i dir file ... ] [-S system] [-c file] [-f file] [-l]
[-v (num)]
version: 2.4.0-pr1
 Scripts and Modules at: (libexecdir) =

Notice that libexecdir is relative to the location of swish-e.exe on
Win32.  On Win32 this is done at runtime rather than compile-time. 
Normally, this is lib/swish-e under the directory where swish-e.exe is
located.  If swish-e.exe is in a directory named "bin" then it's assumed
to be ../lib/swish-e relative to swish-e.exe's location.  Hopefully
that's not as confusing as it sounds...

 David Norris
  ICQ - 412039
Received on Fri May 30 16:39:52 2003