diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-27 17:07:45 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-27 17:07:45 +0000 |
commit | a64a88541bfa3f4ed8e3419bc01a16de5cc7d124 (patch) | |
tree | 9c52be1cdca468faab8a9c36649a7a5f58c288e9 /build | |
parent | d731c481ef6ca911936c50096ea4503337d2f8d7 (diff) | |
download | chromium_src-a64a88541bfa3f4ed8e3419bc01a16de5cc7d124.zip chromium_src-a64a88541bfa3f4ed8e3419bc01a16de5cc7d124.tar.gz chromium_src-a64a88541bfa3f4ed8e3419bc01a16de5cc7d124.tar.bz2 |
Remove GN integration code from gyp_chromium.
We are no longer persuing the hybrid mode.
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/203813003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259918 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rwxr-xr-x | build/gyp_chromium | 167 |
1 files changed, 7 insertions, 160 deletions
diff --git a/build/gyp_chromium b/build/gyp_chromium index 072836d..210df12 100755 --- a/build/gyp_chromium +++ b/build/gyp_chromium @@ -64,41 +64,24 @@ def GetSupplementalFiles(): return glob.glob(os.path.join(chrome_src, '*', 'supplement.gypi')) -def FormatKeyForGN(key): - """Returns the given GYP key reformatted for GN. - - GYP dictionary keys can be almost anything, but in GN they are identifiers - and must follow the same rules. This reformats such keys to be valid GN - identifiers.""" - return ''.join([c if c in string.ascii_letters else '_' for c in key]) - - -def EscapeStringForGN(s): - """Converts a string to a GN string literal.""" - for old, new in [('\\', '\\\\'), ('$', '\\$'), ('"', '\\"')]: - s = s.replace(old, new) - return '"' + s + '"' - - def ProcessGypDefinesItems(items): """Converts a list of strings to a list of key-value pairs.""" result = [] for item in items: tokens = item.split('=', 1) # Some GYP variables have hyphens, which we don't support. - key = FormatKeyForGN(tokens[0]) if len(tokens) == 2: - result += [(key, tokens[1])] + result += [(tokens[0], tokens[1])] else: # No value supplied, treat it as a boolean and set it. Note that we # use the string '1' here so we have a consistent definition whether # you do 'foo=1' or 'foo'. - result += [(key, '1')] + result += [(tokens[0], '1')] return result -def GetGypVarsForGN(supplemental_files): - """Returns a dictionary of all GYP vars that we will be passing to GN.""" +def GetGypVars(supplemental_files): + """Returns a dictionary of all GYP vars.""" # Find the .gyp directory in the user's home directory. home_dot_gyp = os.environ.get('GYP_CONFIG_DIR', None) if home_dot_gyp: @@ -132,7 +115,7 @@ def GetGypVarsForGN(supplemental_files): raise variables = file_data.get('variables', []) for v in variables: - supp_items += [(FormatKeyForGN(v), str(variables[v]))] + supp_items += [(v, str(variables[v]))] # GYP defines from the environment. env_items = ProcessGypDefinesItems( @@ -150,10 +133,6 @@ def GetGypVarsForGN(supplemental_files): cmdline_items = ProcessGypDefinesItems(cmdline_input_items) vars_dict = dict(supp_items + env_items + cmdline_items) - # It's not possible to set a default value for cpu_arch in GN, so do it here - # for now (http://crbug.com/344767). - if vars_dict.get('OS') == 'android' and not 'target_arch' in vars_dict: - vars_dict['target_arch'] = 'arm' return vars_dict @@ -176,103 +155,6 @@ def GetOutputDirectory(): return "out" -def GetArgsStringForGN(vars_dict): - """Returns the args to pass to GN. - Based on a subset of the GYP variables that have been rewritten a bit.""" - gn_args = '' - - # Note: These are the additional flags passed to various builds by builders - # on the main waterfall. We'll probably need to add these at some point: - # mac_strip_release=1 http://crbug.com/330301 - # linux_dump_symbols=0 http://crbug.com/330300 - # host_os=linux Probably can skip, GN knows the host OS. - # order_text_section=<path> http://crbug.com/330299 - # chromium_win_pch=0 http://crbug.com/297678 - # chromium_ios_signing=0 http://crbug.com/330302 - # use_allocator=tcmalloc http://crbug.com/330303, 345554 - # release_extra_flags=... http://crbug.com/330305 - - # These tuples of (key, value, gn_arg_string) use the gn_arg_string for - # gn when the key is set to the given value in the GYP arguments. - remap_cases = [ - ('android_webview_build', '1', 'is_android_webview_build=true'), - ('branding', 'Chrome', 'is_chrome_branded=true'), - ('build_for_tool', 'drmemory', 'disable_iterator_debugging=true'), - ('build_for_tool', 'tsan', 'disable_iterator_debugging=true'), - ('buildtype', 'Official', 'is_official_build=true'), - ('component', 'shared_library', 'is_component_build=true'), - ('clang', '1', 'is_clang=true'), - ('clang_use_chrome_plugins', '0', 'clang_use_chrome_plugins=false'), - ('disable_glibcxx_debug', '1', 'disable_iterator_debugging=true'), - ('enable_mdns', '0', 'enable_mdns=false'), - ('enable_mdns', '1', 'enable_mdns=true'), - ('enable_plugins', '0', 'enable_plugins=false'), - ('enable_plugins', '1', 'enable_plugins=true'), - ('target_arch', 'ia32', 'cpu_arch="x86"'), - ('target_arch', 'x64', 'cpu_arch="x64" force_win64=true'), - ('target_arch', 'arm', 'cpu_arch="arm"'), - ('target_arch', 'mipsel', 'cpu_arch="mipsel"'), - ('fastbuild', '0', 'symbol_level=2'), - ('fastbuild', '1', 'symbol_level=1'), - ('fastbuild', '2', 'symbol_level=0'), - ('OS', 'ios', 'os="ios"'), - ('OS', 'android', 'os="android"'), - ('chromeos', '1', 'os="chromeos"'), - ('use_aura', '1', 'use_aura=true'), - ('use_goma', '1', 'use_goma=true'), - ('use_openssl', '0', 'use_openssl=false'), - ('use_openssl', '1', 'use_openssl=true'), - ('asan', '1', 'is_asan=true'), - ('lsan', '1', 'is_lsan=true'), - ('msan', '1', 'is_msan=true'), - ('tsan', '1', 'is_tsan=true'), - ] - for i in remap_cases: - if i[0] in vars_dict and vars_dict[i[0]] == i[1]: - gn_args += ' ' + i[2] - - # These string arguments get passed directly as GN strings. - for v in ['android_src', 'arm_float_abi', 'ios_deployment_target', - 'ios_sdk_path', 'windows_sdk_path']: - if v in vars_dict: - gn_args += ' ' + v + '=' + EscapeStringForGN(vars_dict[v]) - - # gomadir is renamed goma_dir in the GN build. - if 'gomadir' in vars_dict: - gn_args += ' goma_dir=%s' % EscapeStringForGN(vars_dict['gomadir']) - - # Set the "use_ios_simulator" flag if the ios_sdk_path is set. - if 'ios_sdk_path' in vars_dict: - if os.path.basename(vars_dict['ios_sdk_path']).lower().startswith( - 'iphonesimulator'): - gn_args += ' use_ios_simulator=true' - else: - gn_args += ' use_ios_simulator=false' - - # These arguments get passed directly as integers (avoiding the quoting and - # escaping of the string ones above). - for v in ['arm_version']: - if v in vars_dict: - gn_args += ' %s=%s' % (v, vars_dict[v]) - - # Some other flags come from GYP environment variables. - gyp_msvs_version = os.environ.get('GYP_MSVS_VERSION', '') - if gyp_msvs_version: - gn_args += ' visual_studio_version=' + EscapeStringForGN(gyp_msvs_version) - gyp_msvs_override_path = os.environ.get('GYP_MSVS_OVERRIDE_PATH', '') - if gyp_msvs_override_path: - gn_args += ' visual_studio_path=' + \ - EscapeStringForGN(gyp_msvs_override_path) - - # Set the GYP flag so BUILD files know they're being invoked in GYP mode. - gn_args += ' is_gyp=true' - - gyp_outdir = GetOutputDirectory() - gn_args += ' gyp_output_dir=\"%s\"' % gyp_outdir - - return gn_args.strip() - - def additional_include_files(supplemental_files, args=[]): """ Returns a list of additional (.gypi) files to include, without duplicating @@ -303,38 +185,6 @@ def additional_include_files(supplemental_files, args=[]): return result -def RunGN(vars_dict): - """Runs GN, returning True if it succeeded, printing an error and returning - false if not.""" - - # The binaries in platform-specific subdirectories in src/tools/gn/bin. - gnpath = SRC_DIR + '/tools/gn/bin/' - if sys.platform in ('cygwin', 'win32'): - gnpath += 'win/gn.exe' - elif sys.platform.startswith('linux'): - # On Linux we have 32-bit and 64-bit versions. - if subprocess.check_output(["getconf", "LONG_BIT"]).find("64") >= 0: - gnpath += 'linux/gn' - else: - gnpath += 'linux/gn32' - elif sys.platform == 'darwin': - gnpath += 'mac/gn' - else: - print 'Unknown platform for GN: ', sys.platform - return False - - print 'Generating gyp files from GN...' - - # Need to pass both the source root (the bots don't run this command from - # within the source tree) as well as set the is_gyp value so the BUILD files - # to know they're being run under GYP. - args = [gnpath, 'gyp', '-q', - '--root=' + chrome_src, - '--args=' + GetArgsStringForGN(vars_dict), - '--output=//' + GetOutputDirectory() + '/gn_build/'] - return subprocess.call(args) == 0 - - if __name__ == '__main__': args = sys.argv[1:] @@ -424,19 +274,16 @@ if __name__ == '__main__': args.append('--check') supplemental_includes = GetSupplementalFiles() - gn_vars_dict = GetGypVarsForGN(supplemental_includes) + gyp_vars_dict = GetGypVars(supplemental_includes) # Automatically turn on crosscompile support for platforms that need it. # (The Chrome OS build sets CC_host / CC_target which implicitly enables # this mode.) if all(('ninja' in os.environ.get('GYP_GENERATORS', ''), - gn_vars_dict.get('OS') in ['android', 'ios'], + gyp_vars_dict.get('OS') in ['android', 'ios'], 'GYP_CROSSCOMPILE' not in os.environ)): os.environ['GYP_CROSSCOMPILE'] = '1' - # TODO(brettw) bug 350974 either turn back on GN or delete all of this code. - #if not RunGN(gn_vars_dict): - # sys.exit(1) args.extend( ['-I' + i for i in additional_include_files(supplemental_includes, args)]) |