Title: [221168] trunk/Tools
Revision
221168
Author
jbed...@apple.com
Date
2017-08-24 16:18:15 -0700 (Thu, 24 Aug 2017)

Log Message

Update configure-xcode-for-ios-development for iOS 11
https://bugs.webkit.org/show_bug.cgi?id=173937
<rdar://problem/33038924>

Reviewed by Daniel Bates.

Xcode 9 has removed the following headers from the iOS 11 Simulator SDK:
        /usr/include/crt_externs.h
        /usr/include/mach/mach_types.defs
        /usr/include/mach/machine/machine_types.defs
        /usr/include/mach/std_types.defs
        /usr/include/objc/objc-class.h
        /usr/include/objc/objc-runtime.h
        /usr/include/objc/Protocol.h
        /usr/include/readline/history.h
        /usr/include/readline/readline.h
To solve this problem, configure-xcode-for-ios-development copies these headers
from the active macOS SDK into the iOS Simulator SDK.

* Scripts/configure-xcode-for-ios-development:
(copyMissingHeadersFromSDKToSDKIfNeeded): Copy all missing header from one SDK
into another if those headers do not exist in the destination SDK.
(copyMissingHeadersToIPhoneOSSDKIfNeeded): Deleted.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (221167 => 221168)


--- trunk/Tools/ChangeLog	2017-08-24 23:03:27 UTC (rev 221167)
+++ trunk/Tools/ChangeLog	2017-08-24 23:18:15 UTC (rev 221168)
@@ -1,3 +1,29 @@
+2017-08-24  Jonathan Bedard  <jbed...@apple.com>
+
+        Update configure-xcode-for-ios-development for iOS 11
+        https://bugs.webkit.org/show_bug.cgi?id=173937
+        <rdar://problem/33038924>
+
+        Reviewed by Daniel Bates.
+
+        Xcode 9 has removed the following headers from the iOS 11 Simulator SDK:
+                /usr/include/crt_externs.h
+                /usr/include/mach/mach_types.defs
+                /usr/include/mach/machine/machine_types.defs
+                /usr/include/mach/std_types.defs
+                /usr/include/objc/objc-class.h
+                /usr/include/objc/objc-runtime.h
+                /usr/include/objc/Protocol.h
+                /usr/include/readline/history.h
+                /usr/include/readline/readline.h
+        To solve this problem, configure-xcode-for-ios-development copies these headers
+        from the active macOS SDK into the iOS Simulator SDK.
+
+        * Scripts/configure-xcode-for-ios-development:
+        (copyMissingHeadersFromSDKToSDKIfNeeded): Copy all missing header from one SDK
+        into another if those headers do not exist in the destination SDK.
+        (copyMissingHeadersToIPhoneOSSDKIfNeeded): Deleted.
+
 2017-08-24  Alex Christensen  <achristen...@webkit.org>
 
         Add WKUIDelegatePrivate callback corresponding to PageUIClient's didNotHandleWheelEvent

Modified: trunk/Tools/Scripts/configure-xcode-for-ios-development (221167 => 221168)


--- trunk/Tools/Scripts/configure-xcode-for-ios-development	2017-08-24 23:03:27 UTC (rev 221167)
+++ trunk/Tools/Scripts/configure-xcode-for-ios-development	2017-08-24 23:18:15 UTC (rev 221168)
@@ -40,7 +40,7 @@
 use lib $FindBin::Bin;
 use webkitdirs;
 
-sub copyMissingHeadersToIPhoneOSSDKIfNeeded();
+sub copyMissingHeadersFromSDKToSDKIfNeeded($$);
 sub copyMissingXSLTHeadersToSDKIfNeeded($);
 sub createLegacyXcodeSpecificationFilesForSDKIfNeeded($);
 sub mergeXcodeSpecificationWithSpecificationAndId($$$);
@@ -68,11 +68,12 @@
     copyMissingXSLTHeadersToSDKIfNeeded($sdk);
 }
 
-copyMissingHeadersToIPhoneOSSDKIfNeeded();
+copyMissingHeadersFromSDKToSDKIfNeeded("macosx", "iphonesimulator");
+copyMissingHeadersFromSDKToSDKIfNeeded("iphonesimulator", "iphoneos");
 
 exit 0;
 
-sub copyMissingHeadersToIPhoneOSSDKIfNeeded()
+sub copyMissingHeadersFromSDKToSDKIfNeeded($$)
 {
     my @missingHeaders = qw(
         /usr/include/crt_externs.h
@@ -88,17 +89,19 @@
         /usr/include/sqlite3_private.h
     );
 
-    my $iphoneosSDKDirectory = sdkDirectory("iphoneos");
-    my $iphonesimulatorSDKDirectory = sdkDirectory("iphonesimulator");
+    my ($sourceSDK, $destinationSDK) = @_;
+    my $sourceDirectory = sdkDirectory($sourceSDK);
+    my $destinationDirectory = sdkDirectory($destinationSDK);
 
     for my $header (@missingHeaders) {
-        my $iphoneosSDKPath = File::Spec->canonpath(File::Spec->catfile($iphoneosSDKDirectory, $header));
-        next if (-f $iphoneosSDKPath);
+        my $sourcePath = File::Spec->canonpath(File::Spec->catfile($sourceDirectory, $header));
+        my $destinationPath = File::Spec->canonpath(File::Spec->catfile($destinationDirectory, $header));
+        next if (-f $destinationPath);
+        next if (!-f $sourcePath);
 
-        my $iphonesimulatorSDKPath = File::Spec->canonpath(File::Spec->catfile($iphonesimulatorSDKDirectory, $header));
-        system("/usr/bin/ditto", $iphonesimulatorSDKPath, $iphoneosSDKPath);
-        die "Could not copy $iphonesimulatorSDKPath to $iphoneosSDKPath: $!" if exitStatus($?);
-        print "Successfully copied $iphonesimulatorSDKPath to $iphoneosSDKPath.\n";
+        system("/usr/bin/ditto", $sourcePath, $destinationPath);
+        die "Could not copy $sourcePath to $destinationPath: $!" if exitStatus($?);
+        print "Successfully copied $sourcePath to $destinationPath.\n";
     }
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to