gecko/mozglue/build/moz.build
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E) 571a106743 Bug 771765 - Support template content process, part 1: the Nuwa API and low-level wrappers. r=khuey
Support of zygote-like process forking is done as:
* The b2g chrome process forks a child process that will be the template for forking other content processes.
* The template process starts running to some point and freeze.
* When ready, the chrome process starts requesting the template to fork content proceses.
* The content processes forked from the template process recovers its states including the threads, file descriptors for epoll, signaling and IPC.

Recovery of the process states are done by wrapping some system and pthread calls to record the states in the template process and recover in the forked content process.
2013-05-07 14:25:13 +08:00

65 lines
1.5 KiB
Python

# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
MODULE = 'mozglue'
# Build mozglue as a shared lib on Windows, OSX and Android.
# If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
# TODO: These should be the all-caps variables when FORCE_SHARED_LIB and
# FORCE_STATIC_LIB are ported over
force_shared_lib = 1
force_static_lib = 0
else:
force_shared_lib = 0
force_static_lib = 1
if CONFIG['MOZ_MEMORY'] and (CONFIG['MOZ_NATIVE_JEMALLOC'] or force_shared_lib):
pass
# TODO: SHARED_LIBRARY_LIBS go here
else:
CPP_SOURCES += [
'dummy.cpp',
]
if CONFIG['OS_TARGET'] == 'Android':
CPP_SOURCES += [
'BionicGlue.cpp',
]
if CONFIG['MOZ_NUWA_PROCESS']:
EXPORTS.ipc += [
'Nuwa.h',
]
EXPORTS.mozilla += [
'SSE.h',
'arm.h',
]
if CONFIG['CPU_ARCH'].startswith('x86'):
CPP_SOURCES += [
'SSE.cpp',
]
if CONFIG['CPU_ARCH'] == 'arm':
CPP_SOURCES += [
'arm.cpp',
]
if CONFIG['MOZ_ASAN']:
CPP_SOURCES += [
'AsanOptions.cpp',
]
LIBRARY_NAME = 'mozglue'
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
CSRCS += [
'cpuacct.c',
]