1. Feb 27, 2023
    • Wenzel Jakob's avatar
      macOS: disable fixup chains when linking extension modules · e076c451
      Wenzel Jakob authored
      On macOS, extension library builds usually rely on the flag ``-undefined
      dynamic_lookup`` to get the linker to temporarily accept missing CPython
      API symbols. As the name implies, those symbols are then dynamically
      resolved when Python imports such an extension library. Binaries
      produced in this way are more portable since they don't contain a
      hardcoded path to the CPython library. This is critical when
      distributing binary wheels on PyPI, etc..
      
      When targeting macOS>=12, XCode recently started to generate a somewhat
      ominous warning:
      
      ``-undefined dynamic_lookup may not work with chained fixups``
      
      For further detail on what chained fixups are, see the following
      informative WWDC
      https://developer.apple.com/videos/play/wwdc2022/110362/ (the relevant
      part starts about 20mins into the video)
      
      The message that the dynamic resolution functionality became broken.
      I reported this to Apple via feedback request FB11767124.
      
      Apple investigated the request and updated the behavior of ``ld``
      starting with XCode 14.3b1+: it now disables the fixup chain linker
      optimization whenever ``-undefined dynamic_lookup`` is specified. The
      feedback from Apple also stated that the parameter
      ``-Wl,-no_fixup_chains`` should be specified on pre-14.3 XCode versions
      to ensure correct behavior.
      
      This commit realizes those changes by passing a flag to *always* disable
      fixup chains. Related discussion is available in the CPython repository
      (https://github.com/python/cpython/issues/97524).
      e076c451
  2. Feb 23, 2023
    • Eli Schwartz's avatar
      add --version option to pybind11-config (#4526) · 3cc7e425
      Eli Schwartz authored
      Without this, it's impossible to get feature parity between detection
      mechanisms. Both the pkg-config file and the cmake config set their
      versions, but the python probe script didn't provide an option for this.
      
      So you could print the compiler flags for using it, but you could not
      check what you got.
      3cc7e425
  3. Feb 22, 2023
  4. Feb 21, 2023
  5. Feb 18, 2023
  6. Feb 16, 2023
  7. Feb 10, 2023
  8. Feb 08, 2023
  9. Feb 07, 2023
  10. Feb 06, 2023
  11. Feb 05, 2023
  12. Feb 02, 2023
  13. Feb 01, 2023
  14. Jan 20, 2023
  15. Jan 19, 2023
  16. Jan 15, 2023
  17. Jan 13, 2023
  18. Jan 04, 2023
  19. Jan 03, 2023
  20. Jan 02, 2023
  21. Dec 31, 2022
  22. Dec 29, 2022
  23. Dec 28, 2022
    • Aaron Gokaslan's avatar
      chore: update clang-tidy to 15 (#4387) · 7f23e9f3
      Aaron Gokaslan authored
      * chore: update clang-tidy to 15
      
      * Add git
      
      * Add NOLINTNEXTLINE for assignment in if
      
      * Update CONTRIBUTING.md
      
      * Add NOLINTNEXTLINE where needed
      
      * Add one more NOLINTNEXTLINE
      
      * stl_bind: make more readable
      
      * Another missing NOLINTNEXTLINE
      
      * Match style elsewhere
      
      * Apply reviewer suggestion. Mark false positive
      7f23e9f3
  24. Dec 21, 2022
  25. Dec 20, 2022
  26. Dec 16, 2022
  27. Dec 15, 2022