From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hartmut Goebel Subject: inputs vs. native-inputs vs. propagated-inputs Date: Sun, 12 Jun 2016 11:07:18 +0200 Message-ID: <575D2646.6030000@crazy-compilers.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42560) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bC1Mc-0002NH-TI for help-guix@gnu.org; Sun, 12 Jun 2016 05:07:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bC1MZ-0006jv-L2 for help-guix@gnu.org; Sun, 12 Jun 2016 05:07:26 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:54781) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bC1MZ-0006jE-Eq for help-guix@gnu.org; Sun, 12 Jun 2016 05:07:23 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3rS9605HtPz3hjRp for ; Sun, 12 Jun 2016 11:07:20 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3rS9604YKdzvdWw for ; Sun, 12 Jun 2016 11:07:20 +0200 (CEST) Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id rt7MX7o6WCgB for ; Sun, 12 Jun 2016 11:07:19 +0200 (CEST) Received: from hermia.goebel-consult.de (ppp-188-174-143-15.dynamic.mnet-online.de [188.174.143.15]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS for ; Sun, 12 Jun 2016 11:07:19 +0200 (CEST) Received: from [192.168.110.2] (lenashee.goebel-consult.de [192.168.110.2]) by hermia.goebel-consult.de (Postfix) with ESMTP id C86D360725 for ; Sun, 12 Jun 2016 11:07:18 +0200 (CEST) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" 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 =E2=80=98native-inputs=E2=80=99 and =E2= =80=98inputs=E2=80=99 is necessary when considering cross-compilation. When cross-compiling, dependencies listed in =E2=80=98inputs=E2=80=99= are built for the _target_ architecture; conversely, dependencies listed in =E2=80=98native-inputs=E2=80=99 are built for the architecture = of the _build_ machine. For for I understand. But then the manual says: =E2=80=98native-inputs=E2=80=99 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 tim= e. 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: =E2=80=A6 propagated-inputs =E2=80=A6 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 =E2=80=98Requires=E2=80=99 f= ield. For me this is confusing. --=20 Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |