Tinny Ng wrote:
> 
> So far here is what I understand from Murray's proposal:
> 
> Proposed changes to be made in the Xerces-C Project
> =====================================
> 1.  Xerces-C source code: all #include insides the headers (e.g. DOMParser.hpp) and 
>the source files (e.g. DOMParser.cpp) will be modified with 'xercesc' added, e.g.
>     #include <xercesc/dom/DOM.hpp>
> And the samples, build instruction, perl script, Makefiles, project files that part 
>of the Xerces-C will all be modified together.
> 
> 2.  Binary distribution: include folder rename from 
>$XERCESCROOT/include/<subfolders> to $XERCESCROOT/include/xercesc/<subfolders>
> 
> 3. CVS tree and thus source distribution: src folder rename from 
>$XERCESCROOT/src/<subfolders> to $XERCESCROOT/xercesc/<subfolders>

My understanding is that if we rename src to xercesc then there will be
no need to have an include directory.

> 
> For the solution to work for ALL different builds (windows or unix build; build from 
>CVS directly or build from binary distribution or build from source distribution), 
>all 3 of the above must all be done,
> we cannot just do # 1 and #3 without doing #2, nor just #1 and #2 without doing #3.

I do not believe that it will be necessary to do #3 if we do #1 and #2
because the files in src will include the copied headers in
include/xercesc/.

> 
> User migration required after the changes
> ============================
> 1.  Either modify all the #include in the user application with 'xercesc' added
>      Or modify the include search path (-I) in the Makefile or project files
> 2.  And for users who build from CVS or src path directly must modify the include 
>search path to change from '-I {prefix}/src' to '-I {prefix}/xercesc'
> 
> But a long term recommendation is to use "#include <xercesc/parsers/DOM.hpp>" in the 
>Apps
> 
> Murray, please correct me if I missed anything.
> 
> And so far here is what I understand about the pros and cons:
> 
> Good:
> ====
> 1.  It helps addressing the name collisions between header files from various 
>libraries that, unfortunately(but realistically), have the same names.  Different 
>products (3rd party or user applications) can
> also have e.g. <util/Base64.hpp> or <util/Mutexes.hpp>.  So, why not have the Xerces 
>include paths start with <xercesc/...> which makes things more obvious and can help 
>avoid some problems.
> 2.  Besides it would make the include directory inside the distribution resemble the 
>include directory created by 'make install'.   Since make install is already placing 
>the header files under
> <prefix>/include/xercesc/* it's silly that user apps have to reference both 
>-I<prefix>/include and -I<prefix>/include/xercesc just because the header files don't 
>use #include <xercesc/header.h>.  Changing
> the internal #includes to <xercesc/whateverwastherebefore> would make the client 
>code build with just -I<prefix>/include (or maybe no -I at all if  that's the default 
>gcc include path).   Xerces-C would
> then seem a little bit more sane.
> 
> Against:
> ======
> 1. Users migration is required.  Although Murray keeps mentioning modifying Makefile 
>/ Project file is not a big deal, still there is impact to user build environment and 
>documentation which can be big.
> 2. Rename folder in CVS is not straight forward as outlined by Arnaud.  We will 
>either lose the revision history or break user CVS checkouts.
> 
> Based on above summary, how about we call for vote?  ALL active Xerces-C users have 
>the right to vote, since this impact each and every user.   +1 agree, -1 against, 0 
>no comment
> 
> I will start 0.  I don't think it worths the effort and worths to break users' 
>environment/documentation, but well, if this is something that really helps the UNIX 
>users and achieve sane build behavior, I
> am not against it ... so my vote is 0.


-- 
Murray Cumming
www.murrayc.com
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to