Skip to content

Conversation

@jmcorgan
Copy link
Contributor

@jmcorgan jmcorgan commented Jun 5, 2016

This is a cherry-pick of a4625ac 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.

This is a cherry-pick of a4625ac 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.
@luke-jr
Copy link
Member

luke-jr commented Jun 5, 2016

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

@jmcorgan
Copy link
Contributor Author

jmcorgan commented Jun 6, 2016

@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.

@luke-jr
Copy link
Member

luke-jr commented Jun 6, 2016

Every feature is a convenience to someone.

@jmcorgan
Copy link
Contributor Author

jmcorgan commented Jun 6, 2016

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

@jmcorgan jmcorgan closed this Jun 6, 2016
@laanwj
Copy link
Member

laanwj commented Jun 6, 2016

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)

@sipa
Copy link
Member

sipa commented Jun 6, 2016 via email

@laanwj
Copy link
Member

laanwj commented Jun 7, 2016

Agree with @sipa.

@jmcorgan jmcorgan reopened this Jun 7, 2016
@jmcorgan
Copy link
Contributor Author

jmcorgan commented Jun 7, 2016

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.

jmcorgan added 2 commits June 8, 2016 06:29
=====

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:
bitcoin#7911 (comment)

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.
=====

Re-instate TARGET_OS=linux in configure.ac. Removed by 351abf9.
@jmcorgan
Copy link
Contributor Author

jmcorgan commented Jun 8, 2016

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

@theuni
Copy link
Member

theuni commented Jun 8, 2016

@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.

@jmcorgan
Copy link
Contributor Author

jmcorgan commented Jun 8, 2016

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?

@theuni
Copy link
Member

theuni commented Jun 8, 2016

@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.

@jmcorgan
Copy link
Contributor Author

jmcorgan commented Jun 8, 2016

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?

@laanwj laanwj added the Backport label Jun 9, 2016
@laanwj
Copy link
Member

laanwj commented Jun 10, 2016

have the individual cherry-picks left in?

Let's leave those in.

@laanwj
Copy link
Member

laanwj commented Jun 28, 2016

Tested ACK (including GUI) 9462e79

@laanwj laanwj merged commit 9462e79 into bitcoin:0.12 Jun 28, 2016
laanwj added a commit that referenced this pull request Jun 28, 2016
9462e79 This is a cherry-pick of 89c844d back to 0.12. (Johnathan Corgan)
932aedd Cherry-pick of f59dceb (#7925) to 0.12. (Johnathan Corgan)
03c709b Backport leveldb build integration to 0.12 (Johnathan Corgan)
@maflcko
Copy link
Member

maflcko commented Jun 28, 2016

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

@laanwj
Copy link
Member

laanwj commented Jun 28, 2016

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

Not aware of one, at least.

@jmcorgan
Copy link
Contributor Author

jmcorgan commented Jun 28, 2016

@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.

@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants