Skip to content

Commit

Permalink
Move servoshell code into an internal lib crate (#31439)
Browse files Browse the repository at this point in the history
* Move servoshell code into an internal lib crate

* Fix name of Android port
  • Loading branch information
delan committed Feb 28, 2024
1 parent faf754d commit 6a3cd65
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 45 deletions.
5 changes: 5 additions & 0 deletions ports/servoshell/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
38 changes: 38 additions & 0 deletions ports/servoshell/main2.rs → ports/servoshell/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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};

Expand Down
52 changes: 7 additions & 45 deletions ports/servoshell/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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"
);
}
}
Expand Down

0 comments on commit 6a3cd65

Please sign in to comment.