From 65e39b7046a29aa299f06285441b62bcf1e4df01 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 7 Aug 2019 22:45:47 +0200 Subject: Move v8/build into this repository. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since we need to patch some files, we don't let depot_tools manage these files anymore. build.git commit a0b2e3b2708bcf81ec00ac1738b586bcc5e04eea --- deps/v8/build/win/message_compiler.gni | 89 ++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 deps/v8/build/win/message_compiler.gni (limited to 'deps/v8/build/win/message_compiler.gni') diff --git a/deps/v8/build/win/message_compiler.gni b/deps/v8/build/win/message_compiler.gni new file mode 100644 index 0000000000..814eb6521e --- /dev/null +++ b/deps/v8/build/win/message_compiler.gni @@ -0,0 +1,89 @@ +# Copyright 2015 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. + +assert(is_win, "This only runs on Windows.") + +# Runs mc.exe over a list of sources. The outputs (a header and rc file) are +# placed in the target gen dir, and compiled. +# +# sources +# List of message files to process. +# +# user_mode_logging (optional bool) +# Generates user-mode logging code. Defaults to false (no logging code). +# +# compile_generated_code (optional, deafults = true) +# If unset or true, the generated code will be compiled and linked into +# targets that depend on it. If set to false, the .h and .rc files will only +# be generated. +# +# deps, public_deps, visibility +# Normal meaning. +template("message_compiler") { + if (defined(invoker.compile_generated_code) && + !invoker.compile_generated_code) { + compile_generated_code = false + action_name = target_name + } else { + compile_generated_code = true + action_name = "${target_name}_mc" + source_set_name = target_name + } + + action_foreach(action_name) { + if (compile_generated_code) { + visibility = [ ":$source_set_name" ] + } else { + forward_variables_from(invoker, [ "visibility" ]) + } + + script = "//build/win/message_compiler.py" + + outputs = [ + "$target_gen_dir/{{source_name_part}}.h", + "$target_gen_dir/{{source_name_part}}.rc", + ] + + args = [ + # The first argument is the environment file saved to the build + # directory. This is required because the Windows toolchain setup saves + # the VC paths and such so that running "mc.exe" will work with the + # configured toolchain. This file is in the root build dir. + "environment.$current_cpu", + + # Where to put the header. + "-h", + rebase_path(target_gen_dir, root_build_dir), + + # Where to put the .rc file. + "-r", + rebase_path(target_gen_dir, root_build_dir), + + # Input is Unicode. + "-u", + ] + if (defined(invoker.user_mode_logging) && invoker.user_mode_logging) { + args += [ "-um" ] + } + args += [ "{{source}}" ] + + forward_variables_from(invoker, + [ + "deps", + "public_deps", + "sources", + ]) + } + + if (compile_generated_code) { + # Compile the generated rc file. + source_set(source_set_name) { + forward_variables_from(invoker, [ "visibility" ]) + sources = get_target_outputs(":$action_name") + deps = [ + ":$action_name", + ] + } + } +} -- cgit v1.2.3