tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Remove USE_GCC_RUNTIME?



nia <nia%NetBSD.org@localhost> writes:

> Hey, since the recent talks where people expressed a distate for
> GCC-specific hacks in pkgsrc, I wonder whether it's worth bringing
> this variable up:
>
> # USE_GCC_RUNTIME
> #       Packages which build shared libraries but do not use libtool to
> #       do so should define this variable.  It is used to determine whether
> #       the gcc runtime should be depended upon when a user has enabled
> #       USE_PKGSRC_GCC_RUNTIME.
>
> In my opinion this is a historical wart - not using libtool (while
> unfortunate) is increasingly common with more packages using cmake/meson
> instead. In my eyes the gcc runtime should be depended upon whenever
> USE_PKGSRC_GCC_RUNTIME is set.

Do you mean

  If the user has set USE_PKGSRC_GCC_RUNTIME, and if the chosen compiler
  is gcc, then always add a pkgsrc dependency on the gccN-libs package
  corresponding to the gccN being used, and

  Remove the code and docs for this (except that the main part is
  hoisted above to non-conditional).

  Remove this declaration from all packges.


Or is this about forcing packges to link with pkgsrc's libstdc++ instead
of native, by putting it in buildlink?


Does it make any sense for someone to want to use pkgsrc gcc (always) by
seting USE_PKGSRC_GCC, but to use the native gcc libs?  Might it make
sense for C, and not make sense for C++?  (If so, is that case
sufficiently odd to be not supported?)

How does this interact with use of pkgsrc gcc due to GCC_REQD or
USE_*_FEATURES?  Or is it only about the USE_PKGSRC_GCC?

Why is this about libtool?  What is it doing, that the other build
systems don't?  Is libtool, or the rest, buggy?  Or is it that when a
package is declared to use libtool this dependency processing happens?

Practically, what will change in built packages, under what
circumstances?  I think you are suggesting that pretty much every
package that uses C++ should have defined USE_GCC_RUNTIME, unless it
somehow used libtool which did this implicitly, but I don't see how that
added a dependency.   But it is hard to tell.


Home | Main Index | Thread Index | Old Index