This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Switch IDNA implementation to libidn2 [BZ #19728] [BZ #19729] [BZ #22247]
On 02/05/2018 12:23 AM, Florian Weimer wrote:
> On 02/05/2018 08:42 AM, Rical Jasan wrote:
>> On 02/04/2018 02:28 AM, Florian Weimer wrote:
>>> On 02/04/2018 03:54 AM, Rical Jasan wrote:
>>>> On 02/02/2018 04:41 AM, Florian Weimer wrote:
>>>>> This is the patch rebased to 2.28. It still depends on the
>>>>> allocate_once patch (which has been reviewed).
>>>>>
>>>>> I'd especially appreciate a review of the makefile/build system
>>>>> changes.
>>>>
>>>> If the default is to build with an external libidn2 if possible,
>>>> shouldn't there be a configure switch to build --without-libidn2 (or
>>>> --en/disable-idn, etc.)?
>>>
>>> There is no build or mandatory run-time dependency on libidn2. The
>>> glibc implementation of AI_* merely assumes that libidn2 will not change
>>> ABI without changing SONAME or symbol version. I don't think a
>>> configure flag is needed.
>>
>> So libidn2 is optional, and glibc builds fine with or without it, but if
>> it finds it, it will build against it, correct? Because it's optional,
>> I think we should have the ability to tell glibc not to build against
>> libidn2 even if it's found.
>
> Whether libidn2 is available at build time or not does not matter at
> all. idna.c duplicates the four or so required declarations from the
> libidn2 header files, and dlopen and dlvsym are used at run time.
OK, I missed that nuance. Is there a way to tell glibc not to use the
external library?
Rical