1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 // See Notices.txt for copyright information
8 use instructions::Instructions;
9 use proc_macro::TokenStream;
11 use std::{env, fs, path::Path};
12 use syn::parse_macro_input;
15 pub fn instructions(input: TokenStream) -> TokenStream {
16 let input = parse_macro_input!(input as Instructions);
17 match input.to_tokens() {
20 Path::new(&env::var_os("CARGO_MANIFEST_DIR").unwrap()).join("out.rs"),
25 include!(concat!(env!("CARGO_MANIFEST_DIR"), "/out.rs"));
28 Err(err) => err.to_compile_error(),