1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# Copyright (c) 2006-2008 The Chromium 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('env')
env = env.Clone()
env.Prepend(
CPPPATH = [
'$ICU38_DIR/public/common',
'$ICU38_DIR/public/i18n',
'#/..',
],
)
env.Append(
CPPDEFINES = [
'U_STATIC_IMPLEMENTATION',
],
)
if env['PLATFORM'] == 'win32':
env.Append(
CCFLAGS = [
'/TP',
],
)
lib_input_files = [
'gurl.cc',
'url_canon_etc.cc',
'url_canon_fileurl.cc',
'url_canon_host.cc',
'url_canon_icu.cc',
'url_canon_internal.cc',
'url_canon_ip.cc',
'url_canon_mailtourl.cc',
'url_canon_path.cc',
'url_canon_pathurl.cc',
'url_canon_query.cc',
'url_canon_relative.cc',
'url_canon_stdurl.cc',
'url_parse.cc',
'url_parse_file.cc',
'url_util.cc',
]
def BuildObjectFiles(environ, input_files):
obj_files = []
for input_file in input_files:
source = '../googleurl/src/' + input_file
target = '$TARGET_ROOT/googleurl/' + input_file[:input_file.find('.cc')]
obj_files.append(environ.StaticObject(source = source, target = target))
return obj_files
env.ChromeStaticLibrary('$TARGET_ROOT/googleurl/googleurl',
BuildObjectFiles(env, lib_input_files))
env_tests = env.Clone()
env_tests.Append(
CPPPATH = [
'$GTEST_DIR/include',
],
CPPDEFINES = [
'UNIT_TEST',
],
LIBS = [
'googleurl',
'base',
env_tests['ICU_LIBS'], # TODO(sgk): '$ICU_LIBS' when scons is fixed
'gtest',
]
)
test_files = [
'gurl_unittest.cc',
'url_canon_unittest.cc',
'url_parse_unittest.cc',
'url_util_unittest.cc',
]
test_obj_files = BuildObjectFiles(env_tests, test_files)
# The version of gtest that googleurl uses provides a main() function; ours
# doesn't so include our own main function.
test_obj_files.append(env_tests.StaticObject(source = '../base/run_all_unittests.cc',
target = '$TARGET_ROOT/googleurl/run_all_unittests'))
gurl_unittests = env_tests.ChromeTestProgram(
'$TARGET_ROOT/googleurl/googleurl_unittests', test_obj_files)
installed_gurl_unittests = env.Install('$TARGET_ROOT', gurl_unittests)
env.Alias('googleurl', installed_gurl_unittests)
|