On 01.03.2010 16:34, Carl-Daniel Hailfinger wrote:
> On 28.02.2010 16:30, Idwer Vollering wrote:
>
>> 2010/2/26 Carl-Daniel Hailfinger <
c-d.hailfinger.devel.2006@gmx.net>
>>
>>
>>> Idwer reported problems with the current libpci check on
>>>
>>> FreeBSD 8.0-RELEASE i386
>>>
>>> This is caused by a strict linker. Parsing linker error messages is an
>>> exercise in futility, so I implemented fallback library detection with
>>> $CC --print-file-name.
>>> This fallback will fail on llvm-clang (llvm bug 5137), but such machines
>>> hopefully have a more permissive linker and will never hit that code path.
>>> The fallback will also fail on NetBSD where we should look for
>>> libpciutils instead, but that hopefully doesn't have a strict linker
>>> either.
>>>
>>> Side note: The configure checks in the Makefile are now so unwieldy that
>>> a separate configure script will definitely improve readability.
>>>
>>> Signed-off-by: Carl-Daniel Hailfinger <
c-d.hailfinger.devel.2006@gmx.net>
>>>
>>>
>>>
>> $ gmake
>> Checking for a C compiler... found.
>> Checking for libpci headers... found.
>> Checking for libpci (method 1)... not found.
>> Checking for dynamic libpci (method 2)... not found.
>> not found.
>>
>> Please install libpci (package pciutils).
>> See README for more information.
>>
>> unavailable.
>>
>> Please install libpci (package pciutils).
>> See README for more information.
>>
>>
>
> Ouch. Turns out the patch had one error message too many, a missing
> semicolon and missing LDFLAGS in some CC calls.
> New version
> .
> Idwer reported problems with the current libpci check on
> FreeBSD 8.0-RELEASE i386
> This is caused by a strict linker. Parsing linker error messages is an
> exercise in futility, so I implemented fallback library detection with
> $CC --print-file-name.
> This fallback may cause false positives/negatives on llvm-clang (llvm
> bug 5137), but such machines hopefully have a more permissive linker and
> will never hit that code path.
> The fallback will be unreliable on NetBSD where we should look for
> libpciutils instead, but that hopefully doesn't have a strict linker
> either. A fix is easy (replace libpci with PCI_LIB_NAME), but outside
> the scope of this patch.
> Tested with error injection at various levels.