blob: 9e49bee4a92c8b0ae802543086919c177cb571be [file]
"""Resource set definitions for Rustc actions"""
def _resource_set_cpu_1(_os_name, _inputs):
return {"cpu": 1}
def _resource_set_cpu_2(_os_name, _inputs):
return {"cpu": 2}
def _resource_set_cpu_3(_os_name, _inputs):
return {"cpu": 3}
def _resource_set_cpu_4(_os_name, _inputs):
return {"cpu": 4}
def _resource_set_cpu_5(_os_name, _inputs):
return {"cpu": 5}
def _resource_set_cpu_6(_os_name, _inputs):
return {"cpu": 6}
def _resource_set_cpu_7(_os_name, _inputs):
return {"cpu": 7}
def _resource_set_cpu_8(_os_name, _inputs):
return {"cpu": 8}
def _resource_set_cpu_9(_os_name, _inputs):
return {"cpu": 9}
def _resource_set_cpu_10(_os_name, _inputs):
return {"cpu": 10}
def _resource_set_cpu_11(_os_name, _inputs):
return {"cpu": 11}
def _resource_set_cpu_12(_os_name, _inputs):
return {"cpu": 12}
def _resource_set_cpu_13(_os_name, _inputs):
return {"cpu": 13}
def _resource_set_cpu_14(_os_name, _inputs):
return {"cpu": 14}
def _resource_set_cpu_15(_os_name, _inputs):
return {"cpu": 15}
def _resource_set_cpu_16(_os_name, _inputs):
return {"cpu": 16}
def _resource_set_cpu_17(_os_name, _inputs):
return {"cpu": 17}
def _resource_set_cpu_18(_os_name, _inputs):
return {"cpu": 18}
def _resource_set_cpu_19(_os_name, _inputs):
return {"cpu": 19}
def _resource_set_cpu_20(_os_name, _inputs):
return {"cpu": 20}
def _resource_set_cpu_21(_os_name, _inputs):
return {"cpu": 21}
def _resource_set_cpu_22(_os_name, _inputs):
return {"cpu": 22}
def _resource_set_cpu_23(_os_name, _inputs):
return {"cpu": 23}
def _resource_set_cpu_24(_os_name, _inputs):
return {"cpu": 24}
def _resource_set_cpu_25(_os_name, _inputs):
return {"cpu": 25}
def _resource_set_cpu_26(_os_name, _inputs):
return {"cpu": 26}
def _resource_set_cpu_27(_os_name, _inputs):
return {"cpu": 27}
def _resource_set_cpu_28(_os_name, _inputs):
return {"cpu": 28}
def _resource_set_cpu_29(_os_name, _inputs):
return {"cpu": 29}
def _resource_set_cpu_30(_os_name, _inputs):
return {"cpu": 30}
def _resource_set_cpu_31(_os_name, _inputs):
return {"cpu": 31}
def _resource_set_cpu_32(_os_name, _inputs):
return {"cpu": 32}
def _resource_set_cpu_33(_os_name, _inputs):
return {"cpu": 33}
def _resource_set_cpu_34(_os_name, _inputs):
return {"cpu": 34}
def _resource_set_cpu_35(_os_name, _inputs):
return {"cpu": 35}
def _resource_set_cpu_36(_os_name, _inputs):
return {"cpu": 36}
def _resource_set_cpu_37(_os_name, _inputs):
return {"cpu": 37}
def _resource_set_cpu_38(_os_name, _inputs):
return {"cpu": 38}
def _resource_set_cpu_39(_os_name, _inputs):
return {"cpu": 39}
def _resource_set_cpu_40(_os_name, _inputs):
return {"cpu": 40}
def _resource_set_cpu_41(_os_name, _inputs):
return {"cpu": 41}
def _resource_set_cpu_42(_os_name, _inputs):
return {"cpu": 42}
def _resource_set_cpu_43(_os_name, _inputs):
return {"cpu": 43}
def _resource_set_cpu_44(_os_name, _inputs):
return {"cpu": 44}
def _resource_set_cpu_45(_os_name, _inputs):
return {"cpu": 45}
def _resource_set_cpu_46(_os_name, _inputs):
return {"cpu": 46}
def _resource_set_cpu_47(_os_name, _inputs):
return {"cpu": 47}
def _resource_set_cpu_48(_os_name, _inputs):
return {"cpu": 48}
def _resource_set_cpu_49(_os_name, _inputs):
return {"cpu": 49}
def _resource_set_cpu_50(_os_name, _inputs):
return {"cpu": 50}
def _resource_set_cpu_51(_os_name, _inputs):
return {"cpu": 51}
def _resource_set_cpu_52(_os_name, _inputs):
return {"cpu": 52}
def _resource_set_cpu_53(_os_name, _inputs):
return {"cpu": 53}
def _resource_set_cpu_54(_os_name, _inputs):
return {"cpu": 54}
def _resource_set_cpu_55(_os_name, _inputs):
return {"cpu": 55}
def _resource_set_cpu_56(_os_name, _inputs):
return {"cpu": 56}
def _resource_set_cpu_57(_os_name, _inputs):
return {"cpu": 57}
def _resource_set_cpu_58(_os_name, _inputs):
return {"cpu": 58}
def _resource_set_cpu_59(_os_name, _inputs):
return {"cpu": 59}
def _resource_set_cpu_60(_os_name, _inputs):
return {"cpu": 60}
def _resource_set_cpu_61(_os_name, _inputs):
return {"cpu": 61}
def _resource_set_cpu_62(_os_name, _inputs):
return {"cpu": 62}
def _resource_set_cpu_63(_os_name, _inputs):
return {"cpu": 63}
def _resource_set_cpu_64(_os_name, _inputs):
return {"cpu": 64}
_RESOURCE_SETS = {
1: _resource_set_cpu_1,
2: _resource_set_cpu_2,
3: _resource_set_cpu_3,
4: _resource_set_cpu_4,
5: _resource_set_cpu_5,
6: _resource_set_cpu_6,
7: _resource_set_cpu_7,
8: _resource_set_cpu_8,
9: _resource_set_cpu_9,
10: _resource_set_cpu_10,
11: _resource_set_cpu_11,
12: _resource_set_cpu_12,
13: _resource_set_cpu_13,
14: _resource_set_cpu_14,
15: _resource_set_cpu_15,
16: _resource_set_cpu_16,
17: _resource_set_cpu_17,
18: _resource_set_cpu_18,
19: _resource_set_cpu_19,
20: _resource_set_cpu_20,
21: _resource_set_cpu_21,
22: _resource_set_cpu_22,
23: _resource_set_cpu_23,
24: _resource_set_cpu_24,
25: _resource_set_cpu_25,
26: _resource_set_cpu_26,
27: _resource_set_cpu_27,
28: _resource_set_cpu_28,
29: _resource_set_cpu_29,
30: _resource_set_cpu_30,
31: _resource_set_cpu_31,
32: _resource_set_cpu_32,
33: _resource_set_cpu_33,
34: _resource_set_cpu_34,
35: _resource_set_cpu_35,
36: _resource_set_cpu_36,
37: _resource_set_cpu_37,
38: _resource_set_cpu_38,
39: _resource_set_cpu_39,
40: _resource_set_cpu_40,
41: _resource_set_cpu_41,
42: _resource_set_cpu_42,
43: _resource_set_cpu_43,
44: _resource_set_cpu_44,
45: _resource_set_cpu_45,
46: _resource_set_cpu_46,
47: _resource_set_cpu_47,
48: _resource_set_cpu_48,
49: _resource_set_cpu_49,
50: _resource_set_cpu_50,
51: _resource_set_cpu_51,
52: _resource_set_cpu_52,
53: _resource_set_cpu_53,
54: _resource_set_cpu_54,
55: _resource_set_cpu_55,
56: _resource_set_cpu_56,
57: _resource_set_cpu_57,
58: _resource_set_cpu_58,
59: _resource_set_cpu_59,
60: _resource_set_cpu_60,
61: _resource_set_cpu_61,
62: _resource_set_cpu_62,
63: _resource_set_cpu_63,
64: _resource_set_cpu_64,
}
def is_codegen_units_enabled(toolchain):
"""Check whether or not codegen-units should be applied by the toolchain.
Args:
toolchain (rust_toolchain): The current `rust_toolchain`.
Returns:
bool: Whether or not codegen-units is enabled
"""
if toolchain._codegen_units <= 0:
return False
if toolchain._experimental_use_cc_common_link:
return False
return True
def get_rustc_resource_set(toolchain):
"""Get the `ctx.actions.run.resource_set` for the `Rustc` action.
Args:
toolchain (rust_toolchain): The current rust_toolchain toolchain.
Returns:
Optional[Callable]: A resource set appropriate for the current configuration.
"""
if not is_codegen_units_enabled(toolchain):
return None
codegen_units = toolchain._codegen_units
if codegen_units > len(_RESOURCE_SETS):
return _RESOURCE_SETS[len(_RESOURCE_SETS)]
return _RESOURCE_SETS[codegen_units]