# 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)