[email protected] wrote:
I am developing 32- and 64-bit applications on Solaris using Xerces 3.0.1.
 I have just finished building the libraries and wanted to know if I need
to keep separate directories for the include files that are different
between the 32- and 64-bit builds.
Yes, because the autoconf-generated file is different.


What got me wondering about this was that if you do a diff between the
files in the include directory after doing a 32 and 64 bit build there are
some differences.

(I saved a copy of the includes into include32 and include64 after doing
the builds.)
diff -r include32 include64
...
...
diff -r include32/xercesc/util/Xerces_autoconf_config.hpp
include64/xercesc/Xerces_autoconf_config.hpp
64c64
< #define XERCES_SIZEOF_LONG 4
---
#define XERCES_SIZEOF_LONG 8

Then if I look for places that XERCES_SIZEOF_LONG is used:
cd include32
findsrc XERCES_SIZEOF_LONG
./xercesc/util/XMLString.hpp:1023:#if XERCES_SIZEOF_INT != 8 &&
XERCES_SIZEOF_LONG != 8 && XERCES_SIZEOF_INT64 != 8
...
...

My concern is that if I don't keep a separate copy of the include files
for 32/64 bit if I use XMLString in my code then XERCES_SIZEOF_LONG will
only be correct for one of the builds (whichever way XERCES_SIZEOF_LONG is
defined).
Correct.


Does this make sense? Or is that #define only used when building Xerces? What will happen to the XMLString include file if XERCES_SIZEOF_LONG is
not defined correctly for 32/64 bit?

I don't think there was a difference between the include files for Xerces
2.7, was there?
No, because Xerces 2.7 hard-coded all of these differences through compiler-defined macros and defines generated by the runConfigure script.

Dave

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to