summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2011-10-23 15:12:37 +0000
committerAndy Polyakov <appro@openssl.org>2011-10-23 15:12:37 +0000
commit8b8d2dccf137cdc0481bfc47eb4c485f686ce28b (patch)
treee27f696565f78f36f9b2b95f232887ae01f5b093 /config
parent5fd722600b3c53f31900442b9a0f9d0ce7dfc629 (diff)
downloadopenssl-new-8b8d2dccf137cdc0481bfc47eb4c485f686ce28b.tar.gz
config: in cross-compile case interrogate cross-compiler, not host, work
around sub-shell limitation.
Diffstat (limited to 'config')
-rwxr-xr-xconfig34
1 files changed, 13 insertions, 21 deletions
diff --git a/config b/config
index 37f86b068a..d2b155aa44 100755
--- a/config
+++ b/config
@@ -411,25 +411,18 @@ exit 0
# this is where the translation occurs into SSLeay terms
# ---------------------------------------------------------------------------
-if [ -z "$GCCVER" ]; then
- GCCVER=`(gcc -dumpversion) 2>/dev/null`
-fi
-if [ "$GCCVER" != "" ]; then
- # then strip off whatever prefix egcs prepends the number with...
- # Hopefully, this will work for any future prefixes as well.
- GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
- # Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
- # does give us what we want though, so we use that. We just just the
- # major and minor version numbers.
- # peak single digit before and after first dot, e.g. 2.95.1 gives 29
- GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
-fi
-
# Only set CC if not supplied already
-if [ -z "$CC" ]; then
-# figure out if gcc is available and if so we use it otherwise
-# we fallback to whatever cc does on the system
+if [ -z "$CROSS_COMPILE$CC" ]; then
+ GCCVER=`sh -c "gcc -dumpversion" 2>/dev/null`
if [ "$GCCVER" != "" ]; then
+ # then strip off whatever prefix egcs prepends the number with...
+ # Hopefully, this will work for any future prefixes as well.
+ GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
+ # Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
+ # does give us what we want though, so we use that. We just just the
+ # major and minor version numbers.
+ # peak single digit before and after first dot, e.g. 2.95.1 gives 29
+ GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
CC=gcc
else
CC=cc
@@ -851,10 +844,9 @@ if [ -n "$CONFIG_OPTIONS" ]; then
options="$options $CONFIG_OPTIONS"
fi
-if [ -z "$CONFIG_SKIP_NOEXECSTACK" ]; then
- ! expr "$options" : '.*no\-asm' > /dev/null && \
- ($CC -Wa,--help -c -o /dev/null -x assembler /dev/null 2>&1 | \
- grep \\--noexecstack) 2>&1 > /dev/null && \
+if expr "$options" : '.*no\-asm' > /dev/null; then :; else
+ sh -c "$CROSS_COMPILE${CC:-gcc} -Wa,--help -c -o /tmp/null.$$.o -x assembler /dev/null && rm /tmp/null.$$.o" 2>&1 | \
+ grep \\--noexecstack >/dev/null && \
options="$options -Wa,--noexecstack"
fi