Date: Mon, 21 Jun 2021 12:12:55 -0400
On Mon, Jun 21, 2021 at 11:37 AM Matthew Woehlke via SG15 <
sg15_at_[hidden]> wrote:
> On 21/06/2021 09.00, Poliakoff, David Zoeller via SG15 wrote:
> > That is not a bad trade off, most other languages have successfully
> pushed
> > all of that complexity to a standardized package manager.
>
> To clarify, when you say "package manager", we are talking about
> discovering availability and configuration, *not* actually installing on
> the system, correct? IOW, pkg-config, not dpkg/rpm/etc.? (Yes, they can
> overlap, but more to the point, we're talking about something that the
> likes of dpkg/rpm can ship without needing to be fundamentally changed.)
>
>
> Yes, I think so. With the core challenge being able to reproduce the build
of the interface from source, which may include information not needed when
consuming a header, as the module interface may have unexported
implementation details, and flags that should not be propagated to every
user of the module, e.g. the location of a "config.h" header.
Headers might have these problems, too, but separation of interface and
implementation is part of the design of headers, while being able to mix
and control visibility of implementation and interface is part of the
design of modules.
sg15_at_[hidden]> wrote:
> On 21/06/2021 09.00, Poliakoff, David Zoeller via SG15 wrote:
> > That is not a bad trade off, most other languages have successfully
> pushed
> > all of that complexity to a standardized package manager.
>
> To clarify, when you say "package manager", we are talking about
> discovering availability and configuration, *not* actually installing on
> the system, correct? IOW, pkg-config, not dpkg/rpm/etc.? (Yes, they can
> overlap, but more to the point, we're talking about something that the
> likes of dpkg/rpm can ship without needing to be fundamentally changed.)
>
>
> Yes, I think so. With the core challenge being able to reproduce the build
of the interface from source, which may include information not needed when
consuming a header, as the module interface may have unexported
implementation details, and flags that should not be propagated to every
user of the module, e.g. the location of a "config.h" header.
Headers might have these problems, too, but separation of interface and
implementation is part of the design of headers, while being able to mix
and control visibility of implementation and interface is part of the
design of modules.
Received on 2021-06-21 11:13:10