diff options
Diffstat (limited to 'libxerces-c/README-DEV')
-rw-r--r-- | libxerces-c/README-DEV | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/libxerces-c/README-DEV b/libxerces-c/README-DEV index 78f4179..ea60100 100644 --- a/libxerces-c/README-DEV +++ b/libxerces-c/README-DEV @@ -6,22 +6,25 @@ Symlink the required upstream files and provide our own implementations for auto-generated headers: $ ln -s ../upstream/LICENSE -$ ln -s ../../upstream/src/xercesc/{dom,framework,internal,parsers,sax,sax2,\ -validators,xinclude} xercesc/ +$ ln -s ../../upstream/src/xercesc/{dom,framework,parsers,sax,sax2,validators,xinclude} \ + xercesc/ $ ln -s ../../upstream/src/{stricmp,strnicmp}.{h,c} xercesc/ +$ mkdir xercesc/util/ + $ pushd xercesc/util/ $ ln -s ../../../upstream/src/xercesc/util/*.{cpp,hpp,c} ./ $ ln -s ../../../upstream/src/xercesc/util/{regx,FileManagers} ./ -Note that the main reason for such a granular linking (we could just link -upstream's Transcoders/, etc) is reducing the number of preprocessor macros we -need to deduce in xercesc/config.h (see the change tracking instructions -below for details). As a bonus it also simplifies the buildfile. +Note that the main reasons for such a granular linking (we could just link +upstream's util/, etc) are source code patching and reducing the number of +preprocessor macros we need to deduce in xercesc/config.h (see the change +tracking instructions below for details). As a bonus it also simplifies the +buildfile. $ mkdir -p Transcoders NetAccessors MsgLoaders MutexManagers -$ ln -s ../../../../upstream/src/xercesc/util/Transcoders/ICU Transcoders/ +$ ln -s ../../../../upstream/src/xercesc/util/Transcoders/{ICU,MacOSUnicodeConverter,Win32} Transcoders/ $ ln -s ../../../../upstream/src/xercesc/util/NetAccessors/Curl NetAccessors/ $ ln -s ../../../../upstream/src/xercesc/util/MsgLoaders/InMemory MsgLoaders/ $ ln -s ../../../../upstream/src/xercesc/util/MutexManagers/StdMutexMgr.{hpp,cpp} MutexManagers/ @@ -30,36 +33,27 @@ $ ln -s ../../../upstream/src/xercesc/util/XercesVersion.hpp.cmake.in \ XercesVersion.hpp.in $ popd -We also patch the explicit template instantiation declarations and definitions -(see xercesc/util/Xerces_autoconf_config.hpp for details): - -$ cp --remove-destination ../upstream/src/xercesc/util/{Janitor.hpp,JanitorExports.cpp} \ - xercesc/util/ - -$ git apply xercesc/export-template-instantiations.patch - -Note that the patch is produced by the following command: - -$ git diff >xercesc/export-template-instantiations.patch - Use some of the upstream's tests and examples for testing: $ ln -s ../../../upstream/samples/src/DOMPrint tests/dom-print/ $ ln -s ../../../upstream/samples/src/SAXPrint tests/sax-print/ $ ln -s ../../../upstream/samples/src/SAX2Print tests/sax2-print/ $ ln -s ../../../upstream/samples/src/PSVIWriter tests/psvi-writer/ +$ ln -s ../../../upstream/tests/src/NetAccessorTest/NetAccessorTest.cpp tests/net-accessor + +We also apply the following patches: -We also patch the net accessor test, which by some reason exits with the zero -status printing the diagnostics to stdout for some errors: +1) The explicit template instantiation declarations and definitions patch (see + xercesc/util/Xerces_autoconf_config.hpp for details): -$ cp ../upstream/tests/src/NetAccessorTest/NetAccessorTest.cpp \ - tests/net-accessor/ + $ cp --remove-destination ../upstream/src/xercesc/util/{Janitor.hpp,JanitorExports.cpp} \ + xercesc/util/ -$ git apply tests/net-accessor/handle-exception-as-error.patch + $ git apply xercesc/export-template-instantiations.patch -Note that the patch is produced by the following command: +Note that the above patches are produced by the following commands: -$ git diff >tests/net-accessor/handle-exception-as-error.patch +$ git diff ><patch-path> Create xercesc/{config.h,util/Xerces_autoconf_config.hpp} using as a base the upstream's config.h.cmake.in, config.h.in, and |