diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-05 19:26:07 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-05 19:26:07 +0000 |
commit | e14a9f93c4ca927334008eb83127e1fb7598fe1c (patch) | |
tree | fa724e9008c20f9734084f6758625045e6f59452 /build/common.gypi | |
parent | 7fa319410e5dbc1739e476f317a33e0ab276a94a (diff) | |
download | chromium_src-e14a9f93c4ca927334008eb83127e1fb7598fe1c.zip chromium_src-e14a9f93c4ca927334008eb83127e1fb7598fe1c.tar.gz chromium_src-e14a9f93c4ca927334008eb83127e1fb7598fe1c.tar.bz2 |
Move the entire application into a dylib (framework)
Review URL: http://codereview.chromium.org/160538
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22506 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/common.gypi')
-rw-r--r-- | build/common.gypi | 95 |
1 files changed, 71 insertions, 24 deletions
diff --git a/build/common.gypi b/build/common.gypi index 20887c3..13178ba 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -13,6 +13,31 @@ # Variables expected to be overriden on the GYP command line (-D) or by # ~/.gyp/include.gypi. + # Putting a variables dict inside another variables dict looks kind of + # weird. This is done so that "branding" and "buildtype" are defined as + # variables within the outer variables dict here. This is necessary + # to get these variables defined for the conditions within this variables + # dict that operate on these variables. + 'variables': { + # Override branding to select the desired branding flavor. + 'branding%': 'Chromium', + + # Override buildtype to select the desired build flavor. + # Dev - everyday build for development/testing + # Official - release build (generally implies additional processing) + # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp + # conversion is done), some of the things which are now controlled by + # 'branding', such as symbol generation, will need to be refactored based + # on 'buildtype' (i.e. we don't care about saving symbols for non-Official + # builds). + 'buildtype%': 'Dev', + }, + + # Define branding and buildtype on the basis of their settings within the + # variables sub-dict above, unless overridden. + 'branding%': '<(branding)', + 'buildtype%': '<(buildtype)', + # Override chromium_mac_pch and set it to 0 to suppress the use of # precompiled headers on the Mac. Prefix header injection may still be # used, but prefix headers will not be precompiled. This is useful when @@ -23,19 +48,6 @@ # Linux-Mac cross compiler distcc farm. 'chromium_mac_pch%': 1, - # Override branding to select the desired branding flavor. - 'branding%': 'Chromium', - - # Override buildtype to select the desired build flavor. - # Dev - everyday build for development/testing - # Official - release build (generally implies additional processing) - # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp - # conversion is done), some of the things which are now controlled by - # 'branding', such as symbol generation, will need to be refactored based - # on 'buildtype' (i.e. we don't care about saving symbols for non-Official - # builds). - 'buildtype%': 'Dev', - # Set to 1 to enable code coverage. In addition to build changes # (e.g. extra CFLAGS), also creates a new target in the src/chrome # project file called "coverage". @@ -104,6 +116,31 @@ 'linux_sandbox_chrome_path%': '/opt/google/chrome/chrome', 'conditions': [ + ['OS=="mac"', { + 'conditions': [ + # mac_product_name is set to the name of the .app bundle as it should + # appear on disk. This duplicates data from + # chrome/app/theme/chromium/BRANDING and + # chrome/app/theme/google_chrome/BRANDING, but is necessary to get + # these names into the build system. + ['branding=="Chrome"', { + 'mac_product_name%': 'Google Chrome', + }, { # else: branding!="Chrome" + 'mac_product_name%': 'Chromium', + }], + + # Feature variables for enabling Mac Breakpad and Keystone auto-update + # support. Both features are on by default in official builds with + # Chrome branding. + ['branding=="Chrome" and buildtype=="Official"', { + 'mac_breakpad%': 1, + 'mac_keystone%': 1, + }, { # else: branding!="Chrome" or buildtype!="Official" + 'mac_breakpad%': 0, + 'mac_keystone%': 0, + }], + ], + }], # OS=="mac" # Whether to use multiple cores to compile with visual studio. This is # optional because it sometimes causes corruption on VS 2005. # It is on by default on VS 2008 and off on VS 2005. @@ -514,7 +551,7 @@ ['_mac_bundle', { 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, }], - ['_type=="executable"', { + ['_type=="executable" or _type=="shared_library"', { 'target_conditions': [ ['mac_real_dsym == 1', { # To get a real .dSYM bundle produced by dsymutil, set the @@ -527,9 +564,19 @@ 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', 'DEPLOYMENT_POSTPROCESSING': 'YES', 'STRIP_INSTALLED_PRODUCT': 'YES', - }, - }, - }, + 'target_conditions': [ + ['_type=="shared_library"', { + # The Xcode default is to strip debugging symbols + # only (-S). Local symbols should be stripped as + # well, which will be handled by -x. Xcode will + # continue to insert -S when stripping even when + # additional flags are added with STRIPFLAGS. + 'STRIPFLAGS': '-x', + }], # _type=="shared_library" + ], # target_conditions + }, # xcode_settings + }, # configuration "Release" + }, # configurations }, { # mac_real_dsym != 1 # To get a fast fake .dSYM bundle, use a post-build step to # produce the .dSYM and strip the executable. strip_from_xcode @@ -545,13 +592,13 @@ 'postbuild_name': 'Strip If Needed', 'action': ['<(strip_from_xcode_path)'], }, - ], - }], - ], - }], - ], - }, - }], + ], # postbuilds + }], # mac_real_dsym + ], # target_conditions + }], # _type=="executable" or _type=="shared_library" + ], # target_conditions + }, # target_defaults + }], # OS=="mac" ['OS=="win"', { 'target_defaults': { 'defines': [ |