Makefiles should work for arbitrary SDKs and architectures on Apple ports
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Feb 2013 00:56:03 +0000 (00:56 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Feb 2013 00:56:03 +0000 (00:56 +0000)
https://bugs.webkit.org/show_bug.cgi?id=107863

Patch by David Farler <dfarler@apple.com> on 2013-02-07
Reviewed by Mark Rowe.

.:

* Makefile:
Allow SDKROOT, ARCHS outside of $(ARGS).
Setting ARCHS => ONLY_ACTIVE_ARCH=NO.
* Makefile.shared: options to webkitdirs based on SDKROOT
* Source/Makefile: don't build WebKit2 for iOS

Tools:

* DumpRenderTree/Makefile: SDKROOT=iphone* => -target All-iOS
* Makefile: Only build some projects for iOS

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

ChangeLog
Makefile
Makefile.shared
Source/Makefile
Tools/ChangeLog
Tools/DumpRenderTree/Makefile
Tools/Makefile

index a187a99..f2c8ee9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2013-02-07  David Farler  <dfarler@apple.com>
+
+        Makefiles should work for arbitrary SDKs and architectures on Apple ports
+        https://bugs.webkit.org/show_bug.cgi?id=107863
+
+        Reviewed by Mark Rowe.
+
+        * Makefile:
+        Allow SDKROOT, ARCHS outside of $(ARGS).
+        Setting ARCHS => ONLY_ACTIVE_ARCH=NO.
+        * Makefile.shared: options to webkitdirs based on SDKROOT
+        * Source/Makefile: don't build WebKit2 for iOS
+
 2013-02-07  Martin Robinson  <mrobinson@igalia.com>
 
         [GTK] Cleanup command-line defines
index 19d889a..14e3315 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,11 +4,11 @@ all:
        @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
        if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
 
-debug d development dev develop:
+debug d:
        @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
        if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
 
-release r deployment dep deploy:
+release r:
        @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
        if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
 
index 7c8deb8..ee723d8 100644 (file)
@@ -1,5 +1,15 @@
 SCRIPTS_PATH ?= ../Tools/Scripts
-XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()'` $(ARGS)
+
+XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()' -- $(BUILD_WEBKIT_OPTIONS)` $(ARGS)
+
+ifneq (,$(SDKROOT))
+       XCODE_OPTIONS += SDKROOT=$(SDKROOT)
+endif
+
+ifneq (,$(ARCHS))
+       XCODE_OPTIONS += ARCHS="$(ARCHS)"
+       XCODE_OPTIONS += ONLY_ACTIVE_ARCH=NO
+endif
 
 DEFAULT_VERBOSITY := $(shell defaults read org.webkit.BuildConfiguration BuildTranscriptVerbosity 2>/dev/null || echo "default")
 VERBOSITY ?= $(DEFAULT_VERBOSITY)
index 258c2f2..3f9ca71 100644 (file)
@@ -1,14 +1,20 @@
 MODULES = WTF JavaScriptCore ThirdParty/ANGLE WebCore WebKit WebKit2
 
+ifneq (,$(findstring iphoneos,$(SDKROOT)))
+       MODULES = WTF JavaScriptCore ThirdParty/ANGLE WebCore WebKit
+else ifneq (,$(findstring iphonesimulator,$(SDKROOT)))
+       MODULES = WTF JavaScriptCore ThirdParty/ANGLE WebCore WebKit
+endif
+
 all:
        @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
        if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
 
-debug d development dev develop:
+debug d:
        @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
        if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
 
-release r deployment dep deploy:
+release r:
        @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
        if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
 
index 0e7f31b..4cc747e 100644 (file)
@@ -1,3 +1,13 @@
+2013-02-07  David Farler  <dfarler@apple.com>
+
+        Makefiles should work for arbitrary SDKs and architectures on Apple ports
+        https://bugs.webkit.org/show_bug.cgi?id=107863
+
+        Reviewed by Mark Rowe.
+
+        * DumpRenderTree/Makefile: SDKROOT=iphone* => -target All-iOS
+        * Makefile: Only build some projects for iOS
+
 2013-02-07  Roger Fong  <roger_fong@apple.com>
 
         Unreviewed. Another temporary EWS bot fix. It'll totally work this time.
index 1f1dbbc..344ef48 100644 (file)
@@ -1,2 +1,9 @@
 SCRIPTS_PATH = ../Scripts
+
+ifneq (,$(findstring iphoneos,$(SDKROOT)))
+       OTHER_OPTIONS += -target All-iOS
+else ifneq (,$(findstring iphonesimulator,$(SDKROOT)))
+       OTHER_OPTIONS += -target All-iOS
+endif
+
 include ../../Makefile.shared
index adc3ae6..930ff8e 100644 (file)
@@ -1,5 +1,11 @@
 MODULES = DumpRenderTree WebKitTestRunner MiniBrowser ../Source/ThirdParty/gtest/xcode TestWebKitAPI
 
+ifneq (,$(findstring iphoneos,$(SDKROOT)))
+       MODULES = ../Source/ThirdParty/gtest/xcode
+else ifneq (,$(findstring iphonesimulator,$(SDKROOT)))
+       MODULES = DumpRenderTree ../Source/ThirdParty/gtest/xcode
+endif
+
 all:
        @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
        if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done