From 88993b9420d018551f2729842d4da3afb07bd0a2 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Thu, 1 Aug 2024 20:12:14 +0200 Subject: [PATCH] Bump NDK version to 27.0.12077973, replace `ALooper_pollAll` with `ALooper_pollOnce` (#2663) --- CMakeLists.txt | 9 ++++++++- platform/android/gradle/dependencies.gradle | 2 +- platform/android/src/example_custom_layer.cpp | 16 ++++++++-------- platform/android/src/run_loop.cpp | 5 ++++- platform/default/BUILD.bazel | 13 ++++++++++++- platform/default/src/mbgl/util/utf.cpp | 5 ----- 6 files changed, 33 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dd29edc50..3de77415f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1297,6 +1297,13 @@ if (MLN_WITH_CLANG_TIDY) set_target_properties(mbgl-core PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}") endif() +set_source_files_properties( + ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/util/utf.cpp + PROPERTIES + COMPILE_FLAGS + $<$,$>:-Wno-deprecated-declarations> +) + source_group(TREE ${PROJECT_SOURCE_DIR}/include FILES ${INCLUDE_FILES}) source_group(TREE ${PROJECT_SOURCE_DIR}/src FILES ${SRC_FILES}) @@ -1452,4 +1459,4 @@ endif() add_subdirectory(${PROJECT_SOURCE_DIR}/test) add_subdirectory(${PROJECT_SOURCE_DIR}/benchmark) -add_subdirectory(${PROJECT_SOURCE_DIR}/render-test) +add_subdirectory(${PROJECT_SOURCE_DIR}/render-test) \ No newline at end of file diff --git a/platform/android/gradle/dependencies.gradle b/platform/android/gradle/dependencies.gradle index 009f73b20..c8f0a0bd2 100644 --- a/platform/android/gradle/dependencies.gradle +++ b/platform/android/gradle/dependencies.gradle @@ -1,6 +1,6 @@ ext { androidSdkVersions = [ - ndkVersion : '25.1.8937393', + ndkVersion : '27.0.12077973', cmakeVersion : '3.18.1+', ] } diff --git a/platform/android/src/example_custom_layer.cpp b/platform/android/src/example_custom_layer.cpp index 535c7c39b..4ac033308 100644 --- a/platform/android/src/example_custom_layer.cpp +++ b/platform/android/src/example_custom_layer.cpp @@ -92,10 +92,10 @@ void checkLinkStatus(GLuint program) { if (isLinked == GL_FALSE) { GLint maxLength = 0; glGetProgramiv(program, GL_INFO_LOG_LENGTH, &maxLength); - GLchar infoLog[maxLength]; - glGetProgramInfoLog(program, maxLength, &maxLength, &infoLog[0]); - __android_log_write(ANDROID_LOG_ERROR, LOG_TAG, &infoLog[0]); - throw Error(infoLog); + std::vector infoLog(maxLength); + glGetProgramInfoLog(program, maxLength, &maxLength, infoLog.data()); + __android_log_write(ANDROID_LOG_ERROR, LOG_TAG, infoLog.data()); + throw Error(std::string(infoLog.begin(), infoLog.end())); } } @@ -107,10 +107,10 @@ void checkCompileStatus(GLuint shader) { glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &maxLength); // The maxLength includes the NULL character - GLchar errorLog[maxLength]; - glGetShaderInfoLog(shader, maxLength, &maxLength, &errorLog[0]); - __android_log_write(ANDROID_LOG_ERROR, LOG_TAG, &errorLog[0]); - throw Error(errorLog); + std::vector errorLog(maxLength); + glGetShaderInfoLog(shader, maxLength, &maxLength, errorLog.data()); + __android_log_write(ANDROID_LOG_ERROR, LOG_TAG, errorLog.data()); + throw Error(std::string(errorLog.begin(), errorLog.end())); } } diff --git a/platform/android/src/run_loop.cpp b/platform/android/src/run_loop.cpp index c7efe9e0d..71d5b759e 100644 --- a/platform/android/src/run_loop.cpp +++ b/platform/android/src/run_loop.cpp @@ -269,7 +269,10 @@ void RunLoop::run() { while (impl->running) { process(); auto timeout = impl->processRunnables().count(); - ALooper_pollAll(timeout, &outFd, &outEvents, reinterpret_cast(&outData)); + auto result = ALooper_pollOnce(timeout, &outFd, &outEvents, reinterpret_cast(&outData)); + if (result == ALOOPER_POLL_ERROR) { + throw std::runtime_error("ALooper_pollOnce returned an error"); + } } } diff --git a/platform/default/BUILD.bazel b/platform/default/BUILD.bazel index 078e3b05d..bb1dfd357 100644 --- a/platform/default/BUILD.bazel +++ b/platform/default/BUILD.bazel @@ -25,6 +25,17 @@ cc_library( ], ) +cc_library( + name = "utf_conversion", + srcs = ["src/mbgl/util/utf.cpp"], + copts = CPP_FLAGS + MAPLIBRE_FLAGS + [ + "-Wno-deprecated-declarations", + ], + deps = [ + "//:mbgl-core", + ], +) + # From: platform/ios/core-files.json # Mostly platform/default cc_library( @@ -53,7 +64,6 @@ cc_library( "src/mbgl/util/monotonic_timer.cpp", "src/mbgl/util/png_writer.cpp", "src/mbgl/util/thread_local.cpp", - "src/mbgl/util/utf.cpp", ] + select({ "//:metal_renderer": ["src/mbgl/mtl/headless_backend.cpp"], "//conditions:default": ["src/mbgl/gl/headless_backend.cpp"], @@ -125,6 +135,7 @@ cc_library( "//test:__pkg__", ], deps = [ + ":utf_conversion", "//:mbgl-core", ] + select({ "@platforms//os:ios": [ diff --git a/platform/default/src/mbgl/util/utf.cpp b/platform/default/src/mbgl/util/utf.cpp index 859cf9b12..badf97b6a 100644 --- a/platform/default/src/mbgl/util/utf.cpp +++ b/platform/default/src/mbgl/util/utf.cpp @@ -6,9 +6,6 @@ namespace mbgl { namespace util { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - std::u16string convertUTF8ToUTF16(const std::string& str) { std::wstring_convert, char16_t> conv; @@ -21,7 +18,5 @@ std::string convertUTF16ToUTF8(const std::u16string& str) { return conv.to_bytes(str); } -#pragma GCC diagnostic pop - } // namespace util } // namespace mbgl