OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 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 # This header file defines the "sysroot" variable which is the absolute path | 5 # This header file defines the "sysroot" variable which is the absolute path |
6 # of the sysroot. If no sysroot applies, the variable will be an empty string. | 6 # of the sysroot. If no sysroot applies, the variable will be an empty string. |
7 | 7 |
8 import("//build/config/chrome_build.gni") | 8 import("//build/config/chrome_build.gni") |
9 | 9 |
10 declare_args() { | 10 declare_args() { |
11 # The absolute path of the sysroot that is applied when compiling using | 11 # The absolute path of the sysroot that is applied when compiling using |
12 # the target toolchain. | 12 # the target toolchain. |
13 target_sysroot = "" | 13 target_sysroot = "" |
14 | 14 |
15 # The absolute path to directory containing sysroots for linux 32 and 64bit | 15 # The absolute path to directory containing sysroots for linux 32 and 64bit |
16 target_sysroot_dir = "" | 16 target_sysroot_dir = "" |
17 | 17 |
18 use_sysroot = true | 18 use_sysroot = true |
| 19 |
| 20 # TODO(tonikitoo): Remove this arg when wheezy is finally dropped and we |
| 21 # can just use debian/jessie everywhere by default. crbug.com/564904. |
| 22 use_jessie_sysroot = false |
19 } | 23 } |
20 | 24 |
21 if (is_linux && target_sysroot_dir != "") { | 25 if (is_linux && target_sysroot_dir != "") { |
22 if (current_cpu == "x64") { | 26 if (current_cpu == "x64") { |
23 sysroot = target_sysroot_dir + "/wheezy-x64" | 27 sysroot = target_sysroot_dir + "/wheezy-x64" |
24 } else if (current_cpu == "x86") { | 28 } else if (current_cpu == "x86") { |
25 sysroot = target_sysroot_dir + "/wheezy-ia32" | 29 sysroot = target_sysroot_dir + "/wheezy-ia32" |
26 } | 30 } |
27 } else if (current_os == target_os && current_cpu == target_cpu && | 31 } else if (current_os == target_os && current_cpu == target_cpu && |
28 target_sysroot != "") { | 32 target_sysroot != "") { |
(...skipping 17 matching lines...) Expand all Loading... |
46 } | 50 } |
47 } else if (is_linux && use_sysroot) { | 51 } else if (is_linux && use_sysroot) { |
48 # By default build against a sysroot image downloaded from Cloud Storage | 52 # By default build against a sysroot image downloaded from Cloud Storage |
49 # during gclient runhooks. | 53 # during gclient runhooks. |
50 if (is_chromeos) { | 54 if (is_chromeos) { |
51 # Regular ChromeOS builds use custom sysroots, but desktop ChromeOS (where | 55 # Regular ChromeOS builds use custom sysroots, but desktop ChromeOS (where |
52 # we're building linux desktop binaries but using the ChromeOS UI and | 56 # we're building linux desktop binaries but using the ChromeOS UI and |
53 # functionality where possible) needs to run on the buliders, which are | 57 # functionality where possible) needs to run on the buliders, which are |
54 # running precise. The precise build has a different set of dependencies | 58 # running precise. The precise build has a different set of dependencies |
55 # from the wheezy build, so we cannot use the wheezy sysroot. | 59 # from the wheezy build, so we cannot use the wheezy sysroot. |
56 # TODO(sbc): This condition can perhaps be eliminated now that we are | |
57 # using jessie rather than wheezy. | |
58 sysroot = "//build/linux/ubuntu_precise_amd64-sysroot" | 60 sysroot = "//build/linux/ubuntu_precise_amd64-sysroot" |
59 } else { | 61 } else { |
60 if (current_cpu == "x64") { | 62 if (current_cpu == "x64") { |
61 sysroot = "//build/linux/debian_jessie_amd64-sysroot" | 63 sysroot = "//build/linux/debian_wheezy_amd64-sysroot" |
| 64 |
| 65 if (use_jessie_sysroot) { |
| 66 sysroot = "//build/linux/debian_jessie_amd64-sysroot" |
| 67 } |
62 } else if (current_cpu == "x86") { | 68 } else if (current_cpu == "x86") { |
63 sysroot = "//build/linux/debian_jessie_i386-sysroot" | 69 sysroot = "//build/linux/debian_wheezy_i386-sysroot" |
64 } else if (current_cpu == "mipsel") { | 70 } else if (current_cpu == "mipsel") { |
65 sysroot = "//build/linux/debian_jessie_mips-sysroot" | 71 sysroot = "//build/linux/debian_wheezy_mips-sysroot" |
66 } else if (current_cpu == "arm") { | 72 } else if (current_cpu == "arm") { |
67 sysroot = "//build/linux/debian_jessie_arm-sysroot" | 73 sysroot = "//build/linux/debian_wheezy_arm-sysroot" |
68 } else if (current_cpu == "arm64") { | 74 } else if (current_cpu == "arm64") { |
69 sysroot = "//build/linux/debian_jessie_arm64-sysroot" | 75 sysroot = "//build/linux/debian_jessie_arm64-sysroot" |
70 } else { | 76 } else { |
71 # Any other builds don't use a sysroot. | 77 # Any other builds don't use a sysroot. |
72 sysroot = "" | 78 sysroot = "" |
73 } | 79 } |
74 } | 80 } |
75 | 81 |
76 if (sysroot != "") { | 82 if (sysroot != "") { |
77 # Our sysroot images only contains gcc 4.6 headers, but chromium requires | 83 # Our sysroot images only contains gcc 4.6 headers, but chromium requires |
(...skipping 16 matching lines...) Expand all Loading... |
94 } | 100 } |
95 } else if (is_mac) { | 101 } else if (is_mac) { |
96 import("//build/config/mac/mac_sdk.gni") | 102 import("//build/config/mac/mac_sdk.gni") |
97 sysroot = mac_sdk_path | 103 sysroot = mac_sdk_path |
98 } else if (is_ios) { | 104 } else if (is_ios) { |
99 import("//build/config/ios/ios_sdk.gni") | 105 import("//build/config/ios/ios_sdk.gni") |
100 sysroot = ios_sdk_path | 106 sysroot = ios_sdk_path |
101 } else { | 107 } else { |
102 sysroot = "" | 108 sysroot = "" |
103 } | 109 } |
OLD | NEW |