Home | History | Annotate | Download | only in rs
      1 cc_library_headers {
      2     name: "rs-headers",
      3     export_include_dirs: ["."],
      4     sdk_version: "9",
      5 }
      6 
      7 cc_defaults {
      8     name: "rs_defaults",
      9     cflags: [
     10         "-Werror",
     11         "-Wall",
     12         "-Wextra",
     13         "-Wno-unused-parameter",
     14         "-Wno-unused-variable",
     15     ],
     16 }
     17 
     18 cc_library_shared {
     19     name: "libRSDriver",
     20     vendor_available: true,
     21     vndk: {
     22         enabled: true,
     23         support_system_process: true,
     24     },
     25     defaults: ["rs_defaults"],
     26 
     27     srcs: [
     28         "driver/rsdAllocation.cpp",
     29         "driver/rsdBcc.cpp",
     30         "driver/rsdCore.cpp",
     31         "driver/rsdElement.cpp",
     32         "driver/rsdFrameBuffer.cpp",
     33         "driver/rsdFrameBufferObj.cpp",
     34         "driver/rsdGL.cpp",
     35         "driver/rsdMesh.cpp",
     36         "driver/rsdMeshObj.cpp",
     37         "driver/rsdProgram.cpp",
     38         "driver/rsdProgramRaster.cpp",
     39         "driver/rsdProgramStore.cpp",
     40         "driver/rsdRuntimeStubs.cpp",
     41         "driver/rsdSampler.cpp",
     42         "driver/rsdScriptGroup.cpp",
     43         "driver/rsdShader.cpp",
     44         "driver/rsdShaderCache.cpp",
     45         "driver/rsdType.cpp",
     46         "driver/rsdVertexArray.cpp",
     47     ],
     48 
     49     shared_libs: [
     50         "libRS_internal",
     51         "libRSCpuRef",
     52 
     53         "liblog",
     54         "libEGL",
     55         "libGLESv1_CM",
     56         "libGLESv2",
     57 
     58         "libnativewindow",
     59 
     60         "libbcinfo",
     61     ],
     62 
     63     static_libs: ["libarect"],
     64 
     65     header_libs: [
     66         "libcutils_headers",
     67         "libutils_headers",
     68         "libnativebase_headers",
     69     ],
     70 
     71     product_variables: {
     72         pdk: {
     73             enabled: false,
     74         },
     75     },
     76 }
     77 
     78 // Build rsg-generator ====================
     79 
     80 cc_binary_host {
     81     name: "rsg-generator",
     82 
     83     srcs: [
     84         "spec.l",
     85         "rsg_generator.c",
     86     ],
     87 
     88     cflags: [
     89         "-Wall",
     90         "-Werror",
     91         "-Wno-error=unneeded-internal-declaration",
     92         "-Wno-error=unused-function",
     93         "-Wno-error=unused-variable",
     94     ],
     95 
     96     stl: "none",
     97     sanitize: {
     98         never: true,
     99     },
    100 }
    101 
    102 // Generate custom headers
    103 gensrcs {
    104     name: "rs_generated_headers",
    105     tools: ["rsg-generator"],
    106     tool_files: [
    107         "rs.spec",
    108         "rsg.spec",
    109     ],
    110     cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
    111     output_extension: "h",
    112     srcs: [
    113         "rsgApiStructs.h_rsg",
    114         "rsgApiFuncDecl.h_rsg",
    115     ],
    116     export_include_dirs: ["."],
    117 }
    118 
    119 gensrcs {
    120     name: "rs_generated_sources",
    121     tools: ["rsg-generator"],
    122     tool_files: [
    123         "rs.spec",
    124         "rsg.spec",
    125     ],
    126     cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
    127     output_extension: "cpp",
    128     srcs: [
    129         "rsgApi.cpp_rsg",
    130         "rsgApiReplay.cpp_rsg",
    131     ],
    132 }
    133 
    134 cc_library_shared {
    135     name: "libRS_internal",
    136     vendor_available: true,
    137     vndk: {
    138         enabled: true,
    139         support_system_process: true,
    140     },
    141     defaults: ["rs_defaults"],
    142 
    143     srcs: [
    144         "rsApiAllocation.cpp",
    145         "rsApiContext.cpp",
    146         "rsApiDevice.cpp",
    147         "rsApiElement.cpp",
    148         "rsApiFileA3D.cpp",
    149         "rsApiMesh.cpp",
    150         "rsApiType.cpp",
    151         "rsAllocation.cpp",
    152         "rsAnimation.cpp",
    153         "rsComponent.cpp",
    154         "rsContext.cpp",
    155         "rsClosure.cpp",
    156         "rsCppUtils.cpp",
    157         "rsDevice.cpp",
    158         "rsDriverLoader.cpp",
    159         "rsElement.cpp",
    160         "rsFBOCache.cpp",
    161         "rsFifoSocket.cpp",
    162         "rsFileA3D.cpp",
    163         "rsFont.cpp",
    164         "rsGrallocConsumer.cpp",
    165         "rsObjectBase.cpp",
    166         "rsMatrix2x2.cpp",
    167         "rsMatrix3x3.cpp",
    168         "rsMatrix4x4.cpp",
    169         "rsMesh.cpp",
    170         "rsMutex.cpp",
    171         "rsProgram.cpp",
    172         "rsProgramFragment.cpp",
    173         "rsProgramStore.cpp",
    174         "rsProgramRaster.cpp",
    175         "rsProgramVertex.cpp",
    176         "rsSampler.cpp",
    177         "rsScript.cpp",
    178         "rsScriptC.cpp",
    179         "rsScriptC_Lib.cpp",
    180         "rsScriptC_LibGL.cpp",
    181         "rsScriptGroup.cpp",
    182         "rsScriptGroup2.cpp",
    183         "rsScriptIntrinsic.cpp",
    184         "rsSignal.cpp",
    185         "rsStream.cpp",
    186         "rsThreadIO.cpp",
    187         "rsType.cpp",
    188     ],
    189 
    190     generated_sources: ["rs_generated_sources"],
    191     generated_headers: ["rs_generated_headers"],
    192 
    193     shared_libs: [
    194         "liblog",
    195         "libutilscallstack",
    196         "libutils",
    197         "libEGL",
    198         "libGLESv1_CM",
    199         "libGLESv2",
    200 
    201         "libdl",
    202         "libnativewindow",
    203 
    204         "libft2",
    205 
    206         "libbcinfo",
    207         "libmediandk",
    208     ],
    209 
    210     static_libs: ["libarect"],
    211 
    212     // These runtime modules, including libcompiler_rt.so, are required for
    213     // RenderScript.
    214     required: [
    215         "libclcore.bc",
    216         "libclcore_debug.bc",
    217         "libclcore_debug_g.bc",
    218         "libclcore_g.bc",
    219         "libcompiler_rt",
    220     ],
    221 
    222     arch: {
    223         x86: {
    224             required: ["libclcore_x86.bc"],
    225         },
    226         x86_64: {
    227             required: ["libclcore_x86.bc"],
    228         },
    229 
    230         arm: {
    231             neon: {
    232                 required: ["libclcore_neon.bc"],
    233             },
    234         },
    235     },
    236 
    237     product_variables: {
    238         override_rs_driver: {
    239             cflags: ["-DOVERRIDE_RS_DRIVER=%s"],
    240         },
    241         pdk: {
    242             enabled: false,
    243         },
    244     },
    245 }
    246 
    247 cc_library_shared {
    248     name: "libRS",
    249     defaults: ["rs_defaults"],
    250     srcs: [
    251         "rsApiStubs.cpp",
    252         "rsHidlAdaptation.cpp",
    253         "rsFallbackAdaptation.cpp",
    254     ],
    255 
    256     // Default CPU fallback
    257     required: [
    258         "libRS_internal",
    259         "libRSDriver",
    260         "libRSCacheDir",
    261     ],
    262 
    263     // Treble configuration
    264     shared_libs: [
    265         "libhidlbase",
    266         "libhidltransport",
    267         "libhwbinder",
    268         "libutilscallstack",
    269         "libutils",
    270         "android.hardware.renderscript (a] 1.0",
    271 
    272         "liblog",
    273         "libcutils",
    274     ],
    275 
    276     product_variables: {
    277         pdk: {
    278             enabled: false,
    279         },
    280     },
    281 
    282     static_libs: ["libRSDispatch"],
    283 
    284     version_script: "libRS.map",
    285 }
    286 
    287 llndk_library {
    288     name: "libRS",
    289     symbol_file: "libRS.map",
    290 }
    291 
    292 cc_library_shared {
    293     name: "libRSCacheDir",
    294     defaults: ["rs_defaults"],
    295 
    296     srcs: ["rsCacheDir.cpp"],
    297     shared_libs: [
    298         "libandroid_runtime",
    299         "liblog",
    300     ],
    301 
    302     product_variables: {
    303         pdk: {
    304             enabled: false,
    305         },
    306     },
    307 }
    308 
    309 build = [
    310     "support.bp",
    311 ]
    312 
    313 subdirs = [
    314     "cpp",
    315     "cpu_ref",
    316     "script_api",
    317     "support",
    318 ]
    319