os detection and LINK_LIBS

This commit is contained in:
timerix 2023-01-20 04:13:11 +06:00
parent 47808ee989
commit 75ceacccc2
4 changed files with 49 additions and 4 deletions

View File

@ -1,5 +1,5 @@
#!/bin/bash
CBUILD_VERSION=3
CBUILD_VERSION=4
CONFIG_VERSION=1
PROJECT="NULL"
@ -25,6 +25,7 @@ case $TASK in
C_ARGS="-O2"
CPP_ARGS="$C_ARGS"
LINKER_ARGS=""
LINK_LIBS=""
TASK_SCRIPT=cbuild/default_tasks/build_exec.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
@ -33,6 +34,7 @@ case $TASK in
C_ARGS="-O0 -g"
CPP_ARGS="$C_ARGS"
LINKER_ARGS=""
LINK_LIBS=""
TASK_SCRIPT=cbuild/default_tasks/build_exec.sh
PRE_TASK_SCRIPT=
POST_TASK_SCRIPT=
@ -40,6 +42,7 @@ case $TASK in
build_shared_lib)
C_ARGS="-O2 -fpic -flto -shared"
CPP_ARGS="$C_ARGS"
LINK_LIBS=""
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
PRE_TASK_SCRIPT=
@ -48,6 +51,7 @@ case $TASK in
build_shared_lib_dbg)
C_ARGS="-O0 -g -fpic -shared"
CPP_ARGS="$C_ARGS"
LINK_LIBS=""
LINKER_ARGS="-Wl,-soname,$SHARED_LIB_FILE"
TASK_SCRIPT=cbuild/default_tasks/build_shared_lib.sh
PRE_TASK_SCRIPT=
@ -75,3 +79,14 @@ case $TASK in
TASK_SCRIPT=cbuild/default_tasks/valgrind.sh
;;
esac
case $OS in
WINDOWS)
;;
LINUX)
;;
*)
printf "${RED}operating system $OS has no configuration variants\n"
exit 1
;;
esac

27
detect_os.sh Normal file
View File

@ -0,0 +1,27 @@
#!/bin/bash
source cbuild/colors.sh
uname_rezult=$(uname -o);
printf "${GRAY}uname rezult: '$uname_rezult'\n"
case $uname_rezult in
Msys | Cygwin | "MS/Windows")
OS=WINDOWS
;;
GNU/Linux)
OS=LINUX
;;
FreeBSD)
OS=FREEBSD
;;
Darwin)
OS=MACOS
;;
*)
printf "${RED}unknown operating system: $uname_rezult\n"
exit 1
;;
esac
printf "${GREEN}detected OS: $OS\n"

View File

@ -60,7 +60,9 @@ function link {
local objects="$(find $OBJDIR -name '*.o')
$(find $OBJDIR -name '*.a')"
printf "${BLUE}objects: ${GRAY}$objects\n"
if $CMP_CPP $args -o $outfile $(echo $objects | tr '\n' ' ')
local command="$CMP_CPP $args $(echo $objects | tr '\n' ' ') $LINK_LIBS -o $outfile"
printf "$command"
if $command
then
printf "${GREEN}file $CYAN$outfile ${GREEN}created\n${GRAY}"
else

View File

@ -1,6 +1,7 @@
#!/bin/bash
source cbuild/colors.sh
source cbuild/functions.sh
source cbuild/detect_os.sh
# exit on errors
set -eo pipefail