Changeset 204843 in webkit


Ignore:
Timestamp:
Aug 23, 2016, 11:36:44 AM (9 years ago)
Author:
andersca@apple.com
Message:

Add a workaround for iOS Frameworks that expect DOM bindings to be in WebCore
https://bugs.webkit.org/show_bug.cgi?id=161093

Reviewed by Dan Bernstein.

Create a text-based stub library that looks enough like WebKitLegacy that we can trick the linker
into creating a LC_REEXPORT_DYLIB load command in WebCore.

  • Configurations/WebCore.xcconfig:

Link against this WebKitLegacyStub tbd file on iOS 9.0, 9.3 and 10.0.

  • Configurations/WebKitLegacyStub.iOS.tbd:

Add new tbd file.

  • WebCore.xcodeproj/project.pbxproj:

Add new files.

Location:
trunk/Source/WebCore
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r204839 r204843  
     12016-08-23  Anders Carlsson  <andersca@apple.com>
     2
     3        Add a workaround for iOS Frameworks that expect DOM bindings to be in WebCore
     4        https://bugs.webkit.org/show_bug.cgi?id=161093
     5
     6        Reviewed by Dan Bernstein.
     7
     8        Create a text-based stub library that looks enough like WebKitLegacy that we can trick the linker
     9        into creating a LC_REEXPORT_DYLIB load command in WebCore.
     10
     11        * Configurations/WebCore.xcconfig:
     12        Link against this WebKitLegacyStub tbd file on iOS 9.0, 9.3 and 10.0.
     13
     14        * Configurations/WebKitLegacyStub.iOS.tbd:
     15        Add new tbd file.
     16
     17        * WebCore.xcodeproj/project.pbxproj:
     18        Add new files.
     19
    1202016-08-23  Chris Dumez  <cdumez@apple.com>
    221
  • trunk/Source/WebCore/Configurations/WebCore.xcconfig

    r204627 r204843  
    5858PRODUCT_NAME = WebCore;
    5959UNEXPORTED_SYMBOLS_FILE = Configurations/WebCore.unexp;
     60
     61WK_PREFIXED_IPHONEOS_DEPLOYMENT_TARGET = V$(IPHONEOS_DEPLOYMENT_TARGET);
     62
     63WK_IOS_BINCOMPAT_LDFLAGS = $(WK_IOS_BINCOMPAT_LDFLAGS_$(WK_PREFIXED_IPHONEOS_DEPLOYMENT_TARGET:identifier));
     64WK_IOS_BINCOMPAT_LDFLAGS_V9_0 = -Wl,-reexport_library,$(SRCROOT)/Configurations/WebKitLegacyStub.iOS.tbd;
     65WK_IOS_BINCOMPAT_LDFLAGS_V9_3 = $(WK_IOS_BINCOMPAT_LDFLAGS_V9_0);
     66WK_IOS_BINCOMPAT_LDFLAGS_V10_0 = $(WK_IOS_BINCOMPAT_LDFLAGS_V9_3);
     67
    6068OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_PLATFORM);
    6169OTHER_LDFLAGS_BASE = -lsqlite3 -lobjc -lANGLE;
    62 OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework OpenGLES -lMobileGestalt;
     70OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework OpenGLES -lMobileGestalt $(WK_IOS_BINCOMPAT_LDFLAGS);
    6371OTHER_LDFLAGS_PLATFORM[sdk=iphoneos*] = $(OTHER_LDFLAGS_BASE_ios) -framework IOSurface;
    6472OTHER_LDFLAGS_PLATFORM[sdk=iphonesimulator*] = $(OTHER_LDFLAGS_BASE_ios);
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r204839 r204843  
    77787778                1AE96A861D1A0CEB00B86768 /* PaymentAuthorizationStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaymentAuthorizationStatus.h; sourceTree = "<group>"; };
    77797779                1AE96A871D1A0CEB00B86768 /* PaymentMerchantSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaymentMerchantSession.h; sourceTree = "<group>"; };
     7780                1AEA88FF1D6CBF5E00E5AD64 /* WebKitLegacyStub.iOS.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; path = WebKitLegacyStub.iOS.tbd; sourceTree = "<group>"; };
    77807781                1AED3BD91D3D5F260099FD78 /* PassKitSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PassKitSPI.h; sourceTree = "<group>"; };
    77817782                1AEF4E66170E160300AB2799 /* CachedFontClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedFontClient.h; sourceTree = "<group>"; };
     
    1546015461                                E1BA66F21742BDCC00C20251 /* WebCoreTestShim.xcconfig */,
    1546115462                                4181707D1386EDF20057AAA4 /* WebCoreTestSupport.xcconfig */,
     15463                                1AEA88FF1D6CBF5E00E5AD64 /* WebKitLegacyStub.iOS.tbd */,
    1546215464                        );
    1546315465                        path = Configurations;
Note: See TracChangeset for help on using the changeset viewer.