blob: 22b71274403dbac6f8a3c61d13a08dd944038b07 [file] [log] [blame] [edit]
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
import sys
base_env = Environment(
CPPPATH=['.', '..'],
CCFLAGS=['-ggdb', '-fPIC', '-fno-exceptions', '-Wall', '-Werror'],
LINKFLAGS=['-fPIC'],
)
for key in Split('CC CXX AR RANLIB LD NM CFLAGS CCFLAGS LINKFLAGS'):
value = os.environ.get(key)
if value != None:
base_env[key] = Split(value)
# Fix issue with scons not passing some vars through the environment.
for key in Split('PKG_CONFIG PKG_CONFIG_LIBDIR PKG_CONFIG_PATH SYSROOT'):
if os.environ.has_key(key):
base_env['ENV'][key] = os.environ[key]
SOURCES=['chromeos_cryptohome.cc',
'chromeos_input_method.cc',
'chromeos_input_method_ui.cc',
'chromeos_keyboard.cc',
'chromeos_login.cc',
'chromeos_mount.cc',
'chromeos_network.cc',
'chromeos_power.cc',
'chromeos_screen_lock.cc',
'chromeos_speech_synthesis.cc',
'chromeos_synaptics.cc',
'chromeos_syslogs.cc',
'chromeos_update.cc',
'marshal.cc',
'version_check.cc',
]
env = base_env.Clone()
env.Append(LIBS=['base', 'chromeos', 'rt'])
# glib, dbus, and ibus environment
env.ParseConfig('%s --cflags --libs dbus-1 glib-2.0 gudev-1.0 dbus-glib-1 ibus-1.0 libpcrecpp libxklavier' % env['ENV']['PKG_CONFIG'])
Default(env.SharedLibrary('cros', SOURCES))
env_test = base_env.Clone()
env_test.Append(LIBS=['base', 'dl', 'rt'])
env_test.ParseConfig('%s --cflags --libs gobject-2.0 dbus-1' % env_test['ENV']['PKG_CONFIG'])
env_gtest = env_test.Clone()
env_gtest.Append(LIBS=['gtest'])
Load = base_env.Object('load.cc')
tests = [
env_test.Program('monitor_power', ['monitor_power.cc', Load]),
env_gtest.Program('monitor_input_method', ['monitor_input_method.cc', Load]),
env_gtest.Program('monitor_keyboard', ['monitor_keyboard.cc', Load]),
# This is broken now.
# env_test.Program('monitor_network', ['monitor_network.cc', Load]),
env_test.Program('monitor_mount', ['monitor_mount.cc', Load]),
env_test.Program('monitor_input_method_ui',
['monitor_input_method_ui.cc', Load]),
env_test.Program('login_drive', ['drive_login.cc', Load]),
env_test.Program('cryptohome_drive', ['drive_cryptohome.cc', Load])
]
test_alias = Alias('test', tests)
AlwaysBuild(test_alias)
Alias('crosapi', base_env.StaticLibrary('crosapi', Load), CCFLAGS='-ggdb')