From 3f80d37364e5bd9646e332be1d2a1f537a9ad10c Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sun, 28 Mar 2021 15:01:33 +0800 Subject: [PATCH] [core] Move riru definitions from cmake to gradle (#422) --- core/build.gradle.kts | 41 ++++++++++++++----- core/src/main/cpp/CMakeLists.txt | 8 ---- .../main/cpp/external/yahfa/CMakeLists.txt | 4 +- 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 205362fb..e0671db0 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -65,7 +65,6 @@ val verName: String by rootProject.extra dependencies { implementation("dev.rikka.ndk:riru:${moduleMinRiruVersionName}") -// implementation(files("libs/dobby_prefab.aar")) implementation("com.android.tools.build:apksig:4.1.3") compileOnly(project(":hiddenapi-stubs")) compileOnly("androidx.annotation:annotation:1.2.0") @@ -92,15 +91,21 @@ android { externalNativeBuild { cmake { abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64") - cppFlags("-std=c++20 -ffixed-x18 -Qunused-arguments -fno-rtti -fno-exceptions -fomit-frame-pointer -fpie -fPIC") - cFlags("-std=c11 -ffixed-x18 -Qunused-arguments -fno-rtti -fno-exceptions -fomit-frame-pointer -fpie -fPIC") - arguments( + val flags = arrayOf( + "-ffixed-x18", + "-Qunused-arguments", + "-fno-rtti", "-fno-exceptions", + "-fomit-frame-pointer", + "-fpie", "-fPIC", + "-DRIRU_MODULE", "-DRIRU_MODULE_API_VERSION=$moduleMaxRiruApiVersion", "-DRIRU_MODULE_VERSION=$verCode", - "-DRIRU_MODULE_VERSION_NAME:STRING=\"$verName\"", - "-DMODULE_NAME:STRING=riru_$riruModuleId", - "-DANDROID_STL=none" + """-DRIRU_MODULE_VERSION_NAME=\"$verName\"""", + """-DMODULE_NAME=\"$riruModuleId\"""" ) + cppFlags("-std=c++20", *flags) + cFlags("-std=c18", *flags) + arguments("-DANDROID_STL=none") targets("lspd") } } @@ -120,8 +125,11 @@ android { named("debug") { externalNativeBuild { cmake { - cppFlags("-O0") - cFlags("-O0") + val flags = arrayOf( + "-O0" + ) + cppFlags.addAll(flags) + cFlags.addAll(flags) } } } @@ -131,8 +139,19 @@ android { externalNativeBuild { cmake { - cppFlags("-fvisibility=hidden -fvisibility-inlines-hidden -Os -Wno-unused-value -fomit-frame-pointer -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,--strip-all -fno-unwind-tables") - cFlags("-fvisibility=hidden -fvisibility-inlines-hidden -Os -Wno-unused-value -fomit-frame-pointer -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,--strip-all -fno-unwind-tables") + val flags = arrayOf( + "-fvisibility=hidden", + "-fvisibility-inlines-hidden", + "-Os", + "-Wno-unused-value", + "-ffunction-sections", + "-fdata-sections", + "-Wl,--gc-sections", + "-Wl,--strip-all", + "-fno-unwind-tables" + ) + cppFlags.addAll(flags) + cFlags.addAll(flags) } } } diff --git a/core/src/main/cpp/CMakeLists.txt b/core/src/main/cpp/CMakeLists.txt index a42d63a1..8384acc9 100644 --- a/core/src/main/cpp/CMakeLists.txt +++ b/core/src/main/cpp/CMakeLists.txt @@ -31,14 +31,6 @@ else () message(WARNING "Could not find CCache program.") endif () -link_libraries("-ffixed-x18") - -add_definitions(-DRIRU_MODULE) -add_definitions(-DRIRU_MODULE_API_VERSION=${RIRU_MODULE_API_VERSION}) -add_definitions(-DRIRU_MODULE_VERSION=${RIRU_MODULE_VERSION}) -add_definitions(-DRIRU_MODULE_VERSION_NAME=${RIRU_MODULE_VERSION_NAME}) -add_definitions(-DMODULE_NAME=${MODULE_NAME}) - include_directories(external/libcxx/include) add_subdirectory(main) diff --git a/core/src/main/cpp/external/yahfa/CMakeLists.txt b/core/src/main/cpp/external/yahfa/CMakeLists.txt index 392bfc24..1e905f61 100644 --- a/core/src/main/cpp/external/yahfa/CMakeLists.txt +++ b/core/src/main/cpp/external/yahfa/CMakeLists.txt @@ -1,9 +1,7 @@ cmake_minimum_required(VERSION 3.4.1) -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -Wall -Wextra -fvisibility=hidden") - add_library(yahfa STATIC src/HookMain.cpp src/trampoline.c) find_library(log-lib log) target_link_libraries(yahfa ${log-lib}) -target_include_directories(yahfa PUBLIC include) \ No newline at end of file +target_include_directories(yahfa PUBLIC include)