[Clam-devel] Re: Windows native compilation

Giulio Paci giuliopaci at interfree.it
Mon May 5 03:43:32 PDT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pau Arumí Albó ha scritto:

> El dl 05 de 05 del 2008 a les 11:14 +0200, en/na Giulio Paci va
> escriure:
> Hi to all!
>
>     I'm happy that You're working on Windows native compilation again.
>
> While working on this task last time, I was wondering why not to use
> autoconf+automake
> instead of scons. Looking to this mailing list in the past year it
> seems to me that working
> with scons required too much patches.
>
>
> > Our build system supports many flavors of Linux, Mac OSX,
> cross-compiled
> > Windows (from Linux with Mingw).
> > And we are now working towards totally supporting native Windows with
> > Mingw so that patches are no longer necessary. (I'm not on that
> task but
> > i think we are almost there)
>
> > Given the great complexity we have to handle, we are very happy with
> > scons: it is python-powered and nicely modular (check clam scons
> tools).
I know that Your project have great complexity and I know that python
is a very
powerfull scripting language. But what I say is that I've seen a lot
of non trivial
changes to scons files in this past year that wouldn't be needed with
an autoconf
based project. These are for the greatest part related to Windows
crosscompilation
or distcc support or some other "non-standard" feature support.
In my personal experience I've not found any kind of trouble working
with scons on
Linux, but I've found working on windows.

On that system even the installation of scons itself is non-trivial,
as You must find the
right python version for You're need. Once python and scons is
installed You will need
to find out how to make it working with MinGW with the proper tools.
This is a problem
when You have both MSVC and MinGW installed.
Once everything is working with the right tools, You will need to
install the python
win32 extensions and override python spawn implementation, otherwise
You will not
be able to execute long command lines like those required for clam
compilation.

On Windows the linking order of libraries is very iportant. This is a
trouble during pkg-config
files generation as it is not so easy to get a good file: to get a
proper file You need to split
up libraries object options and preprocessing flags for every package
You're going to build
and put them in order into the file, but this is not easy to do
because scons put everything
into the same environment variables, while using ParseConfig and CheckLib.

Cheers,
    Giulio.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIHuTUfBsixEOxq7ARAgadAJwLpNxjo+2wwSdLHVQK84ib/PX+HwCfZNAX
yBIdhqwWSWWTAXMjlrWEPHE=
=av/V
-----END PGP SIGNATURE-----


-------------- next part --------------
A non-text attachment was scrubbed...
Name: giuliopaci.vcf
Type: text/x-vcard
Size: 180 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20080505/8853ce3d/attachment-0003.vcf>


More information about the clam-devel mailing list