Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(846)

Side by Side Diff: pylib/gyp/xcode_emulation.py

Issue 32193007: [ninja/mac] Add xcode_emulation support for -Wobjc-missing-property-synthesis. (Closed) Base URL: http://gyp.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 Google Inc. All rights reserved. 1 # Copyright (c) 2012 Google Inc. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """ 5 """
6 This module contains classes that help to emulate xcodebuild behavior on top of 6 This module contains classes that help to emulate xcodebuild behavior on top of
7 other build systems, such as make and ninja. 7 other build systems, such as make and ninja.
8 """ 8 """
9 9
10 import copy 10 import copy
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 gc_policy = self._Settings().get('GCC_ENABLE_OBJC_GC', 'unsupported') 462 gc_policy = self._Settings().get('GCC_ENABLE_OBJC_GC', 'unsupported')
463 if gc_policy == 'supported': 463 if gc_policy == 'supported':
464 flags.append('-fobjc-gc') 464 flags.append('-fobjc-gc')
465 elif gc_policy == 'required': 465 elif gc_policy == 'required':
466 flags.append('-fobjc-gc-only') 466 flags.append('-fobjc-gc-only')
467 467
468 def _AddObjectiveCARCFlags(self, flags): 468 def _AddObjectiveCARCFlags(self, flags):
469 if self._Test('CLANG_ENABLE_OBJC_ARC', 'YES', default='NO'): 469 if self._Test('CLANG_ENABLE_OBJC_ARC', 'YES', default='NO'):
470 flags.append('-fobjc-arc') 470 flags.append('-fobjc-arc')
471 471
472 def _AddObjectiveCMissingPropertySynthesisFlags(self, flags):
473 if self._Test('CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS',
474 'YES', default='NO'):
475 flags.append('-Wobjc-missing-property-synthesis')
476
472 def GetCflagsObjC(self, configname): 477 def GetCflagsObjC(self, configname):
473 """Returns flags that need to be added to .m compilations.""" 478 """Returns flags that need to be added to .m compilations."""
474 self.configname = configname 479 self.configname = configname
475 cflags_objc = [] 480 cflags_objc = []
476 self._AddObjectiveCGarbageCollectionFlags(cflags_objc) 481 self._AddObjectiveCGarbageCollectionFlags(cflags_objc)
477 self._AddObjectiveCARCFlags(cflags_objc) 482 self._AddObjectiveCARCFlags(cflags_objc)
483 self._AddObjectiveCMissingPropertySynthesisFlags(cflags_objc)
478 self.configname = None 484 self.configname = None
479 return cflags_objc 485 return cflags_objc
480 486
481 def GetCflagsObjCC(self, configname): 487 def GetCflagsObjCC(self, configname):
482 """Returns flags that need to be added to .mm compilations.""" 488 """Returns flags that need to be added to .mm compilations."""
483 self.configname = configname 489 self.configname = configname
484 cflags_objcc = [] 490 cflags_objcc = []
485 self._AddObjectiveCGarbageCollectionFlags(cflags_objcc) 491 self._AddObjectiveCGarbageCollectionFlags(cflags_objcc)
486 self._AddObjectiveCARCFlags(cflags_objcc) 492 self._AddObjectiveCARCFlags(cflags_objcc)
493 self._AddObjectiveCMissingPropertySynthesisFlags(cflags_objcc)
487 if self._Test('GCC_OBJC_CALL_CXX_CDTORS', 'YES', default='NO'): 494 if self._Test('GCC_OBJC_CALL_CXX_CDTORS', 'YES', default='NO'):
488 cflags_objcc.append('-fobjc-call-cxx-cdtors') 495 cflags_objcc.append('-fobjc-call-cxx-cdtors')
489 self.configname = None 496 self.configname = None
490 return cflags_objcc 497 return cflags_objcc
491 498
492 def GetInstallNameBase(self): 499 def GetInstallNameBase(self):
493 """Return DYLIB_INSTALL_NAME_BASE for this target.""" 500 """Return DYLIB_INSTALL_NAME_BASE for this target."""
494 # Xcode sets this for shared_libraries, and for nonbundled loadable_modules. 501 # Xcode sets this for shared_libraries, and for nonbundled loadable_modules.
495 if (self.spec['type'] != 'shared_library' and 502 if (self.spec['type'] != 'shared_library' and
496 (self.spec['type'] != 'loadable_module' or self._IsBundle())): 503 (self.spec['type'] != 'loadable_module' or self._IsBundle())):
(...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after
1290 new_config_dict['xcode_settings']['SDKROOT'] = 'iphoneos' 1297 new_config_dict['xcode_settings']['SDKROOT'] = 'iphoneos'
1291 target_dict['configurations'][new_config_name] = new_config_dict 1298 target_dict['configurations'][new_config_name] = new_config_dict
1292 return targets 1299 return targets
1293 1300
1294 def CloneConfigurationForDeviceAndEmulator(target_dicts): 1301 def CloneConfigurationForDeviceAndEmulator(target_dicts):
1295 """If |target_dicts| contains any iOS targets, automatically create -iphoneos 1302 """If |target_dicts| contains any iOS targets, automatically create -iphoneos
1296 targets for iOS device builds.""" 1303 targets for iOS device builds."""
1297 if _HasIOSTarget(target_dicts): 1304 if _HasIOSTarget(target_dicts):
1298 return _AddIOSDeviceConfigurations(target_dicts) 1305 return _AddIOSDeviceConfigurations(target_dicts)
1299 return target_dicts 1306 return target_dicts
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698