Remove no_build_rs feature

This commit is contained in:
Shunsuke Shibayama 2022-10-16 10:33:20 +09:00
parent 70a6fd5726
commit 679222cf4a
4 changed files with 5 additions and 16 deletions

View file

@ -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]

View file

@ -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" }

View file

@ -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?;

View file

@ -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();
} }
} }