-
Notifications
You must be signed in to change notification settings - Fork 37.7k
depends: qt: Fix C{,XX} pickup #17466
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
Conversation
I guess we can't test this as standalone? Just see if the gitian build still passes? |
This should only affect the OSX Gitian build, so if that passes then we should be good... Or maybe I'm misunderstanding you? |
Is this a bugfix? We use a hardcoded clang-x86_64 to build for macos, so I hope this works before and after this pull request? |
Not a bugfix but just making depends work properly: settings should propagate to all packages wherever possible. I've tested this for crossing from Linux to OSX. Can test OSX native build too. |
Ah yes I've often noticed as well. It's quite annoying that qt and boost have to have their own build system that of course has to do everything different for no good reason. |
Concept ACK Thanks for all your great work on the build system @dongcarl |
Gitian builds
|
@@ -202,6 +202,8 @@ define $(package)_preprocess_cmds | |||
sed -i.old "s|QMAKE_CFLAGS += |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ | |||
sed -i.old "s|QMAKE_CXXFLAGS += |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ | |||
sed -i.old "0,/^QMAKE_LFLAGS_/s|^QMAKE_LFLAGS_|!host_build: QMAKE_LFLAGS = $($(package)_ldflags)\n&|" qtbase/mkspecs/win32-g++/qmake.conf && \ | |||
sed -i.old "s|QMAKE_CC = clang|QMAKE_CC = $($(package)_cc)|" qtbase/mkspecs/common/clang.conf && \ | |||
sed -i.old "s|QMAKE_CXX = clang++|QMAKE_CXX = $($(package)_cxx)|" qtbase/mkspecs/common/clang.conf && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, not in this PR, but we really need something that detects when these sed's fail to replace anything. This is very prone to breaking with very subtle effects when Qt is updated.
(imagine they changed the number of spaces, for ex.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, tracked in: #16838
ACK bc728d1 |
bc728d1 depends: qt: Fix C{,XX} pickup (Carl Dong) Pull request description: QT LOVES to do things its own way and simply ignore all environment variables. Even listing `QMAKE_CC=...` in `./configure` flags does't work reliably. This is why we gotta literally edit their config files for them. Thanks QT. ACKs for top commit: laanwj: ACK bc728d1 Tree-SHA512: 3d6a0535174d70937d11b8f44ac2ab720870345a2d5a541c3e0181163ffa1988ab4f934788e9c841b646d6f53c6dc51a4fe39b294dd042c38976091c0fb96c96
bc728d1 depends: qt: Fix C{,XX} pickup (Carl Dong) Pull request description: QT LOVES to do things its own way and simply ignore all environment variables. Even listing `QMAKE_CC=...` in `./configure` flags does't work reliably. This is why we gotta literally edit their config files for them. Thanks QT. ACKs for top commit: laanwj: ACK bc728d1 Tree-SHA512: 3d6a0535174d70937d11b8f44ac2ab720870345a2d5a541c3e0181163ffa1988ab4f934788e9c841b646d6f53c6dc51a4fe39b294dd042c38976091c0fb96c96
Summary: ``` QT LOVES to do things its own way and simply ignore all environment variables. Even listing QMAKE_CC=... in ./configure flags does't work reliably. This is why we gotta literally edit their config files for them. Thanks QT. ``` Backport of core [[bitcoin/bitcoin#17466 | PR17466]]. Depends on D5656. Test Plan: Run the OSX Gitian build. Reviewers: #bitcoin_abc, deadalnix Reviewed By: #bitcoin_abc, deadalnix Subscribers: deadalnix Differential Revision: https://reviews.bitcoinabc.org/D5657
bc728d1 depends: qt: Fix C{,XX} pickup (Carl Dong) Pull request description: QT LOVES to do things its own way and simply ignore all environment variables. Even listing `QMAKE_CC=...` in `./configure` flags does't work reliably. This is why we gotta literally edit their config files for them. Thanks QT. ACKs for top commit: laanwj: ACK bc728d1 Tree-SHA512: 3d6a0535174d70937d11b8f44ac2ab720870345a2d5a541c3e0181163ffa1988ab4f934788e9c841b646d6f53c6dc51a4fe39b294dd042c38976091c0fb96c96
QT LOVES to do things its own way and simply ignore all environment variables. Even listing
QMAKE_CC=...
in./configure
flags does't work reliably. This is why we gotta literally edit their config files for them. Thanks QT.