Bitcoin Core codebase does not contain direct dependencies on the ApplicationServices and IOKit frameworks.
build: Drop unneeded macOS framework dependencies #20496
pull hebasto wants to merge 2 commits into bitcoin:master from hebasto:201125-as changing 2 files +1 −7-
hebasto commented at 4:42 PM on November 25, 2020: member
-
build: Drop unneeded ApplicationServices framework dependency 65afe4cb69
-
build: Drop unneeded IOKit framework dependency ec4a46dd9c
-
jonasschnelli commented at 4:58 PM on November 25, 2020: contributor
utACK ec4a46dd9c158e1a0de144e9abb260da941aa702
- DrahtBot added the label GUI on Nov 25, 2020
- MarcoFalke renamed this:
Drop unneeded macOS framework dependencies
build: Drop unneeded macOS framework dependencies
on Nov 25, 2020 - MarcoFalke added the label Build system on Nov 25, 2020
- hebasto marked this as ready for review on Nov 25, 2020
-
practicalswift commented at 8:02 PM on November 25, 2020: contributor
cr ACK ec4a46dd9c158e1a0de144e9abb260da941aa702: patch looks correct!
Thanks for removing unused old cruft!
-
promag commented at 9:16 AM on November 26, 2020: member
Tested ACK ec4a46dd9c158e1a0de144e9abb260da941aa702 (not depends build).
-
DrahtBot commented at 2:57 PM on November 26, 2020: member
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
No conflicts as of last run.
- jonasschnelli merged this on Dec 1, 2020
- jonasschnelli closed this on Dec 1, 2020
- sidhujag referenced this in commit 6261bb53d2 on Dec 1, 2020
- hebasto deleted the branch on Dec 1, 2020
-
fanquake commented at 4:21 AM on December 3, 2020: member
In future it would be good if PRs like this had slightly more informative PR descriptions and commit messages.
Bitcoin Core codebase does not contain direct dependencies on the ApplicationServices and IOKit frameworks.
Our C++ code might not contain direct dependencies on these frameworks, but that's not really the point of these checks. We need to test linking against some frameworks, and adding them to
QT_LIBSif successful, so that when we try and link against-lqcocoa, it will work. i.e in #19716 I've actually added additional framework checks (while removing IOKit), as without them, the-qcocoastatic plugin check would fail.For example, if with that branch, you drop off the link check for
-framework Carbon, when you configure you'll see:checking for static Qt plugins: -lqminimal... yes checking whether the linker accepts -framework QuartzCore... yes checking whether the linker accepts -framework IOSurface... yes checking for static Qt plugins: -lqcocoa... no configure: WARNING: Could not resolve: -lqcocoa; bitcoin-qt frontend will not be built # config.log Undefined symbols for architecture x86_64: "_kTISPropertyInputSourceLanguages", referenced from: QCocoaInputContext::updateLocale() in libqcocoa.a(qcocoainputcontext.o) "_TISCopyInputMethodKeyboardLayoutOverride", referenced from: QCocoaKeyMapper::updateKeyboard() in libqcocoa.a(qcocoakeymapper.o) "_GetCurrentKeyModifiers", referenced from: QCocoaKeyMapper::queryKeyboardModifiers() in libqcocoa.a(qcocoakeymapper.o)as the linker can't resolve the symbols from the Carbon framework. This means that we won't build
bitcoin-qt.Also, the commit messages say "uneeded X framework dependency". However the macOS
bitcoin-qtbinaries we release do have a dependency on the IOKit and ApplicationServices frameworks (among many others).I do agree that some of these checks are a bit arbitrary and there is opportunity to better document this behaviour.
- PastaPastaPasta referenced this in commit 8a8ae7266d on Jun 27, 2021
- PastaPastaPasta referenced this in commit 3494602344 on Jun 28, 2021
- PastaPastaPasta referenced this in commit a6fa9df942 on Jun 29, 2021
- PastaPastaPasta referenced this in commit 537023f52c on Jul 1, 2021
- PastaPastaPasta referenced this in commit ce8709ff55 on Jul 1, 2021
- PastaPastaPasta referenced this in commit f9b59df7cd on Jul 15, 2021
- PastaPastaPasta referenced this in commit 0883abc4c7 on Jul 16, 2021
- DrahtBot locked this on Feb 15, 2022