| Index: src/platform/update_engine/SConstruct
|
| diff --git a/src/platform/update_engine/SConstruct b/src/platform/update_engine/SConstruct
|
| index fa036021ae52385fcc3189bbd7c389f2d01e80ba..64406e49290e4c9895d7023c124cdfae01352129 100644
|
| --- a/src/platform/update_engine/SConstruct
|
| +++ b/src/platform/update_engine/SConstruct
|
| @@ -2,41 +2,137 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| +# 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):
|
| + output = str(source[0])
|
| + output = output[0:output.rfind('.proto')]
|
| + target = [
|
| + output + '.pb.cc',
|
| + output + '.pb.h',
|
| + ]
|
| + 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):
|
| + commands = [
|
| + '/usr/bin/protoc '
|
| + ' --proto_path . ${SOURCES} --cpp_out .']
|
| + return commands
|
| +
|
| +proto_builder = Builder(generator = ProtocolBufferGenerator,
|
| + emitter = ProtocolBufferEmitter,
|
| + single_source = 1,
|
| + suffix = '.pb.cc')
|
| +
|
| env = Environment()
|
| -env['CCFLAGS'] = '-g -fno-exceptions -Wall -Werror -D_FILE_OFFSET_BITS=64 ' + \
|
| - '-I/usr/include/libxml2'
|
| -env['LIBS'] = Split('curl gtest ssl xml2 z')
|
| -env['CPPPATH'] = ['..']
|
| +env['CCFLAGS'] = ' '.join("""-g
|
| + -fno-exceptions
|
| + -Wall
|
| + -Werror
|
| + -Wclobbered
|
| + -Wempty-body
|
| + -Wignored-qualifiers
|
| + -Wmissing-field-initializers
|
| + -Wsign-compare
|
| + -Wtype-limits
|
| + -Wuninitialized
|
| + -D_FILE_OFFSET_BITS=64
|
| + -I/usr/include/libxml2""".split());
|
| +
|
| +env['LIBS'] = Split("""base
|
| + curl
|
| + gflags
|
| + glib-2.0
|
| + gtest
|
| + gthread-2.0
|
| + libpcrecpp
|
| + protobuf
|
| + pthread
|
| + ssl
|
| + xml2
|
| + z""")
|
| +env['CPPPATH'] = ['..', '../../third_party/chrome/files', '../../common']
|
| +env['LIBPATH'] = ['../../third_party/chrome']
|
| +env['BUILDERS']['ProtocolBuffer'] = proto_builder
|
| env.ParseConfig('pkg-config --cflags --libs glib-2.0')
|
| +env.ProtocolBuffer('update_metadata.pb.cc', 'update_metadata.proto')
|
|
|
| if ARGUMENTS.get('debug', 0):
|
| env['CCFLAGS'] += ' -fprofile-arcs -ftest-coverage'
|
| env['LIBS'] += ['gcov']
|
|
|
| +
|
| +
|
| sources = Split("""action_processor.cc
|
| decompressing_file_writer.cc
|
| + delta_diff_parser.cc
|
| download_action.cc
|
| + filesystem_copier_action.cc
|
| + filesystem_iterator.cc
|
| + file_writer.cc
|
| + gzip.cc
|
| + install_action.cc
|
| libcurl_http_fetcher.cc
|
| omaha_hash_calculator.cc
|
| - update_check_action.cc""")
|
| + omaha_request_prep_action.cc
|
| + omaha_response_handler_action.cc
|
| + postinstall_runner_action.cc
|
| + set_bootable_flag_action.cc
|
| + subprocess.cc
|
| + update_check_action.cc
|
| + update_metadata.pb.cc
|
| + utils.cc""")
|
| main = ['main.cc']
|
|
|
| unittest_sources = Split("""action_unittest.cc
|
| action_pipe_unittest.cc
|
| action_processor_unittest.cc
|
| decompressing_file_writer_unittest.cc
|
| + delta_diff_generator_unittest.cc
|
| download_action_unittest.cc
|
| file_writer_unittest.cc
|
| + filesystem_copier_action_unittest.cc
|
| + filesystem_iterator_unittest.cc
|
| + gzip_unittest.cc
|
| http_fetcher_unittest.cc
|
| + install_action_unittest.cc
|
| + integration_unittest.cc
|
| mock_http_fetcher.cc
|
| omaha_hash_calculator_unittest.cc
|
| + omaha_request_prep_action_unittest.cc
|
| + omaha_response_handler_action_unittest.cc
|
| + postinstall_runner_action_unittest.cc
|
| + set_bootable_flag_action_unittest.cc
|
| + subprocess_unittest.cc
|
| test_utils.cc
|
| - update_check_action_unittest.cc""")
|
| + update_check_action_unittest.cc
|
| + utils_unittest.cc""")
|
| unittest_main = ['testrunner.cc']
|
|
|
| +delta_generator_sources = Split("""delta_diff_generator.cc""")
|
| +
|
| env.Program('update_engine', sources + main)
|
| unittest_cmd = env.Program('update_engine_unittests',
|
| - sources + unittest_sources + unittest_main)
|
| + sources + delta_generator_sources +
|
| + unittest_sources + unittest_main)
|
|
|
| Clean(unittest_cmd, Glob('*.gcda') + Glob('*.gcno') + Glob('*.gcov') +
|
| Split('html app.info'))
|
| +
|
| +delta_generator_cmd = env.Program('delta_generator',
|
| + sources + delta_generator_sources + main)
|
| +
|
| +http_server_cmd = env.Program('test_http_server', 'test_http_server.cc')
|
|
|