mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-29 12:24:45 +00:00
Add no_build_rs
feature
This commit is contained in:
parent
a1688b972b
commit
afd8d33d49
4 changed files with 35 additions and 21 deletions
|
@ -47,6 +47,7 @@ traditional_chinese = [
|
|||
"erg_parser/traditional_chinese",
|
||||
"erg_compiler/traditional_chinese",
|
||||
]
|
||||
no_build_rs = ["erg_compiler/no_build_rs"]
|
||||
pre-commit = []
|
||||
|
||||
[dependencies]
|
||||
|
|
|
@ -22,6 +22,7 @@ traditional_chinese = [
|
|||
"erg_common/traditional_chinese",
|
||||
"erg_parser/traditional_chinese",
|
||||
]
|
||||
no_build_rs = []
|
||||
|
||||
[dependencies]
|
||||
erg_common = { version = "0.5.9", path = "../erg_common" }
|
||||
|
|
|
@ -5,6 +5,9 @@ use std::fs;
|
|||
use std::path;
|
||||
|
||||
fn main() -> std::io::Result<()> {
|
||||
if cfg!(feature = "no_build_rs") {
|
||||
return Ok(());
|
||||
}
|
||||
// Create a ".erg" directory
|
||||
let erg_path = env::home_dir()
|
||||
.expect("failed to get the location of the home dir")
|
||||
|
|
|
@ -2051,6 +2051,7 @@ impl CodeGenerator {
|
|||
}
|
||||
|
||||
fn load_prelude_py(&mut self) {
|
||||
if let Some(std_path) = option_env!("ERG_STD_PATH") {
|
||||
self.emit_global_import_items(
|
||||
Identifier::public("sys"),
|
||||
vec![(
|
||||
|
@ -2060,7 +2061,7 @@ impl CodeGenerator {
|
|||
);
|
||||
self.emit_load_name_instr(Identifier::private("#path"));
|
||||
self.emit_load_method_instr("Array!", None, Identifier::public("push!"));
|
||||
self.emit_load_const(env!("ERG_STD_PATH"));
|
||||
self.emit_load_const(std_path);
|
||||
self.write_instr(CALL_METHOD);
|
||||
self.write_arg(1u8);
|
||||
self.stack_dec();
|
||||
|
@ -2072,6 +2073,14 @@ impl CodeGenerator {
|
|||
Some(Identifier::private("#in_operator")),
|
||||
)],
|
||||
);
|
||||
} else {
|
||||
self.emit_load_name_instr(Identifier::private("exec"));
|
||||
self.emit_load_const(include_str!("std/_erg_std_prelude.py"));
|
||||
self.write_instr(CALL_FUNCTION);
|
||||
self.write_arg(1u8);
|
||||
self.stack_dec();
|
||||
self.emit_pop_top();
|
||||
}
|
||||
}
|
||||
|
||||
fn load_record_type(&mut self) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue