summaryrefslogtreecommitdiff
path: root/chromium/chrome/installer/mini_installer/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/installer/mini_installer/BUILD.gn')
-rw-r--r--chromium/chrome/installer/mini_installer/BUILD.gn49
1 files changed, 16 insertions, 33 deletions
diff --git a/chromium/chrome/installer/mini_installer/BUILD.gn b/chromium/chrome/installer/mini_installer/BUILD.gn
index c44f8a11059..c365088b90b 100644
--- a/chromium/chrome/installer/mini_installer/BUILD.gn
+++ b/chromium/chrome/installer/mini_installer/BUILD.gn
@@ -6,7 +6,6 @@ import("//build/config/compiler/compiler.gni")
import("//build/config/features.gni")
import("//build/config/ui.gni")
import("//chrome/process_version_rc_template.gni")
-import("//chrome/test/mini_installer/mini_installer_test.gni")
import("//components/nacl/features.gni")
import("//third_party/icu/config.gni")
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
@@ -54,15 +53,6 @@ source_set("lib") {
}
configs += [ ":mini_installer_compiler_flags" ]
-
- # This input dependency on the mini installer test Python files will force a
- # recompilation when any of the Python files have changed. This will then
- # invalidate the build and trigger running the test on the bots even when
- # no other Chrome files have changed. These have to be inputs rather than a
- # dependency because a dependency won't actually trigger recompiles in
- # incremental build cases unless a source file actually references one of the
- # dependency outputs.
- inputs = mini_installer_test_files
}
process_version_rc_template("version") {
@@ -270,19 +260,30 @@ template("generate_mini_installer") {
"/NXCOMPAT",
]
- if (!is_asan) {
- ldflags += [ "/ENTRY:MainEntryPoint" ]
- }
-
libs = [ "setupapi.lib" ]
deps = [
":$archive_name",
":lib",
":version",
- "//build/config:exe_and_shlib_deps",
"//build/win:default_exe_manifest",
]
+
+ # In general, mini_installer tries to avoid depending on the C++ standard
+ # library for size reasons. This is achieved by setting a custom entry point
+ # (which avoids pulling in the standard library via a link dependency) as
+ # well as by not depending on exe_and_shlib_deps (which depends on
+ # libc++ in use_custom_libcxx=true builds).
+ #
+ # But in asan builds we need to link against the asan runtime library, which
+ # in turn depends on the standard library and relies on it to run
+ # initializers. So in asan builds we depend on exe_and_shlib_deps for the
+ # asan runtime and use the standard entry point.
+ if (is_asan) {
+ deps += [ "//build/config:exe_and_shlib_deps" ]
+ } else {
+ ldflags += [ "/ENTRY:MainEntryPoint" ]
+ }
}
}
@@ -292,14 +293,6 @@ generate_mini_installer("mini_installer") {
chrome_dll_target = "//chrome:main_dll"
}
-if (is_syzyasan) {
- generate_mini_installer("mini_installer_syzygy") {
- out_dir = "$root_out_dir/syzygy/"
- chrome_dll_file = "$root_out_dir/syzygy/chrome.dll"
- chrome_dll_target = "//chrome/tools/build/win/syzygy:chrome_dll_syzygy"
- }
-}
-
# next_version_mini_installer.exe can't be generated in an x86 Debug component
# build because it requires too much memory.
# TODO(thakis): Enable this in cross builds, https://crbug.com/799827
@@ -325,13 +318,3 @@ if (!(is_component_build && is_debug && target_cpu == "x86") &&
]
}
}
-
-if (is_win) {
- group("mini_installer_tests") {
- testonly = true
- data_deps = [
- ":mini_installer",
- ":next_version_mini_installer",
- ]
- }
-}