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

Adam Weinberger adamw at adamw.org
Sat Jun 8 16:57:43 UTC 2019


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.

# Adam


-- 
Adam Weinberger
adamw at adamw.org
https://www.adamw.org


More information about the freebsd-ports mailing list