diff options
author | ngg <ngg@ngg.hu> | 2016-02-18 01:59:23 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-18 10:00:28 +0000 |
commit | cda4afd7efda6e3034d58d9f375b01ff3f36d220 (patch) | |
tree | c03b7e279856838b3f7e9ce87fc2a726c8401823 /tools/gn | |
parent | 89d29fd88867df2ef1195fe97c8fc609f72c635e (diff) | |
download | chromium_src-cda4afd7efda6e3034d58d9f375b01ff3f36d220.zip chromium_src-cda4afd7efda6e3034d58d9f375b01ff3f36d220.tar.gz chromium_src-cda4afd7efda6e3034d58d9f375b01ff3f36d220.tar.bz2 |
Update GN bootstrap build
Bootstrap didn't work due to recent modifications in base.
Unfortunately some new dependencies are required on OSX
and that required adding generated_build_date.h to be
available separately for the bootstrap process.
Tested on Linux and OSX.
BUG=None
TEST=./tools/gn/bootstrap/bootstrap.py
R=brettw@chromium.org,tfarina@chromium.org
Review URL: https://codereview.chromium.org/1692303004
Cr-Commit-Position: refs/heads/master@{#376133}
Diffstat (limited to 'tools/gn')
-rwxr-xr-x | tools/gn/bootstrap/bootstrap.py | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py index 2f5e995..ac8adc8 100755 --- a/tools/gn/bootstrap/bootstrap.py +++ b/tools/gn/bootstrap/bootstrap.py @@ -115,23 +115,40 @@ def main(argv): def build_gn_with_ninja_manually(tempdir, options): - write_ninja(os.path.join(tempdir, 'build.ninja'), options) + root_gen_dir = os.path.join(tempdir, 'gen') + mkdir_p(root_gen_dir) + + if is_mac: + # //base/build_time.cc needs base/generated_build_date.h, + # and this file is only included for Mac builds. + mkdir_p(os.path.join(root_gen_dir, 'base')) + check_call([ + os.path.join(SRC_ROOT, 'build', 'write_build_date_header.py'), + os.path.join(root_gen_dir, 'base', 'generated_build_date.h'), + 'default' + ]) + + write_ninja(os.path.join(tempdir, 'build.ninja'), root_gen_dir, options) cmd = ['ninja', '-C', tempdir] if options.verbose: cmd.append('-v') cmd.append('gn') check_call(cmd) -def write_ninja(path, options): +def write_ninja(path, root_gen_dir, options): cc = os.environ.get('CC', '') cxx = os.environ.get('CXX', '') cflags = os.environ.get('CFLAGS', '').split() cflags_cc = os.environ.get('CXXFLAGS', '').split() ld = os.environ.get('LD', cxx) ldflags = os.environ.get('LDFLAGS', '').split() - include_dirs = [SRC_ROOT] + include_dirs = [root_gen_dir, SRC_ROOT] libs = [] + # //base/allocator/allocator_extension.cc needs this macro defined, + # otherwise there would be link errors. + cflags.extend(['-DNO_TCMALLOC']) + if is_posix: if options.debug: cflags.extend(['-O0', '-g']) @@ -179,6 +196,7 @@ def write_ninja(path, options): 'base/files/file_path_constants.cc', 'base/files/file_tracing.cc', 'base/files/file_util.cc', + 'base/files/memory_mapped_file.cc', 'base/files/scoped_file.cc', 'base/hash.cc', 'base/json/json_parser.cc', @@ -202,8 +220,10 @@ def write_ninja(path, options): 'base/metrics/bucket_ranges.cc', 'base/metrics/histogram.cc', 'base/metrics/histogram_base.cc', + 'base/metrics/histogram_persistence.cc', 'base/metrics/histogram_samples.cc', 'base/metrics/metrics_hashes.cc', + 'base/metrics/persistent_memory_allocator.cc', 'base/metrics/sample_map.cc', 'base/metrics/sample_vector.cc', 'base/metrics/sparse_histogram.cc', @@ -214,6 +234,8 @@ def write_ninja(path, options): 'base/process/kill.cc', 'base/process/process_iterator.cc', 'base/process/process_metrics.cc', + 'base/profiler/scoped_profile.cc', + 'base/profiler/scoped_tracker.cc', 'base/profiler/tracked_time.cc', 'base/run_loop.cc', 'base/sequence_checker_impl.cc', @@ -264,7 +286,6 @@ def write_ninja(path, options): 'base/trace_event/process_memory_dump.cc', 'base/trace_event/process_memory_maps.cc', 'base/trace_event/process_memory_totals.cc', - 'base/trace_event/process_memory_totals_dump_provider.cc', 'base/trace_event/trace_buffer.cc', 'base/trace_event/trace_config.cc', 'base/trace_event/trace_event_argument.cc', @@ -289,6 +310,7 @@ def write_ninja(path, options): 'base/files/file_enumerator_posix.cc', 'base/files/file_posix.cc', 'base/files/file_util_posix.cc', + 'base/files/memory_mapped_file_posix.cc', 'base/message_loop/message_pump_libevent.cc', 'base/posix/file_descriptor_shuffle.cc', 'base/posix/safe_strerror.cc', @@ -340,6 +362,7 @@ def write_ninja(path, options): 'tool': 'cxx', } static_libraries['base']['sources'].extend([ + 'base/memory/shared_memory_posix.cc', 'base/nix/xdg_util.cc', 'base/process/internal_linux.cc', 'base/process/process_handle_linux.cc', @@ -350,7 +373,6 @@ def write_ninja(path, options): 'base/sys_info_linux.cc', 'base/threading/platform_thread_linux.cc', 'base/trace_event/malloc_dump_provider.cc', - 'base/trace_event/process_memory_maps_dump_provider.cc', ]) static_libraries['libevent']['include_dirs'].extend([ os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'linux') @@ -363,6 +385,9 @@ def write_ninja(path, options): if is_mac: static_libraries['base']['sources'].extend([ 'base/base_paths_mac.mm', + 'base/build_time.cc', + 'base/rand_util.cc', + 'base/rand_util_posix.cc', 'base/files/file_util_mac.mm', 'base/mac/bundle_locations.mm', 'base/mac/call_with_eh_frame.cc', @@ -370,8 +395,12 @@ def write_ninja(path, options): 'base/mac/foundation_util.mm', 'base/mac/mach_logging.cc', 'base/mac/scoped_mach_port.cc', + 'base/mac/scoped_mach_vm.cc', 'base/mac/scoped_nsautorelease_pool.mm', + 'base/memory/shared_memory_handle_mac.cc', + 'base/memory/shared_memory_mac.cc', 'base/message_loop/message_pump_mac.mm', + 'base/metrics/field_trial.cc', 'base/process/process_handle_mac.cc', 'base/process/process_iterator_mac.cc', 'base/process/process_metrics_mac.cc', |