How to best check a configuration of another port/package?

Mel Pilgrim list_freebsd at bluerosetech.com
Sun Jun 9 05:00:21 UTC 2019


On 2019-06-08 9:57, Adam Weinberger wrote:
> On Sat, Jun 8, 2019 at 10:02 AM Gerald Pfeifer <gerald at pfeifer.com> wrote:
>>
>> In https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237688 we had
>> a user report against lang/gcc* ports that could be traced back to
>> a certain functionality (option) in another port (devel/binutils)
>> missing.
>>
>> In pseudo-code this could be addressed as follows in lang/gcc*
>>
>>     .if $(binutils built statically)
>>     IGNORE= GCC requires dynamically linked binutils
>>     .endif
>>
>> Now the question is: How to implement something like this practically?
> 
> What you have there won't work, because `make index` won't work, plus
> Makefiles shouldn't be doing external calls if they don't have to.
> You'll also have a problem whereby LOCALBASE isn't defined yet, and I
> don't believe that IGNORE after bsd.port.pre.mk will work (I could be
> wrong about that).
> 
> You have two options:
> 1) Turn it into a pre-configure, which is slightly ugly for the
> end-user but still gets the job done
>    pre-configure:
>        if some file in binutils is static; then echo "NOPE"; exit 1; fi
> 
> 2) (The correct way to do it) Create a binutils-static slave port,
> remove the static option from binutils proper, and depend specifically
> on the non-static port.

Why is a slave port the correct option here instead of flavouring binutils?



More information about the freebsd-ports mailing list