Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(908)

Unified Diff: src/platform/update_engine/SConstruct

Issue 1733013: AU: Beginnings of dbus support. (Closed)
Patch Set: fixes for wad's review Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/platform/update_engine/UpdateEngine.conf » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/platform/update_engine/SConstruct
diff --git a/src/platform/update_engine/SConstruct b/src/platform/update_engine/SConstruct
index 5c11b6d7cf9394d662f2f9c120050615528d086f..9598975e56a5aba433931400a0e780882e9cb1be 100644
--- a/src/platform/update_engine/SConstruct
+++ b/src/platform/update_engine/SConstruct
@@ -39,6 +39,46 @@ 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):
+ output = str(source[0])
+ output = output[0:output.rfind('.xml')]
+ target = [
+ output + '.dbusserver.h',
+ output + '.dbusclient.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 DbusBindingsGenerator(source, target, env, for_signature):
+ commands = []
+ for target_file in target:
+ if str(target_file).endswith('.dbusserver.h'):
+ mode_flag = '--mode=glib-server '
+ else:
+ mode_flag = '--mode=glib-client '
+ cmd = '/usr/bin/dbus-binding-tool %s --prefix=update_engine_service ' \
+ '%s > %s' % (mode_flag, str(source[0]), str(target_file))
+ commands.append(cmd)
+ return commands
+
+dbus_bindings_builder = Builder(generator = DbusBindingsGenerator,
+ emitter = DbusBindingsEmitter,
+ single_source = 1,
+ suffix = 'dbusclient.h')
+
env = Environment()
for key in Split('CC CXX AR RANLIB LD NM'):
value = os.environ.get(key)
@@ -54,13 +94,17 @@ for key in Split('PKG_CONFIG_LIBDIR PKG_CONFIG_PATH SYSROOT'):
env['ENV'][key] = os.environ[key]
+ # -Wclobbered
+ # -Wempty-body
+ # -Wignored-qualifiers
+ # -Wtype-limits
env['CCFLAGS'] = ' '.join("""-g
-fno-exceptions
-fno-strict-aliasing
-Wall
- -Werror
-Wclobbered
-Wempty-body
+ -Werror
-Wignored-qualifiers
-Wmissing-field-initializers
-Wsign-compare
@@ -87,25 +131,27 @@ env['LIBS'] = Split("""base
env['CPPPATH'] = ['..', '../../third_party/chrome/files', '../../common']
env['LIBPATH'] = ['../../third_party/chrome']
env['BUILDERS']['ProtocolBuffer'] = proto_builder
+env['BUILDERS']['DbusBindings'] = dbus_bindings_builder
# Fix issue with scons not passing pkg-config vars through the environment.
for key in Split('PKG_CONFIG_LIBDIR PKG_CONFIG_PATH'):
if os.environ.has_key(key):
env['ENV'][key] = os.environ[key]
-env.ParseConfig('pkg-config --cflags --libs glib-2.0')
+env.ParseConfig('pkg-config --cflags --libs glib-2.0 dbus-1 dbus-glib-1')
env.ProtocolBuffer('update_metadata.pb.cc', 'update_metadata.proto')
+env.DbusBindings('update_engine.dbusclient.h', 'update_engine.xml')
+
if ARGUMENTS.get('debug', 0):
env['CCFLAGS'] += ' -fprofile-arcs -ftest-coverage'
env['LIBS'] += ['bz2', 'gcov']
-
-
sources = Split("""action_processor.cc
bzip.cc
bzip_extent_writer.cc
cycle_breaker.cc
+ dbus_service.cc
decompressing_file_writer.cc
delta_diff_generator.cc
delta_performer.cc
@@ -126,6 +172,7 @@ sources = Split("""action_processor.cc
subprocess.cc
tarjan.cc
topological_sort.cc
+ update_attempter.cc
update_check_action.cc
update_metadata.pb.cc
utils.cc""")
@@ -161,12 +208,16 @@ unittest_sources = Split("""action_unittest.cc
zip_unittest.cc""")
unittest_main = ['testrunner.cc']
+client_main = ['update_engine_client.cc']
+
delta_generator_main = ['generate_delta_main.cc']
env.Program('update_engine', sources + main)
unittest_cmd = env.Program('update_engine_unittests',
sources + unittest_sources + unittest_main)
+client_cmd = env.Program('update_engine_client', sources + client_main);
+
Clean(unittest_cmd, Glob('*.gcda') + Glob('*.gcno') + Glob('*.gcov') +
Split('html app.info'))
« no previous file with comments | « no previous file | src/platform/update_engine/UpdateEngine.conf » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698