Move servoshell code into an internal lib crate (#31439)

* Move servoshell code into an internal lib crate

* Fix name of Android port
This commit is contained in:
Delan Azabani 2024-02-28 19:46:12 +08:00 committed by GitHub
parent faf754dfa6
commit 6a3cd65bf2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 50 additions and 45 deletions

View file

@ -8,6 +8,11 @@ edition = "2021"
build = "build.rs" build = "build.rs"
publish = false publish = false
[lib]
name = "servoshell"
path = "lib.rs"
bench = false
[[bin]] [[bin]]
name = "servo" name = "servo"
path = "main.rs" path = "main.rs"

View file

@ -2,6 +2,44 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
// For Android, see /support/android/apk/ + /ports/jniapi/.
#![cfg(not(target_os = "android"))]
#[cfg(any(target_os = "macos", target_os = "linux"))]
#[macro_use]
extern crate sig;
#[cfg(test)]
mod test;
mod app;
mod backtrace;
mod crash_handler;
mod egui_glue;
mod embedder;
mod events_loop;
mod geometry;
mod headed_window;
mod headless_window;
mod keyutils;
mod minibrowser;
mod parser;
mod prefs;
mod resources;
mod webview;
mod window_trait;
pub mod platform {
#[cfg(target_os = "macos")]
pub use crate::platform::macos::deinit;
#[cfg(target_os = "macos")]
pub mod macos;
#[cfg(not(target_os = "macos"))]
pub fn deinit(_clean_shutdown: bool) {}
}
use std::io::Write; use std::io::Write;
use std::{env, panic, process, thread}; use std::{env, panic, process, thread};

View file

@ -20,52 +20,14 @@
// mode is turned on. // mode is turned on.
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
cfg_if::cfg_if! { fn main() {
if #[cfg(not(target_os = "android"))] { cfg_if::cfg_if! {
#[cfg(any(target_os = "macos", target_os = "linux"))] if #[cfg(not(target_os = "android"))] {
#[macro_use] servoshell::main()
extern crate sig; } else {
#[cfg(test)]
mod test;
mod app;
mod backtrace;
mod crash_handler;
mod egui_glue;
mod embedder;
mod events_loop;
mod geometry;
mod headed_window;
mod headless_window;
mod keyutils;
mod main2;
mod minibrowser;
mod parser;
mod prefs;
mod resources;
mod webview;
mod window_trait;
pub mod platform {
#[cfg(target_os = "macos")]
pub use crate::platform::macos::deinit;
#[cfg(target_os = "macos")]
pub mod macos;
#[cfg(not(target_os = "macos"))]
pub fn deinit(_clean_shutdown: bool) {}
}
pub fn main() {
main2::main()
}
} else {
pub fn main() {
println!( println!(
"Cannot start /ports/servo/ on Android. \ "Cannot start /ports/servoshell/ on Android. \
Use /support/android/apk/ + /ports/libsimpleservo/ instead" Use /support/android/apk/ + /ports/jniapi/ instead"
); );
} }
} }