⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 291713 in webkit


Ignore:
Timestamp:
Mar 22, 2022, 3:28:11 PM (5 years ago)
Author:
david_quesada@apple.com
Message:

REGRESSION(r291455): libwebrtc has the wrong install name when using override frameworks directory
​https://bugs.webkit.org/show_bug.cgi?id=238212
rdar://90604028

Reviewed by Alexey Proskuryakov.

r291455 introduced a default definition of DYLIB_INSTALL_NAME_BASE for non-macOS platforms that
stays defined as /S/L/PF/WebCore.framework/Frameworks. This explicit definition (rather than
falling back to the build system default of $INSTALL_PATH) is fine for those platforms but
clashes with the macOS definition of this variable when building with an override frameworks path:

DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(DYLIB_INSTALL_NAME_BASE);

Because of the new default definition of DYLIB_INSTALL_NAME_BASE, the semantics of this line
were changed from "use the install path as the install name when there's an override frameworks
directory" to "use /S/L/PF/WebCore.frameworks/Frameworks as the install name when there's an
override frameworks directory", which completely bypasses the point of the *override* directory.

Resolve this by redefining DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES to explicitly
use the INSTALL_PATH as the base of the install name, which was the original intent before
r291455 changed the behavior of falling back to DYLIB_INSTALL_NAME_BASE.

  • Configurations/libwebrtc.xcconfig:
Location:
trunk/Source/ThirdParty/libwebrtc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/ThirdParty/libwebrtc/ChangeLog

    r291562 r291713  
     12022-03-22  David Quesada  <david_quesada@apple.com>
     2
     3        REGRESSION(r291455): libwebrtc has the wrong install name when using override frameworks directory
     4        https://bugs.webkit.org/show_bug.cgi?id=238212
     5        rdar://90604028
     6
     7        Reviewed by Alexey Proskuryakov.
     8
     9        r291455 introduced a default definition of DYLIB_INSTALL_NAME_BASE for non-macOS platforms that
     10        stays defined as /S/L/PF/WebCore.framework/Frameworks. This explicit definition (rather than
     11        falling back to the build system default of $INSTALL_PATH) is fine for those platforms but
     12        clashes with the macOS definition of this variable when building with an override frameworks path:
     13
     14            DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(DYLIB_INSTALL_NAME_BASE);
     15
     16        Because of the new default definition of `DYLIB_INSTALL_NAME_BASE`, the semantics of this line
     17        were changed from "use the install path as the install name when there's an override frameworks
     18        directory" to "use /S/L/PF/WebCore.frameworks/Frameworks as the install name when there's an
     19        override frameworks directory", which completely bypasses the point of the *override* directory.
     20
     21        Resolve this by redefining DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES to explicitly
     22        use the INSTALL_PATH as the base of the install name, which was the original intent before
     23        r291455 changed the behavior of falling back to DYLIB_INSTALL_NAME_BASE.
     24
     25        * Configurations/libwebrtc.xcconfig:
     26
    1272022-03-21  Alex Christensen  <achristensen@webkit.org>
    228
  • trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig

    r291455 r291713  
    4949DYLIB_INSTALL_NAME_BASE[sdk=macosx*] = $(DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
    5050DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_$(WK_RELOCATABLE_FRAMEWORKS));
    51 DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(DYLIB_INSTALL_NAME_BASE);
     51DYLIB_INSTALL_NAME_BASE_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(INSTALL_PATH);
    5252DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_ = $(NORMAL_WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Versions/A/Frameworks;
    5353DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_YES = @loader_path/../../../;
Note: See TracChangeset for help on using the changeset viewer.