[Xcode] In engineering builds, linker warns about libwebrtc.dylib’s install name...
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 1 Apr 2017 22:57:47 +0000 (22:57 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 1 Apr 2017 22:57:47 +0000 (22:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=170385

Reviewed by Tim Horton.

Source/WebCore:

* Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES like we do
  in some other projects’ DebugRelease.xcconfig. Engineering builds are always relocatable.
* Configurations/WebCore.xcconfig: When WebCore is relocatable, tell the linker that it’s
  not going to be in the shared cache, even if its install name implies that it might be.

Source/WebKit2:

* Configurations/WebKit.xcconfig: When WebKit is relocatable, tell the linker that it’s
  not going to be in the shared cache, even if its install name implies that it might be.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214718 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Configurations/DebugRelease.xcconfig
Source/WebCore/Configurations/WebCore.xcconfig
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/WebKit.xcconfig

index 7338190..41c3454 100644 (file)
@@ -1,3 +1,15 @@
+2017-04-01  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] In engineering builds, linker warns about libwebrtc.dylib’s install name being invalid
+        https://bugs.webkit.org/show_bug.cgi?id=170385
+
+        Reviewed by Tim Horton.
+
+        * Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES like we do
+          in some other projects’ DebugRelease.xcconfig. Engineering builds are always relocatable.
+        * Configurations/WebCore.xcconfig: When WebCore is relocatable, tell the linker that it’s
+          not going to be in the shared cache, even if its install name implies that it might be.
+
 2017-04-01  Alexey Proskuryakov  <ap@apple.com>
 
         Rolling back http://trac.webkit.org/r214663 - memory corruption
index 7a30cea..2725b89 100644 (file)
@@ -41,3 +41,5 @@ DEBUG_INFORMATION_FORMAT = dwarf;
 SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK));
 SDKROOT_ = macosx;
 SDKROOT_YES = macosx.internal;
+
+WK_RELOCATABLE_FRAMEWORKS = YES;
index d175f02..389a4b8 100644 (file)
@@ -77,7 +77,7 @@ LIBWEBRTC_LIBRARY_DIR[sdk=macosx*] = $(LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEW
 LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Versions/A/Frameworks;
 LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
 
-OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_PLATFORM)
+OTHER_LDFLAGS = $(inherited) $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM);
 OTHER_LDFLAGS_BASE = -lsqlite3 -lobjc -lANGLE -framework Metal;
 OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework MobileCoreServices -framework OpenGLES -lMobileGestalt $(WK_IOS_BINCOMPAT_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=iphoneos*] = $(OTHER_LDFLAGS_BASE_ios) -framework IOSurface -framework GraphicsServices $(LIBWEBRTC_LDFLAGS);
@@ -131,6 +131,9 @@ WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/
 WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR));
 WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)";
 
+WK_RELOCATABLE_FRAMEWORK_LDFLAGS = $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS_$(WK_RELOCATABLE_FRAMEWORKS));
+WK_RELOCATABLE_FRAMEWORK_LDFLAGS_YES = -Wl,-not_for_dyld_shared_cache;
+
 // Enable InstallAPI support, when built with WEBCORE_ENABLE_INSTALLAPI=YES.
 SUPPORTS_TEXT_BASED_API = $(SUPPORTS_TEXT_BASED_API_$(TARGET_NAME))
 SUPPORTS_TEXT_BASED_API_WebCore = $(WEBCORE_ENABLE_INSTALLAPI)
index 6622499..72b745e 100644 (file)
@@ -1,3 +1,13 @@
+2017-04-01  Dan Bernstein  <mitz@apple.com>
+
+        [Xcode] In engineering builds, linker warns about libwebrtc.dylib’s install name being invalid
+        https://bugs.webkit.org/show_bug.cgi?id=170385
+
+        Reviewed by Tim Horton.
+
+        * Configurations/WebKit.xcconfig: When WebKit is relocatable, tell the linker that it’s
+          not going to be in the shared cache, even if its install name implies that it might be.
+
 2017-03-31  Simon Fraser  <simon.fraser@apple.com>
 
         Remove a logging statement left in by mistake.
index e2b272c..25225dd 100644 (file)
@@ -55,7 +55,7 @@ LIBWEBRTC_LIBRARY_DIR[sdk=macosx*] = $(LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEW
 LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_NO = $(WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Versions/A/Frameworks;
 LIBWEBRTC_LIBRARY_DIR_USE_OVERRIDE_FRAMEWORKS_DIR_YES = $(WK_OVERRIDE_FRAMEWORKS_DIR);
 
-OTHER_LDFLAGS = $(inherited) $(UNEXPORTED_SYMBOL_LDFLAGS) $(ASAN_OTHER_LDFLAGS) $(FRAMEWORK_AND_LIBRARY_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM) -framework WebKitLegacy;
+OTHER_LDFLAGS = $(inherited) $(UNEXPORTED_SYMBOL_LDFLAGS) $(ASAN_OTHER_LDFLAGS) $(FRAMEWORK_AND_LIBRARY_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM) $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS) -framework WebKitLegacy;
 OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = $(LIBWEBRTC_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=iphoneos*] = -lAccessibility $(LIBWEBRTC_LDFLAGS);
 OTHER_LDFLAGS_PLATFORM[sdk=iphonesimulator*] = -lAccessibility $(LIBWEBRTC_LDFLAGS);
@@ -80,3 +80,6 @@ WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED_macosx_101100 = YES;
 
 WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[sdk=iphoneos9*] = YES;
 WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[sdk=iphonesimulator9*] = YES;
+
+WK_RELOCATABLE_FRAMEWORK_LDFLAGS = $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS_$(WK_RELOCATABLE_FRAMEWORKS));
+WK_RELOCATABLE_FRAMEWORK_LDFLAGS_YES = -Wl,-not_for_dyld_shared_cache;