Backport leveldb build integration to 0.12 #8148

pull jmcorgan wants to merge 3 commits into bitcoin:0.12 from jmcorgan:0.12 changing 4 files +109 −21
  1. jmcorgan commented at 7:54 PM on June 5, 2016: contributor

    This is a cherry-pick of a4625acb with minor conflict resolution.

    Conflicts: src/Makefile.am

    leveldb: integrate leveldb into our buildsystem

    leveldb's buildsystem causes us a few problems:

    • breaks out-of-tree builds
    • forces flags used for some tools
    • limits cross builds

    Rather than continuing to add wrappers around it, simply integrate it into our build.

  2. Backport leveldb build integration to 0.12
    This is a cherry-pick of a4625acb with minor conflict
    resolution.
    
    Conflicts:
    	src/Makefile.am
    
    =====
    
    leveldb: integrate leveldb into our buildsystem
    
    leveldb's buildsystem causes us a few problems:
    - breaks out-of-tree builds
    - forces flags used for some tools
    - limits cross builds
    
    Rather than continuing to add wrappers around it, simply integrate it into our
    build.
    03c709b422
  3. luke-jr commented at 10:54 PM on June 5, 2016: member

    I think NACK, since this doesn't actually fix any bugs?

  4. jmcorgan commented at 12:47 AM on June 6, 2016: contributor

    @luke-jr It allows building the 0.12 branch using VPATH builds. That's a major convenience for me to be able to share the same build/test scripting between master and 0.12; I expect for others as well.

  5. luke-jr commented at 1:05 AM on June 6, 2016: member

    Every feature is a convenience to someone.

  6. jmcorgan commented at 1:15 AM on June 6, 2016: contributor

    Ok, whatever. I don't think I've ever submitted a pull request here that didn't immediately run into weird objections.

  7. jmcorgan closed this on Jun 6, 2016

  8. laanwj commented at 6:12 AM on June 6, 2016: member

    This could be useful to keep the testing the same. However, out-of-tree build support needs more changes for proper support. There was #7925, and one is open even now: #8133. Backporting just that commit is not enough. (but it's all just build system changes, I don't think it's very risky to backport this)

  9. sipa commented at 6:16 AM on June 6, 2016: member

    @jcorgan You don't need to close a PR because one person complains. Things can be discussed.

    We typically only backport bug fixes and soft forks to older releases, but perhaps it makes sense to keep the build system compatible as well. I don't have a strong opinion here.

  10. laanwj commented at 9:14 AM on June 7, 2016: member

    Agree with @sipa.

  11. jmcorgan reopened this on Jun 7, 2016

  12. jmcorgan commented at 1:47 PM on June 7, 2016: contributor

    If you think this is something you'll eventually merge, I have no problem working with @theuni to ensure any needed changes from 0.13 make it back into 0.12. I'll go ahead and get #7925 added, and when #8133 is merged, that too.

    However, I won't waste my own or anyone else's time if this is not the direction you want to go, though I still find this useful enough for my own purposes.

  13. laanwj added the label Build system on Jun 8, 2016
  14. Cherry-pick of f59dceb (#7925) to 0.12.
    =====
    
    qt: Fix out-of-tree GUI builds
    
    Without this patch:
    
    - When I compile the GUI from the bitcoin directory itself, it works as
      expected.
    
    - When I build the GUI in an out-of-tree build, I cannot get it to
      select tabs. When I click, say the "Receive" tab nothing happens,
      the button selects but it doesn't switch the page. The rest - even
      the debug window - seems to work.
    
    See full discussion here:
    https://github.com/bitcoin/bitcoin/pull/7911#issuecomment-212413442
    
    This turned out to be caused by a mismatch in the arguments to moc,
    preventing it from finding `bitcoin-config.h`. Fix this by passing
    `$(DEFAULT_INCLUDES)` to it, which gets set to the appropriate
    path by autoconf itself.
    932aedd99a
  15. This is a cherry-pick of 89c844d back to 0.12.
    =====
    
    Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9e035.
    9462e791b7
  16. jmcorgan commented at 1:54 PM on June 8, 2016: contributor

    I've added #7925 and #7944 to the backport. It's not clear to me whether #7982 should also go here as well.

  17. theuni commented at 2:08 PM on June 8, 2016: member

    @jmcorgan I have no problem with backporting this and a few others to make life easier, but as @laanwj said, aiming to backport fully-supported VPATH builds is probably over-reaching, given that we're still cleaning up minor things in master.

    As for #7982, no, that shouldn't be backported as c++11 won't be a requirement for 0.12.x.

  18. jmcorgan commented at 2:22 PM on June 8, 2016: contributor

    I'm a little confused then--if the backport is done properly, don't VPATH builds just come "for free"? In other words, is there some extra effort needed other than ensuring any leveldb-build related commits on master get cherry-picked appropriately?

  19. theuni commented at 4:12 PM on June 8, 2016: member

    @jmcorgan The changes you have here should be enough for most basic VPATH builds, but there are several edge-cases that remain, mostly related to packaging/release stuff which we can live without in the backport.

  20. jmcorgan commented at 5:54 PM on June 8, 2016: contributor

    Ok, great. I'll do some testing and A/B comparison between the build artifacts created with and without this branch then. Do you prefer to have this squashed or have the individual cherry-picks left in?

  21. laanwj added the label Backport on Jun 9, 2016
  22. laanwj commented at 8:07 AM on June 10, 2016: member

    have the individual cherry-picks left in?

    Let's leave those in.

  23. laanwj assigned theuni on Jun 22, 2016
  24. laanwj commented at 2:05 PM on June 28, 2016: member

    Tested ACK (including GUI) 9462e79

  25. laanwj merged this on Jun 28, 2016
  26. laanwj closed this on Jun 28, 2016

  27. laanwj referenced this in commit 080457c4ee on Jun 28, 2016
  28. MarcoFalke commented at 2:36 PM on June 28, 2016: member

    Interesting. Is there any git wrapper that resets the author on cherry-picks?

  29. laanwj commented at 2:54 PM on June 28, 2016: member

    Interesting. Is there any git wrapper that resets the author on cherry-picks?

    Not aware of one, at least.

  30. jmcorgan commented at 8:21 PM on June 28, 2016: contributor

    @theuni let me what additional master commits you think apply here

    EDIT: I'm already going through #8133 to see what applies and will cherry-pick/fixup.

  31. jmcorgan deleted the branch on Jun 28, 2016
  32. MarcoFalke locked this on Sep 8, 2021

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-19 03:15 UTC

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