summaryrefslogtreecommitdiffstats
path: root/tools/gn
diff options
context:
space:
mode:
authorngg <ngg@ngg.hu>2016-02-18 01:59:23 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-18 10:00:28 +0000
commitcda4afd7efda6e3034d58d9f375b01ff3f36d220 (patch)
treec03b7e279856838b3f7e9ce87fc2a726c8401823 /tools/gn
parent89d29fd88867df2ef1195fe97c8fc609f72c635e (diff)
downloadchromium_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-xtools/gn/bootstrap/bootstrap.py39
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',