all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* inputs vs. native-inputs vs. propagated-inputs
@ 2016-06-12  9:07 Hartmut Goebel
  2016-06-12 12:38 ` 宋文武
  0 siblings, 1 reply; 11+ messages in thread
From: Hartmut Goebel @ 2016-06-12  9:07 UTC (permalink / raw)
  To: help-guix

Hi,

I'm a bit confused about the difference between inputs, native-inputs
and propagated-inputs.

The manual states:

          The distinction between ‘native-inputs’ and ‘inputs’ is
          necessary when considering cross-compilation.  When
          cross-compiling, dependencies listed in ‘inputs’ are built for
          the _target_ architecture; conversely, dependencies listed in
          ‘native-inputs’ are built for the architecture of the _build_
          machine.

For for I understand. But then the manual says:

          ‘native-inputs’ is typically used to list tools needed at
          build time, but not at run time, such as Autoconf, Automake,
          pkg-config, Gettext, or Bison.

The first sentence implies that "inputs" are treated as needed at run time.

Now consider libAAA (supporting the famous Amiga AAA chipset ;-), which
requires the headers of libBBB to compile (but only to fetch some
constant definitions) and libCCC at run-time. Without libCCC, libAAA
could not work. And libAAA uses pkg-config to find the header files.

So for me this would be:
  libBBB: inputs
  libCCC: propagates inputs
  pkg-confg: native inputs


Is this correct?

If so, how can I as a packager find out if eg. libBBB is only used at
build time and libCCC need to be a propagated input?

Same for pkg-config: How to determine if this is only needed ar build
time (as I would always expect)? The manual says:

          … propagated-inputs …
          For example this is necessary when a C/C++ library needs
          headers of another library to compile, or when a pkg-config
          file refers to another one via its ‘Requires’ field.

  For me this is confusing.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-07-10 21:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-12  9:07 inputs vs. native-inputs vs. propagated-inputs Hartmut Goebel
2016-06-12 12:38 ` 宋文武
2016-06-12 15:50   ` Hartmut Goebel
2016-06-12 19:53     ` Leo Famulari
2016-06-17 20:49       ` Hartmut Goebel
2016-06-17 23:34         ` Leo Famulari
2016-06-18 19:24           ` Ludovic Courtès
2016-06-19  3:57             ` Lukas Gradl
2016-06-19 13:44               ` Ludovic Courtès
2016-06-21 13:37                 ` Lukas Gradl
2016-07-10 21:23                   ` Chris Marusich

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.