| Index: src/platform/update_engine/SConstruct
|
| diff --git a/src/platform/update_engine/SConstruct b/src/platform/update_engine/SConstruct
|
| index 5adf16b4f883b2c5fa80f7a16e63077953c3c10c..1cf837adb737c62a6d516faf407d01d6e74addfb 100644
|
| --- a/src/platform/update_engine/SConstruct
|
| +++ b/src/platform/update_engine/SConstruct
|
| @@ -5,14 +5,14 @@
|
| import os
|
|
|
| # Protobuffer compilation
|
| -""" Inputs:
|
| - target: list of targets to compile to
|
| - source: list of sources to compile
|
| - env: the scons environment in which we are compiling
|
| - Outputs:
|
| - target: the list of targets we'll emit
|
| - source: the list of sources we'll compile"""
|
| def ProtocolBufferEmitter(target, source, env):
|
| + """ Inputs:
|
| + target: list of targets to compile to
|
| + source: list of sources to compile
|
| + env: the scons environment in which we are compiling
|
| + Outputs:
|
| + target: the list of targets we'll emit
|
| + source: the list of sources we'll compile"""
|
| output = str(source[0])
|
| output = output[0:output.rfind('.proto')]
|
| target = [
|
| @@ -21,14 +21,14 @@ def ProtocolBufferEmitter(target, source, env):
|
| ]
|
| return target, source
|
|
|
| -""" Inputs:
|
| - source: list of sources to process
|
| - target: list of targets to generate
|
| - env: scons environment in which we are working
|
| - for_signature: unused
|
| - Outputs: a list of commands to execute to generate the targets from
|
| - the sources."""
|
| def ProtocolBufferGenerator(source, target, env, for_signature):
|
| + """ Inputs:
|
| + source: list of sources to process
|
| + target: list of targets to generate
|
| + env: scons environment in which we are working
|
| + for_signature: unused
|
| + Outputs: a list of commands to execute to generate the targets from
|
| + the sources."""
|
| commands = [
|
| '/usr/bin/protoc '
|
| ' --proto_path . ${SOURCES} --cpp_out .']
|
| @@ -39,14 +39,14 @@ proto_builder = Builder(generator = ProtocolBufferGenerator,
|
| single_source = 1,
|
| suffix = '.pb.cc')
|
|
|
| -""" Inputs:
|
| - target: unused
|
| - source: list containing the source .xml file
|
| - env: the scons environment in which we are compiling
|
| - Outputs:
|
| - target: the list of targets we'll emit
|
| - source: the list of sources we'll process"""
|
| def DbusBindingsEmitter(target, source, env):
|
| + """ Inputs:
|
| + target: unused
|
| + source: list containing the source .xml file
|
| + env: the scons environment in which we are compiling
|
| + Outputs:
|
| + target: the list of targets we'll emit
|
| + source: the list of sources we'll process"""
|
| output = str(source[0])
|
| output = output[0:output.rfind('.xml')]
|
| target = [
|
| @@ -55,14 +55,14 @@ def DbusBindingsEmitter(target, source, env):
|
| ]
|
| return target, source
|
|
|
| -""" Inputs:
|
| - source: list of sources to process
|
| - target: list of targets to generate
|
| - env: scons environment in which we are working
|
| - for_signature: unused
|
| - Outputs: a list of commands to execute to generate the targets from
|
| - the sources."""
|
| def DbusBindingsGenerator(source, target, env, for_signature):
|
| + """ Inputs:
|
| + source: list of sources to process
|
| + target: list of targets to generate
|
| + env: scons environment in which we are working
|
| + for_signature: unused
|
| + Outputs: a list of commands to execute to generate the targets from
|
| + the sources."""
|
| commands = []
|
| for target_file in target:
|
| if str(target_file).endswith('.dbusserver.h'):
|
| @@ -79,6 +79,46 @@ dbus_bindings_builder = Builder(generator = DbusBindingsGenerator,
|
| single_source = 1,
|
| suffix = 'dbusclient.h')
|
|
|
| +def GlibMarshalEmitter(target, source, env):
|
| + """ Inputs:
|
| + target: unused
|
| + source: list containing the source .list file
|
| + env: the scons environment in which we are compiling
|
| + Outputs:
|
| + target: the list of targets we'll emit
|
| + source: the list of sources we'll process"""
|
| + output = str(source[0])
|
| + output = output[0:output.rfind('.list')]
|
| + target = [
|
| + output + '.glibmarshal.c',
|
| + output + '.glibmarshal.h'
|
| + ]
|
| + return target, source
|
| +
|
| +def GlibMarshalGenerator(source, target, env, for_signature):
|
| + """ Inputs:
|
| + source: list of sources to process
|
| + target: list of targets to generate
|
| + env: scons environment in which we are working
|
| + for_signature: unused
|
| + Outputs: a list of commands to execute to generate the targets from
|
| + the sources."""
|
| + commands = []
|
| + for target_file in target:
|
| + if str(target_file).endswith('.glibmarshal.h'):
|
| + mode_flag = '--header '
|
| + else:
|
| + mode_flag = '--body '
|
| + cmd = '/usr/bin/glib-genmarshal %s --prefix=update_engine ' \
|
| + '%s > %s' % (mode_flag, str(source[0]), str(target_file))
|
| + commands.append(cmd)
|
| + return commands
|
| +
|
| +glib_marshal_builder = Builder(generator = GlibMarshalGenerator,
|
| + emitter = GlibMarshalEmitter,
|
| + single_source = 1,
|
| + suffix = 'glibmarshal.c')
|
| +
|
| env = Environment()
|
| for key in Split('CC CXX AR RANLIB LD NM'):
|
| value = os.environ.get(key)
|
| @@ -131,6 +171,7 @@ env['CPPPATH'] = ['..', '../../third_party/chrome/files', '../../common']
|
| env['LIBPATH'] = ['../../third_party/chrome']
|
| env['BUILDERS']['ProtocolBuffer'] = proto_builder
|
| env['BUILDERS']['DbusBindings'] = dbus_bindings_builder
|
| +env['BUILDERS']['GlibMarshal'] = glib_marshal_builder
|
|
|
| # Fix issue with scons not passing pkg-config vars through the environment.
|
| for key in Split('PKG_CONFIG_LIBDIR PKG_CONFIG_PATH'):
|
| @@ -143,6 +184,8 @@ env.ProtocolBuffer('update_metadata.pb.cc', 'update_metadata.proto')
|
|
|
| env.DbusBindings('update_engine.dbusclient.h', 'update_engine.xml')
|
|
|
| +env.GlibMarshal('marshal.glibmarshal.c', 'marshal.list')
|
| +
|
| if ARGUMENTS.get('debug', 0):
|
| env['CCFLAGS'] += ' -fprofile-arcs -ftest-coverage'
|
| env['LIBS'] += ['bz2', 'gcov']
|
| @@ -164,6 +207,7 @@ sources = Split("""action_processor.cc
|
| graph_utils.cc
|
| gzip.cc
|
| libcurl_http_fetcher.cc
|
| + marshal.glibmarshal.c
|
| omaha_hash_calculator.cc
|
| omaha_request_prep_action.cc
|
| omaha_response_handler_action.cc
|
|
|