platform_frameworks_native/opengl/Android.bp
Jiyong Park 00b15b8f22 Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK
They are used by libRSDriver and libRS_internal which are VNDK-SP
libraries. Therefore, the EGL/GLES libs must be LLNDK or VNDK-SP. We
choose to make them as LLNDK since they already have stable ABIs (as
they are NDK).

In addition, two more functions of libEGL are exposed to vendors

eglQueryStringImplementationANDROID and eglDupNativeFenceFDANDROID are
non-NDK symbols but are being used by libgui, which is a library marked
with vendor_available:true. In order to provide the symbols to the
library, they are added to the map.txt file and tagged as "# vndk" so
that they are exposed only when built for vendor libs (and hidden when
built for NDK).

Furthermore, eglQueryStringImplementationANDROID is changed to C-symbol
in order to be mentioned in the map.txt file, where C++ mangled symbol
name can't be used.

Bug: 64425518
Test: BOARD_VNDK_VERSION=current m -j libRSDriver.vendor
Test: BOARD_VNDK_VERSION=current m -j libRS_internal.vendor
Change-Id: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1
2017-08-11 10:08:54 +09:00

87 lines
2 KiB
Text

// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
ndk_headers {
name: "libEGL_headers",
from: "include",
to: "",
srcs: ["include/EGL/**/*.h"],
license: "include/EGL/NOTICE",
}
ndk_headers {
name: "libGLESv1_CM_headers",
from: "include",
to: "",
srcs: ["include/GLES/**/*.h"],
license: "include/GLES/NOTICE",
}
ndk_headers {
name: "libGLESv2_headers",
from: "include",
to: "",
srcs: ["include/GLES2/**/*.h"],
license: "include/GLES2/NOTICE",
}
ndk_headers {
name: "libGLESv3_headers",
from: "include",
to: "",
srcs: ["include/GLES3/**/*.h"],
license: "include/GLES3/NOTICE",
}
ndk_headers {
name: "khr_headers",
from: "include",
to: "",
srcs: ["include/KHR/**/*.h"],
license: "include/KHR/NOTICE",
}
llndk_library {
name: "libEGL",
symbol_file: "libs/libEGL.map.txt",
export_include_dirs: ["include"],
}
llndk_library {
name: "libGLESv1_CM",
symbol_file: "libs/libGLESv1_CM.map.txt",
export_include_dirs: ["include"],
}
llndk_library {
name: "libGLESv2",
symbol_file: "libs/libGLESv2.map.txt",
export_include_dirs: ["include"],
}
llndk_library {
name: "libGLESv3",
symbol_file: "libs/libGLESv3.map.txt",
export_include_dirs: ["include"],
}
cc_library_headers {
name: "gl_headers",
vendor_available: true,
export_include_dirs: ["include"],
}
subdirs = [
"*",
]