Uploaded image for project: 'Xerces-C++'
  1. Xerces-C++
  2. XERCESC-2034

Unify Xerces headers in binary distributions

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.1.1
    • 3.2.0
    • Miscellaneous
    • None
    • All

    Description

      The header files in the binary distributions for various platforms currently vary, containing some platform-specific files that are not included on other platforms. For example, some headers for Mac OS X are not included in the Windows distributions. This gets in the way when using Xerces from a multi-platform project.

      I suggest that you create the union of all the headers, and include the same set with all binary distributions. The only really troublesome one that overlaps the platforms is util/Xerces_autoconf_config.hpp. I suggest that you do as I did. I moved each one into a platform-specific subdirectory, and created a new version of the file that uses conditional compilations as follows (using some symbols defined by our project):

      #if !defined(_I86_)
        #error "Must customize util/Xerces_autoconf_config.hpp for architecture."
      #endif
      
      #if defined(__WIN32__) && defined(__MICROSOFT__)
        #include "xercesc/util/Win32/Xerces_autoconf_config.hpp"
      #elif defined(_MACINTOSH_) && defined(__GNUC__)
        #include "xercesc/util/Mac/Xerces_autoconf_config.hpp"
      #elif defined(_UNIX_) && defined(__GNUC__)
        #include "xercesc/util/Linux/Xerces_autoconf_config.hpp"
      #else
        #error "Must customize util/Xerces_autoconf_config.hpp for OS & compiler."
      #endif
      

      Attachments

        Activity

          People

            scantor Scott Cantor
            ldoron Lee Doron
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: