From 6135f3030fa16d513b92c68891e86dbc86a44eb0 Mon Sep 17 00:00:00 2001 From: timerix Date: Mon, 1 Jan 2024 20:04:21 +0600 Subject: [PATCH] config and kprintf --- default.config | 51 ++++++++++++++++++++++---------------------- tests/main.cpp | 2 +- tests/test_network.c | 12 +++++------ 3 files changed, 33 insertions(+), 32 deletions(-) diff --git a/default.config b/default.config index 11f00cb..5fa97b3 100644 --- a/default.config +++ b/default.config @@ -1,6 +1,6 @@ #!/bin/bash CBUILD_VERSION=7 -CONFIG_VERSION=7 +CONFIG_VERSION=8 PROJECT="kerep" CMP_C="gcc" @@ -32,6 +32,23 @@ OBJDIR="obj" OUTDIR="bin" STATIC_LIB_FILE="lib$PROJECT.a" +# OS-specific options +case "$OS" in + WINDOWS) + EXEC_FILE="$PROJECT.exe" + SHARED_LIB_FILE="$PROJECT.dll" + LINKER_LIBS="-lws2_32" + ;; + LINUX) + EXEC_FILE="$PROJECT" + SHARED_LIB_FILE="$PROJECT.so" + LINKER_LIBS="" + ;; + *) + error "operating system $OS has no configuration variants" + ;; +esac + # TASKS case "$TASK" in # creates executable using profiling info if it exists @@ -44,7 +61,7 @@ case "$TASK" in # -fdata-sections -ffunction-sections -Wl,--gc-sections removes unused code C_ARGS="-O2 -flto=auto -fuse-linker-plugin -fprofile-use -fprofile-prefix-path=$(realpath $OBJDIR)/objects -fdata-sections -ffunction-sections -Wl,--gc-sections" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS" + LINKER_ARGS="$CPP_ARGS $LINKER_LIBS" PRE_TASK_SCRIPT= TASK_SCRIPT=cbuild/default_tasks/build_exec.sh POST_TASK_SCRIPT= @@ -53,7 +70,7 @@ case "$TASK" in build_exec_dbg) C_ARGS="-O0 -g3" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS" + LINKER_ARGS="$CPP_ARGS $LINKER_LIBS" PRE_TASK_SCRIPT= TASK_SCRIPT=cbuild/default_tasks/build_exec.sh POST_TASK_SCRIPT= @@ -62,7 +79,7 @@ case "$TASK" in build_shared_lib) C_ARGS="-O2 -fpic -flto -shared" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS -Wl,-soname,$SHARED_LIB_FILE" + LINKER_ARGS="$CPP_ARGS -Wl,-soname,$SHARED_LIB_FILE $LINKER_LIBS" PRE_TASK_SCRIPT= TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh POST_TASK_SCRIPT= @@ -71,7 +88,7 @@ case "$TASK" in build_shared_lib_dbg) C_ARGS="-O0 -g3 -fpic -shared" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS -Wl,-soname,$SHARED_LIB_FILE" + LINKER_ARGS="$CPP_ARGS -Wl,-soname,$SHARED_LIB_FILE $LINKER_LIBS" PRE_TASK_SCRIPT= TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh POST_TASK_SCRIPT= @@ -112,7 +129,7 @@ case "$TASK" in # -fprofile-prefix-path sets path where profiling info about objects will be saved C_ARGS="-O2 -flto=auto -fuse-linker-plugin -fprofile-generate -fprofile-prefix-path=$(realpath $OBJDIR)/objects" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS" + LINKER_ARGS="$CPP_ARGS $LINKER_LIBS" PRE_TASK_SCRIPT=cbuild/default_tasks/build_exec.sh TASK_SCRIPT=cbuild/default_tasks/profile.sh POST_TASK_SCRIPT= @@ -125,7 +142,7 @@ case "$TASK" in # -pg adds code to executable, that generates file containing function call info (gmon.out) C_ARGS="-O2 -flto=auto -fuse-linker-plugin -pg" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS" + LINKER_ARGS="$CPP_ARGS $LINKER_LIBS" PRE_TASK_SCRIPT=cbuild/default_tasks/build_exec.sh TASK_SCRIPT=cbuild/default_tasks/gprof.sh POST_TASK_SCRIPT= @@ -139,7 +156,7 @@ case "$TASK" in # -pg adds code to executable, that generates file containing function call info (gmon.out) C_ARGS="-O2 -flto=auto -fuse-linker-plugin" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS" + LINKER_ARGS="$CPP_ARGS $LINKER_LIBS" PRE_TASK_SCRIPT=tasks/pre_build.sh TASK_SCRIPT=cbuild/default_tasks/build_exec.sh POST_TASK_SCRIPT=cbuild/default_tasks/callgrind.sh @@ -149,7 +166,7 @@ case "$TASK" in OUTDIR="$OUTDIR/sanitize" C_ARGS="-O0 -g3 -fsanitize=undefined,address" CPP_ARGS="$C_ARGS" - LINKER_ARGS="$CPP_ARGS" + LINKER_ARGS="$CPP_ARGS $LINKER_LIBS" PRE_TASK_SCRIPT=cbuild/default_tasks/build_exec.sh TASK_SCRIPT=cbuild/default_tasks/exec.sh POST_TASK_SCRIPT= @@ -166,19 +183,3 @@ case "$TASK" in error "task <$TASK> not found" ;; esac - -# OS-specific options -case "$OS" in - WINDOWS) - EXEC_FILE="$PROJECT.exe" - SHARED_LIB_FILE="$PROJECT.dll" - LINKER_ARGS="$LINKER_ARGS -lws2_32" - ;; - LINUX) - EXEC_FILE="$PROJECT" - SHARED_LIB_FILE="$PROJECT.so" - ;; - *) - error "operating system $OS has no configuration variants" - ;; -esac \ No newline at end of file diff --git a/tests/main.cpp b/tests/main.cpp index c6876e2..7623ef9 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -8,6 +8,6 @@ i32 main(){ kt_endInit(); test_all(); kt_free(); - kprintf("\e[0m\n"); + kprintf("\e[37m\n"); return 0; } diff --git a/tests/test_network.c b/tests/test_network.c index 8190e43..81c1623 100644 --- a/tests/test_network.c +++ b/tests/test_network.c @@ -5,14 +5,14 @@ void __test_knIPV4Address_fromStr(char* addrStr, u8 a, u8 b, u8 c, u8 d){ tryLast(knIPV4Address_fromStr(addrStr), maybeAddr, ;) knIPV4Address addr; addr.u32=(u32)maybeAddr.value.UInt64; - printf("\e[94mknIPV4Address_fromStr(\e[96m%s\e[94m) -> ", addrStr); + kprintf("\e[94mknIPV4Address_fromStr(\e[96m%s\e[94m) -> ", addrStr); if(maybeAddr.value.UInt64!=knIPV4Address_fromBytes(a,b,c,d).u32){ - printf("\e[91m%u.%u.%u.%u\n", + kprintf("\e[91m%u.%u.%u.%u\n", (u8)addr.bytes[0], (u8)addr.bytes[1], (u8)addr.bytes[2], (u8)addr.bytes[3]); throw("knIPV4Address_fromStr returned wrong value"); } else { - printf("\e[92m%u.%u.%u.%u\n", + kprintf("\e[92m%u.%u.%u.%u\n", (u8)addr.bytes[0], (u8)addr.bytes[1], (u8)addr.bytes[2], (u8)addr.bytes[3]); } @@ -21,7 +21,7 @@ void __test_knIPV4Address_fromStr(char* addrStr, u8 a, u8 b, u8 c, u8 d){ void test_network(){ optime(__func__,1,({ - printf("\e[96m------------[test_network]------------\n"); + kprintf("\e[96m------------[test_network]------------\n"); PRINT_SIZEOF(knIPV4Address); PRINT_SIZEOF(knPort); @@ -37,9 +37,9 @@ void test_network(){ knSocketTCP* s; tryLast(knSocket_open(knSocketProtocol_TCP), maybeS) s=maybeS.value.VoidPtr; - printf("\e[92mTCP socket created\n"); + kprintf("\e[92mTCP socket created\n"); tryLast(knSocket_close(s);,_); - printf("\e[92mTCP socket closed\n"); + kprintf("\e[92mTCP socket closed\n"); */ })); } \ No newline at end of file