From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) by sourceware.org (Postfix) with ESMTPS id 61F7C385DC2F for ; Fri, 21 Jul 2023 14:57:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 61F7C385DC2F Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=kitware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kitware.com Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-403c6a0f3aaso17065681cf.2 for ; Fri, 21 Jul 2023 07:57:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kitware.com; s=google; t=1689951438; x=1690556238; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=sbLr8Z/v9kwNfkD1NmaOCtIkU4K6/z7f5dr4Pn3QgpQ=; b=vH8SDf4bsz2fXCBncqBxRTttY4/82RBs5FFe9jF6sX0/mBwHJ8ihKF2D4U7GkD2Qjd y3cYG5iBlJZ6j3cyQrJxhHk3tIOSU0Fl1uT6ysMnGAnYEQE9WzT4twfac7sYOvD4nGrA z3lNAg4IKo/RBXMJhMIPiD/X+UwCVXrE6Vg6s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689951438; x=1690556238; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sbLr8Z/v9kwNfkD1NmaOCtIkU4K6/z7f5dr4Pn3QgpQ=; b=fpU9c4PYeAMajJlPVMK+7JmPEDMEypZKh/r7RTE2Sf4QhJacV7vjw7PMBO3iNmUVcd 9ftCkwBYRVrqz0aWbGYIioJykNX7ZvbY5gVU44yVgoLSkF34YcquhOUiUqmumcObmTNW x1ldb0GpCdglzjgA9OkZfF6gF4Nbp0Om84WXvywtp5hZ1e26BFOVY72pRsNxBbk20EfX WRhVPXc6ZHtLu77hBgpkNPIo2T8P/AtgULX30zJo6I0FxIQDdqmq0Gj3Xf6lBM1x+A5d V0l8i4hbbT2qeq04/25TZEjH+zyyX6dirApaDFNpIj2pzzXnz80KG/vtA6BFGjiYtymQ qJTw== X-Gm-Message-State: ABy/qLYNIOwA6daqMqS8tdap7NJaWU0DyOyHAs1U+87eRTs5dWFnMpfI p/x+HBUQPeNU01zGjCMfSb8oog== X-Google-Smtp-Source: APBJJlETx60ocPL7ufYKYnyTBKLoKag/Hmf3U0cLyk2XF5BCWOUP9knSgiTxBetrfefhh494bS1iBA== X-Received: by 2002:a05:622a:110:b0:403:fee8:7fdc with SMTP id u16-20020a05622a011000b00403fee87fdcmr364545qtw.39.1689951438772; Fri, 21 Jul 2023 07:57:18 -0700 (PDT) Received: from localhost ([66.194.253.28]) by smtp.gmail.com with ESMTPSA id d23-20020ac851d7000000b00403f4459e33sm1262286qtn.91.2023.07.21.07.57.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jul 2023 07:57:18 -0700 (PDT) Date: Fri, 21 Jul 2023 10:57:17 -0400 From: Ben Boeckel To: Nathan Sidwell Cc: Jason Merrill , gcc-patches@gcc.gnu.org, fortran@gcc.gnu.org, gcc@gcc.gnu.org, brad.king@kitware.com Subject: Re: [PATCH v5 4/5] c++modules: report imported CMI files as dependencies Message-ID: References: <20230125210636.2960049-5-ben.boeckel@kitware.com> <734eef7c-f7c3-519c-e007-cb42f8dc8a82@redhat.com> <20230623024559.GA255658@farprobe> <541367ff-25da-9745-d768-c60f235cd5bc@acm.org> <20230625163610.GC270821@farprobe> <29600358-9421-cbe3-92b6-ab77a1a715d1@redhat.com> <20230719000144.GA1034956@farprobe> <80a2e5b6-0580-c3f5-cb75-c8795ebabceb@acm.org> <20230720004723.GA1159121@farprobe> <61774849-b8e5-fb9e-2e30-d6b6cee08859@acm.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <61774849-b8e5-fb9e-2e30-d6b6cee08859@acm.org> User-Agent: Mutt/2.2.9 (2022-11-12) X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Thu, Jul 20, 2023 at 17:00:32 -0400, Nathan Sidwell wrote: > On 7/19/23 20:47, Ben Boeckel wrote: > > But it is inhibiting distributed builds because the distributing tool > > would need to know: > > > > - what CMIs are actually imported (here, "read the module mapper file" > > (in CMake's case, this is only the modules that are needed; a single > > massive mapper file for an entire project would have extra entries) or > > "act as a proxy for the socket/program specified" for other > > approaches); > > This information is in the machine (& human) README section of the CMI. Ok. That leaves it up to distributing build tools to figure out at least. > > - read the CMIs as it sends to the remote side to gather any other CMIs > > that may be needed (recursively); > > > > Contrast this with the MSVC and Clang (17+) mechanism where the command > > line contains everything that is needed and a single bolus can be sent. > > um, the build system needs to create that command line? Where does the build > system get that information? IIUC it'll need to read some file(s) to do that. It's chained through the P1689 information in the collator as needed. No extra files need to be read (at least with CMake's approach); certainly not CMI files. > > And relocatable is probably fine. How does it interact with reproducible > > builds? Or are GCC CMIs not really something anyone should consider for > > installation (even as a "here, maybe this can help consumers" > > mechanism)? > > Module CMIs should be considered a cacheable artifact. They are neither object > files nor source files. Sure, cachable sounds fine. What about the installation? --Ben