mirror of
https://github.com/Ed94/metadesk.git
synced 2026-08-06 15:48:47 +00:00
fix some bugs with new build script
This commit is contained in:
+29
-21
@@ -198,16 +198,6 @@ function bld_compile {
|
|||||||
local file_base_no_ext=${file_base%.*}
|
local file_base_no_ext=${file_base%.*}
|
||||||
local out_file="$file_base_no_ext$dot_ext_obj"
|
local out_file="$file_base_no_ext$dot_ext_obj"
|
||||||
|
|
||||||
###### diagnostic output ##################################################
|
|
||||||
if [ "$diagnostics" == "1" ]; then
|
|
||||||
echo "cmp $final_in_file -- ${all_opts[@]}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
###### print source file (if the compiler doesn't do it automatically) ####
|
|
||||||
if [ "$manually_print_target" == "1" ]; then
|
|
||||||
echo "$file_base"
|
|
||||||
fi
|
|
||||||
|
|
||||||
###### get real flags #####################################################
|
###### get real flags #####################################################
|
||||||
local flags_file=$bin_path/compiler_flags.txt
|
local flags_file=$bin_path/compiler_flags.txt
|
||||||
local flags=$(bld_flags_from_opts $flags_file ${all_opts[@]})
|
local flags=$(bld_flags_from_opts $flags_file ${all_opts[@]})
|
||||||
@@ -220,8 +210,21 @@ function bld_compile {
|
|||||||
rm -f "$out_file_base.o"
|
rm -f "$out_file_base.o"
|
||||||
rm -f "$out_file_base.obj"
|
rm -f "$out_file_base.obj"
|
||||||
|
|
||||||
###### compile ############################################################
|
###### get flags ##########################################################
|
||||||
local all_flags="-c -I$src_path ${flags}"
|
local all_flags="-c -I$src_path ${flags}"
|
||||||
|
|
||||||
|
###### diagnostic output ##################################################
|
||||||
|
if [ "$diagnostics" == "1" ]; then
|
||||||
|
echo "cmp $final_in_file -- ${all_opts[@]}"
|
||||||
|
echo $compiler "$final_in_file" $all_flags
|
||||||
|
fi
|
||||||
|
|
||||||
|
###### print source file (if the compiler doesn't do it automatically) ####
|
||||||
|
if [ "$manually_print_target" == "1" ]; then
|
||||||
|
echo "$file_base"
|
||||||
|
fi
|
||||||
|
|
||||||
|
###### compile ############################################################
|
||||||
$compiler "$final_in_file" $all_flags
|
$compiler "$final_in_file" $all_flags
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,23 +329,28 @@ function bld_link {
|
|||||||
fi
|
fi
|
||||||
out_file="$out_name$dot_ext_out"
|
out_file="$out_name$dot_ext_out"
|
||||||
|
|
||||||
|
###### move to output folder ##############################################
|
||||||
|
mkdir -p "$build_path"
|
||||||
|
cd $build_path
|
||||||
|
|
||||||
###### diagnostic output ##################################################
|
###### diagnostic output ##################################################
|
||||||
local final_in_files="${interm_obj[@]} ${in_obj[@]} ${in_lib[@]}"
|
local final_in_files="${interm_obj[@]} ${in_obj[@]} ${in_lib[@]}"
|
||||||
if [ "$diagnostics" == "1" ]; then
|
if [ "$diagnostics" == "1" ]; then
|
||||||
echo "lnk $final_in_files -- ${all_opts[@]}"
|
echo "lnk $final_in_files -- ${all_opts[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
###### print output file ##################################################
|
|
||||||
echo "$out_file"
|
|
||||||
|
|
||||||
###### move to output folder ##############################################
|
|
||||||
mkdir -p "$build_path"
|
|
||||||
cd $build_path
|
|
||||||
|
|
||||||
###### link ###############################################################
|
###### link ###############################################################
|
||||||
if [ "$linker_kind" == "link" ]; then
|
if [ "$linker_kind" == "link" ]; then
|
||||||
|
if [ "$diagnostics" == "1" ]; then
|
||||||
|
echo $linker -OUT:"$out_file" $flags $final_in_files
|
||||||
|
fi
|
||||||
|
echo "$out_file"
|
||||||
$linker -OUT:"$out_file" $flags $final_in_files
|
$linker -OUT:"$out_file" $flags $final_in_files
|
||||||
elif [ "$linker_kind" == "clang" ]; then
|
elif [ "$linker_kind" == "clang" ]; then
|
||||||
|
if [ "$diagnostics" == "1" ]; then
|
||||||
|
echo $linker -o "$out_file" $flags $final_in_files
|
||||||
|
fi
|
||||||
|
echo "$out_file"
|
||||||
$linker -o "$out_file" $flags $final_in_files
|
$linker -o "$out_file" $flags $final_in_files
|
||||||
else
|
else
|
||||||
echo "ERROR: invokation not defined for this linker"
|
echo "ERROR: invokation not defined for this linker"
|
||||||
@@ -570,9 +578,9 @@ implicit_opts=($out_name $compiler $linker $compile_mode $os $arch $ctx)
|
|||||||
|
|
||||||
|
|
||||||
###### Object File Extension ##################################################
|
###### Object File Extension ##################################################
|
||||||
dot_ext_obj=".obj"
|
dot_ext_obj=".o"
|
||||||
if [[ "$linker" == "clang" || "$linker" == "gcc" ]]; then
|
if [[ "$compiler" == "cl" ]]; then
|
||||||
dot_ext_obj=".o"
|
dot_ext_obj=".obj"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ cd ..
|
|||||||
echo "~~~ Build All Tests ~~~"
|
echo "~~~ Build All Tests ~~~"
|
||||||
bin/bld_core.sh show_ctx
|
bin/bld_core.sh show_ctx
|
||||||
|
|
||||||
bin/bld_core.sh unit sanity_test tests/sanity_tests.c
|
bin/bld_core.sh unit sanity_tests tests/sanity_tests.c
|
||||||
bin/bld_core.sh unit unicode_test tests/unicode_test.c
|
bin/bld_core.sh unit unicode_test tests/unicode_test.c
|
||||||
bin/bld_core.sh unit cpp_build_test tests/cpp_build_test.cpp
|
bin/bld_core.sh unit cpp_build_test tests/cpp_build_test.cpp
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,7 @@
|
|||||||
###### TODO ###################################################################
|
###### link ###################################################################
|
||||||
|
lld-link>-nologo
|
||||||
|
lld-link>-DEFAULTLIB:libcmt
|
||||||
|
lld-link>-OPT:REF
|
||||||
|
lld-link>-INCREMENTAL:NO
|
||||||
|
lld-link>debug>-DEBUG
|
||||||
|
lld-link>dll>-DLL
|
||||||
|
|||||||
+1
-1
@@ -301,7 +301,7 @@ MD_StaticAssert(sizeof(MD_ArenaDefault) <= MD_IMPL_ArenaHeaderSize, arena_def_si
|
|||||||
static MD_Arena*
|
static MD_Arena*
|
||||||
MD_ArenaDefaultAlloc(MD_u64 cap){
|
MD_ArenaDefaultAlloc(MD_u64 cap){
|
||||||
void *mem = MD_IMPL_Reserve(cap);
|
void *mem = MD_IMPL_Reserve(cap);
|
||||||
MD_u64 cmt = MD_ClampBot(MD_ArenaDefault_CommitSize, cap);
|
MD_u64 cmt = MD_ClampTop(cap, MD_ArenaDefault_CommitSize);
|
||||||
MD_IMPL_Commit(mem, cmt);
|
MD_IMPL_Commit(mem, cmt);
|
||||||
|
|
||||||
MD_ArenaDefault *arena = (MD_ArenaDefault*)mem;
|
MD_ArenaDefault *arena = (MD_ArenaDefault*)mem;
|
||||||
|
|||||||
Reference in New Issue
Block a user