Introduce mac_want_real_dsym GYP flag. By default, fake .dSYM files

will be generated for regular builds, and dsymutils will be used to create .dSYMs for ASan builds.
mac_want_real_dsym can be used to override this.

mac_real_dsym can't be set directly, because it's not a % variable.
According to https://codereview.chromium.org/113999, it can't be made a
% variable now, because of a bug in % handling in GYP that leads to
mac_real_dsym being unconditionally set to 1 for some targets.

BUG=148383

Review URL: https://chromiumcodereview.appspot.com/11587012

git-svn-id: http://src.chromium.org/svn/trunk/src/build@173749 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
glider@chromium.org 2012-12-18 17:49:58 +00:00
Родитель c7855471a3
Коммит da3a593714
1 изменённых файлов: 24 добавлений и 1 удалений

Просмотреть файл

@ -252,6 +252,10 @@
# Notifications are compiled in by default. Set to 0 to disable.
'notifications%' : 1,
# Use dsymutil to generate real .dSYM files on Mac. The default is 0 for
# regular builds and 1 for ASan builds.
'mac_want_real_dsym%': 'default',
# If this is set, the clang plugins used on the buildbot will be used.
# Run tools/clang/scripts/update.sh to make sure they are compiled.
# This causes 'clang_chrome_plugins_flags' to be set.
@ -677,6 +681,7 @@
'input_speech%': '<(input_speech)',
'notifications%': '<(notifications)',
'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)',
'mac_want_real_dsym%': '<(mac_want_real_dsym)',
'asan%': '<(asan)',
'tsan%': '<(tsan)',
'tsan_blacklist%': '<(tsan_blacklist)',
@ -3362,9 +3367,27 @@
# variables that are intended to be set to different values in
# different targets, like these.
'mac_pie': 1, # Most executables can be position-independent.
'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases.
# Strip debugging symbols from the target.
'mac_strip': '<(mac_strip_release)',
'conditions': [
['asan==1', {
'conditions': [
['mac_want_real_dsym=="default"', {
'mac_real_dsym': 1,
}, {
'mac_real_dsym': '<(mac_want_real_dsym)'
}],
],
}, {
'conditions': [
['mac_want_real_dsym=="default"', {
'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases.
}, {
'mac_real_dsym': '<(mac_want_real_dsym)'
}],
],
}],
],
},
'xcode_settings': {
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic