From 12caff0e244e0d626ff13a7d46e80afa3bc77b04 Mon Sep 17 00:00:00 2001 From: "timothy@apple.com" Date: Tue, 26 Feb 2008 21:54:07 +0000 Subject: [PATCH] .: Reviewed by Darin Adler. Add "64" and "64u" make rules to allow easy building of 64-bit versions. make 64: will build Intel-only 64-bit. make 64u: will build 4-way universal for PPC and Intel. * Makefile: * Makefile.shared: WebKitTools: Reviewed by Darin Adler. * Scripts/build-webkit: Add --universal and --64-bit flags to make building 64-bit architectures easy. Combine the two flags to build 4-way universal. * Makefile: Add "64" and "64u" make rules. Fix the universal rule to return non-zero when the build failes. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30597 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- ChangeLog | 12 ++++++++++++ Makefile | 13 ++++++++++--- Makefile.shared | 6 ++++++ WebKitTools/ChangeLog | 9 +++++++++ WebKitTools/Makefile | 11 ++++++++++- WebKitTools/Scripts/build-webkit | 22 ++++++++++++++++++++++ 6 files changed, 69 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bb7c72be2c10..915a84765b06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2008-02-26 Timothy Hatcher + + Reviewed by Darin Adler. + + Add "64" and "64u" make rules to allow easy building of 64-bit versions. + + make 64: will build Intel-only 64-bit. + make 64u: will build 4-way universal for PPC and Intel. + + * Makefile: + * Makefile.shared: + 2008-02-23 Jan Michael Alonzo Rubber stamped by Darin. diff --git a/Makefile b/Makefile index 89344f7a5823..fa7ea02426ea 100644 --- a/Makefile +++ b/Makefile @@ -7,16 +7,23 @@ all: debug d development dev develop: @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: @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done - + universal u: @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done -clean: +64: @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done +64u: + @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ + if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done + +clean: + @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ + if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done diff --git a/Makefile.shared b/Makefile.shared index a036aacc50e8..096d32e948d3 100644 --- a/Makefile.shared +++ b/Makefile.shared @@ -15,6 +15,12 @@ release r deployment dep deploy: force universal u: force ( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=ppc i386' | grep -v setenv && exit $${PIPESTATUS[0]} ) +64: force + ( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=i386 x86_64' | grep -v setenv && exit $${PIPESTATUS[0]} ) + +64u: force + ( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=ppc ppc64 i386 x86_64' | grep -v setenv && exit $${PIPESTATUS[0]} ) + clean: ( xcodebuild $(OTHER_OPTIONS) -alltargets clean $(XCODE_OPTIONS) | grep -v setenv && exit $${PIPESTATUS[0]} ) diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog index 50e2f0480de3..64e31a758232 100644 --- a/WebKitTools/ChangeLog +++ b/WebKitTools/ChangeLog @@ -1,3 +1,12 @@ +2008-02-26 Timothy Hatcher + + Reviewed by Darin Adler. + + * Scripts/build-webkit: Add --universal and --64-bit flags to make building + 64-bit architectures easy. Combine the two flags to build 4-way universal. + * Makefile: Add "64" and "64u" make rules. Fix the universal rule to return + non-zero when the build failes. + 2008-02-26 Jessica Kahn Reviewed by Darin. diff --git a/WebKitTools/Makefile b/WebKitTools/Makefile index a0f946a00077..364eadbc2a5f 100644 --- a/WebKitTools/Makefile +++ b/WebKitTools/Makefile @@ -13,7 +13,16 @@ release r deployment dep deploy: if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done universal u: - @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; if [ $$? -ne 0 ]; then break; fi; done + @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ + if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done + +64: + @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ + if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done + +64u: + @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ + if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done clean: @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \ diff --git a/WebKitTools/Scripts/build-webkit b/WebKitTools/Scripts/build-webkit index 350b3e7c0fcb..f4c99e6bfca8 100755 --- a/WebKitTools/Scripts/build-webkit +++ b/WebKitTools/Scripts/build-webkit @@ -56,11 +56,16 @@ my $coverageSupport = 0; my $videoSupport = isOSX() || isCygwin(); # Enable by default on OSX and Windows my $showHelp = 0; my $clean = 0; +my $buildUniversal = 0; +my $buildSixtyFourBit = 0; my $programName = basename($0); my $usage = < \$crossDocumentMessagingSupport, 'video!' => \$videoSupport, 'coverage!' => \$coverageSupport, 'help' => \$showHelp, + 'universal' => \$buildUniversal, + '64-bit' => \$buildSixtyFourBit, 'clean' => \$clean); if ($showHelp) { @@ -183,6 +190,21 @@ if ($clean && isOSX()) { push(@options, "clean"); } +if ($buildSixtyFourBit && isOSX()) { + my $cpuVendor = `sysctl -n machdep.cpu.vendor`; + chomp $cpuVendor; + + if ($buildUniversal) { + push(@options, "ARCHS=ppc ppc64 i386 x86_64"); + } elsif ($cpuVendor eq "GenuineIntel") { + push(@options, "ARCHS=i386 x86_64"); + } else { + push(@options, "ARCHS=ppc ppc64"); + } +} elsif ($buildUniversal && isOSX()) { + push(@options, "ARCHS=ppc i386"); +} + # enable autotool options accordingly if ($ENV{WEBKITAUTOTOOLS}) { push @options, autotoolsFlag($crossDocumentMessagingSupport, "cross-document-messaging"); -- 2.36.0