Title: [164865] trunk/Tools
Revision
164865
Author
[email protected]
Date
2014-02-28 09:53:30 -0800 (Fri, 28 Feb 2014)

Log Message

[iOS] DumpRenderTree Perl Support may build against wrong SDK and toolchain
https://bugs.webkit.org/show_bug.cgi?id=129163

Reviewed by David Kilzer.

Fixes an issue where DumpRenderTree Perl Support may build with the specified
iOS Simulator SDK and toolchain instead of using the OS X SDK and toolchain.
This issue manifests itself in a build failure when building the IPhoneSimulatorNotification
bundle.

Currently we build DumpRenderTree Perl Support with respect to the variable SDKROOT,
which is specified either explicitly when building with MAKE(1) or implicitly by
build-{dumprendertree, webkit}. Instead we should always build Perl Support using
the OS X SDK and toolchain since the built products are only applicable to OS X.

* DumpRenderTree/ios/PerlSupport/Makefile:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (164864 => 164865)


--- trunk/Tools/ChangeLog	2014-02-28 17:46:12 UTC (rev 164864)
+++ trunk/Tools/ChangeLog	2014-02-28 17:53:30 UTC (rev 164865)
@@ -1,3 +1,22 @@
+2014-02-28  Daniel Bates  <[email protected]>
+
+        [iOS] DumpRenderTree Perl Support may build against wrong SDK and toolchain
+        https://bugs.webkit.org/show_bug.cgi?id=129163
+
+        Reviewed by David Kilzer.
+
+        Fixes an issue where DumpRenderTree Perl Support may build with the specified
+        iOS Simulator SDK and toolchain instead of using the OS X SDK and toolchain.
+        This issue manifests itself in a build failure when building the IPhoneSimulatorNotification
+        bundle.
+
+        Currently we build DumpRenderTree Perl Support with respect to the variable SDKROOT,
+        which is specified either explicitly when building with MAKE(1) or implicitly by
+        build-{dumprendertree, webkit}. Instead we should always build Perl Support using
+        the OS X SDK and toolchain since the built products are only applicable to OS X.
+
+        * DumpRenderTree/ios/PerlSupport/Makefile:
+
 2014-02-28  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r164859.

Modified: trunk/Tools/DumpRenderTree/ios/PerlSupport/Makefile (164864 => 164865)


--- trunk/Tools/DumpRenderTree/ios/PerlSupport/Makefile	2014-02-28 17:46:12 UTC (rev 164864)
+++ trunk/Tools/DumpRenderTree/ios/PerlSupport/Makefile	2014-02-28 17:53:30 UTC (rev 164865)
@@ -40,6 +40,13 @@
 # FIXME: We shouldn't hard code these architectures. See <rdar://problem/9047171> for more discussion on why we have to.
 ARCHS=i386 x86_64
 
+# The DumpRenderTreeSupport dylib and the IPhoneSimulatorNotification bundle are OS X-specific components that
+# are needed to run DumpRenderTree in iOS Simulator. We explicitly unexport environment variables SDKROOT and
+# TOOLCHAINS and then override them to use the OS X SDK and toolchain when building these components.
+unexport SDKROOT
+unexport TOOLCHAINS
+SDKROOT=macosx
+TOOLCHAINS=osx
 
 all: $(DYLIB) $(PERL_MODULE)
 
@@ -51,7 +58,7 @@
 	cp DumpRenderTreeSupportPregenerated.pm $(PERL_MODULE)
 
 $(DYLIB): DumpRenderTreeSupport.c $(WRAPPER)
-	xcrun -sdk macosx clang -g -dynamiclib -o $(DYLIB) `$(PERL) -MExtUtils::Embed -eperl_inc` `$(PERL) -MExtUtils::Embed -e'my $$opts = ldopts(0); $$opts =~ s/-arch [^ ]*( |$$)//g; print $$opts, " -arch ", join(" -arch ", split(" ",$$ENV{ARCHS}))'` $^
+	xcrun clang -g -dynamiclib -o $(DYLIB) `$(PERL) -MExtUtils::Embed -eperl_inc` `$(PERL) -MExtUtils::Embed -e'my $$opts = ldopts(0); $$opts =~ s/-arch [^ ]*( |$$)//g; print $$opts, " -arch ", join(" -arch ", split(" ",$$ENV{ARCHS}))'` $^
 
 IPHONE_SIMULATOR_NOTIFCATION_BUNDLE=$(OUTPUT_DIR)/lib/perl5/darwin-thread-multi-2level/auto/IPhoneSimulatorNotification/IPhoneSimulatorNotification.bundle
 IPHONE_SIMULATOR_NOTIFCATION_MODULE=$(OUTPUT_DIR)/lib/perl5/darwin-thread-multi-2level/IPhoneSimulatorNotification.pm
@@ -59,7 +66,7 @@
 all: $(IPHONE_SIMULATOR_NOTIFCATION_BUNDLE) $(IPHONE_SIMULATOR_NOTIFCATION_MODULE)
 
 $(IPHONE_SIMULATOR_NOTIFCATION_BUNDLE) $(IPHONE_SIMULATOR_NOTIFCATION_MODULE): IPhoneSimulatorNotification/IPhoneSimulatorNotification.xs IPhoneSimulatorNotification/Makefile.PL IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm IPhoneSimulatorNotification/ppport.h IPhoneSimulatorNotification/t/IPhoneSimulatorNotification.t
-	cd IPhoneSimulatorNotification && SDKROOT=iphonesimulator perl Makefile.PL INSTALL_BASE=$(OUTPUT_DIR) 
+	cd IPhoneSimulatorNotification && perl Makefile.PL INSTALL_BASE=$(OUTPUT_DIR)
 	make -C IPhoneSimulatorNotification test
 	make -C IPhoneSimulatorNotification install
 	make -C IPhoneSimulatorNotification realclean
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to