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"
publish = false
[lib]
name = "servoshell"
path = "lib.rs"
bench = false
[[bin]]
name = "servo"
path = "main.rs"

View file

@ -2,6 +2,44 @@
* 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/. */
// 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::{env, panic, process, thread};

View file

@ -20,52 +20,14 @@
// mode is turned on.
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
cfg_if::cfg_if! {
if #[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 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() {
fn main() {
cfg_if::cfg_if! {
if #[cfg(not(target_os = "android"))] {
servoshell::main()
} else {
println!(
"Cannot start /ports/servo/ on Android. \
Use /support/android/apk/ + /ports/libsimpleservo/ instead"
"Cannot start /ports/servoshell/ on Android. \
Use /support/android/apk/ + /ports/jniapi/ instead"
);
}
}