Home | History | Annotate | Download | only in soong
      1 subdirs = [
      2     "androidmk",
      3     "bpfix",
      4     "cmd/*",
      5     "fs",
      6     "finder",
      7     "jar",
      8     "zip",
      9     "third_party/zip",
     10     "ui/*",
     11 ]
     12 
     13 bootstrap_go_package {
     14     name: "soong-env",
     15     pkgPath: "android/soong/env",
     16     srcs: [
     17         "env/env.go",
     18     ],
     19 }
     20 
     21 bootstrap_go_package {
     22     name: "soong",
     23     pkgPath: "android/soong",
     24     deps: [
     25         "blueprint",
     26     ],
     27     srcs: [
     28         "doc.go",
     29     ],
     30 }
     31 
     32 bootstrap_go_package {
     33     name: "soong-android",
     34     pkgPath: "android/soong/android",
     35     deps: [
     36         "blueprint",
     37         "blueprint-bootstrap",
     38         "soong",
     39         "soong-env",
     40     ],
     41     srcs: [
     42         "android/androidmk.go",
     43         "android/apex.go",
     44         "android/api_levels.go",
     45         "android/arch.go",
     46         "android/config.go",
     47         "android/defaults.go",
     48         "android/defs.go",
     49         "android/expand.go",
     50         "android/filegroup.go",
     51         "android/hooks.go",
     52         "android/makevars.go",
     53         "android/module.go",
     54         "android/mutator.go",
     55         "android/namespace.go",
     56         "android/neverallow.go",
     57         "android/notices.go",
     58         "android/onceper.go",
     59         "android/override_module.go",
     60         "android/package_ctx.go",
     61         "android/path_properties.go",
     62         "android/paths.go",
     63         "android/prebuilt.go",
     64         "android/prebuilt_etc.go",
     65         "android/proto.go",
     66         "android/register.go",
     67         "android/rule_builder.go",
     68         "android/sh_binary.go",
     69         "android/singleton.go",
     70         "android/testing.go",
     71         "android/util.go",
     72         "android/variable.go",
     73         "android/vts_config.go",
     74         "android/writedocs.go",
     75 
     76         // Lock down environment access last
     77         "android/env.go",
     78     ],
     79     testSrcs: [
     80         "android/arch_test.go",
     81         "android/config_test.go",
     82         "android/expand_test.go",
     83         "android/namespace_test.go",
     84         "android/neverallow_test.go",
     85         "android/onceper_test.go",
     86         "android/path_properties_test.go",
     87         "android/paths_test.go",
     88         "android/prebuilt_test.go",
     89         "android/prebuilt_etc_test.go",
     90         "android/rule_builder_test.go",
     91         "android/util_test.go",
     92         "android/variable_test.go",
     93         "android/vts_config_test.go",
     94     ],
     95 }
     96 
     97 bootstrap_go_package {
     98     name: "soong-cc-config",
     99     pkgPath: "android/soong/cc/config",
    100     deps: [
    101         "soong-android",
    102     ],
    103     srcs: [
    104         "cc/config/clang.go",
    105         "cc/config/global.go",
    106         "cc/config/tidy.go",
    107         "cc/config/toolchain.go",
    108         "cc/config/vndk.go",
    109 
    110         "cc/config/arm_device.go",
    111         "cc/config/arm64_device.go",
    112         "cc/config/arm64_fuchsia_device.go",
    113         "cc/config/mips_device.go",
    114         "cc/config/mips64_device.go",
    115         "cc/config/x86_device.go",
    116         "cc/config/x86_64_device.go",
    117         "cc/config/x86_64_fuchsia_device.go",
    118 
    119         "cc/config/x86_darwin_host.go",
    120         "cc/config/x86_linux_host.go",
    121         "cc/config/x86_linux_bionic_host.go",
    122         "cc/config/x86_windows_host.go",
    123     ],
    124     testSrcs: [
    125         "cc/config/tidy_test.go",
    126     ],
    127 }
    128 
    129 bootstrap_go_package {
    130     name: "soong-cc",
    131     pkgPath: "android/soong/cc",
    132     deps: [
    133         "blueprint",
    134         "blueprint-pathtools",
    135         "soong",
    136         "soong-android",
    137         "soong-cc-config",
    138         "soong-genrule",
    139         "soong-tradefed",
    140     ],
    141     srcs: [
    142         "cc/androidmk.go",
    143         "cc/builder.go",
    144         "cc/cc.go",
    145         "cc/check.go",
    146         "cc/coverage.go",
    147         "cc/gen.go",
    148         "cc/lto.go",
    149         "cc/makevars.go",
    150         "cc/pgo.go",
    151         "cc/prebuilt.go",
    152         "cc/proto.go",
    153         "cc/rs.go",
    154         "cc/sanitize.go",
    155         "cc/sabi.go",
    156         "cc/stl.go",
    157         "cc/strip.go",
    158         "cc/sysprop.go",
    159         "cc/tidy.go",
    160         "cc/util.go",
    161         "cc/vndk.go",
    162         "cc/vndk_prebuilt.go",
    163         "cc/xom.go",
    164 
    165         "cc/cmakelists.go",
    166         "cc/compdb.go",
    167         "cc/compiler.go",
    168         "cc/installer.go",
    169         "cc/linker.go",
    170 
    171         "cc/binary.go",
    172         "cc/library.go",
    173         "cc/object.go",
    174         "cc/test.go",
    175         "cc/toolchain_library.go",
    176 
    177         "cc/ndk_prebuilt.go",
    178         "cc/ndk_headers.go",
    179         "cc/ndk_library.go",
    180         "cc/ndk_sysroot.go",
    181 
    182         "cc/llndk_library.go",
    183 
    184         "cc/kernel_headers.go",
    185 
    186         "cc/genrule.go",
    187 
    188         "cc/vendor_public_library.go",
    189 
    190         "cc/testing.go",
    191     ],
    192     testSrcs: [
    193         "cc/cc_test.go",
    194         "cc/gen_test.go",
    195         "cc/genrule_test.go",
    196         "cc/library_test.go",
    197         "cc/prebuilt_test.go",
    198         "cc/proto_test.go",
    199         "cc/test_data_test.go",
    200         "cc/util_test.go",
    201     ],
    202     pluginFor: ["soong_build"],
    203 }
    204 
    205 bootstrap_go_package {
    206     name: "soong-genrule",
    207     pkgPath: "android/soong/genrule",
    208     deps: [
    209         "blueprint",
    210         "blueprint-pathtools",
    211         "soong",
    212         "soong-android",
    213         "soong-shared",
    214     ],
    215     srcs: [
    216         "genrule/genrule.go",
    217     ],
    218     testSrcs: [
    219         "genrule/genrule_test.go",
    220     ],
    221     pluginFor: ["soong_build"],
    222 }
    223 
    224 bootstrap_go_package {
    225     name: "soong-phony",
    226     pkgPath: "android/soong/phony",
    227     deps: [
    228         "blueprint",
    229         "soong-android",
    230     ],
    231     srcs: [
    232         "phony/phony.go",
    233     ],
    234     pluginFor: ["soong_build"],
    235 }
    236 
    237 bootstrap_go_package {
    238     name: "soong-java",
    239     pkgPath: "android/soong/java",
    240     deps: [
    241         "blueprint",
    242         "blueprint-pathtools",
    243         "soong",
    244         "soong-android",
    245         "soong-cc",
    246         "soong-dexpreopt",
    247         "soong-genrule",
    248         "soong-java-config",
    249         "soong-tradefed",
    250     ],
    251     srcs: [
    252         "java/aapt2.go",
    253         "java/aar.go",
    254         "java/android_manifest.go",
    255         "java/android_resources.go",
    256         "java/androidmk.go",
    257         "java/app_builder.go",
    258         "java/app.go",
    259         "java/builder.go",
    260         "java/device_host_converter.go",
    261         "java/dex.go",
    262         "java/dexpreopt.go",
    263         "java/dexpreopt_bootjars.go",
    264         "java/dexpreopt_config.go",
    265         "java/droiddoc.go",
    266         "java/gen.go",
    267         "java/genrule.go",
    268         "java/hiddenapi.go",
    269         "java/hiddenapi_singleton.go",
    270         "java/jacoco.go",
    271         "java/java.go",
    272         "java/jdeps.go",
    273         "java/java_resources.go",
    274         "java/kotlin.go",
    275         "java/plugin.go",
    276         "java/prebuilt_apis.go",
    277         "java/proto.go",
    278         "java/sdk.go",
    279         "java/sdk_library.go",
    280         "java/support_libraries.go",
    281         "java/system_modules.go",
    282         "java/testing.go",
    283     ],
    284     testSrcs: [
    285         "java/app_test.go",
    286         "java/device_host_converter_test.go",
    287         "java/dexpreopt_test.go",
    288         "java/dexpreopt_bootjars_test.go",
    289         "java/java_test.go",
    290         "java/jdeps_test.go",
    291         "java/kotlin_test.go",
    292         "java/plugin_test.go",
    293         "java/sdk_test.go",
    294     ],
    295     pluginFor: ["soong_build"],
    296 }
    297 
    298 bootstrap_go_package {
    299     name: "soong-java-config",
    300     pkgPath: "android/soong/java/config",
    301     deps: [
    302         "blueprint-proptools",
    303         "soong-android",
    304     ],
    305     srcs: [
    306         "java/config/config.go",
    307         "java/config/error_prone.go",
    308         "java/config/kotlin.go",
    309         "java/config/makevars.go",
    310     ],
    311 }
    312 
    313 bootstrap_go_package {
    314     name: "soong-python",
    315     pkgPath: "android/soong/python",
    316     deps: [
    317         "blueprint",
    318         "soong-android",
    319         "soong-tradefed",
    320     ],
    321     srcs: [
    322         "python/androidmk.go",
    323         "python/binary.go",
    324         "python/builder.go",
    325         "python/defaults.go",
    326         "python/installer.go",
    327         "python/library.go",
    328         "python/proto.go",
    329         "python/python.go",
    330         "python/test.go",
    331     ],
    332     testSrcs: [
    333         "python/python_test.go",
    334     ],
    335     pluginFor: ["soong_build"],
    336 }
    337 
    338 bootstrap_go_package {
    339     name: "soong-shared",
    340     pkgPath: "android/soong/shared",
    341     srcs: [
    342         "shared/paths.go",
    343     ],
    344 }
    345 
    346 bootstrap_go_package {
    347     name: "soong-tradefed",
    348     pkgPath: "android/soong/tradefed",
    349     deps: [
    350         "blueprint",
    351         "soong-android",
    352     ],
    353     srcs: [
    354         "tradefed/autogen.go",
    355         "tradefed/config.go",
    356         "tradefed/makevars.go",
    357     ],
    358     pluginFor: ["soong_build"],
    359 }
    360 
    361 bootstrap_go_package {
    362     name: "soong-xml",
    363     pkgPath: "android/soong/xml",
    364     deps: [
    365         "blueprint",
    366         "blueprint-pathtools",
    367         "soong",
    368         "soong-android",
    369     ],
    370     srcs: [
    371         "xml/xml.go",
    372     ],
    373     testSrcs: [
    374         "xml/xml_test.go",
    375     ],
    376     pluginFor: ["soong_build"],
    377 }
    378 
    379 bootstrap_go_package {
    380     name: "soong-apex",
    381     pkgPath: "android/soong/apex",
    382     deps: [
    383         "blueprint",
    384         "soong",
    385         "soong-android",
    386         "soong-cc",
    387         "soong-java",
    388         "soong-python",
    389     ],
    390     srcs: [
    391         "apex/apex.go",
    392         "apex/key.go",
    393     ],
    394     testSrcs: [
    395         "apex/apex_test.go",
    396     ],
    397     pluginFor: ["soong_build"],
    398 }
    399 
    400 bootstrap_go_package {
    401     name: "soong-sysprop",
    402     pkgPath: "android/soong/sysprop",
    403     deps: [
    404         "blueprint",
    405         "soong",
    406         "soong-android",
    407         "soong-cc",
    408         "soong-java",
    409     ],
    410     srcs: [
    411         "sysprop/sysprop_library.go",
    412     ],
    413     testSrcs: [
    414         "sysprop/sysprop_test.go",
    415     ],
    416     pluginFor: ["soong_build"],
    417 }
    418 
    419 //
    420 // Defaults to enable various configurations of host bionic
    421 //
    422 
    423 cc_defaults {
    424     name: "linux_bionic_supported",
    425     host_supported: true,
    426     target: {
    427         host: {
    428             enabled: false,
    429         },
    430         linux_bionic: {
    431             enabled: true,
    432         },
    433     },
    434 }
    435 
    436 //
    437 // C static libraries extracted from the gcc toolchain
    438 //
    439 
    440 toolchain_library {
    441     name: "libatomic",
    442     defaults: ["linux_bionic_supported"],
    443     vendor_available: true,
    444     recovery_available: true,
    445 
    446     arch: {
    447         arm: {
    448             src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/arm-linux-androideabi/lib/libatomic.a",
    449         },
    450         arm64: {
    451             src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/lib64/libatomic.a",
    452         },
    453         x86: {
    454             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/lib/libatomic.a",
    455         },
    456         x86_64: {
    457             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/lib64/libatomic.a",
    458         },
    459     },
    460 }
    461 
    462 toolchain_library {
    463     name: "libgcc",
    464     defaults: ["linux_bionic_supported"],
    465     vendor_available: true,
    466     recovery_available: true,
    467 
    468     arch: {
    469         arm: {
    470             src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a",
    471         },
    472         arm64: {
    473             src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9.x/libgcc.a",
    474         },
    475         x86: {
    476             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/32/libgcc.a",
    477         },
    478         x86_64: {
    479             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/libgcc.a",
    480         },
    481     },
    482 }
    483 
    484 toolchain_library {
    485     name: "libgcc_stripped",
    486     defaults: ["linux_bionic_supported"],
    487     vendor_available: true,
    488     recovery_available: true,
    489 
    490     arch: {
    491         arm: {
    492             src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a",
    493             strip: {
    494                 keep_symbols_list: [
    495                     // unwind-arm.o
    496                     "_Unwind_Complete",
    497                     "_Unwind_DeleteException",
    498                     "_Unwind_GetCFA",
    499                     "_Unwind_VRS_Get",
    500                     "_Unwind_VRS_Pop",
    501                     "_Unwind_VRS_Set",
    502                     "__aeabi_unwind_cpp_pr0",
    503                     "__aeabi_unwind_cpp_pr1",
    504                     "__aeabi_unwind_cpp_pr2",
    505                     "__gnu_Unwind_Backtrace",
    506                     "__gnu_Unwind_ForcedUnwind",
    507                     "__gnu_Unwind_RaiseException",
    508                     "__gnu_Unwind_Resume",
    509                     "__gnu_Unwind_Resume_or_Rethrow",
    510 
    511                     // libunwind.o
    512                     "_Unwind_Backtrace",
    513                     "_Unwind_ForcedUnwind",
    514                     "_Unwind_RaiseException",
    515                     "_Unwind_Resume",
    516                     "_Unwind_Resume_or_Rethrow",
    517                     "___Unwind_Backtrace",
    518                     "___Unwind_ForcedUnwind",
    519                     "___Unwind_RaiseException",
    520                     "___Unwind_Resume",
    521                     "___Unwind_Resume_or_Rethrow",
    522                     "__gnu_Unwind_Restore_VFP",
    523                     "__gnu_Unwind_Restore_VFP_D",
    524                     "__gnu_Unwind_Restore_VFP_D_16_to_31",
    525                     "__gnu_Unwind_Restore_WMMXC",
    526                     "__gnu_Unwind_Restore_WMMXD",
    527                     "__gnu_Unwind_Save_VFP",
    528                     "__gnu_Unwind_Save_VFP_D",
    529                     "__gnu_Unwind_Save_VFP_D_16_to_31",
    530                     "__gnu_Unwind_Save_WMMXC",
    531                     "__gnu_Unwind_Save_WMMXD",
    532                     "__restore_core_regs",
    533                     "restore_core_regs",
    534 
    535                     // pr-support.o
    536                     "_Unwind_GetDataRelBase",
    537                     "_Unwind_GetLanguageSpecificData",
    538                     "_Unwind_GetRegionStart",
    539                     "_Unwind_GetTextRelBase",
    540                     "__gnu_unwind_execute",
    541                     "__gnu_unwind_frame",
    542                 ],
    543                 use_gnu_strip: true,
    544             },
    545         },
    546         arm64: {
    547             src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9.x/libgcc.a",
    548         },
    549         x86: {
    550             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/32/libgcc.a",
    551 
    552         },
    553         x86_64: {
    554             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/libgcc.a",
    555         },
    556     },
    557     strip: {
    558         keep_symbols_list: [
    559             // unwind-dw2.o
    560             "_Unwind_Backtrace",
    561             "_Unwind_DeleteException",
    562             "_Unwind_FindEnclosingFunction",
    563             "_Unwind_ForcedUnwind",
    564             "_Unwind_GetCFA",
    565             "_Unwind_GetDataRelBase",
    566             "_Unwind_GetGR",
    567             "_Unwind_GetIP",
    568             "_Unwind_GetIPInfo",
    569             "_Unwind_GetLanguageSpecificData",
    570             "_Unwind_GetRegionStart",
    571             "_Unwind_GetTextRelBase",
    572             "_Unwind_RaiseException",
    573             "_Unwind_Resume",
    574             "_Unwind_Resume_or_Rethrow",
    575             "_Unwind_SetGR",
    576             "_Unwind_SetIP",
    577             "__frame_state_for",
    578 
    579             // unwind-dw2-fde-dip.o
    580             "_Unwind_Find_FDE",
    581             "__deregister_frame",
    582             "__deregister_frame_info",
    583             "__deregister_frame_info_bases",
    584             "__register_frame",
    585             "__register_frame_info",
    586             "__register_frame_info_bases",
    587             "__register_frame_info_table",
    588             "__register_frame_info_table_bases",
    589             "__register_frame_table",
    590         ],
    591         use_gnu_strip: true,
    592     },
    593 }
    594 
    595 toolchain_library {
    596     name: "libwinpthread",
    597     host_supported: true,
    598     enabled: false,
    599     target: {
    600         windows: {
    601             enabled: true,
    602         },
    603         windows_x86: {
    604             src: "prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib32/libwinpthread.a",
    605         },
    606         windows_x86_64: {
    607             src: "prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib/libwinpthread.a",
    608         },
    609     },
    610     notice: ":mingw-libwinpthread-notice",
    611 }
    612 
    613 toolchain_library {
    614     name: "libgcov",
    615     defaults: ["linux_bionic_supported"],
    616 
    617     arch: {
    618         arm: {
    619             src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x/libgcov.a",
    620         },
    621         arm64: {
    622             src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9.x/libgcov.a",
    623         },
    624         x86: {
    625             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/32/libgcov.a",
    626         },
    627         x86_64: {
    628             src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/libgcov.a",
    629         },
    630     },
    631 }
    632 
    633 kernel_headers {
    634     name: "device_kernel_headers",
    635     vendor: true,
    636     recovery_available: true,
    637 }
    638 
    639 cc_genrule {
    640     name: "host_bionic_linker_asm",
    641     host_supported: true,
    642     device_supported: false,
    643     target: {
    644         linux_bionic: {
    645             enabled: true,
    646         },
    647         linux_glibc: {
    648             enabled: false,
    649         },
    650         darwin: {
    651             enabled: false,
    652         },
    653     },
    654     tools: ["extract_linker"],
    655     cmd: "$(location) -s $(out) $(in)",
    656     srcs: [":linker"],
    657     out: ["linker.s"],
    658 }
    659 
    660 cc_genrule {
    661     name: "host_bionic_linker_flags",
    662     host_supported: true,
    663     device_supported: false,
    664     target: {
    665         linux_bionic: {
    666             enabled: true,
    667         },
    668         linux_glibc: {
    669             enabled: false,
    670         },
    671         darwin: {
    672             enabled: false,
    673         },
    674     },
    675     tools: ["extract_linker"],
    676     cmd: "$(location) -f $(out) $(in)",
    677     srcs: [":linker"],
    678     out: ["linker.flags"],
    679 }
    680