46 lines
998 B
Bash
Executable File
46 lines
998 B
Bash
Executable File
#!/bin/sh
|
|
|
|
cflags="-std=c89 -pedantic"
|
|
cflags="$cflags -Os"
|
|
cflags="$cflags -fno-strict-aliasing"
|
|
cflags="$cflags -Wall"
|
|
cflags="$cflags -ffunction-sections -fdata-sections"
|
|
if [ -z $DBGINFO ]; then
|
|
cflags="$cflags -g0 -fno-unwind-tables -s"
|
|
cflags="$cflags -fno-asynchronous-unwind-tables"
|
|
cflags="$cflags -fno-stack-protector"
|
|
else
|
|
cflags="$cflags -g -fsanitize=address -fsanitize=leak "
|
|
cflags="$cflags -fsanitize=signed-integer-overflow -fsanitize=undefined -static-libasan"
|
|
fi
|
|
if [ $(uname) = "Darwin" ]; then
|
|
cflags="$cflags -Wl,-dead_strip"
|
|
else
|
|
cflags="$cflags -Wl,--gc-sections,--build-id=none"
|
|
fi
|
|
|
|
ldflags="-lm"
|
|
|
|
cflags="$cflags $CFLAGS"
|
|
ldflags="$ldflags $LDFLAGS"
|
|
|
|
cc="$CC"
|
|
|
|
if [ $(uname) = "Darwin" ]; then
|
|
cc=${cc:-clang}
|
|
else
|
|
cc=${cc:-gcc}
|
|
fi
|
|
|
|
uname -a > flags.log
|
|
echo $cc >> flags.log
|
|
echo $cflags >> flags.log
|
|
echo $ldflags >> flags.log
|
|
$cc --version >> flags.log
|
|
$cc -dumpmachine >> flags.log
|
|
|
|
export cflags="$cflags"
|
|
export ldflags="$ldflags"
|
|
export cc="$cc"
|
|
|