apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@gmail.com>
Subject Re: Move apr_xlate from apr-util to apr-iconv?
Date Mon, 30 May 2005 12:57:58 GMT
On 5/30/05, Mladen Turk <mturk@apache.org> wrote:
> Jeff Trawick wrote:
> >
> >>Can we move the entire apr_xlate API from apr-utils to
> >>the apr-iconv?
> >
> > no; apr_xlate works just fine without apr-iconv (when system provides
> > a suitable iconv)
> >
> It does not.

you misread my statement, but that isn't really the point...  (I was
trying to convince you that the current arrangement makes a lot of
sense on some platforms...)

> On some platforms (WIN32) you can not build apr-util without apr-iconv.
> At least this is a default behavior.
> Of course the other option is to disable apr_xlate by default if
> either iconv or apr-iconv is not found. 

That's what happens on Unix.

> So I wonder what is the purpose
> of apr_xlate API in the apr-util at the first place if it can be
> compiled out entirely.

It is not unusual in the apr/apr-util project for there to be APIs
which are not available if some underlying feature is missing, or if
apr/apr-util is built in a special manner.
>  From my point of view, right now, the apr-util has dependency on
> apr-iconv, and thus is not an stand-alone library.

s/stand-alone library/library which just depends on bare minimum
system libraries and libapr/

On Unix at least, this has been the choice of the packager.


What is the problem to solve here?

a) apr-util doesn't guarantee that all APIs are present on all builds of APR
b) apr-util may depend on more than just libc+apr
c) Windows build of apr-util forces you to bundle apr-iconv even
though you may not care about apr_xlate, unlike the Unix build

For a) and b), these are wide-spread issues, and the current state has
been considered a reasonable compromise thus far.

For c), consider how to fix the apr-util build on Windows so that if
there is no system iconv and no apr-iconv, then everything builds with
appropriate feature set without somebody having to manually change
some flags in apu.hw.

View raw message