httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sascha Schumann <sas...@schumann.cx>
Subject Re: Apache autoconf leakage :-)
Date Mon, 06 Dec 1999 12:53:46 GMT
On Mon, Dec 06, 1999 at 07:09:33AM -0500, Ryan Bloom wrote:
> 
> > Apache is gushing macros, because everything has to include
> > ap_config_auto.h.
> > 
> > The only way I can think of to avoid this is to not include
> > ap_config.h in httpd.h. I'm guessing this won't be a simple task,
> > though.
> 
> This is bad for the same reason that have APR gushing macros is bad,
> except in reverse.  Most third-party modules are going to include our
> config.h file, if they are using autoconf, we will end up breaking them
> badly.  I am beginning to dislike autoconf intensely.

    Even the current stable version of Apache has this problem.
    HAVE_SNPRINTF is the worst macro "leak," and breaks the PHP
    build regularly on Mac OS X. 

> 
> > 
> > > The two obvious ones I have hit are PACKAGE and VERSION.  I will be
> > > fixing these very shortly by re-naming them to AP_PACKAGE and
> > > AP_VERSION in Apache
> > 
> > PACKAGE and VERSION are set by AC_INIT_AUTOMAKE, and the automake docs
> > say these are required. Plus there are the various HAVE_blah macros
> > made by automake which would just be pure hell to try to cram into a
> > namespace.
> 
> I figured that out, which is why I haven't patched it yet.  I am going to
> do some research today to figure out how to get around this problem.  But,
> PHP and any other package that uses automake/libtool really can't work
> with us if these have to be exposed.

    We had this problem as well when we needed to integrate the
    helper libraries (libzend/TSRM) into PHP. All three packages
    use automake, and thus all three config files contain PACKAGE
    and VERSION. To get rid of these conflicting macros, they are
    undefined after the config file is included. 

-- 

          Regards,

                            Sascha Schumann
                                 Consultant

Mime
View raw message