summaryrefslogtreecommitdiffstats
path: root/tools/gn
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-19 21:13:32 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-19 21:13:32 +0000
commit1bcf001748ed3d6e5d305587f069ac2ae02aae5a (patch)
treedc64b5cb6f2ee1959af21d57274e71e97e5e1503 /tools/gn
parentfca2616abc2da23cd4699a48f3baa70f17835497 (diff)
downloadchromium_src-1bcf001748ed3d6e5d305587f069ac2ae02aae5a.zip
chromium_src-1bcf001748ed3d6e5d305587f069ac2ae02aae5a.tar.gz
chromium_src-1bcf001748ed3d6e5d305587f069ac2ae02aae5a.tar.bz2
Work on GN Windows build.
Visual Studio had some problems with template type deduction so I added some more explicit parameters. There were also a few misc cases of string conversions that needed updating. I updated the buildfiles so we only bring in libusb, for example, on Linux (this was already happening, but it was additionally being pulled in everywhere at the top level). I also tweaked some NSS-related file lists. BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/24290002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224202 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/gn')
-rw-r--r--tools/gn/command_desc.cc36
-rw-r--r--tools/gn/filesystem_utils.cc6
-rw-r--r--tools/gn/filesystem_utils.h5
-rw-r--r--tools/gn/function_exec_script.cc2
-rw-r--r--tools/gn/ninja_binary_target_writer.cc9
-rw-r--r--tools/gn/secondary/BUILD.gn1
-rw-r--r--tools/gn/secondary/chrome/BUILD.gn20
-rw-r--r--tools/gn/secondary/crypto/BUILD.gn13
8 files changed, 49 insertions, 43 deletions
diff --git a/tools/gn/command_desc.cc b/tools/gn/command_desc.cc
index c683f3c..2f02689 100644
--- a/tools/gn/command_desc.cc
+++ b/tools/gn/command_desc.cc
@@ -315,8 +315,8 @@ const char kDesc_Help[] =
" Shows defines set for the //base:base target, annotated by where\n"
" each one was set from.\n";
-#define OUTPUT_CONFIG_VALUE(name) \
- OutputRecursiveTargetConfig(target, #name, &ConfigValues::name);
+#define OUTPUT_CONFIG_VALUE(name, type) \
+ OutputRecursiveTargetConfig<type>(target, #name, &ConfigValues::name);
int RunDesc(const std::vector<std::string>& args) {
if (args.size() != 1 && args.size() != 2) {
@@ -329,8 +329,8 @@ int RunDesc(const std::vector<std::string>& args) {
if (!target)
return 1;
-#define CONFIG_VALUE_HANDLER(name) \
- } else if (what == #name) { OUTPUT_CONFIG_VALUE(name)
+#define CONFIG_VALUE_HANDLER(name, type) \
+ } else if (what == #name) { OUTPUT_CONFIG_VALUE(name, type)
if (args.size() == 2) {
// User specified one thing to display.
@@ -344,13 +344,13 @@ int RunDesc(const std::vector<std::string>& args) {
} else if (what == "ldflags") {
PrintLdflags(target, false);
- CONFIG_VALUE_HANDLER(defines)
- CONFIG_VALUE_HANDLER(includes)
- CONFIG_VALUE_HANDLER(cflags)
- CONFIG_VALUE_HANDLER(cflags_c)
- CONFIG_VALUE_HANDLER(cflags_cc)
- CONFIG_VALUE_HANDLER(cflags_objc)
- CONFIG_VALUE_HANDLER(cflags_objcc)
+ CONFIG_VALUE_HANDLER(defines, std::string)
+ CONFIG_VALUE_HANDLER(includes, SourceDir)
+ CONFIG_VALUE_HANDLER(cflags, std::string)
+ CONFIG_VALUE_HANDLER(cflags_c, std::string)
+ CONFIG_VALUE_HANDLER(cflags_cc, std::string)
+ CONFIG_VALUE_HANDLER(cflags_objc, std::string)
+ CONFIG_VALUE_HANDLER(cflags_objcc, std::string)
} else {
OutputString("Don't know how to display \"" + what + "\".\n");
@@ -380,13 +380,13 @@ int RunDesc(const std::vector<std::string>& args) {
PrintSources(target, true);
PrintConfigs(target, true);
- OUTPUT_CONFIG_VALUE(defines)
- OUTPUT_CONFIG_VALUE(includes)
- OUTPUT_CONFIG_VALUE(cflags)
- OUTPUT_CONFIG_VALUE(cflags_c)
- OUTPUT_CONFIG_VALUE(cflags_cc)
- OUTPUT_CONFIG_VALUE(cflags_objc)
- OUTPUT_CONFIG_VALUE(cflags_objcc)
+ OUTPUT_CONFIG_VALUE(defines, std::string)
+ OUTPUT_CONFIG_VALUE(includes, SourceDir)
+ OUTPUT_CONFIG_VALUE(cflags, std::string)
+ OUTPUT_CONFIG_VALUE(cflags_c, std::string)
+ OUTPUT_CONFIG_VALUE(cflags_cc, std::string)
+ OUTPUT_CONFIG_VALUE(cflags_objc, std::string)
+ OUTPUT_CONFIG_VALUE(cflags_objcc, std::string)
PrintLdflags(target, true);
PrintDeps(target, true);
diff --git a/tools/gn/filesystem_utils.cc b/tools/gn/filesystem_utils.cc
index 75b72b2..3ecdc97 100644
--- a/tools/gn/filesystem_utils.cc
+++ b/tools/gn/filesystem_utils.cc
@@ -192,11 +192,11 @@ const char* GetExtensionForOutputType(Target::OutputType type,
return "";
}
-std::string FilePathToUTF8(const base::FilePath& path) {
+std::string FilePathToUTF8(const base::FilePath::StringType& str) {
#if defined(OS_WIN)
- return WideToUTF8(path.value());
+ return WideToUTF8(str);
#else
- return path.value();
+ return str;
#endif
}
diff --git a/tools/gn/filesystem_utils.h b/tools/gn/filesystem_utils.h
index 90e9d50..bf214dc 100644
--- a/tools/gn/filesystem_utils.h
+++ b/tools/gn/filesystem_utils.h
@@ -40,7 +40,10 @@ SourceFileType GetSourceFileType(const SourceFile& file,
const char* GetExtensionForOutputType(Target::OutputType type,
Settings::TargetOS os);
-std::string FilePathToUTF8(const base::FilePath& path);
+std::string FilePathToUTF8(const base::FilePath::StringType& str);
+inline std::string FilePathToUTF8(const base::FilePath& path) {
+ return FilePathToUTF8(path.value());
+}
base::FilePath UTF8ToFilePath(const base::StringPiece& sp);
// Extensions -----------------------------------------------------------------
diff --git a/tools/gn/function_exec_script.cc b/tools/gn/function_exec_script.cc
index 2626f51..0ffe90b 100644
--- a/tools/gn/function_exec_script.cc
+++ b/tools/gn/function_exec_script.cc
@@ -366,7 +366,7 @@ Value RunExecScript(Scope* scope,
// TODO(brettw) maybe we need stderr also for reasonable stack dumps.
if (exit_code != 0) {
std::string msg = "Current dir: " + FilePathToUTF8(startup_dir) +
- "\nCommand: " + cmdline.GetCommandLineString() +
+ "\nCommand: " + FilePathToUTF8(cmdline.GetCommandLineString()) +
"\nReturned " + base::IntToString(exit_code);
if (!output.empty())
msg += " and printed out:\n\n" + output;
diff --git a/tools/gn/ninja_binary_target_writer.cc b/tools/gn/ninja_binary_target_writer.cc
index 8aa5fd8..e1344d8 100644
--- a/tools/gn/ninja_binary_target_writer.cc
+++ b/tools/gn/ninja_binary_target_writer.cc
@@ -94,14 +94,15 @@ void NinjaBinaryTargetWriter::Run() {
void NinjaBinaryTargetWriter::WriteCompilerVars() {
// Defines.
out_ << "defines =";
- RecursiveTargetConfigToStream(target_, &ConfigValues::defines,
- DefineWriter(), out_);
+ RecursiveTargetConfigToStream<std::string>(target_, &ConfigValues::defines,
+ DefineWriter(), out_);
out_ << std::endl;
// Includes.
out_ << "includes =";
- RecursiveTargetConfigToStream(target_, &ConfigValues::includes,
- IncludeWriter(path_output_, helper_), out_);
+ RecursiveTargetConfigToStream<SourceDir>(target_, &ConfigValues::includes,
+ IncludeWriter(path_output_, helper_),
+ out_);
out_ << std::endl;
diff --git a/tools/gn/secondary/BUILD.gn b/tools/gn/secondary/BUILD.gn
index dbffbec..a99dbac 100644
--- a/tools/gn/secondary/BUILD.gn
+++ b/tools/gn/secondary/BUILD.gn
@@ -13,7 +13,6 @@ group("root") {
"//sdch",
"//third_party/icu:icudata",
"//third_party/leveldatabase",
- "//third_party/libusb",
"//third_party/zlib:chrome_zlib",
"//skia",
"//tools/gn",
diff --git a/tools/gn/secondary/chrome/BUILD.gn b/tools/gn/secondary/chrome/BUILD.gn
index 6efe9ad..4d48a99 100644
--- a/tools/gn/secondary/chrome/BUILD.gn
+++ b/tools/gn/secondary/chrome/BUILD.gn
@@ -29,11 +29,13 @@ executable("chrome") {
"../content/app/startup_helper_win.cc",
]
- configs += [
- # TODO(brettw) this is wrong, it should be picked up from deps.
- "//build/config/linux:gtk",
- "//build/config/linux:x11",
- ]
+ if (is_linux) {
+ configs += [
+ # TODO(brettw) this is wrong, it should be picked up from deps.
+ "//build/config/linux:gtk",
+ "//build/config/linux:x11",
+ ]
+ }
deps = [
# TODO(brettw) this is right on linux? Everything is linked into the
@@ -69,9 +71,11 @@ static_library("browser") {
ldflags += "-lgconf-2"
}
}
- configs += [
- "//build/config/linux:x11",
- ]
+ if (is_linux) {
+ configs += [
+ "//build/config/linux:x11",
+ ]
+ }
deps = [
"//third_party/expat",
diff --git a/tools/gn/secondary/crypto/BUILD.gn b/tools/gn/secondary/crypto/BUILD.gn
index 634b13d..9db016c 100644
--- a/tools/gn/secondary/crypto/BUILD.gn
+++ b/tools/gn/secondary/crypto/BUILD.gn
@@ -102,10 +102,12 @@ component("crypto") {
}
if (!is_linux) {
- sources -= [
- "openpgp_symmetric_encryption.cc",
- "openpgp_symmetric_encryption.h",
- ]
+ if (use_nss) { # Removed for non-NSS in all cases below.
+ sources -= [
+ "openpgp_symmetric_encryption.cc",
+ "openpgp_symmetric_encryption.h",
+ ]
+ }
}
if (!is_mac) {
sources -= [
@@ -132,7 +134,6 @@ component("crypto") {
"hmac_nss.cc",
"nss_util.cc",
"nss_util.h",
- "openpgp_symmetric_encryption.cc",
"rsa_private_key_nss.cc",
"secure_hash_default.cc",
"signature_creator_nss.cc",
@@ -141,11 +142,9 @@ component("crypto") {
"third_party/nss/chromium-blapi.h",
"third_party/nss/chromium-blapit.h",
"third_party/nss/chromium-nss.h",
- "third_party/nss/chromium-sha256.h",
"third_party/nss/pk11akey.cc",
"third_party/nss/rsawrapr.c",
"third_party/nss/secsign.cc",
- "third_party/nss/sha512.cc",
]
}
if (!use_openssl) {