Am 07.01.2015 um 03:15 schrieb Konstantin Kolinko:
2015-01-07 2:25 GMT+03:00 Christopher Schultz <ch...@christopherschultz.net>:
All,
I give up. I can't seem to figure out exactly how common/config.h comes
into existence during the "configure" process.
It is created from common/config.h.in. Whereas most of the .in-based
files are created by configure (see configure.ac) in
AC_OUTPUT([
Makefile
apache-1.3/Makefile
apache-1.3/Makefile.apxs
apache-2.0/Makefile
apache-2.0/Makefile.apxs
common/Makefile
common/list.mk
common/jk_types.h
])
the config.h is handled by
AC_CONFIG_HEADER(common/config.h)
and the PACKAGE variable values come from
AC_INIT([mod_jk], [1.2.41])
I have never built mod_jk, but here are some thoughts
When compiling on Mac OS X, I get the following irritating warning:
In file included from mod_jk.c:89:
In file included from ../common/jk_global.h:29:
../common/config.h:81:9: warning: 'PACKAGE_NAME' macro redefined
#define PACKAGE_NAME "mod_jk"
^
1. I think that the PACKAGE_NAME define is generated by the following
macro in native/configure.ac:
dnl package and version.
dnl synchronization with common/jk_version.h ?
AC_INIT([mod_jk], [1.2.41])
/usr/include/apache2/ap_config_auto.h:213:9: note: previous definition
is here
#define PACKAGE_NAME ""
^
2. From the path and file name, I think that the above header file
belongs to Apache HTTPD, not mod_jk. It is no wonder that it has a
different PACKAGE_NAME.
There are 3 others like it for a few other #defines. I would like to
clean these up, but I can't just commit changes to common/config.h
because it's auto-generated.
Can anyone shed some light on where I can modify what gets dumped into
common/config.h? I see some stuff in config.status, but that in turn
gets generated by configure.
Any suggestions?
Yes, those errors are annoying. The problem is, that the Apache web
server and also mod_jk use autoconf/automake and both include the
generated defines for PACKAGE_NAME etc. in their header files.
Officially those vars should not get published by Apache but instead be
kept in private header files.
During mod_jk build that generates these redefine warnings. Currently
that does not pose a real problem, since the mod_jk defines win and we
don't need the Apache defines.
In Apache land the defines are in ap_config_auto.h, which is included in
ap_config.h. I don't expect that not including Apache ap_config.h is an
option. It is included itself in to many other Apache include files.
So I applied a workaround in r1650036, that can be found in other
modules as well, namely undefining those vars before including our own
config.h.
Thanks for the heads up. I found it annoying as well and simply needed a
kick to look for a solution.
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org