| OLD | NEW | 
|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be | 
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. | 
| 4 | 4 | 
| 5 import("//build/config/features.gni") | 5 import("//build/config/features.gni") | 
| 6 | 6 | 
| 7 # This file builds nacl64.exe, which is a 64-bit x86 Windows executable | 7 # This file builds nacl64.exe, which is a 64-bit x86 Windows executable | 
| 8 # used only in the 32-bit x86 Windows build.  The :broker code runs both | 8 # used only in the 32-bit x86 Windows build.  The :broker code runs both | 
| 9 # in nacl64.exe and in the 32-bit chrome executable, to launch | 9 # in nacl64.exe and in the 32-bit chrome executable, to launch | 
| 10 # nacl64.exe and communicate with it. | 10 # nacl64.exe and communicate with it. | 
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 51   # Tests, packaging rules, etc. will expect to find nacl64.exe in the root | 51   # Tests, packaging rules, etc. will expect to find nacl64.exe in the root | 
| 52   # of the output directory.  It gets built in a non-default toolchain and | 52   # of the output directory.  It gets built in a non-default toolchain and | 
| 53   # so will be delivered in the toolchain output subdirectory.  So this | 53   # so will be delivered in the toolchain output subdirectory.  So this | 
| 54   # just copies it to the expected place.  Having this target also makes | 54   # just copies it to the expected place.  Having this target also makes | 
| 55   # it simpler for things to depend on nacl64, since they don't have to | 55   # it simpler for things to depend on nacl64, since they don't have to | 
| 56   # use a toolchain qualifier. | 56   # use a toolchain qualifier. | 
| 57   copy("nacl64") { | 57   copy("nacl64") { | 
| 58     # NOTE: This must match what //build/config/BUILDCONFIG.gn uses | 58     # NOTE: This must match what //build/config/BUILDCONFIG.gn uses | 
| 59     # as default toolchain for the corresponding x64 build. | 59     # as default toolchain for the corresponding x64 build. | 
| 60     if (is_clang) { | 60     if (is_clang) { | 
| 61       x64_toolchain = "//build/toolchain/win:clang_x64" | 61       x64_toolchain = "//build/toolchain/win:clang_nacl_win64" | 
| 62     } else { | 62     } else { | 
| 63       x64_toolchain = "//build/toolchain/win:x64" | 63       x64_toolchain = "//build/toolchain/win:nacl_win64" | 
| 64     } | 64     } | 
| 65     nacl64_label = ":nacl64($x64_toolchain)" | 65     nacl64_label = ":nacl64($x64_toolchain)" | 
| 66     nacl64_out_dir = get_label_info(nacl64_label, "root_out_dir") | 66     nacl64_out_dir = get_label_info(nacl64_label, "root_out_dir") | 
| 67     sources = [ | 67     sources = [ | 
| 68       "$nacl64_out_dir/nacl64.exe", | 68       "$nacl64_out_dir/nacl64.exe", | 
| 69     ] | 69     ] | 
| 70     outputs = [ | 70     outputs = [ | 
| 71       "$root_out_dir/{{source_file_part}}", | 71       "$root_out_dir/{{source_file_part}}", | 
| 72     ] | 72     ] | 
| 73     deps = [ | 73     deps = [ | 
| 74       nacl64_label, | 74       nacl64_label, | 
| 75     ] | 75     ] | 
| 76   } | 76   } | 
| 77 } else if (current_cpu == "x64") { | 77 } else if (current_cpu == "x64") { | 
| 78   # In the x64 toolchain context, build nacl64.exe for real. | 78   # In the x64 toolchain context, build nacl64.exe for real. | 
| 79   executable("nacl64") { | 79   executable("nacl64") { | 
| 80     configs += [ "//build/config/win:windowed" ] | 80     configs += [ "//build/config/win:windowed" ] | 
| 81 | 81 | 
| 82     # //build/config/compiler:optimize{,_max} adds this for official builds | 82     # //build/config/compiler:optimize{,_max} adds this for official builds | 
| 83     # only, as it only reduces binary size and is not necessary for | 83     # only, as it only reduces binary size and is not necessary for | 
| 84     # correctness.  But for nacl64.exe, it makes more than a six-fold | 84     # correctness.  But for nacl64.exe, it makes more than a six-fold | 
| 85     # difference in the binary size, so always use it. | 85     # difference in the binary size, so always use it in release builds. | 
| 86     ldflags = [ "/OPT:REF" ] | 86     # Note that using this flag disables incremental linking.  In debug | 
|  | 87     # builds, incremental rebuild time is usually of more concern than | 
|  | 88     # binary size, so incremental linking is preferable to size reduction. | 
|  | 89     if (!is_debug) { | 
|  | 90       ldflags = [ "/OPT:REF" ] | 
|  | 91     } | 
| 87 | 92 | 
| 88     sources = [ | 93     sources = [ | 
| 89       "//chrome/nacl/nacl_exe_win_64.cc", | 94       "//chrome/nacl/nacl_exe_win_64.cc", | 
| 90     ] | 95     ] | 
| 91 | 96 | 
| 92     deps = [ | 97     deps = [ | 
| 93       ":broker", | 98       ":broker", | 
| 94       ":nacl64_content", | 99       ":nacl64_content", | 
| 95       ":nacl64_crash_reporter_client", | 100       ":nacl64_crash_reporter_client", | 
| 96       "//base", | 101       "//base", | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 148       "//chrome/installer/util:with_no_strings", | 153       "//chrome/installer/util:with_no_strings", | 
| 149       "//components/browser_watcher:browser_watcher_client", | 154       "//components/browser_watcher:browser_watcher_client", | 
| 150       "//components/flags_ui:switches", | 155       "//components/flags_ui:switches", | 
| 151       "//components/policy", | 156       "//components/policy", | 
| 152       "//content/public/common:static_switches", | 157       "//content/public/common:static_switches", | 
| 153       "//ipc", | 158       "//ipc", | 
| 154       "//third_party/kasko:kasko_features", | 159       "//third_party/kasko:kasko_features", | 
| 155     ] | 160     ] | 
| 156   } | 161   } | 
| 157 } | 162 } | 
| OLD | NEW | 
|---|