OSDN Git Service

Merge remote-tracking branch 'toybox/master' into HEAD am: 4b13881492
[android-x86/external-toybox.git] / configure
old mode 100644 (file)
new mode 100755 (executable)
index 9b7bb36..14c9c65
--- a/configure
+++ b/configure
@@ -1,14 +1,34 @@
-# Toybox configuration file.
+#!/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"
 
-[ -z "$CFLAGS" ] && CFLAGS="-Wall -Wundef -Wno-char-subscripts"
+# 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 -Wl,--gc-sections"
-[ -z "$CC" ] && CC="cc"
-CC="${CROSS_COMPILE}${CC}"
-[ -z "$STRIP" ] && STRIP="${CROSS_COMPILE}strip"
-[ -z "$HOSTCC" ] && HOSTCC=gcc
+[ -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
+[ -z "$LDOPTIMIZE" ] && LDOPTIMIZE="-Wl,--gc-sections"
+
+# The makefile provides defaults for these, so this only gets used if
+# you call scripts/make.sh and friends directly.
+
+[ -z "$CC" ] && CC=cc
+
+# If HOSTCC needs CFLAGS or LDFLAGS, just add them to the variable
+# ala HOSTCC="blah-cc --static"
+[ -z "$HOSTCC" ] && HOSTCC=cc