use isatty as a default for notui
This commit is contained in:
parent
650be21129
commit
227dfa20c7
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
DIR="$(dirname $0)"
|
||||
PREV_BQN="$DIR/obj2/for_build2"
|
||||
PREV_BQN="$DIR/obj2/for_build3"
|
||||
if [ ! -f "$PREV_BQN" ]; then
|
||||
TMP_BQN="$DIR/obj2/for_build_tmp"
|
||||
if make -C "$DIR/.." for-build OUTPUT="$TMP_BQN"; then
|
||||
|
||||
@ -22,7 +22,7 @@ opts ← ⟨
|
||||
⟨1, "verbose", 0, "Log more things"⟩
|
||||
⟨1, "rebuild", 0, "Forcibly rebuild everything"⟩
|
||||
⟨1, "quiet", 0, "Don't output final status line (or any, combined with notui)"⟩
|
||||
⟨1, "notui", 0, "disable live-updating status display"∾@+10⟩
|
||||
⟨1, "notui", @, "disable live-updating status display"∾@+10⟩
|
||||
⟨1, "rebuild-singeli", 0, @⟩
|
||||
|
||||
⟨0, "CC", @, "The used C compiler"⟩
|
||||
@ -165,7 +165,7 @@ po ← { # parsed options
|
||||
J ⇐ {𝕊: v←GetOpt "j" ⋄ v≢@? •ParseFloat v; •ParseFloat⎊4 "4" TrySH ⟨"nproc"⟩}
|
||||
rebuildAll ⇐ GetOpt "rebuild"
|
||||
rebuildSingeli ⇐ GetOpt "rebuild-singeli"
|
||||
tui ⇐ ¬GetOpt "notui"
|
||||
tui ⇐ @⊸≡◶¬‿{𝕊: f←@•FFI"i32"‿"isatty"‿">i32" ⋄ F 1} GetOpt "notui"
|
||||
loud ⇐ ¬GetOpt "quiet"
|
||||
|
||||
{𝕊: _verboseLog ↩ {Log𝕨𝔽𝕩⋄𝕩}}⍟⊢ verbose⇐GetOpt "verbose"
|
||||
|
||||
2
makefile
2
makefile
@ -6,7 +6,7 @@ default: o3
|
||||
|
||||
# targets that only use the makefile
|
||||
for-build: # for running the build system & Singeli
|
||||
@"${MAKE}" i_t=forbuild i_CC=cc REPLXX=0 i_f="-O2 -DFOR_BUILD" i_FFI=0 i_SHARED=0 i_PIE= i_CC_PIE= i_EXPORT=0 i_OUTPUT_DEF=build/obj2/for_build2 run_incremental_0
|
||||
@"${MAKE}" i_t=forbuild i_CC=cc REPLXX=0 i_f="-O2 -DFOR_BUILD" i_FFI=0 i_SHARED=0 i_PIE= i_CC_PIE= i_EXPORT=0 i_OUTPUT_DEF=build/obj2/for_build3 run_incremental_0
|
||||
for-bootstrap: # for bootstrapping bytecode
|
||||
@"${MAKE}" i_t=for_bootstrap REPLXX=0 i_FFI=0 i_SHARED=0 i_PIE= i_CC_PIE= i_EXPORT=0 i_f='-DNATIVE_COMPILER -DONLY_NATIVE_COMP -DFORMATTER=0 -DNO_RT -DNO_EXPLAIN' run_incremental_0 i_USE_BC_SUBMODULE=0 BYTECODE_DIR=bytecodeNone
|
||||
o3-makeonly:
|
||||
|
||||
14
src/ffi.c
14
src/ffi.c
@ -982,7 +982,7 @@ void ffi_init(void) {
|
||||
NFnDesc* forbuildDesc;
|
||||
B forbuild_c1(B t, B x) {
|
||||
i32 id = o2i(nfn_objU(t));
|
||||
switch (id) { default: fatal("bad id");
|
||||
switch (id) { default: thrM("bad id");
|
||||
case 0: {
|
||||
char* s = toCStr(x);
|
||||
decG(x);
|
||||
@ -1038,20 +1038,23 @@ void ffi_init(void) {
|
||||
|
||||
return m_vec2(m_f64(res), taga(buf));
|
||||
}
|
||||
case 7: {
|
||||
return m_f64(isatty(o2i(x)));
|
||||
}
|
||||
}
|
||||
}
|
||||
B names;
|
||||
static B ffi_names;
|
||||
B ffiload_c2(B t, B w, B x) {
|
||||
B name = IGetU(x, 1);
|
||||
i32 id = 0;
|
||||
while (id<IA(names) && !equal(IGetU(names, id), name)) id++;
|
||||
while (id<IA(ffi_names) && !equal(IGetU(ffi_names, id), name)) id++;
|
||||
B r = m_nfn(forbuildDesc, m_f64(id));
|
||||
decG(x);
|
||||
return r;
|
||||
}
|
||||
|
||||
void ffi_init(void) {
|
||||
HArr_p a = m_harrUv(7);
|
||||
HArr_p a = m_harrUv(8);
|
||||
a.a[0] = m_c8vec_0("chdir");
|
||||
a.a[1] = m_c8vec_0("fork");
|
||||
a.a[2] = m_c8vec_0("pipe");
|
||||
@ -1059,8 +1062,9 @@ void ffi_init(void) {
|
||||
a.a[4] = m_c8vec_0("write");
|
||||
a.a[5] = m_c8vec_0("close");
|
||||
a.a[6] = m_c8vec_0("poll");
|
||||
a.a[7] = m_c8vec_0("isatty");
|
||||
NOGC_E;
|
||||
names = a.b; gc_add(names);
|
||||
ffi_names = a.b; gc_add(ffi_names);
|
||||
forbuildDesc = registerNFn(m_c8vec_0("(function for build)"), forbuild_c1, c2_bad);
|
||||
}
|
||||
#endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user