#!/bin/bash

# set environment variables used by scripts/make.sh

# People run ./configure out of habit, so do "defconfig" for them.

if [ "$(basename "$0")" == configure ]
then
  echo "Assuming you want 'make defconfig', but you should probably check the README."
  make defconfig
  exit $?
fi

# Warn about stuff, disable stupid warnings, be 8-bit clean for utf8.
CFLAGS="$CFLAGS -Wall -Wundef -Wno-char-subscripts -Werror=implicit-function-declaration -Wno-char-subscripts -Wno-pointer-sign -Wno-string-plus-int -funsigned-char"

# Set default values if variable not already set
: ${CC:=cc} ${HOSTCC:=cc} ${GENDIR:=generated} ${KCONFIG_CONFIG:=.config}
: ${OUTNAME:=toybox${TARGET:+-$TARGET}}
: ${OPTIMIZE:=-Os -ffunction-sections -fdata-sections -fno-asynchronous-unwind-tables -fno-strict-aliasing}

# set ASAN=1 to enable "address sanitizer" and debuggable backtraces
[ -z "$ASAN" ] || { CFLAGS="$CFLAGS -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address"; NOSTRIP=1; }

# We accept LDFLAGS, but by default don't have anything in it
if [ "$(uname)" == "Darwin" ]
then
  : ${LDOPTIMIZE:=-Wl,-dead_strip} ${STRIP:=strip}
else
  : ${LDOPTIMIZE:=-Wl,--gc-sections -Wl,--as-needed} ${STRIP:=strip -s -R .note* -R .comment}
#  LDASNEEDED="-Wl,--as-needed" # must go at end of compiler command line
fi
