[core] Move riru definitions from cmake to gradle (#422)

This commit is contained in:
LoveSy 2021-03-28 15:01:33 +08:00 committed by GitHub
parent 833eef49ec
commit 3f80d37364
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 22 deletions

View File

@ -65,7 +65,6 @@ val verName: String by rootProject.extra
dependencies { dependencies {
implementation("dev.rikka.ndk:riru:${moduleMinRiruVersionName}") implementation("dev.rikka.ndk:riru:${moduleMinRiruVersionName}")
// implementation(files("libs/dobby_prefab.aar"))
implementation("com.android.tools.build:apksig:4.1.3") implementation("com.android.tools.build:apksig:4.1.3")
compileOnly(project(":hiddenapi-stubs")) compileOnly(project(":hiddenapi-stubs"))
compileOnly("androidx.annotation:annotation:1.2.0") compileOnly("androidx.annotation:annotation:1.2.0")
@ -92,15 +91,21 @@ android {
externalNativeBuild { externalNativeBuild {
cmake { cmake {
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64") 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") val flags = arrayOf(
cFlags("-std=c11 -ffixed-x18 -Qunused-arguments -fno-rtti -fno-exceptions -fomit-frame-pointer -fpie -fPIC") "-ffixed-x18",
arguments( "-Qunused-arguments",
"-fno-rtti", "-fno-exceptions",
"-fomit-frame-pointer",
"-fpie", "-fPIC",
"-DRIRU_MODULE",
"-DRIRU_MODULE_API_VERSION=$moduleMaxRiruApiVersion", "-DRIRU_MODULE_API_VERSION=$moduleMaxRiruApiVersion",
"-DRIRU_MODULE_VERSION=$verCode", "-DRIRU_MODULE_VERSION=$verCode",
"-DRIRU_MODULE_VERSION_NAME:STRING=\"$verName\"", """-DRIRU_MODULE_VERSION_NAME=\"$verName\"""",
"-DMODULE_NAME:STRING=riru_$riruModuleId", """-DMODULE_NAME=\"$riruModuleId\""""
"-DANDROID_STL=none"
) )
cppFlags("-std=c++20", *flags)
cFlags("-std=c18", *flags)
arguments("-DANDROID_STL=none")
targets("lspd") targets("lspd")
} }
} }
@ -120,8 +125,11 @@ android {
named("debug") { named("debug") {
externalNativeBuild { externalNativeBuild {
cmake { cmake {
cppFlags("-O0") val flags = arrayOf(
cFlags("-O0") "-O0"
)
cppFlags.addAll(flags)
cFlags.addAll(flags)
} }
} }
} }
@ -131,8 +139,19 @@ android {
externalNativeBuild { externalNativeBuild {
cmake { 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") val flags = arrayOf(
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") "-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)
} }
} }
} }

View File

@ -31,14 +31,6 @@ else ()
message(WARNING "Could not find CCache program.") message(WARNING "Could not find CCache program.")
endif () 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) include_directories(external/libcxx/include)
add_subdirectory(main) add_subdirectory(main)

View File

@ -1,9 +1,7 @@
cmake_minimum_required(VERSION 3.4.1) 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) add_library(yahfa STATIC src/HookMain.cpp src/trampoline.c)
find_library(log-lib log) find_library(log-lib log)
target_link_libraries(yahfa ${log-lib}) target_link_libraries(yahfa ${log-lib})
target_include_directories(yahfa PUBLIC include) target_include_directories(yahfa PUBLIC include)