use std::process::ExitCode;
fn main() -> ExitCode {
if mbx::session::is_rustc_shim() {
return mbx::session::run_rustc_shim();
}
if let Some(language) = mbx::session::is_cc_shim() {
return mbx::session::run_cc_shim(language);
}
if !matches!(
std::env::args_os().nth(1).as_deref(),
Some(arg) if arg == "--help" || arg == "-h" || arg == "--version" || arg == "-V"
) {
env_logger::Builder::from_env(env_logger::Env::default().filter_or("MBX_LOG", "info"))
.format_target(false)
.format_timestamp(None)
.init();
}
match mbx::cli::run() {
Ok(code) => code,
Err(error) => {
eprintln!("mbx[error]: {error:#}");
ExitCode::FAILURE
}
}
}