mirror of
https://github.com/rust-mobile/android-activity.git
synced 2026-07-13 18:18:56 +00:00
86a4ba1662
This general Activity glue crate now supersedes the two separate native-activity and game-activity crates. The adds the functionality of both crates as modules within this new crate but provides a single crate + API that downstream can depend on as an Activity glue layer. The new crate exposes two (mutually-exclusive) features for choosing which Activity backend to build: * "native-activity" * "game-activity" This common crate makes it more practical to write code that's Activity agnostic.
39 lines
1.3 KiB
Rust
39 lines
1.3 KiB
Rust
#![allow(dead_code)]
|
|
|
|
fn build_glue_for_native_activity() {
|
|
cc::Build::new()
|
|
.include("native-activity-csrc")
|
|
.include("native-activity-csrc/native-activity/native_app_glue")
|
|
.file("native-activity-csrc/native-activity/native_app_glue/android_native_app_glue.c")
|
|
.compile("libnative_app_glue.a");
|
|
}
|
|
|
|
fn build_glue_for_game_activity() {
|
|
cc::Build::new()
|
|
.cpp(true)
|
|
.include("game-activity-csrc")
|
|
.file("game-activity-csrc/game-activity/GameActivity.cpp")
|
|
.extra_warnings(false)
|
|
.cpp_link_stdlib("c++_static")
|
|
.compile("libgame_activity.a");
|
|
cc::Build::new()
|
|
.cpp(true)
|
|
.include("game-activity-csrc")
|
|
.file("game-activity-csrc/game-text-input/gametextinput.cpp")
|
|
.cpp_link_stdlib("c++_static")
|
|
.compile("libgame_text_input.a");
|
|
cc::Build::new()
|
|
.include("game-activity-csrc")
|
|
.include("game-activity-csrc/game-activity/native_app_glue")
|
|
.file("game-activity-csrc/game-activity/native_app_glue/android_native_app_glue.c")
|
|
.extra_warnings(false)
|
|
.cpp_link_stdlib("c++_static")
|
|
.compile("libnative_app_glue.a");
|
|
}
|
|
|
|
fn main() {
|
|
#[cfg(feature="game-activity")]
|
|
build_glue_for_game_activity();
|
|
#[cfg(feature="native-activity")]
|
|
build_glue_for_native_activity();
|
|
} |