forked from landley/toybox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure
executable file
·39 lines (30 loc) · 1.28 KB
/
configure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/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"
# 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