Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Depends] Bump boost to 1.71.0 and optimize flow #2331

Merged
merged 18 commits into from
May 9, 2021

Conversation

@Fuzzbawls Fuzzbawls added this to the 6.0.0 milestone Apr 22, 2021
@Fuzzbawls Fuzzbawls self-assigned this Apr 22, 2021
@furszy
Copy link

furszy commented May 5, 2021

You forgot to update the boost version in the dependencies.md. Other than that, code wise looks good. Will do a fresh depends and gitian build.

@Fuzzbawls
Copy link
Collaborator Author

Added a commit to document the version bump, no functional change therein.

@Fuzzbawls
Copy link
Collaborator Author

Added another commit to update the download URL for the Boost source archive.

Ref: boostorg/boost#502

furszy
furszy previously approved these changes May 6, 2021
Copy link

@furszy furszy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitian went fine, tested ACK ceebb52

dongcarl and others added 18 commits May 7, 2021 22:26
I kept finding myself needing these to debug our build system, since
they are innocuous and are very helpful they probably belong in the
codebase.

Source: John Graham-Cumming
https://www.cmcrossroads.com/article/printing-value-makefile-variable
The ancient "darwin-4.9.1" profile has long been used to match against
clang, which prior to version 9, reported 4.9.1 as its version when
invoking "clang++ -dumpversion". Presumably this was a historical
compatibility quirk related to Apple's switch from gcc to clang.

This was "fixed" in clang 9.0, so that -dumpversion reports the real
version. Unfortunately that had the side-effect of breaking the
(brittle) boost compiler detection.

Move to the seemingly more-correct "clang-darwin" profile, which passes
the checks and builds correctly.

Also switch to using ar rather than libtool for archiving, as it's what
the clang-darwin profile expects to be using.

Note that because this is using a different profile, some of the final
command-line arguments end up changing. The changes look sane at a
glance.
All other mk files use the package variable consistently except for the two instances here, which have always been here, since depends was introduced in 0.10.
For example, doing:

  make CC=clang CXX=clang++

Should now propagate these settings down to depends packages
b2 will pickup our user-config.jam just fine, however, bootstrap.sh has
its own toolset autodetect mechanism, which doesn't GAF about our
user-config.jam
Previously, we specified the target-os in the toolset (and sometimes
used the wrong command line flags), now we have a clear separation,
which is favored by ./bootstrap.sh and ./b2.

This means that all supported OSes will specify the correct target-os=
and toolset= on the command line.
We want to supply well-known vars to ./configure scripts to do with as
they please. However, we do _not_ want to override these well-known vars
at make-time as certain build systems expect a self-mangled version of
these well-known vars.

For example, freetype and bdb will prepend `libtool --mode=compile' to
CC and CXX, which, if we override CC on the command line at make-time,
will break the build.
We already have $(package)_ar, so just use that instead
bintray.com is closing and all official Boost source downloads have
moved to jfrog.io instead
Copy link

@random-zebra random-zebra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK de7766c

24ff00bb4341557f80c7c4fb929b1212e58f3ae31d096e3e5b01703f9697c007  pivx-5.1.99-aarch64-linux-gnu-debug.tar.gz
a52fa92702d9f45ea151ac39bef65be34ddfa6606b6252c4d79c9075b4c776bf  pivx-5.1.99-aarch64-linux-gnu.tar.gz
88931149bb76db8f6fb3e95f094ec04ea7f7358f4ba3cce0b3bfd4c04fadf327  pivx-5.1.99-arm-linux-gnueabihf-debug.tar.gz
d053496f767915e9e854c87ed22d5e3548875f4be9d70c6b30dd629cdd829c0c  pivx-5.1.99-arm-linux-gnueabihf.tar.gz
267bb28fb6f2dd6cfafb283351c234a01a776dd8557fe94c90cfb7bfe4ba5ddb  pivx-5.1.99-i686-pc-linux-gnu-debug.tar.gz
88cf39ae9c945095ccb08b4944287b72c1319a1eb3d3b2273aa846fe45f55e3e  pivx-5.1.99-i686-pc-linux-gnu.tar.gz
bf71cacca3e4c983e361e422ad8ee1468aa3bf71900e047653a2d426b7545c93  pivx-5.1.99-x86_64-linux-gnu-debug.tar.gz
7cfc731a2c2c0d2f2a89693cd7fdc50e0b27a5638561ef233b5304083a9701dc  pivx-5.1.99-x86_64-linux-gnu.tar.gz
84b52bef628d874d4c05da87d675a7d2a276478652be8eeca55e12596db9a600  src/pivx-5.1.99.tar.gz
950c577126aa2bdb649b4c40b36de2a144548f895223bc8950d802986b23d39d  pivx-linux-5.1-res.yml

fb94db0486576f37a3772776a216cf2ba6dd5f3e70bf636a35975c9299ce44d8  pivx-5.1.99-win-unsigned.tar.gz
a24975f70321dbbe49f415f5e58b08e1ec7ef0067fe76d399d31358984de53fc  pivx-5.1.99-win64-debug.zip
ca68363f065dd35541e4e254ca472b4e829821f5b35f95cc356138acd0ed18f7  pivx-5.1.99-win64-setup-unsigned.exe
34e75f8a354694837895c0b9f1982ed4de049a2887052466dfa12091fbcdce6a  pivx-5.1.99-win64.zip
84b52bef628d874d4c05da87d675a7d2a276478652be8eeca55e12596db9a600  src/pivx-5.1.99.tar.gz
8bc6b71ab30b10b9fa3f3c0e1e685352b74bc279474e2bab37080361625c99c9  pivx-win-5.1-res.yml

5996b3527bdcbc768f2680bb397d7b762f8fac200bc2ac05b9f491d0877e0d78  pivx-5.1.99-osx-unsigned.dmg
f0b2512ceacfbc8b7ece07a85d4bbbed7851f558347b19274d7469d91c3f89b9  pivx-5.1.99-osx-unsigned.tar.gz
194b365e9ab442439919e9208f526eb90638c8f359a318c0aecfbc0453c7821c  pivx-5.1.99-osx64.tar.gz
84b52bef628d874d4c05da87d675a7d2a276478652be8eeca55e12596db9a600  src/pivx-5.1.99.tar.gz
1e6808a22a24dae008975428d11a52c8f7559c51dee7f8100a701e0a36738b16  pivx-osx-5.1-res.yml

Copy link

@furszy furszy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no code changes after rebase, utACK de7766c and merging..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants