mirror of
https://github.com/erg-lang/erg.git
synced 2025-10-03 14:04:33 +00:00
Remove no_build_rs
feature
This commit is contained in:
parent
70a6fd5726
commit
679222cf4a
4 changed files with 5 additions and 16 deletions
|
@ -47,7 +47,6 @@ traditional_chinese = [
|
||||||
"erg_parser/traditional_chinese",
|
"erg_parser/traditional_chinese",
|
||||||
"erg_compiler/traditional_chinese",
|
"erg_compiler/traditional_chinese",
|
||||||
]
|
]
|
||||||
no_build_rs = ["erg_compiler/no_build_rs"]
|
|
||||||
pre-commit = []
|
pre-commit = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
@ -22,7 +22,6 @@ traditional_chinese = [
|
||||||
"erg_common/traditional_chinese",
|
"erg_common/traditional_chinese",
|
||||||
"erg_parser/traditional_chinese",
|
"erg_parser/traditional_chinese",
|
||||||
]
|
]
|
||||||
no_build_rs = []
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
erg_common = { version = "0.5.9", path = "../erg_common" }
|
erg_common = { version = "0.5.9", path = "../erg_common" }
|
||||||
|
|
|
@ -5,9 +5,6 @@ use std::fs;
|
||||||
use std::path;
|
use std::path;
|
||||||
|
|
||||||
fn main() -> std::io::Result<()> {
|
fn main() -> std::io::Result<()> {
|
||||||
if cfg!(feature = "no_build_rs") {
|
|
||||||
return Ok(());
|
|
||||||
}
|
|
||||||
// Create a ".erg" directory
|
// Create a ".erg" directory
|
||||||
let erg_path = env::home_dir()
|
let erg_path = env::home_dir()
|
||||||
.expect("failed to get the location of the home dir")
|
.expect("failed to get the location of the home dir")
|
||||||
|
@ -19,8 +16,8 @@ fn main() -> std::io::Result<()> {
|
||||||
fs::create_dir(&erg_path)?;
|
fs::create_dir(&erg_path)?;
|
||||||
fs::create_dir(format!("{erg_path}/std"))?;
|
fs::create_dir(format!("{erg_path}/std"))?;
|
||||||
}
|
}
|
||||||
println!("cargo:rustc-env=ERG_PATH={erg_path}");
|
println!("cargo:rustc-env=CARGO_ERG_PATH={erg_path}");
|
||||||
println!("cargo:rustc-env=ERG_STD_PATH={erg_path}/std");
|
// println!("cargo:rustc-env=CARGO_ERG_STD_PATH={erg_path}/std");
|
||||||
// create a std library in ".erg"
|
// create a std library in ".erg"
|
||||||
for res in fs::read_dir("std")? {
|
for res in fs::read_dir("std")? {
|
||||||
let entry = res?;
|
let entry = res?;
|
||||||
|
|
|
@ -2051,7 +2051,8 @@ impl CodeGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn load_prelude_py(&mut self) {
|
fn load_prelude_py(&mut self) {
|
||||||
if let Some(std_path) = option_env!("ERG_STD_PATH") {
|
if let Some(erg_path) = option_env!("ERG_PATH").or_else(|| option_env!("CARGO_ERG_PATH")) {
|
||||||
|
let std_path = std::path::Path::new(erg_path).join("std");
|
||||||
self.emit_global_import_items(
|
self.emit_global_import_items(
|
||||||
Identifier::public("sys"),
|
Identifier::public("sys"),
|
||||||
vec![(
|
vec![(
|
||||||
|
@ -2061,7 +2062,7 @@ impl CodeGenerator {
|
||||||
);
|
);
|
||||||
self.emit_load_name_instr(Identifier::private("#path"));
|
self.emit_load_name_instr(Identifier::private("#path"));
|
||||||
self.emit_load_method_instr("Array!", None, Identifier::public("push!"));
|
self.emit_load_method_instr("Array!", None, Identifier::public("push!"));
|
||||||
self.emit_load_const(std_path);
|
self.emit_load_const(std_path.to_str().unwrap());
|
||||||
self.write_instr(CALL_METHOD);
|
self.write_instr(CALL_METHOD);
|
||||||
self.write_arg(1u8);
|
self.write_arg(1u8);
|
||||||
self.stack_dec();
|
self.stack_dec();
|
||||||
|
@ -2073,13 +2074,6 @@ impl CodeGenerator {
|
||||||
Some(Identifier::private("#in_operator")),
|
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();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue