build: Define .INTERMEDIATE target once only #20684

pull hebasto wants to merge 1 commits into bitcoin:master from hebasto:201217-target changing 1 files +1 −3
  1. hebasto commented at 12:30 PM on December 17, 2020: member

    A new warning was introduced in https://github.com/bitcoin/bitcoin/pull/20470/commits/22437fc72e78ba3845a3953853d40093de32c395 (#20470):

    $ ./autogen.sh 
    ...
    Makefile.am:335: warning: .INTERMEDIATE was already defined in condition !BUILD_DARWIN, which is included in condition TRUE ...
    Makefile.am:139: ... '.INTERMEDIATE' previously defined here
    ...
    

    Fixed in this PR.

  2. build: Define .INTERMEDIATE target once only 5e0dedb111
  3. MarcoFalke commented at 12:34 PM on December 17, 2020: member

    Concept ACK, not willing to upgrade to review ACK

  4. MarcoFalke added the label Build system on Dec 17, 2020
  5. MarcoFalke added the label Needs gitian build on Dec 17, 2020
  6. MarcoFalke added the label Needs Guix build on Dec 17, 2020
  7. DrahtBot commented at 10:57 PM on December 18, 2020: member

    <!--a722867cd34abeea1fadc8d60700f111-->

    Gitian builds

    File commit 816314ef0f7bdf50a6596ef893ac1a1d2d8723bf<br>(master) commit b38a4770ee739822ae0f9b96b7c1c5525d536c49<br>(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz 92c094a57f28b2fe... 662eabe347eb0ca9...
    *-aarch64-linux-gnu.tar.gz 6406c70036869155... 2734768975a31382...
    *-arm-linux-gnueabihf-debug.tar.gz fa1dcb7738417481... 1fd3ab0af064d3b5...
    *-arm-linux-gnueabihf.tar.gz ba0552af3463d066... 3e13df1b79ca0728...
    *-osx-unsigned.dmg b38904a51c9c12d5... 591f777991f34cb1...
    *-osx64.tar.gz 81c94a20c6fe25d9... 8a93c52e4af305a0...
    *-riscv64-linux-gnu-debug.tar.gz 5199aceb15600fb9... f183aff4a3d9d65e...
    *-riscv64-linux-gnu.tar.gz 79881c3a59eecd00... a9e594d4831589ee...
    *-win64-debug.zip 9f6dc265cf93e377... 431c08797ae0de2c...
    *-win64-setup-unsigned.exe 4f64508a4629cde1... d29abf5a0bd9b77a...
    *-win64.zip 85b0b7372d64928b... b4269da217f0c87d...
    *-x86_64-linux-gnu-debug.tar.gz db8b3d3f3967dbb4... 9844c25056badcc7...
    *-x86_64-linux-gnu.tar.gz 10c06c92f10e4d8d... d856d22d1ccc4719...
    *.tar.gz b47efbff1aff7eeb... 7146964c63fd028f...
    bitcoin-core-linux-22-res.yml 6b70a61e243f8979... 7a4f9b70f6ff8df5...
    bitcoin-core-osx-22-res.yml c492c16c3445ba68... 40c419bddc6e1a28...
    bitcoin-core-win-22-res.yml a4afeb86eac5227b... e01d39aa3fd2c2af...
    linux-build.log 6e3648941ec583a8... 34176b1f929fb39a...
    osx-build.log 951cd893b8181a69... 1cbce6c6b342849b...
    win-build.log 09e44a321a721c70... 65e3094683343b44...
    bitcoin-core-linux-22-res.yml.diff 1d55ff209e896dc5...
    bitcoin-core-osx-22-res.yml.diff 5a378a2848ff388f...
    bitcoin-core-win-22-res.yml.diff 0a013ff2d55c3281...
    linux-build.log.diff 21f9133b4272f532...
    osx-build.log.diff 63b5329e9d7c6396...
    win-build.log.diff dc871f1caad065d9...
  8. DrahtBot removed the label Needs gitian build on Dec 18, 2020
  9. in Makefile.am:15 in 5e0dedb111
      11 | @@ -12,6 +12,7 @@ if ENABLE_MAN
      12 |  SUBDIRS += doc/man
      13 |  endif
      14 |  .PHONY: deploy FORCE
      15 | +.INTERMEDIATE: $(OSX_TEMP_ISO) $(COVERAGE_INFO)
    


    laanwj commented at 11:59 AM on December 20, 2020:

    Is it safe/correct to have OSX_TEMP_ISO here even though it's not a thing for non-OSX? It is unconditionally assigned a value on line 38.


    hebasto commented at 5:46 AM on December 21, 2020:

    Is it safe/correct to have OSX_TEMP_ISO here even though it's not a thing for non-OSX?

    "OSX_TEMP_ISO ... [i]s not a thing for non-OSX" seems like a bit vague statement for the next reasons:

    1. Being a global variable, the OSX_TEMP_ISO is defined regardless of the place of its evaluation, i.e., on all platforms:
    $ make print-OSX_TEMP_ISO
    OSX_TEMP_ISO = Bitcoin-Core.temp.iso
    
    1. On macOS, when BUILD_DARWIN is set to true, the resulted Makefile has no the Bitcoin-Core.temp.iso target. So one of prerequisites of the .INTERMEDIATE target has no recipe of its own. make is aware of such possible conditions (e.g., https://www.gnu.org/software/make/manual/html_node/Last-Resort.html)

    2. Being a special target, the .INTERMEDIATE just explicitly marks its each prerequisite file as intermediate, regardless if the file is mentioned explicitly in some other way


    laanwj commented at 9:48 AM on December 21, 2020:

    Yes I was a bit unclear there, sorry. I wondered if it might have been better to define OSX_TEMP_ISO as empty on non-DARWIN, instead of assign it a value, so that it's not included in .INTERMEDIATES. But it is good to know that adding it to .INTERMEDIATES cannot actually trigger the build rule. I guess that addresses my concern.

  10. DrahtBot commented at 9:46 PM on December 20, 2020: member

    <!--9cd9c72976c961c55c7acef8f6ba82cd-->

    Guix builds

    File commit f1dbf92ff0475a01d20170ea422c1d086acbbc57<br>(master) commit aba1aad34b1f82f8d5a7c28d2ec79d9e85b77e8b<br>(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz 3515438da57735d7... 65315d4b1d5c963d...
    *-aarch64-linux-gnu.tar.gz 05a5abb8dc19b763... 9360e852c525aaee...
    *-arm-linux-gnueabihf-debug.tar.gz a304544b9e0a6c6c... b6e43712602c5f90...
    *-arm-linux-gnueabihf.tar.gz 0a0aeaa4824539bf... 32ab35f97c057c85...
    *-riscv64-linux-gnu-debug.tar.gz 8dd000bbc84bcbae... 93b95567b6a95080...
    *-riscv64-linux-gnu.tar.gz dd378f951a7bd9f3... 7ac837539a40a042...
    *-win-unsigned.tar.gz dfc0adc44d8ff510... e10ddc4a0e31f5ef...
    *-win64-debug.zip 5998a6b080a1f045... ca2125989bf98b05...
    *-win64-setup-unsigned.exe 10bdc93641d087bd... e84cf252b53245a7...
    *-win64.zip e333c73783a2ce08... fdf5108ad8db69d8...
    *-x86_64-linux-gnu-debug.tar.gz ed787b28fac37978... 987a83e84494c5bb...
    *-x86_64-linux-gnu.tar.gz f9d97bcb271450ec... a1e39458deffd366...
    *.tar.gz 1c0afb594835e558... 0be7dbd7ca7d7a25...
    guix_build.log 8a0c986f6840886d... 9c539051550f2d22...
    guix_build.log.diff 366ffc6130c23620...
  11. DrahtBot removed the label Needs Guix build on Dec 20, 2020
  12. jonatack commented at 9:59 PM on December 20, 2020: member

    Thanks for working on this, I've been seeing this warning since 3-4 days. This patch appears to fix it for me on Debian.

  13. jonatack commented at 3:07 PM on December 22, 2020: member

    Tested and very light review ACK 5e0dedb111ed9db03914b9dac36cf081974c2918

    IDK if there is a better solution but I've been recompiling several times a day with this patch while testing pulls and it resolves the warning while working fine for me.

  14. Limpisey168 approved
  15. fanquake merged this on Dec 28, 2020
  16. fanquake closed this on Dec 28, 2020

  17. sidhujag referenced this in commit 4a29b4ea73 on Dec 28, 2020
  18. hebasto deleted the branch on Dec 30, 2020
  19. PastaPastaPasta referenced this in commit 72f1dd30d3 on Oct 20, 2021
  20. PastaPastaPasta referenced this in commit 0c79dbc7b6 on Oct 21, 2021
  21. pravblockc referenced this in commit 10ee8421d7 on Nov 18, 2021
  22. DrahtBot locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-21 21:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me