You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Joe Orton <jo...@redhat.com> on 2004/07/01 16:30:08 UTC

Re: apr pkgconfig use (apr.pc vs. apr-1.pc)

On Wed, Jun 30, 2004 at 10:39:16AM -0400, Greg Hudson wrote:
> On Wed, 2004-06-30 at 04:56, Joe Orton wrote:
> > > Install apr-config as apr-$(APR_MAJOR_VERSION)-config ?
> > 
> > Greg wrote "remove" rather than "rename", though indeed, I guess
> > renaming should work.
> 
> Renaming is also fine.

Installing ap[ru]-$N-config alongside ap[ru]-config is probably all
that's going to be feasible for the 1.0.0 release, at least I don't have
time to deal with the fallout of removing ap[ru]-config entirely right
now.

The AP?_FIND_AP? macros in find_ap?.m4 need to be adjusted to take a
minimum required library version argument, there's probably more...

joe

Re: apr pkgconfig use (apr.pc vs. apr-1.pc)

Posted by Greg Hudson <gh...@MIT.EDU>.
On Thu, 2004-07-01 at 10:30, Joe Orton wrote:
> Installing ap[ru]-$N-config alongside ap[ru]-config is probably all
> that's going to be feasible for the 1.0.0 release, at least I don't have
> time to deal with the fallout of removing ap[ru]-config entirely right
> now.

Hm.  That's disappointing; it means that apr 0.9 can't be co-located on
a system with apr 1.0 without hacking, and that apr-0.9-using apps will
be screwed by the installation of apr 1.0.


Re: apr pkgconfig use (apr.pc vs. apr-1.pc)

Posted by Joe Orton <jo...@redhat.com>.
Sorry, thought I sent this last week...

On Thu, Jul 01, 2004 at 06:44:45PM -0400, Greg Hudson wrote:
> I may not be understanding all of the constraints.  Can you tell me
> what goes wrong with this solution?
> 
>   * apr-config does not get renamed in 0.9.
>   * We introduce a new macro APR_FIND_APR1 to find apr 1.0 by looking
>     for apr-1-config.

That should work too.  Having the version as an argument rather than
using a new macro name was just the obvious way to avoid duplicating the
macro.

> > (BTW note that the apr-config script is only named apr-N-config by
> > "make install"; it's still called "apr-config" in a build tree)
> 
> Any reason that can't change?  If it can't change, APR_FIND_APR1 can
> use apr-config when using a bundled apr directory.

Possibly, I'm not sure.  Renaming apr-config.in in CVS to
apr-1-config.in would work but it would be the first time
APR_MAJOR_VERSION is encoded anywhere other than in apr_version.h, which
is a little ugly.

> (Also, since I haven't seen other people jumping up and volunteering
> to make this happen, where is the boundary between what you're willing
> to do and where I should submit a patch?)

I'm not sure what you're asking here.  If you submit a patch I'll commit
it if it looks OK to me.  Otherwise I'll do the work myself when I find
time.

joe

Re: apr pkgconfig use (apr.pc vs. apr-1.pc)

Posted by Greg Hudson <gh...@MIT.EDU>.
Joe Orton wrote:
> If apr-config is not renamed in the 0.9 branch (which is really
> required for compatibility), then I guess yes, make the argument
> optional, and have logic:

>   AP?_FIND_AP?(without extra version argument)
>    => use apr-1-config if found else apr-config if found

>   AP?_FIND_AP?(requires version N)
>    => use apr-N-config if found else no fallback

I may not be understanding all of the constraints.  Can you tell me
what goes wrong with this solution?

  * apr-config does not get renamed in 0.9.
  * We introduce a new macro APR_FIND_APR1 to find apr 1.0 by looking
    for apr-1-config.

and similarly for apr-util and friends.  httpd 2.1 changes to use
APR_FIND_APR1 etc. instead of passing an argument to APR_FIND_APR.  If
an app wants to work against both versions of apr, it tries
APR_FIND_APR1 and then tries APR_FIND_APR if apr_found is no.

> (BTW note that the apr-config script is only named apr-N-config by
> "make install"; it's still called "apr-config" in a build tree)

Any reason that can't change?  If it can't change, APR_FIND_APR1 can
use apr-config when using a bundled apr directory.

(Also, since I haven't seen other people jumping up and volunteering
to make this happen, where is the boundary between what you're willing
to do and where I should submit a patch?)


Re: apr pkgconfig use (apr.pc vs. apr-1.pc)

Posted by Joe Orton <jo...@redhat.com>.
On Thu, Jul 01, 2004 at 10:45:54AM -0400, Greg Hudson wrote:
> On Thu, 2004-07-01 at 10:39, Joe Orton wrote:
> > This is done on HEAD: patches welcome for below to expedite removal of
> > ap[ru]-config.
> > 
> > > The AP?_FIND_AP? macros in find_ap?.m4 need to be adjusted to take a
> > > minimum required library version argument, there's probably more...
> 
> Would it be okay to make it take just a library version argument, no
> "minimum required"?  It means if an application wants to work against
> multiple major versions of APR, it has to implement its own fallback
> logic.

If apr-config is not renamed in the 0.9 branch (which is really required
for compatibility), then I guess yes, make the argument optional, and
have logic:

  AP?_FIND_AP?(without extra version argument)
   => use apr-1-config if found else apr-config if found

  AP?_FIND_AP?(requires version N)
   => use apr-N-config if found else no fallback

the app can always just call the macro again with a different N.

(BTW note that the apr-config script is only named apr-N-config by "make
install"; it's still called "apr-config" in a build tree)

joe

Re: apr pkgconfig use (apr.pc vs. apr-1.pc)

Posted by Greg Hudson <gh...@MIT.EDU>.
On Thu, 2004-07-01 at 10:39, Joe Orton wrote:
> This is done on HEAD: patches welcome for below to expedite removal of
> ap[ru]-config.
> 
> > The AP?_FIND_AP? macros in find_ap?.m4 need to be adjusted to take a
> > minimum required library version argument, there's probably more...

Would it be okay to make it take just a library version argument, no
"minimum required"?  It means if an application wants to work against
multiple major versions of APR, it has to implement its own fallback
logic.


Re: apr pkgconfig use (apr.pc vs. apr-1.pc)

Posted by Joe Orton <jo...@redhat.com>.
On Thu, Jul 01, 2004 at 03:30:08PM +0100, Joe Orton wrote:
> On Wed, Jun 30, 2004 at 10:39:16AM -0400, Greg Hudson wrote:
> > On Wed, 2004-06-30 at 04:56, Joe Orton wrote:
> > > > Install apr-config as apr-$(APR_MAJOR_VERSION)-config ?
> > > 
> > > Greg wrote "remove" rather than "rename", though indeed, I guess
> > > renaming should work.
> > 
> > Renaming is also fine.
> 
> Installing ap[ru]-$N-config alongside ap[ru]-config is probably all
> that's going to be feasible for the 1.0.0 release, at least I don't have
> time to deal with the fallout of removing ap[ru]-config entirely right
> now.

This is done on HEAD: patches welcome for below to expedite removal of
ap[ru]-config.

> The AP?_FIND_AP? macros in find_ap?.m4 need to be adjusted to take a
> minimum required library version argument, there's probably more...