Murray,

> To fix this, I'd like to add the 'xercesc/' bit to the includes in all
> the xerces-c header. BUT, then xerces-c wouldn't build because the
> headers are actually in src. SO, let's rename that directory. This
> technique is used by lots of libraries, such as gtk.

Sorry I couldn't quite get it.

When you say "I'd like to add the 'xercesc/' bit to the includes in all the
xerces-c header.", do you mean you want to modify the content of ALL the
Xerces-C files to have e.g.
    #include <xercesc/dom/Dom.hpp>
instead of
    #include <dom/Dom.hpp>
right?

And you said "BUT, then xerces-c wouldn't build because the headers are
actually in src.  SO, let's rename that directory."

But the xerces-c wouldn't build is not because of the name of the 'src'
directory.  It's because 'gmake Prepare' copies all the headers to
$(XERCESCROOT)/include/{MODULE} (e.g. $(XERCESCROOT)/include/dom) instead of
to $(XERCESCROOT)/include/xercesc/{MODULE}.  And since the suffix rule in
Makefile.incl just has

    -I $(XERCESCROOT)/include

That's why the xerces-c wouldn't build if your change e.g.
    #include <xercesc/dom/Dom.hpp>
is in place.

So I guess the name of the src directory as "src" or "xercesc" doesn't
matter.  The change should be in "gmake Prepare" to copy headers to
$(XERCESCROOT)/include/xercesc/{MODULE} instead of
$(XERCESCROOT)/include/{MODULE}.

But if we do that, then it also means the headers that we ship in all the
binary package will be under e.g.
    ./xerces-c1_5_0-AIX42/include/xercesc/dom/*.hpp

And as a result all user application will be broken unless they either
change their Makefile to add

   -I $(XERCESCROOT)/include/xercesc

or modify all their files to use

   #include <xercesc/dom/Dom.hpp>

....  which I don't think it's a good idea ....

Please correct me if I wrongly interpret your motivation.

Thanks!

Tinny


Murray Cumming wrote:

> I'd like to rename the 'src' directory to 'xercesc'. Here's why:
>
> I recently changed the build files so that they install the headers
> under a <prefix>/include/xercesc directory instead of polluting
> <prefix?/include with all of the generically-named xerces-c sub dirs. I
> had a secondary aim - to make it more obvious when client code #includes
> xerces-c headers.
> e.g.
> #include <xercesc/framework/MemBufInputSource.hpp>
> is a lot clearer than
> #include <framework/MemBufInputSource.hpp>
>
> The problem is that the xerces-c header files don't use this method, so
> you need 2 include directives when compiling your code:
> e.g. -I/home/mcumming/include -I /home/mcumming/include/xercesc
>
> To fix this, I'd like to add the 'xercesc/' bit to the includes in all
> the xerces-c header. BUT, then xerces-c wouldn't build because the
> headers are actually in src. SO, let's rename that directory. This
> technique is used by lots of libraries, such as gtk.
>
> --
> Murray Cumming
> www.murrayc.com
> [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


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

Reply via email to