Home | History | Annotate | Download | only in mcld
      1 // Collect target specific code generation libraries
      2 MCLD_ARM_LIBS = [
      3     "libmcldARMTarget",
      4     "libmcldARMInfo",
      5 ]
      6 MCLD_AARCH64_LIBS = [
      7     "libmcldAArch64Target",
      8     "libmcldAArch64Info",
      9 ]
     10 MCLD_MIPS_LIBS = [
     11     "libmcldMipsTarget",
     12     "libmcldMipsInfo",
     13 ]
     14 MCLD_X86_LIBS = [
     15     "libmcldX86Target",
     16     "libmcldX86Info",
     17 ]
     18 
     19 // Build Options.inc from Options.td
     20 llvm_tblgen {
     21     name: "mcld-gen-options",
     22     in: "Options.td",
     23     outs: ["Options.inc"],
     24 }
     25 
     26 cc_binary {
     27     name: "ld.mc",
     28     defaults: ["mcld-defaults"],
     29     host_supported: true,
     30     generated_headers: ["mcld-gen-options"],
     31 
     32     srcs: ["Main.cpp"],
     33 
     34     // arch-specific static libraries depend on libmcldTarget.
     35     // Can be removed once soong supports transitive static library dependencies
     36     group_static_libs: true,
     37     static_libs: [
     38         "libmcldADT",
     39         "libmcldCore",
     40         "libmcldFragment",
     41         "libmcldLD",
     42         "libmcldLDVariant",
     43         "libmcldMC",
     44         "libmcldObject",
     45         "libmcldScript",
     46         "libmcldSupport",
     47         "libmcldTarget",
     48     ],
     49 
     50     shared_libs: [
     51         "libLLVM_android",
     52         "libz",
     53     ],
     54 
     55     target: {
     56         host: {
     57             static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS +
     58                 MCLD_MIPS_LIBS + MCLD_X86_LIBS,
     59         },
     60 
     61         // Add target specific code generation libraries
     62         android_arm: {
     63             static_libs: MCLD_ARM_LIBS,
     64         },
     65         android_arm64: {
     66             // Include ARM libs to enable 32-bit linking on AARCH64 targets
     67             static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
     68         },
     69         android_mips: {
     70             static_libs: MCLD_MIPS_LIBS,
     71         },
     72         android_mips64: {
     73             static_libs: MCLD_MIPS_LIBS,
     74         },
     75         android_x86: {
     76             static_libs: MCLD_X86_LIBS,
     77         },
     78         android_x86_64: {
     79             static_libs: MCLD_X86_LIBS,
     80         },
     81         arm_on_x86: {
     82             static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
     83         },
     84         arm_on_x86_64: {
     85             static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
     86         },
     87     },
     88 }
     89