Home | History | Annotate | Download | only in libs
      1 // Build the ETC1 library
      2 cc_library {
      3     name: "libETC1",
      4     srcs: ["ETC1/etc1.cpp"],
      5     host_supported: true,
      6     cflags: ["-Wall", "-Werror"],
      7 
      8     target: {
      9         android: {
     10             static: {
     11                 enabled: false,
     12             },
     13         },
     14         host: {
     15             shared: {
     16                 enabled: false,
     17             },
     18         },
     19         windows: {
     20             enabled: true,
     21         },
     22     },
     23 }
     24 
     25 // The headers modules are in frameworks/native/opengl/Android.bp.
     26 ndk_library {
     27     name: "libEGL",
     28     symbol_file: "libEGL.map.txt",
     29     first_version: "9",
     30     unversioned_until: "current",
     31 }
     32 
     33 ndk_library {
     34     name: "libGLESv1_CM",
     35     symbol_file: "libGLESv1_CM.map.txt",
     36     first_version: "9",
     37     unversioned_until: "current",
     38 }
     39 
     40 ndk_library {
     41     name: "libGLESv2",
     42     symbol_file: "libGLESv2.map.txt",
     43     first_version: "9",
     44     unversioned_until: "current",
     45 }
     46 
     47 ndk_library {
     48     name: "libGLESv3",
     49     symbol_file: "libGLESv3.map.txt",
     50     first_version: "18",
     51     unversioned_until: "current",
     52 }
     53 
     54 cc_defaults {
     55     name: "gl_libs_defaults",
     56     cflags: [
     57         "-DGL_GLEXT_PROTOTYPES",
     58         "-DEGL_EGLEXT_PROTOTYPES",
     59         "-fvisibility=hidden",
     60         "-Wall",
     61         "-Werror",
     62         "-Wno-unused-variable",
     63     ],
     64     shared_libs: [
     65         // ***** DO NOT ADD NEW DEPENDENCIES HERE *****
     66         // In particular, DO NOT add libutils or anything "above" libcutils
     67         "libcutils",
     68         "liblog",
     69         "libdl",
     70     ],
     71     static_libs: [
     72         "libarect",
     73     ],
     74     header_libs: [
     75         "gl_headers",
     76         "libsystem_headers",
     77         "libhardware_headers",
     78         "libnativebase_headers",
     79     ],
     80     export_header_lib_headers: ["gl_headers"],
     81 
     82     // we need to access the private Bionic header <bionic_tls.h>
     83     include_dirs: ["bionic/libc/private"],
     84 }
     85 
     86 //##############################################################################
     87 // Build META EGL library
     88 //
     89 cc_defaults {
     90     name: "egl_libs_defaults",
     91     defaults: ["gl_libs_defaults"],
     92     cflags: [
     93         "-DLOG_TAG=\"libEGL\"",
     94         "-Wall",
     95         "-Werror",
     96         "-Wno-error=deprecated-register",
     97         "-Wno-error=unknown-attributes",
     98         "-Wno-unused-variable",
     99     ],
    100     shared_libs: [
    101         // ***** DO NOT ADD NEW DEPENDENCIES HERE *****
    102         // In particular, DO NOT add libutils nor anything "above" libui
    103         "libgraphicsenv",
    104         "libnativewindow",
    105         "libbacktrace",
    106     ],
    107     target: {
    108         vendor: {
    109             exclude_shared_libs: ["libgraphicsenv"],
    110         },
    111     },
    112 }
    113 
    114 cc_library_static {
    115     name: "libEGL_getProcAddress",
    116     defaults: ["egl_libs_defaults"],
    117     srcs: ["EGL/getProcAddress.cpp"],
    118     arch: {
    119         arm: {
    120             instruction_set: "arm",
    121         },
    122     },
    123 }
    124 
    125 cc_library_static {
    126     name: "libEGL_blobCache",
    127     defaults: ["egl_libs_defaults"],
    128     srcs: [
    129         "EGL/BlobCache.cpp",
    130         "EGL/FileBlobCache.cpp",
    131     ],
    132     export_include_dirs: ["EGL"],
    133 }
    134 
    135 cc_library_shared {
    136     name: "libEGL",
    137     defaults: ["egl_libs_defaults"],
    138     srcs: [
    139         "EGL/egl_tls.cpp",
    140         "EGL/egl_cache.cpp",
    141         "EGL/egl_display.cpp",
    142         "EGL/egl_object.cpp",
    143         "EGL/egl.cpp",
    144         "EGL/eglApi.cpp",
    145         "EGL/Loader.cpp",
    146     ],
    147     shared_libs: [
    148         "libvndksupport",
    149         "android.hardware.configstore (a] 1.0",
    150         "android.hardware.configstore-utils",
    151         "libhidlbase",
    152         "libhidltransport",
    153         "libutils",
    154     ],
    155     static_libs: [
    156         "libEGL_getProcAddress",
    157         "libEGL_blobCache",
    158     ],
    159     ldflags: ["-Wl,--exclude-libs=ALL"],
    160     export_include_dirs: ["EGL/include"],
    161 }
    162 
    163 cc_test {
    164     name: "libEGL_test",
    165     defaults: ["egl_libs_defaults"],
    166     srcs: [
    167         "EGL/BlobCache.cpp",
    168         "EGL/BlobCache_test.cpp",
    169     ],
    170 }
    171 
    172 cc_defaults {
    173     name: "gles_libs_defaults",
    174     defaults: ["gl_libs_defaults"],
    175     arch: {
    176         arm: {
    177             instruction_set: "arm",
    178 
    179             // TODO: This is to work around b/20093774. Remove after root cause is fixed
    180             ldflags: ["-Wl,--hash-style,both"],
    181         },
    182     },
    183     shared_libs: ["libEGL"],
    184 }
    185 
    186 //##############################################################################
    187 // Build the wrapper OpenGL ES 1.x library
    188 //
    189 cc_library_shared {
    190     name: "libGLESv1_CM",
    191     defaults: ["gles_libs_defaults"],
    192     srcs: ["GLES_CM/gl.cpp"],
    193     cflags: ["-DLOG_TAG=\"libGLESv1\""],
    194 }
    195 
    196 //##############################################################################
    197 // Build the wrapper OpenGL ES 2.x library
    198 //
    199 cc_library_shared {
    200     name: "libGLESv2",
    201     defaults: ["gles_libs_defaults"],
    202     srcs: ["GLES2/gl2.cpp"],
    203     cflags: ["-DLOG_TAG=\"libGLESv2\""],
    204 }
    205 
    206 //##############################################################################
    207 // Build the wrapper OpenGL ES 3.x library (this is just different name for v2)
    208 //
    209 cc_library_shared {
    210     name: "libGLESv3",
    211     defaults: ["gles_libs_defaults"],
    212     srcs: ["GLES2/gl2.cpp"],
    213     cflags: ["-DLOG_TAG=\"libGLESv3\""],
    214 }
    215