1#[macro_export]
4macro_rules! start {
5 () => {
6 include!(concat!(env!("OUT_DIR"), "/actor.rs"));
8 };
9}
10
11#[macro_export]
14macro_rules! build {
15 ($actor:expr) => {
16 use std::{env::var, fs::File, io::Write, path::PathBuf};
17
18 println!("cargo:rerun-if-changed=build.rs");
27
28 println!("cargo:rustc-check-cfg=cfg(icydb)");
30 println!("cargo:rustc-cfg=icydb");
31
32 let out_dir = var("OUT_DIR").expect("OUT_DIR not set");
34
35 let output = ::icydb::build::generate($actor);
40
41 let actor_file = PathBuf::from(out_dir.clone()).join("actor.rs");
43 let mut file = File::create(actor_file)?;
44 file.write_all(output.as_bytes())?;
45 };
46}
47
48#[macro_export]
50#[allow(clippy::crate_in_macro_def)]
51macro_rules! db {
52 () => {
53 crate::db()
54 };
55
56 (debug) => {
57 crate::db().debug()
58 };
59}