| Index: tools/gn/bootstrap/bootstrap.py
|
| diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
|
| index ac8adc86da742815c1ead5f91e06ffa6efaed32a..f1988331b3a998a8d917835e9a5ec92cb70155a9 100755
|
| --- a/tools/gn/bootstrap/bootstrap.py
|
| +++ b/tools/gn/bootstrap/bootstrap.py
|
| @@ -118,6 +118,19 @@ def build_gn_with_ninja_manually(tempdir, options):
|
| root_gen_dir = os.path.join(tempdir, 'gen')
|
| mkdir_p(root_gen_dir)
|
|
|
| + if is_linux:
|
| + mkdir_p(os.path.join(root_gen_dir, 'base', 'allocator'))
|
| + with tempfile.NamedTemporaryFile() as f:
|
| + f.write('--flags USE_EXPERIMENTAL_ALLOCATOR_SHIM=true')
|
| + f.flush()
|
| +
|
| + check_call([
|
| + os.path.join(SRC_ROOT, 'build', 'write_buildflag_header.py'),
|
| + '--output', 'base/allocator/features.h',
|
| + '--gen-dir', root_gen_dir,
|
| + '--definitions', f.name,
|
| + ])
|
| +
|
| if is_mac:
|
| # //base/build_time.cc needs base/generated_build_date.h,
|
| # and this file is only included for Mac builds.
|
| @@ -155,13 +168,18 @@ def write_ninja(path, root_gen_dir, options):
|
| else:
|
| cflags.extend(['-O2', '-g0'])
|
|
|
| - cflags.extend(['-D_FILE_OFFSET_BITS=64', '-pthread', '-pipe'])
|
| + cflags.extend([
|
| + '-D_FILE_OFFSET_BITS=64',
|
| + '-pthread',
|
| + '-pipe',
|
| + '-fno-exceptions'
|
| + ])
|
| cflags_cc.extend(['-std=c++11', '-Wno-c++11-narrowing'])
|
|
|
| static_libraries = {
|
| - 'base': {'sources': [], 'tool': 'cxx'},
|
| - 'dynamic_annotations': {'sources': [], 'tool': 'cc'},
|
| - 'gn': {'sources': [], 'tool': 'cxx'},
|
| + 'base': {'sources': [], 'tool': 'cxx', 'include_dirs': []},
|
| + 'dynamic_annotations': {'sources': [], 'tool': 'cc', 'include_dirs': []},
|
| + 'gn': {'sources': [], 'tool': 'cxx', 'include_dirs': []},
|
| }
|
|
|
| for name in os.listdir(GN_ROOT):
|
| @@ -181,6 +199,7 @@ def write_ninja(path, root_gen_dir, options):
|
| ])
|
| static_libraries['base']['sources'].extend([
|
| 'base/allocator/allocator_extension.cc',
|
| + 'base/allocator/allocator_shim.cc',
|
| 'base/at_exit.cc',
|
| 'base/base_paths.cc',
|
| 'base/base_switches.cc',
|
| @@ -220,10 +239,11 @@ def write_ninja(path, root_gen_dir, 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_histogram_allocator.cc',
|
| 'base/metrics/persistent_memory_allocator.cc',
|
| + 'base/metrics/persistent_sample_map.cc',
|
| 'base/metrics/sample_map.cc',
|
| 'base/metrics/sample_vector.cc',
|
| 'base/metrics/sparse_histogram.cc',
|
| @@ -276,6 +296,8 @@ def write_ninja(path, root_gen_dir, options):
|
| 'base/timer/timer.cc',
|
| 'base/trace_event/heap_profiler_allocation_context.cc',
|
| 'base/trace_event/heap_profiler_allocation_context_tracker.cc',
|
| + 'base/trace_event/heap_profiler_allocation_register.cc',
|
| + 'base/trace_event/heap_profiler_heap_dump_writer.cc',
|
| 'base/trace_event/heap_profiler_stack_frame_deduplicator.cc',
|
| 'base/trace_event/heap_profiler_type_name_deduplicator.cc',
|
| 'base/trace_event/memory_allocator_dump.cc',
|
| @@ -328,6 +350,7 @@ def write_ninja(path, root_gen_dir, options):
|
| 'base/threading/thread_local_storage_posix.cc',
|
| 'base/threading/worker_pool_posix.cc',
|
| 'base/time/time_posix.cc',
|
| + 'base/trace_event/heap_profiler_allocation_register_posix.cc',
|
| ])
|
| static_libraries['libevent'] = {
|
| 'sources': [
|
| @@ -362,6 +385,7 @@ def write_ninja(path, root_gen_dir, options):
|
| 'tool': 'cxx',
|
| }
|
| static_libraries['base']['sources'].extend([
|
| + 'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
|
| 'base/memory/shared_memory_posix.cc',
|
| 'base/nix/xdg_util.cc',
|
| 'base/process/internal_linux.cc',
|
|
|