I'm uncomfortable with that solution, but I'm on deadline on something
else and can't research it now. It is a problem that needs to be
fixed, but I'd like to fix it by eliminating implementation details
(like the config_auto.h) from the expansions of the API include files
like logger.h.
On Aug 12, 2004, at 12:51 PM, Christophe de VIENNE wrote:
Cesar Eduardo Barros wrote:
On Thu, Jul 08, 2004 at 05:32:37PM -0300, Cesar Eduardo Barros wrote:
log4cxx is including a copy of the autoconf-generated config_auto.h
even
when compiling another program which also uses autoconf, causing
conflicts. However, only LOG4CXX_EXPORT is really needed. I made this
quick patch to fix it.
This patch reuses the LOG4CXX define used for almost the same
purpose on
config_msvc.h (to determine if we're compiling log4cxx itself or a
program which uses log4cxx).
I didn't notice some headers were using the defines from config_auto.h
(HAVE_*, MUST_* and UNICODE). So, the simple solution above didn't
work
when I tried to use the DOM configurator.
I was trying to find a nice solution to this problem, it seems I don't
have to anymore :-) Thanks !
This patch renames these defines on all headers and adds a
sed-generated
copy of config_auto.h prepending LOG4CXX_ to all these defines and
removing the bogus PACKAGE_*, VERSION and STDC_HEADERS ones when not
being included within the log4cxx sources.
This patch solves efficiently the macro problem. The idea to use sed
is very good : nice job :-)
Tested compiling in the source directory, but should work with a
separate object directory too.
No, but I fixed it (it was a previous issue).
I also had to changed macros names in src/threadspecificdata.cpp.
I'm reviewing src/*.cpp to check is there is no forgotten macro
renaming.
Apart from this, I think the patch can be commited. Does everybody
agree ?
Christophe