RE: [xml] Windows Build Minorities


I have a couple of patches for you. 

The first is a patch to configure.js which adds a BCB-specific boolean
option named "dynruntime". If set to "yes", then Borland's dynamic runtime
will used; otherwise the runtime is linked statically. This option is set to
"yes" by default.

The second is an associated patch to Makefile.bcb to set the appropriate
compilation flags based on the dynruntime setting. It also fixes a bug where
the leading "!" was omitted from an !else conditional in the Makefile.

One caveat here - many of the test applications (xmllint and friends) will
not run correctly if the BCB configuration settings include both
multithreading (threads != "no") and use of static runtimes (dynruntime ==
"no"). This is a consequence of the "stdout" problem which I mentioned a few
days ago. With these settings, both the BCB-build DLL and the application
will each have  their own "stdout", and separate mechanisms for handling
thread contention on files. In the test applications, the application's
stdout is passed as a argument to functions like xmlDocDump. When the DLL
tries to write to it, its runtime first tries to lock the FILE for
thread-safety, and apparently chokes when it can't find it in its internal

-----Original Message-----
Date: Thu, 27 Nov 2003 19:54:06 +0100
From: Igor Zlatkovic <igor zlatkovic com>
To: xml gnome org
Subject: [xml] Windows Build Minorities

Hi there,

I have posted about changing the names of the output directories in 
Windows build so that builds with different compilers don't interferre 
with each other. Not a soul complained, so I did it now.

I added an option 'cruntime' to the configure.js script. Should someone 
wish to use a different runtime, she can specify the corresponding 
compiler option with this. The default is /MD. The possibilities are 
/MD, /MDd, /MT, /MTd, /ML and /MLd. This option only has effect when 
using MS compiler. The precompiled binaries will continue to use /MD no 
matter what. :-)

I also added the forgotten xmlwriter.c to the build. The new binary 
which supports this is online and carries the version number '2.6.2+'. 
This one was built from today's CVS, so whatever has been commited since 
the 2.6.2 release is also in there.


Eric Zurcher
CSIRO Livestock Industries
Canberra, Australia
Eric Zurcher csiro au

Attachment: Makefile.bcb.patch
Description: Binary data

Attachment: configure.js.patch
Description: Binary data

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]