#!/bin/bash

# This sets 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

# A synonym.
[ -z "$CROSS_COMPILE" ] && CROSS_COMPILE="$CROSS"

# CFLAGS and OPTIMIZE are different so you can add extra CFLAGS without
# disabling default optimizations
[ -z "$CFLAGS" ] && CFLAGS="-Wall -Wundef -Wno-char-subscripts -Werror=implicit-function-declaration"
# Required for our expected ABI. we're 8-bit clean thus "char" must be unsigned.
CFLAGS="$CFLAGS -funsigned-char"
[ -z "$OPTIMIZE" ] && 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"

# We accept LDFLAGS, but by default don't have anything in it
if [ "$(uname)" != "Darwin" ]
then
  [ -z "$LDOPTIMIZE" ] && LDOPTIMIZE="-Wl,--gc-sections"
  LDASNEEDED="-Wl,--as-needed"
fi

# The makefile provides defaults for these, so this only gets used if
# you call scripts/make.sh and friends directly.

[ -z "$CC" ] && CC=cc
[ -z "$STRIP" ] && STRIP=strip

# If HOSTCC needs CFLAGS or LDFLAGS, just add them to the variable
# ala HOSTCC="blah-cc --static"
[ -z "$HOSTCC" ] && HOSTCC=cc
