| OLD | NEW |
| 1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import os | 5 import os |
| 6 import sys | 6 import sys |
| 7 | 7 |
| 8 env = Environment() | 8 env = Environment() |
| 9 | 9 |
| 10 # define generic dbus server/client bindings builders | 10 # define generic dbus server/client bindings builders |
| 11 dbus_server_builder = Builder(action = 'dbus-binding-tool --mode=glib-server --p
refix=`basename $SOURCE .xml` $SOURCE > $TARGET') | 11 dbus_server_builder = Builder(action = 'dbus-binding-tool --mode=glib-server --p
refix=`basename $SOURCE .xml` $SOURCE > $TARGET') |
| 12 dbus_client_builder = Builder(action = 'dbus-binding-tool --mode=glib-client --p
refix=`basename $SOURCE .xml` $SOURCE > $TARGET') | 12 dbus_client_builder = Builder(action = 'dbus-binding-tool --mode=glib-client --p
refix=`basename $SOURCE .xml` $SOURCE > $TARGET') |
| 13 env.Append(BUILDERS = { 'DbusServerBindings' : dbus_server_builder, | 13 env.Append(BUILDERS = { 'DbusServerBindings' : dbus_server_builder, |
| 14 'DbusClientBindings' : dbus_client_builder}) | 14 'DbusClientBindings' : dbus_client_builder}) |
| 15 # setup sources | 15 # setup sources |
| 16 serverlib_sources = env.Split("""authenticator.cc | 16 serverlib_sources = env.Split("""interface.cc |
| 17 interface.cc | 17 mount.cc |
| 18 » » » » service.cc | 18 secure_blob.cc |
| 19 » » » » username_passhash.cc | 19 service.cc |
| 20 username_passkey.cc |
| 21 vault_keyset.cc |
| 20 """) | 22 """) |
| 21 server_sources = env.Split("""cryptohomed.cc""") | 23 server_sources = env.Split("""cryptohomed.cc""") |
| 22 example_sources = env.Split("""example_client.cc | 24 client_sources = env.Split("""cryptohome.cc |
| 25 secure_blob.cc |
| 26 username_passkey.cc |
| 23 """) | 27 """) |
| 24 test_sources = env.Split("""authenticator_unittest.cc | 28 test_sources = env.Split("""service_unittest.cc |
| 25 » service_unittest.cc | 29 mount_unittest.cc |
| 26 » » » username_passhash_unittest.cc | 30 username_passkey_unittest.cc |
| 27 cryptohome_testrunner.cc | 31 cryptohome_testrunner.cc |
| 28 """) | 32 """) |
| 29 | 33 |
| 30 | 34 |
| 31 | 35 |
| 32 env.Append( | 36 env.Append( |
| 33 CPPPATH=['.', '..'], | 37 CPPPATH=['.', '..'], |
| 34 CPPFLAGS=['-pie', '-fstack-protector-all', | 38 CPPFLAGS=['-pie', '-fstack-protector-all', |
| 35 '-fno-exceptions', '-O2', '-Wall', '-Werror'], | 39 '-fno-exceptions', '-O2', '-Wall', '-Werror'], |
| 36 LIBS = ['base', 'chromeos', 'rt', 'crypto'], | 40 LIBS = ['base', 'chromeos', 'rt', 'crypto', 'ecryptfs', 'keyutils'], |
| 37 ) | 41 ) |
| 38 for key in Split('CC CXX AR RANLIB LD NM CFLAGS CCFLAGS'): | 42 for key in Split('CC CXX AR RANLIB LD NM CFLAGS CCFLAGS'): |
| 39 value = os.environ.get(key) | 43 value = os.environ.get(key) |
| 40 if value != None: | 44 if value != None: |
| 41 env[key] = value | 45 env[key] = value |
| 42 | 46 |
| 43 # Fix issue with scons not passing some vars through the environment. | 47 # Fix issue with scons not passing some vars through the environment. |
| 44 for key in Split('PKG_CONFIG_LIBDIR PKG_CONFIG_PATH SYSROOT'): | 48 for key in Split('PKG_CONFIG_LIBDIR PKG_CONFIG_PATH SYSROOT'): |
| 45 if os.environ.has_key(key): | 49 if os.environ.has_key(key): |
| 46 env['ENV'][key] = os.environ[key] | 50 env['ENV'][key] = os.environ[key] |
| 47 | 51 |
| 48 env.Append(LIBPATH = ['.']) | 52 env.Append(LIBPATH = ['.']) |
| 49 env.ParseConfig('pkg-config --cflags --libs gobject-2.0 dbus-1 dbus-glib-1') | 53 env.ParseConfig('pkg-config --cflags --libs gobject-2.0 dbus-1 dbus-glib-1') |
| 50 | 54 |
| 51 env_serverlib = env.Clone() | 55 env_serverlib = env.Clone() |
| 52 env_serverlib.DbusServerBindings('bindings/server.h', 'cryptohome.xml') | 56 env_serverlib.DbusServerBindings('bindings/server.h', 'cryptohome.xml') |
| 53 env_serverlib.SharedLibrary('cryptohome_service', serverlib_sources) | 57 env_serverlib.SharedLibrary('cryptohome_service', serverlib_sources) |
| 54 | 58 |
| 55 env_server = env.Clone() | 59 env_server = env.Clone() |
| 56 env_server.Append(LIBS=['cryptohome_service']) | 60 env_server.Append(LIBS=['cryptohome_service']) |
| 57 env_server.Program('cryptohomed', server_sources) | 61 env_server.Program('cryptohomed', server_sources) |
| 58 | 62 |
| 59 # TODO(wad) we'll probably want a separate runner for client roundtrip tests | 63 # TODO(wad) we'll probably want a separate runner for client roundtrip tests |
| 60 env_tests = env.Clone() | 64 env_tests = env.Clone() |
| 61 env_tests.Append(LIBS=['cryptohome_service', 'gtest', 'gmock']) | 65 env_tests.Append(LIBS=['cryptohome_service', 'gtest', 'gmock']) |
| 62 env_tests.Program('cryptohome_testrunner', test_sources) | 66 env_tests.Program('cryptohome_testrunner', test_sources) |
| 63 | 67 |
| 64 env_client = env.Clone() | 68 env_client = env.Clone() |
| 65 env_client.DbusClientBindings('bindings/client.h', 'cryptohome.xml') | 69 env_client.DbusClientBindings('bindings/client.h', 'cryptohome.xml') |
| 66 env_client.Program('example_client', example_sources) | 70 env_client.Program('cryptohome', client_sources) |
| OLD | NEW |