提交 d731ee77 编写于 作者: S Simon Fels

Install and load our translator libraries on startup

上级 a14366c4
...@@ -2,6 +2,7 @@ project(anbox C CXX) ...@@ -2,6 +2,7 @@ project(anbox C CXX)
cmake_minimum_required(VERSION 2.8.2) cmake_minimum_required(VERSION 2.8.2)
include(CTest) include(CTest)
include(GNUInstallDirs)
if (NOT CMAKE_BUILD_TYPE) if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to release") message(STATUS "No build type selected, default to release")
...@@ -92,6 +93,9 @@ add_subdirectory(${GMOCK_SOURCE_DIR} "${CMAKE_CURRENT_BINARY_DIR}/gmock") ...@@ -92,6 +93,9 @@ add_subdirectory(${GMOCK_SOURCE_DIR} "${CMAKE_CURRENT_BINARY_DIR}/gmock")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fPIC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fPIC")
set(ANBOX_TRANSLATOR_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/anbox/translators)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTRANSLATOR_INSTALL_DIR=\\\"${CMAKE_INSTALL_PREFIX}/${ANBOX_TRANSLATOR_INSTALL_DIR}\\\"")
add_subdirectory(external) add_subdirectory(external)
add_subdirectory(src) add_subdirectory(src)
add_subdirectory(tests) add_subdirectory(tests)
......
...@@ -24,3 +24,7 @@ target_link_libraries(EGL_translator ...@@ -24,3 +24,7 @@ target_link_libraries(EGL_translator
${EGL_LIBRARIES} ${EGL_LIBRARIES}
${GLESv2_LDFLAGS} ${GLESv2_LDFLAGS}
${GLESv2_LIBRARIES}) ${GLESv2_LIBRARIES})
install(
TARGETS EGL_translator
LIBRARY DESTINATION ${ANBOX_TRANSLATOR_INSTALL_DIR})
...@@ -6,3 +6,7 @@ set(SOURCES ...@@ -6,3 +6,7 @@ set(SOURCES
add_library(GLES_CM_translator SHARED ${SOURCES}) add_library(GLES_CM_translator SHARED ${SOURCES})
target_link_libraries(GLES_CM_translator GLcommon) target_link_libraries(GLES_CM_translator GLcommon)
install(
TARGETS GLES_CM_translator
LIBRARY DESTINATION ${ANBOX_TRANSLATOR_INSTALL_DIR})
...@@ -7,3 +7,7 @@ set(SOURCES ...@@ -7,3 +7,7 @@ set(SOURCES
add_library(GLES_V2_translator SHARED ${SOURCES}) add_library(GLES_V2_translator SHARED ${SOURCES})
target_link_libraries(GLES_V2_translator GLcommon) target_link_libraries(GLES_V2_translator GLcommon)
install(
TARGETS GLES_V2_translator
LIBRARY DESTINATION ${ANBOX_TRANSLATOR_INSTALL_DIR})
...@@ -30,10 +30,16 @@ namespace graphics { ...@@ -30,10 +30,16 @@ namespace graphics {
GLRendererServer::GLRendererServer(const std::shared_ptr<WindowCreator> &window_creator) : GLRendererServer::GLRendererServer(const std::shared_ptr<WindowCreator> &window_creator) :
window_creator_(window_creator) { window_creator_(window_creator) {
#if 0
// Force the host EGL/GLES libraries as translator implementation // Force the host EGL/GLES libraries as translator implementation
::setenv("ANDROID_EGL_LIB", "libEGL.so.1", 0); ::setenv("ANDROID_EGL_LIB", "libEGL.so.1", 0);
::setenv("ANDROID_GLESv1_LIB", "libGLESv2.so.2", 0); ::setenv("ANDROID_GLESv1_LIB", "libGLESv2.so.2", 0);
::setenv("ANDROID_GLESv2_LIB", "libGLESv2.so.2", 0); ::setenv("ANDROID_GLESv2_LIB", "libGLESv2.so.2", 0);
#else
::setenv("ANDROID_EGL_LIB", utils::string_format("%s/libEGL_translator.so", TRANSLATOR_INSTALL_DIR).c_str(), 0);
::setenv("ANDROID_GLESv1_LIB", utils::string_format("%s/libGLES_CM_translator.so", TRANSLATOR_INSTALL_DIR).c_str(), 0);
::setenv("ANDROID_GLESv2_LIB", utils::string_format("%s/libGLES_V2_translator.so", TRANSLATOR_INSTALL_DIR).c_str(), 0);
#endif
if (!initLibrary()) if (!initLibrary())
BOOST_THROW_EXCEPTION(std::runtime_error("Failed to initialize OpenGL renderer")); BOOST_THROW_EXCEPTION(std::runtime_error("Failed to initialize OpenGL renderer"));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册