tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nacl_linux.star (13962B)


      1 # -*- bazel-starlark -*-
      2 # Copyright 2023 The Chromium Authors
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 """Siso configuration for nacl/linux."""
      6 
      7 load("@builtin//struct.star", "module")
      8 
      9 def __filegroups(ctx):
     10     return {
     11         "native_client/toolchain/linux_x86/pnacl_newlib/bin/pydir:pydir": {
     12             "type": "glob",
     13             "includes": ["*.py"],
     14         },
     15         "native_client/toolchain/linux_x86/pnacl_newlib/lib:libllvm": {
     16             "type": "glob",
     17             "includes": ["libLLVM*.so"],
     18         },
     19         "native_client/toolchain/linux_x86/saigo_newlib/bin:clang": {
     20             "type": "glob",
     21             "includes": ["clang-*"],
     22         },
     23         "native_client/toolchain/linux_x86/saigo_newlib/lib:libso": {
     24             "type": "glob",
     25             "includes": ["*.so*"],
     26         },
     27         "native_client/toolchain/linux_x86/nacl_x86_glibc/lib/gcc/x86_64-nacl:crtbegin": {
     28             "type": "glob",
     29             "includes": ["crtbegin.o"],
     30         },
     31         "native_client/toolchain/linux_x86/nacl_x86_glibc/libexec/gcc/x86_64-nacl:ccbackend": {
     32             "type": "glob",
     33             "includes": ["cc1", "cc1plus", "collect2"],
     34         },
     35         # for precomputed subtrees
     36         "native_client/toolchain/linux_x86/nacl_x86_glibc:header-files": {
     37             "type": "glob",
     38             "includes": ["*.h", "*/include/c++/*/*", "*/include/c++/*/*/*"],
     39         },
     40         "native_client/toolchain/linux_x86/pnacl_newlib:header-files": {
     41             "type": "glob",
     42             "includes": ["*.h", "*/include/c++/*/*", "*/include/c++/*/*/*"],
     43         },
     44         "native_client/toolchain/linux_x86/saigo_newlib:header-files": {
     45             "type": "glob",
     46             "includes": ["*.h", "*/include/c++/*/*", "*/include/c++/*/*/*"],
     47         },
     48     }
     49 
     50 __handlers = {}
     51 
     52 def __step_config(ctx, step_config):
     53     step_config["rules"].extend([
     54         # pnacl
     55         {
     56             "name": "nacl/pnacl-clang++",
     57             "action": "newlib_pnacl.*_cxx",
     58             "command_prefix": "../../native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang++",
     59             "inputs": [
     60                 "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang++",
     61             ],
     62             "remote": True,
     63             "input_root_absolute_path": True,
     64             "timeout": "2m",
     65         },
     66         {
     67             "name": "nacl/pnacl-clang",
     68             "action": "newlib_pnacl.*_cc",
     69             "command_prefix": "../../native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang",
     70             "inputs": [
     71                 "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang",
     72             ],
     73             "remote": True,
     74             "input_root_absolute_path": True,
     75             "timeout": "2m",
     76         },
     77         {
     78             "name": "nacl/newlib_pnacl/alink",
     79             "action": "newlib_pnacl_alink",
     80             "remote": False,
     81         },
     82         {
     83             "name": "nacl/newlib_pnacl/solink",
     84             "action": "newlib_pnacl_solink",
     85             "remote": False,
     86         },
     87         {
     88             "name": "nacl/newlib_pnacl/link",
     89             "action": "newlib_pnacl_link",
     90             "remote": False,
     91         },
     92         # glibc
     93         {
     94             "name": "nacl/glibc/x86_64-nacl-gcc",
     95             "action": "glibc_x64_cc",
     96             "inputs": [
     97                 "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-gcc",
     98             ],
     99             # ELF-32 doesn't work on gVisor,
    100             # so will local-fallback if gVisor is used.
    101             # TODO(b/278485912): remote=True for trusted instance.
    102             "remote": False,
    103             "input_root_absolute_path": True,
    104         },
    105         {
    106             "name": "nacl/glibc/x86_64-nacl-g++",
    107             "action": "glibc_x64_cxx",
    108             "inputs": [
    109                 "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-g++",
    110             ],
    111             # ELF-32 doesn't work on gVisor,
    112             "remote": False,
    113         },
    114         {
    115             "name": "nacl/glibc/alink",
    116             "action": "glibc_x64_alink",
    117             # ELF-32 doesn't work on gVisor,
    118             "remote": False,
    119         },
    120         {
    121             "name": "nacl/glibc/solink",
    122             "action": "glibc_x64_solink",
    123             # ELF-32 doesn't work on gVisor,
    124             "remote": False,
    125         },
    126         {
    127             "name": "nacl/glibc/link",
    128             "action": "glibc_x64_link",
    129             # ELF-32 doesn't work on gVisor,
    130             "remote": False,
    131         },
    132         # pnacl_newlib (clang_newlib_x64)
    133         {
    134             "name": "nacl/pnacl_newlib/x86_64-nacl-clang++",
    135             "action": "clang_newlib_x64_cxx",
    136             "inputs": [
    137                 "native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-clang++",
    138                 "native_client/toolchain/linux_x86/pnacl_newlib/x86_64-nacl/bin/ld",
    139             ],
    140             "remote": True,
    141             "input_root_absolute_path": True,
    142             "timeout": "2m",
    143         },
    144         {
    145             "name": "nacl/pnacl_newlib/x86_64-nacl-clang",
    146             "action": "clang_newlib_x64_cc",
    147             "inputs": [
    148                 "native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-clang",
    149                 "native_client/toolchain/linux_x86/pnacl_newlib/x86_64-nacl/bin/ld",
    150             ],
    151             "remote": True,
    152             "input_root_absolute_path": True,
    153             "timeout": "2m",
    154         },
    155         {
    156             "name": "nacl/pnacl_newlib/alink",
    157             "action": "clang_newlib_x64_alink",
    158             "remote": False,
    159         },
    160         {
    161             "name": "nacl/pnacl_newlib/solink",
    162             "action": "clang_newlib_x64_solink",
    163             "remote": False,
    164         },
    165         {
    166             "name": "nacl/pnacl_newlib/link",
    167             "action": "clang_newlib_x64_link",
    168             "remote": False,
    169         },
    170         # saigo_newlib (irt_x64, irt_arm)
    171         {
    172             "name": "nacl/saigo_newlib/x86_64-nacl-clang++",
    173             "action": "irt_x64_cxx",
    174             "command_prefix": "../../native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang++",
    175             "inputs": [
    176                 "native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang++",
    177             ],
    178             "remote": True,
    179             "input_root_absolute_path": True,
    180             "timeout": "2m",
    181         },
    182         {
    183             "name": "nacl/saigo_newlib/x86_64-nacl-clang",
    184             "action": "irt_x64_cc",
    185             "command_prefix": "../../native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang",
    186             "inputs": [
    187                 "native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang",
    188             ],
    189             "remote": True,
    190             "input_root_absolute_path": True,
    191             "timeout": "2m",
    192         },
    193         {
    194             "name": "nacl/saigo_newlib/arm-nacl-clang++",
    195             "action": "irt_arm_cxx",
    196             "command_prefix": "../../native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang++",
    197             "inputs": [
    198                 "native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang++",
    199             ],
    200             "remote": True,
    201             "input_root_absolute_path": True,
    202             "timeout": "2m",
    203         },
    204         {
    205             "name": "nacl/saigo_newlib/arm-nacl-clang",
    206             "action": "irt_arm_cc",
    207             "command_prefix": "../../native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang",
    208             "inputs": [
    209                 "native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang",
    210             ],
    211             "remote": True,
    212             "input_root_absolute_path": True,
    213             "timeout": "2m",
    214         },
    215         {
    216             "name": "nacl/saigo_newlib/alink",
    217             "action": "(.*_)?irt_(x64|arm)_alink",
    218             "remote": False,
    219             "impure": True,
    220         },
    221         {
    222             "name": "nacl/saigo_newlib/solink",
    223             "action": "(.*_)?irt_(x64|arm)_solink",
    224             "remote": False,
    225             "impure": True,
    226         },
    227         {
    228             "name": "nacl/saigo_newlib/link",
    229             "action": "(.*_)?irt_(x64|arm)_link",
    230             "remote": False,
    231             "impure": True,
    232         },
    233         # nacl bootstrap
    234         {
    235             "name": "nacl/bootstrap/cc",
    236             "action": "nacl_bootstrap_cc",
    237             "remote": False,
    238             "impure": True,
    239         },
    240         {
    241             "name": "nacl/bootstrap/cxx",
    242             "action": "nacl_bootstrap_cxx",
    243             "remote": False,
    244             "impure": True,
    245         },
    246         {
    247             "name": "nacl/bootstrap/alink",
    248             "action": "nacl_bootstrap_alink",
    249             "remote": False,
    250             "impure": True,
    251         },
    252         {
    253             "name": "nacl/bootstrap/solink",
    254             "action": "nacl_bootstrap_solink",
    255             "remote": False,
    256             "impure": True,
    257         },
    258         {
    259             "name": "nacl/bootstrap/link",
    260             "action": "nacl_bootstrap_link",
    261             "remote": False,
    262             "impure": True,
    263         },
    264     ])
    265 
    266     step_config["input_deps"].update({
    267         "native_client/toolchain/linux_x86/nacl_x86_glibc:headers": [
    268             "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-gcc",
    269             "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-g++",
    270             "native_client/toolchain/linux_x86/nacl_x86_glibc:header-files",
    271         ],
    272         "native_client/toolchain/linux_x86/pnacl_newlib:headers": [
    273             "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang",
    274             "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang++",
    275             "native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-clang",
    276             "native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-clang++",
    277             "native_client/toolchain/linux_x86/pnacl_newlib:header-files",
    278         ],
    279         "native_client/toolchain/linux_x86/saigo_newlib:headers": [
    280             "native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang",
    281             "native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang++",
    282             "native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang",
    283             "native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang++",
    284             "native_client/toolchain/linux_x86/saigo_newlib:header-files",
    285         ],
    286         "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang": [
    287             "native_client/toolchain/linux_x86/pnacl_newlib/bin/clang",
    288             "native_client/toolchain/linux_x86/pnacl_newlib/bin/driver.conf",
    289             "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-llc",
    290             "native_client/toolchain/linux_x86/pnacl_newlib/bin/pydir:pydir",
    291             "native_client/toolchain/linux_x86/pnacl_newlib/lib:libllvm",
    292             "native_client/toolchain/linux_x86/pnacl_newlib/x86_64-nacl/bin/ld",
    293         ],
    294         "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang++": [
    295             "native_client/toolchain/linux_x86/pnacl_newlib/bin/clang",
    296             "native_client/toolchain/linux_x86/pnacl_newlib/bin/driver.conf",
    297             "native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-llc",
    298             "native_client/toolchain/linux_x86/pnacl_newlib/bin/pydir:pydir",
    299             "native_client/toolchain/linux_x86/pnacl_newlib/lib:libllvm",
    300             "native_client/toolchain/linux_x86/pnacl_newlib/x86_64-nacl/bin/ld",
    301         ],
    302         "native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-clang": [
    303             "native_client/toolchain/linux_x86/pnacl_newlib/lib:libllvm",
    304         ],
    305         "native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-clang++": [
    306             "native_client/toolchain/linux_x86/pnacl_newlib/lib:libllvm",
    307         ],
    308         "native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang": [
    309             "native_client/toolchain/linux_x86/saigo_newlib/bin:clang",
    310             "native_client/toolchain/linux_x86/saigo_newlib/lib:libso",
    311             "native_client/toolchain/linux_x86/saigo_newlib/x86_64-nacl/bin/ld",
    312         ],
    313         "native_client/toolchain/linux_x86/saigo_newlib/bin/x86_64-nacl-clang++": [
    314             "native_client/toolchain/linux_x86/saigo_newlib/bin:clang",
    315             "native_client/toolchain/linux_x86/saigo_newlib/lib:libso",
    316             "native_client/toolchain/linux_x86/saigo_newlib/x86_64-nacl/bin/ld",
    317         ],
    318         "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-gcc": [
    319             "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-as",
    320             "native_client/toolchain/linux_x86/nacl_x86_glibc/lib/gcc/x86_64-nacl:crtbegin",
    321             "native_client/toolchain/linux_x86/nacl_x86_glibc/libexec/gcc/x86_64-nacl:ccbackend",
    322             "native_client/toolchain/linux_x86/nacl_x86_glibc/x86_64-nacl/bin/as",
    323         ],
    324         "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-g++": [
    325             "native_client/toolchain/linux_x86/nacl_x86_glibc/bin/x86_64-nacl-as",
    326             "native_client/toolchain/linux_x86/nacl_x86_glibc/lib/gcc/x86_64-nacl:crtbegin",
    327             "native_client/toolchain/linux_x86/nacl_x86_glibc/libexec/gcc/x86_64-nacl:ccbackend",
    328             "native_client/toolchain/linux_x86/nacl_x86_glibc/x86_64-nacl/bin/as",
    329         ],
    330         "native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang++": [
    331             "native_client/toolchain/linux_x86/saigo_newlib/bin:clang",
    332         ],
    333         "native_client/toolchain/linux_x86/saigo_newlib/bin/arm-nacl-clang": [
    334             "native_client/toolchain/linux_x86/saigo_newlib/bin:clang",
    335         ],
    336     })
    337     return step_config
    338 
    339 nacl = module(
    340     "nacl",
    341     step_config = __step_config,
    342     filegroups = __filegroups,
    343     handlers = __handlers,
    344 )