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     // Bug: http://b/77445194 - Disable x86 asan where rsdRuntimeStubs.cpp has
     78     // undefined reference to half-conversion routines (__gnu_h2f_ieee,
     79     // __gnu_f2h_ieee).
     80     arch: {
     81         x86: {
     82             sanitize: {
     83                 never: true,
     84             },
     85         },
     86     },
     87 }
     88 
     89 // Build rsg-generator ====================
     90 
     91 cc_binary_host {
     92     name: "rsg-generator",
     93 
     94     srcs: [
     95         "spec.l",
     96         "rsg_generator.c",
     97     ],
     98 
     99     cflags: [
    100         "-Wno-unused-function",
    101     ],
    102 
    103     stl: "none",
    104     sanitize: {
    105         never: true,
    106     },
    107 }
    108 
    109 // Generate custom headers
    110 gensrcs {
    111     name: "rs_generated_headers",
    112     tools: ["rsg-generator"],
    113     tool_files: [
    114         "rs.spec",
    115         "rsg.spec",
    116     ],
    117     cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
    118     output_extension: "h",
    119     srcs: [
    120         "rsgApiStructs.h_rsg",
    121         "rsgApiFuncDecl.h_rsg",
    122     ],
    123     export_include_dirs: ["."],
    124 }
    125 
    126 gensrcs {
    127     name: "rs_generated_sources",
    128     tools: ["rsg-generator"],
    129     tool_files: [
    130         "rs.spec",
    131         "rsg.spec",
    132     ],
    133     cmd: "cat $(location rs.spec) $(location rsg.spec) | $(location rsg-generator) $(in) $(out)",
    134     output_extension: "cpp",
    135     srcs: [
    136         "rsgApi.cpp_rsg",
    137         "rsgApiReplay.cpp_rsg",
    138     ],
    139 }
    140 
    141 cc_library_shared {
    142     name: "libRS_internal",
    143     vendor_available: true,
    144     vndk: {
    145         enabled: true,
    146         support_system_process: true,
    147     },
    148     defaults: ["rs_defaults"],
    149 
    150     srcs: [
    151         "rsApiAllocation.cpp",
    152         "rsApiContext.cpp",
    153         "rsApiDevice.cpp",
    154         "rsApiElement.cpp",
    155         "rsApiFileA3D.cpp",
    156         "rsApiMesh.cpp",
    157         "rsApiType.cpp",
    158         "rsAllocation.cpp",
    159         "rsAnimation.cpp",
    160         "rsComponent.cpp",
    161         "rsContext.cpp",
    162         "rsClosure.cpp",
    163         "rsCppUtils.cpp",
    164         "rsDevice.cpp",
    165         "rsDriverLoader.cpp",
    166         "rsElement.cpp",
    167         "rsFBOCache.cpp",
    168         "rsFifoSocket.cpp",
    169         "rsFileA3D.cpp",
    170         "rsFont.cpp",
    171         "rsGrallocConsumer.cpp",
    172         "rsObjectBase.cpp",
    173         "rsMatrix2x2.cpp",
    174         "rsMatrix3x3.cpp",
    175         "rsMatrix4x4.cpp",
    176         "rsMesh.cpp",
    177         "rsMutex.cpp",
    178         "rsProgram.cpp",
    179         "rsProgramFragment.cpp",
    180         "rsProgramStore.cpp",
    181         "rsProgramRaster.cpp",
    182         "rsProgramVertex.cpp",
    183         "rsSampler.cpp",
    184         "rsScript.cpp",
    185         "rsScriptC.cpp",
    186         "rsScriptC_Lib.cpp",
    187         "rsScriptC_LibGL.cpp",
    188         "rsScriptGroup.cpp",
    189         "rsScriptGroup2.cpp",
    190         "rsScriptIntrinsic.cpp",
    191         "rsSignal.cpp",
    192         "rsStream.cpp",
    193         "rsThreadIO.cpp",
    194         "rsType.cpp",
    195     ],
    196 
    197     generated_sources: ["rs_generated_sources"],
    198     generated_headers: ["rs_generated_headers"],
    199 
    200     shared_libs: [
    201         "liblog",
    202         "libutilscallstack",
    203         "libutils",
    204         "libEGL",
    205         "libGLESv1_CM",
    206         "libGLESv2",
    207 
    208         "libdl",
    209         "libnativewindow",
    210 
    211         "libft2",
    212 
    213         "libbcinfo",
    214         "libmediandk",
    215     ],
    216 
    217     static_libs: ["libarect"],
    218 
    219     // These runtime modules, including libcompiler_rt.so, are required for
    220     // RenderScript.
    221     required: [
    222         "libclcore.bc",
    223         "libclcore_debug.bc",
    224         "libclcore_debug_g.bc",
    225         "libclcore_g.bc",
    226         "libcompiler_rt",
    227     ],
    228 
    229     arch: {
    230         x86: {
    231             required: ["libclcore_x86.bc"],
    232         },
    233         x86_64: {
    234             required: ["libclcore_x86.bc"],
    235         },
    236 
    237         arm: {
    238             neon: {
    239                 required: ["libclcore_neon.bc"],
    240             },
    241         },
    242     },
    243 
    244     product_variables: {
    245         override_rs_driver: {
    246             cflags: ["-DOVERRIDE_RS_DRIVER=%s"],
    247         },
    248         pdk: {
    249             enabled: false,
    250         },
    251     },
    252 }
    253 
    254 cc_library_shared {
    255     name: "libRS",
    256     defaults: ["rs_defaults"],
    257     srcs: [
    258         "rsApiStubs.cpp",
    259         "rsHidlAdaptation.cpp",
    260         "rsFallbackAdaptation.cpp",
    261     ],
    262 
    263     // Default CPU fallback
    264     required: [
    265         "libRS_internal",
    266         "libRSDriver",
    267         "libRSCacheDir",
    268     ],
    269 
    270     // Treble configuration
    271     shared_libs: [
    272         "libhidlbase",
    273         "libhidltransport",
    274         "libhwbinder",
    275         "libutilscallstack",
    276         "libutils",
    277         "android.hardware.renderscript (a] 1.0",
    278 
    279         "liblog",
    280         "libcutils",
    281     ],
    282 
    283     product_variables: {
    284         pdk: {
    285             enabled: false,
    286         },
    287     },
    288 
    289     static_libs: ["libRSDispatch"],
    290 
    291     version_script: "libRS.map",
    292 }
    293 
    294 llndk_library {
    295     name: "libRS",
    296     symbol_file: "libRS.map",
    297 }
    298 
    299 cc_library_shared {
    300     name: "libRSCacheDir",
    301     defaults: ["rs_defaults"],
    302 
    303     srcs: ["rsCacheDir.cpp"],
    304     shared_libs: [
    305         "libandroid_runtime",
    306         "liblog",
    307     ],
    308 
    309     product_variables: {
    310         pdk: {
    311             enabled: false,
    312         },
    313     },
    314 }
    315 
    316 build = [
    317     "support.bp",
    318 ]
    319 
    320 subdirs = [
    321     "cpp",
    322     "cpu_ref",
    323     "script_api",
    324     "support",
    325 ]
    326