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

Unify Xerces headers in binary distributions

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: 3.2.0
    • Component/s: Miscellaneous
    • Labels:
      None
    • Environment:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: