Enable 64-bit architectures by default for Xcode 5.1 and higher (issue 194713003)

1,259 views
Skip to first unread message

sdef...@chromium.org

unread,
Mar 11, 2014, 5:48:35 AM3/11/14
to ma...@chromium.org, gyp-de...@googlegroups.com
Reviewers: Mark Mentovai,

Message:
Please take a look.

Description:
Enable 64-bit architectures by default for Xcode 5.1 and higher

According to Xcode 5.1 release notes, the "Standard Architectures" build
settings now also include 64-bit architecture, while the build settings
"Standard Architectures Including 64-Bit" is no deprecated.

BUG=gyp:412

Please review this at https://codereview.chromium.org/194713003/

SVN Base: http://gyp.googlecode.com/svn/trunk

Affected files (+12, -1 lines):
M pylib/gyp/xcode_emulation.py


Index: pylib/gyp/xcode_emulation.py
diff --git a/pylib/gyp/xcode_emulation.py b/pylib/gyp/xcode_emulation.py
index
d86413ac5d7825dd2cbb713239747a70fa5a9278..e1add1ff1376a3da1d97560fd06fd22b64c31e90
100644
--- a/pylib/gyp/xcode_emulation.py
+++ b/pylib/gyp/xcode_emulation.py
@@ -1449,7 +1449,7 @@ def _IOSDefaultArchForSDKRoot(sdkroot):
return {'$(ARCHS_STANDARD)': ['armv7']}
else:
return {'$(ARCHS_STANDARD)': ['i386']}
- else:
+ elif xcode_version < '0510':
if _IOSIsDeviceSDKROOT(sdkroot):
return {
'$(ARCHS_STANDARD)': ['armv7', 'armv7s'],
@@ -1460,6 +1460,17 @@ def _IOSDefaultArchForSDKRoot(sdkroot):
'$(ARCHS_STANDARD)': ['i386'],
'$(ARCHS_STANDARD_INCLUDING_64_BIT)': ['i386', 'x86_64'],
}
+ else:
+ if _IOSIsDeviceSDKROOT(sdkroot):
+ return {
+ '$(ARCHS_STANDARD)': ['armv7', 'armv7s', 'arm64'],
+ '$(ARCHS_STANDARD_INCLUDING_64_BIT)':
['armv7', 'armv7s', 'arm64'],
+ }
+ else:
+ return {
+ '$(ARCHS_STANDARD)': ['i386', 'x86_64'],
+ '$(ARCHS_STANDARD_INCLUDING_64_BIT)': ['i386', 'x86_64'],
+ }


def _FilterIOSArchitectureForSDKROOT(xcode_settings):


ma...@chromium.org

unread,
Mar 11, 2014, 11:28:10 AM3/11/14
to sdef...@chromium.org, gyp-de...@googlegroups.com
Have you verified that Xcode 5.1 actually behaves as the release notes say,
and
that it sets these variables the same way you've set them here?

https://codereview.chromium.org/194713003/

sdef...@chromium.org

unread,
Mar 11, 2014, 12:01:03 PM3/11/14
to ma...@chromium.org, gyp-de...@googlegroups.com
On 2014/03/11 15:28:10, Mark Mentovai wrote:
> Have you verified that Xcode 5.1 actually behaves as the release notes
> say,
and
> that it sets these variables the same way you've set them here?

Yes, I've verified that with Xcode 5.1, $(ARCHS_STANDARD) includes "arm7",
"armv7" and "arm64" and that $(ARCHS_STANDARD_INCLUDING_64_BITS) has been
removed (and the project is converted to use ARCHS_STANDARD).

https://codereview.chromium.org/194713003/

ma...@chromium.org

unread,
Mar 11, 2014, 12:06:23 PM3/11/14
to sdef...@chromium.org, gyp-de...@googlegroups.com
Then should you remove ARCHS_STANDARD_INCLUDING_64_BIT from the new 5.1
code?


https://codereview.chromium.org/194713003/diff/1/pylib/gyp/xcode_emulation.py
File pylib/gyp/xcode_emulation.py (right):

https://codereview.chromium.org/194713003/diff/1/pylib/gyp/xcode_emulation.py#newcode949
pylib/gyp/xcode_emulation.py:949: # For new projects, ARCHS is set to
$(ARCHS_STANDARD_INCLUDING_64_BIT),
Fix?

https://codereview.chromium.org/194713003/
Reply all
Reply to author
Forward
0 new messages