From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by sourceware.org (Postfix) with ESMTPS id 9E4993858D20 for ; Sat, 10 Feb 2024 22:07:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9E4993858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9E4993858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::530 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707602829; cv=none; b=pWlSUe7z4mbKkGTcFeN+QoeYPBr5Rp/DoQ0B9LbqXebX700AtwE1MRDV7vnFUqHnUDuJpdySAC+8TeMNQ4B4a8pJFYp3lhRmU/WSL8FD8+jnRQDTANA+6y46K2FpMX4j6EeXIgBP+z5hAqrtlAwQQny9vjtRixwx1c1daW+Ap8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707602829; c=relaxed/simple; bh=kNtiOfAHiJHyFktRb/GMgb7xjwVWSkk6VlFpAv9pXl0=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=BT6bUZ5fFEbLgxu+tb5ZHCvYXnRXV8zkimQyIYcrN5CDrqwUqd5pp9af5t1UoD2MhYUJWuXAnhSyXIluiMv+zbnc1gWAk6WH1fn+LIOpldczY0Qo2BCA0aF4TDjK0sdpp6xOaGeJdYPogPsos8OenP32uLNDh1aEjl9UjnSm1O0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-560c696ccffso5428948a12.1 for ; Sat, 10 Feb 2024 14:07:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1707602825; x=1708207625; darn=gcc.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wejFzzEmGkRs5N408lu8fGhElDuUxq4g+Z2X2xC7814=; b=FlWx2ymuNuyYak28MgK30TVSKg46XzsOt0ZRyF5toU1dI4THmo5iBnq2XfCNiRjvPq vptdA6h9DRoxP1l2Cwic5kpcpnOOnLJl/VCQ6CDJduP6Ux5SfD7rHHHj8ltKVtHA5W4w +dBjRxnvd3+3dbYeRbj0aPxolGnPH5A0HxDJPDMpAziGHqZNcXHTpDbzzPOCJg1gd25K OY6b+M9/cSIi8fGzNOzZYFsTAJuikfAsq8+AnPW+sVfBqdeMuZ+vZjOpYYhdU6Qul1Sq i1wM0V75PrAHRMNw71VfiICRzna+jCFLD+xZV6R7rxlTS4MgSDs3vIZpxiwfIZ55oCM5 RqHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707602825; x=1708207625; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=wejFzzEmGkRs5N408lu8fGhElDuUxq4g+Z2X2xC7814=; b=Bg2wQKGsz3MQych/qvPXRt4UqU7R8VMVPn7qeIzmwkmqJ1m+g5Z298nJPS+p4h/Pdz 2Q11XxeTiJHeeuq0A3revCoi8z9z9dJp0PFW2YhQKyXHOh1dSwnnt4PiwL4TR8Z/vd2T isdcEwdD2absgTdzeXiNskJboY/YHJJIGdlvu8TwKzAr4BWiIS+nwB5C47S4jz1p7ygg UjwUxgj8tQmX1++dl4G3euMxyycv+ZqSOugI+ZY6cjImpuTPzDU2eefxHAStRSAiWFrx d276F/xKCWPKfaEeCU4Eu9NUADkQFJNxgBoyNeonpBMyY/mtzeakVEnBcEfvoqA500Py 9lNg== X-Gm-Message-State: AOJu0YzJfmSOFKvyDLtSoXBnNc67EveeIDLk1Ge5gIl+WKY2OdQKBSwW fEyk9pzZQVz88m7tkZD5/aU/JyiCzmCGEc72UicQFTuoW0whlovfU7088SySs/b8EZOPKBKqE0T 7kyBW5zyLHczqKh8tqKIlNtVN1a8bP/+8kR0LQA== X-Google-Smtp-Source: AGHT+IGV0inAVZYILO4i1nEf1460oLHHeQhMv95FgKjRdhYQSpl27nsa5aVe4UVX7CLdfb5ceiQj4V5CyJuj2r2vDrg= X-Received: by 2002:a17:906:ad86:b0:a3c:24a6:314a with SMTP id la6-20020a170906ad8600b00a3c24a6314amr2020388ejb.38.1707602825068; Sat, 10 Feb 2024 14:07:05 -0800 (PST) MIME-Version: 1.0 References: <20240205112652.687934-1-christophe.lyon@linaro.org> In-Reply-To: From: Christophe Lyon Date: Sat, 10 Feb 2024 23:06:53 +0100 Message-ID: Subject: Re: [PATCH] gcc/Makefile.in: Fix install-info target if BUILD_INFO is empty To: Alexandre Oliva Cc: gcc-patches@gcc.gnu.org, josmyers@redhat.com Content-Type: multipart/mixed; boundary="000000000000ce789706110e4309" X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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: --000000000000ce789706110e4309 Content-Type: text/plain; charset="UTF-8" Hi! On Tue, 6 Feb 2024 at 06:37, Alexandre Oliva wrote: > > Hello, Christophe, > > Thanks for the patch. > > On Feb 5, 2024, Christophe Lyon wrote: > > > In order to save build time, our CI overrides BUILD_INFO="", which > > works when invoking 'make all' but not for 'make install' in case some > > info files need an update. > > Hmm, I don't think this would be desirable. We ship updated info files > in release tarballs, and it would be desirable to install them even if > makeinfo is not available in the build environment. > > > I noticed this when testing a patch posted on the gcc-patches list, > > leading to an error at 'make install' time after updating tm.texi (the > > build reported 'new text' in tm.texi and stopped). This is because > > 'install' depends on 'install-info', which depends on > > $(DESTDIR)$(infodir)/gccint.info (among others). > > Ideally, we'd detect and report info files that are out-of-date WRT > their ultimate sources, especially to catch tm.texi.in changes, but > doing so only at install time is clearly suboptimal. > > I mean, if we don't have the tools to build info files, it's fine if we > skip their building, and even refrain from installing info files that > are missing or outdated, but we should install prebuilt ones if they're > available, and we should probably *not* refrain from trying to satisfy > the dependencies for info files at build time, even if it turns out that > we can't build the info files themselves. > > This suggests to me that, rather than setting BUILD_INFO to the empty > string, we should set it to e.g. no-info, so that $(MAKEINFO) will not > be run because x$(BUILD_INFO) != xinfo, but so that we still get the > dependencies resolved, e.g. by making no-info depend on info. Or maybe > make it info-check-deps, and insert that between info and its current > deps. WDYT? I've just spent quite a bit of time looking at your suggestion, and well... I hadn't considered the case of makeinfo missing/too old, in our use case makeinfo is present and recent enough but we want to save a few minutes of build time during the CI loop. As I mentioned, we (tried to) do this by doing BUILD_INFO="" when invoking 'make', and it took me ages to realize it is not working as expected, because GCC's top-level Makefile does not propagate BUILD_INFO recursively, and this conflicted with the setting of BUILD_INFO=no-info (I wanted to try to support several values for BUILD_INFO: info, no-info and "", where "" would disable more things, but it seems to be too much hassle) So, the attached small patch implements your suggestion, and works as expected: it makeinfo is not available, we now detect problems with tm.texi.in at build time rather than install time. OK? Looking deeper, I realized that texi2dvi and texi2pdf belong to the texinfo package, like makeinfo, so the dvi and pdf rules should probably also depend on BUILD_INFO? To generate html, we call makeinfo --html so the html rules should also depend on BUILD_INFO. However, unlike install-man, the install-html, install-dvi and install-pdf are not part of the plain 'install' target, so maybe we can argue that if someone runs 'make install-pdf' without texinfo, then too bad for him? Thanks, Christophe > > -- > Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ > Free Software Activist GNU Toolchain Engineer > Disinformation flourishes because many people care deeply about injustice but > very few check the facts. Think Assange & Stallman. The empires strike back --000000000000ce789706110e4309 Content-Type: text/x-patch; charset="US-ASCII"; name="v3-0001-gcc-Makefile.in-Always-check-info-dependencies.patch" Content-Disposition: attachment; filename="v3-0001-gcc-Makefile.in-Always-check-info-dependencies.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lsgmme2u0 RnJvbSA3ZWM2ZmY4ZWFkMjRlYjdjMDdkMDExMzcxMzQ3Y2YxMmRiMTFmYWY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlIEx5b24gPGNocmlzdG9waGUubHlvbkBsaW5h cm8ub3JnPgpEYXRlOiBTYXQsIDEwIEZlYiAyMDI0IDIxOjE3OjA4ICswMDAwClN1YmplY3Q6IFtQ QVRDSCB2M10gZ2NjL01ha2VmaWxlLmluOiBBbHdheXMgY2hlY2sgaW5mbyBkZXBlbmRlbmNpZXMK CkJVSUxEX0lORk8gaXMgY3VycmVudGx5IGEgYnlwcm9kdWN0IG9mIGNoZWNraW5nIG1ha2VpbmZv CnByZXNlbmNlL3ZlcnNpb24uICBJTlNUQUxMX0lORk8gdXNlZCB0byBiZSBkZWZpbmVkIHNpbWls YXJseSwgYnV0IHdhcwpyZW1vdmVkIGluIDIwMDAgKCEpIGJ5IGNvbW1pdCAxN2RiNjU4MjQxZDE4 Y2Y2ZGI1OWQzMWJjMmQ2ZWFjOTZlOTI1N2RmCihzdm4gcjM4MTQxKS4KCkluIG9yZGVyIHRvIHNh dmUgYnVpbGQgdGltZSwgb3VyIENJIG92ZXJyaWRlcyBNQUtFSU5GTz1lY2hvLCB3aGljaAp3b3Jr cyB3aGVuIGludm9raW5nICdtYWtlIGFsbCcgYnV0IG5vdCBmb3IgJ21ha2UgaW5zdGFsbCcgaW4g Y2FzZSBzb21lCmluZm8gZmlsZXMgbmVlZCBhbiB1cGRhdGUuCgpJIG5vdGljZWQgdGhpcyB3aGls ZSB0ZXN0aW5nIGEgcGF0Y2ggcG9zdGVkIG9uIHRoZSBnY2MtcGF0Y2hlcyBsaXN0LApsZWFkaW5n IHRvIGFuIGVycm9yIGF0ICdtYWtlIGluc3RhbGwnIHRpbWUgYWZ0ZXIgdXBkYXRpbmcgdG0udGV4 aSAodGhlCmJ1aWxkIHJlcG9ydGVkICduZXcgdGV4dCcgaW4gdG0udGV4aSBhbmQgc3RvcHBlZCku ICBUaGlzIGlzIGJlY2F1c2UKJ2luc3RhbGwnIGRlcGVuZHMgb24gJ2luc3RhbGwtaW5mbycsIHdo aWNoIGRlcGVuZHMgb24KJChERVNURElSKSQoaW5mb2RpcikvZ2NjaW50LmluZm8gKGFtb25nIG90 aGVycykuCgpBcyBkaXNjdXNzZWQsIGl0IGlzIGJldHRlciB0byBkZXRlY3QgdGhpcyBwcm9ibGVt IGR1cmluZyAnbWFrZSBhbGwnCnJhdGhlciB0aGFuICdtYWtlIGluc3RhbGwnLCBhbmQgd2Ugc3Rp bGwgd2FudCB0byBkZXRlY3QgaXQgZXZlbiBpZgptYWtlaW5mbyBpcyBub3QgYXZhaWxhYmxlLgoK VGhpcyBwYXRjaCBtYWtlcyBjb25maWd1cmUgc2V0IEJVSUxEX0lORk89bm8taW5mbyBpbiBjYXNl IG1ha2VpbmZvIGlzCm1pc3NpbmcvdG9vIG9sZCwgd2hpY2ggZWZmZWN0aXZlbHkgbWFrZXMgdGhl IGJ1aWxkIHJ1bGVzIG5vLW9wcwooeCQoQlVJTERfSU5GTykgIT0geGluZm8pLCBhbmQgdXBkYXRl cyBNYWtlZmlsZS5pbiBzbyB0aGF0ICdpbmZvJwpkZXBlbmRlbmNpZXMgYXJlIHN0aWxsIGNoZWNr ZWQuCgoyMDI0LTAyLTEwICBDaHJpc3RvcGhlIEx5b24gIDxjaHJpc3RvcGhlLmx5b25AbGluYXJv Lm9yZz4KCglnY2MvCgkqIE1ha2VmaWxlLmluOiBBZGQgbm8taW5mbyBkZXBlbmRlbmN5LgoJKiBj b25maWd1cmUuYWM6IFNldCBCVUlMRF9JTkZPPW5vLWluZm8gaWYgbWFrZWluZm8gaXMgbm90Cglh dmFpbGFibGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KLS0tCiBnY2MvTWFrZWZpbGUuaW4g IHwgNyArKysrKysrCiBnY2MvY29uZmlndXJlICAgIHwgMiArLQogZ2NjL2NvbmZpZ3VyZS5hYyB8 IDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgppbmRleCA5NWNh YTU0YTUyYi4uYTc0NzYxYjdhYjMgMTAwNjQ0Ci0tLSBhL2djYy9NYWtlZmlsZS5pbgorKysgYi9n Y2MvTWFrZWZpbGUuaW4KQEAgLTM0ODAsNiArMzQ4MCwxMyBAQCBpbnN0YWxsLW5vLWZpeGVkaW5j bHVkZXM6CiAKIGRvYzogJChCVUlMRF9JTkZPKSAkKEdFTkVSQVRFRF9NQU5QQUdFUykKIAorIyBJ ZiBCVUlMRF9JTkZPIGlzIHNldCB0byBuby1pbmZvIGJ5IGNvbmZpZ3VyZSwgd2Ugc3RpbGwgd2Fu dCB0byBjaGVjaworIyAnaW5mbycgZGVwZW5kZW5jaWVzIGV2ZW4gdGhlIGJ1aWxkIHJ1bGVzIGFy ZSBuby1vcHMgYmVjYXVzZQorIyBCVUlMRF9JTkZPICE9IGluZm8gKHNlZSAlLmluZm8gcnVsZSkK K2lmZXEgKCQoQlVJTERfSU5GTyksbm8taW5mbykKK25vLWluZm86IGluZm8KK2VuZGlmCisKIElO Rk9GSUxFUyA9IGRvYy9jcHAuaW5mbyBkb2MvZ2NjLmluZm8gZG9jL2djY2ludC5pbmZvIFwKICAg ICAgICAgICAgIGRvYy9nY2NpbnN0YWxsLmluZm8gZG9jL2NwcGludGVybmFscy5pbmZvCiAKZGlm ZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCmluZGV4IDRhY2IyNTRkODMw Li43NzFiOTMzODBiYyAxMDA3NTUKLS0tIGEvZ2NjL2NvbmZpZ3VyZQorKysgYi9nY2MvY29uZmln dXJlCkBAIC04ODM1LDcgKzg4MzUsNyBAQCBpZiB0ZXN0ICRnY2NfY3ZfcHJvZ19tYWtlaW5mb19t b2Rlcm4gPSBubzsgdGhlbgogJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzoKICoqKiBNYWtlaW5m byBpcyBtaXNzaW5nIG9yIHRvbyBvbGQuCiAqKiogSW5mbyBkb2N1bWVudGF0aW9uIHdpbGwgbm90 IGJlIGJ1aWx0LiIgPiYyO30KLSAgQlVJTERfSU5GTz0KKyAgQlVJTERfSU5GTz1uby1pbmZvCiBl bHNlCiAgIEJVSUxEX0lORk89aW5mbwogZmkKZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMg Yi9nY2MvY29uZmlndXJlLmFjCmluZGV4IGQyZWQxNDQ5NmMxLi4yODU1NTQ1YWFmMCAxMDA2NDQK LS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYworKysgYi9nY2MvY29uZmlndXJlLmFjCkBAIC0xMjQ1LDcg KzEyNDUsNyBAQCBpZiB0ZXN0ICRnY2NfY3ZfcHJvZ19tYWtlaW5mb19tb2Rlcm4gPSBubzsgdGhl bgogICBBQ19NU0dfV0FSTihbCiAqKiogTWFrZWluZm8gaXMgbWlzc2luZyBvciB0b28gb2xkLgog KioqIEluZm8gZG9jdW1lbnRhdGlvbiB3aWxsIG5vdCBiZSBidWlsdC5dKQotICBCVUlMRF9JTkZP PQorICBCVUlMRF9JTkZPPW5vLWluZm8KIGVsc2UKICAgQlVJTERfSU5GTz1pbmZvCiBmaQotLSAK Mi4zNC4xCgo= --000000000000ce789706110e4309--