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
  1. hebasto commented at 4:42 PM on November 25, 2020: member

    Bitcoin Core codebase does not contain direct dependencies on the ApplicationServices and IOKit frameworks.

  2. build: Drop unneeded ApplicationServices framework dependency 65afe4cb69
  3. build: Drop unneeded IOKit framework dependency ec4a46dd9c
  4. jonasschnelli commented at 4:58 PM on November 25, 2020: contributor

    utACK ec4a46dd9c158e1a0de144e9abb260da941aa702

  5. DrahtBot added the label GUI on Nov 25, 2020
  6. MarcoFalke renamed this:
    Drop unneeded macOS framework dependencies
    build: Drop unneeded macOS framework dependencies
    on Nov 25, 2020
  7. MarcoFalke added the label Build system on Nov 25, 2020
  8. hebasto marked this as ready for review on Nov 25, 2020
  9. practicalswift commented at 8:02 PM on November 25, 2020: contributor

    cr ACK ec4a46dd9c158e1a0de144e9abb260da941aa702: patch looks correct!

    Thanks for removing unused old cruft!

  10. promag commented at 9:16 AM on November 26, 2020: member

    Tested ACK ec4a46dd9c158e1a0de144e9abb260da941aa702 (not depends build).

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

  12. jonasschnelli merged this on Dec 1, 2020
  13. jonasschnelli closed this on Dec 1, 2020

  14. sidhujag referenced this in commit 6261bb53d2 on Dec 1, 2020
  15. hebasto deleted the branch on Dec 1, 2020
  16. 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_LIBS if 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 -qcocoa static 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-qt binaries 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.

  17. PastaPastaPasta referenced this in commit 8a8ae7266d on Jun 27, 2021
  18. PastaPastaPasta referenced this in commit 3494602344 on Jun 28, 2021
  19. PastaPastaPasta referenced this in commit a6fa9df942 on Jun 29, 2021
  20. PastaPastaPasta referenced this in commit 537023f52c on Jul 1, 2021
  21. PastaPastaPasta referenced this in commit ce8709ff55 on Jul 1, 2021
  22. PastaPastaPasta referenced this in commit f9b59df7cd on Jul 15, 2021
  23. PastaPastaPasta referenced this in commit 0883abc4c7 on Jul 16, 2021
  24. DrahtBot locked this on Feb 15, 2022

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-21 18:14 UTC

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