You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

327 lines
12 KiB

Index: Configure
--- Configure.orig 2009-02-16 09:44:22 +0100
+++ Configure 2009-12-18 20:55:32 +0100
@@ -36,6 +36,7 @@
# (Default: KRB5_DIR/include)
# --with-krb5-flavor Declare what flavor of Kerberos 5 is used. Currently
# supported values are "MIT" and "Heimdal". A value is required.
+# --with-cc compiler to use for $CC (useful if cc is a disguised gcc)
#
# --test-sanity Make a number of sanity checks on the data in this file.
# This is a debugging tool for OpenSSL developers.
@@ -122,6 +123,7 @@
#$bits2="THIRTY_TWO_BIT ";
my $bits1="THIRTY_TWO_BIT ";
my $bits2="SIXTY_FOUR_BIT ";
+my $ccarg;
my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o MAYBE-MO86-elf.o:dx86-elf.o yx86-elf.o:ax86-elf.o:bx86-elf.o:mx86-elf.o:sx86-elf.o s512sse2-elf.o:cx86-elf.o:rx86-elf.o rc4_skey.o:rm86-elf.o:r586-elf.o";
my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o MAYBE-MO86-cof.o:dx86-cof.o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-cof.o:rx86-cof.o rc4_skey.o:rm86-cof.o:r586-cof.o";
@@ -414,8 +416,8 @@
#### IBM's AIX.
"aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:::",
-"aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
-"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X64",
+"aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
+"aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::",
# Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
# at build time. $OBJECT_MODE is respected at ./config stage!
"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
@@ -747,6 +749,10 @@
{
exit(&test_sanity());
}
+ elsif (/^--with-cc=(.*)$/)
+ {
+ $ccarg=$1
+ }
elsif (/^reconfigure/ || /^reconf/)
{
if (open(IN,"<$Makefile"))
@@ -952,7 +958,7 @@
&usage if (!defined($table{$target}));
my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
-my $cc = $fields[$idx_cc];
+my $cc = $ccarg ? $ccarg : $fields[$idx_cc];
# Allow environment CC to override compiler...
if($ENV{CC}) {
$cc = $ENV{CC};
Index: config
--- config.orig 2009-02-16 09:43:41 +0100
+++ config 2009-12-18 20:57:38 +0100
@@ -269,6 +269,9 @@
Power*)
echo "ppc-apple-darwin${VERSION}"
;;
+ x86_64 )
+ echo "x86_64-apple-darwin${VERSION}"
+ ;;
*)
echo "i386-apple-darwin${VERSION}"
;;
@@ -399,7 +402,7 @@
# this is where the translation occurs into SSLeay terms
# ---------------------------------------------------------------------------
-GCCVER=`(gcc -dumpversion) 2>/dev/null`
+GCCVER=`(${CC-gcc} -dumpversion 2>/dev/null && exit; gcc -dumpversion 2>/dev/null && exit; cc --version 2>/dev/null | grep GCC >/dev/null && cc -dumpversion )`
if [ "$GCCVER" != "" ]; then
# then strip off whatever prefix egcs prepends the number with...
# Hopefully, this will work for any future prefixes as well.
@@ -417,8 +420,14 @@
# we fallback to whatever cc does on the system
if [ "$GCCVER" != "" ]; then
CC=gcc
+ SUFFIX=gcc
else
CC=cc
+ SUFFIX=cc
+ fi
+else
+ if [ "$GCCVER" != "" ]; then
+ SUFFIX=gcc
fi
fi
GCCVER=${GCCVER:-0}
@@ -428,7 +437,7 @@
if [ $GCCVER -ge 30 ]; then
# PA64 support only came in with gcc 3.0.x.
# We check if the preprocessor symbol __LP64__ is defined...
- if echo "__LP64__" | gcc -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
+ if echo "__LP64__" | $CC -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
: # __LP64__ has slipped through, it therefore is not defined
else
GCC_BITS="64"
@@ -439,13 +448,14 @@
if [ $GCCVER -ge 30 ]; then
# 64-bit ABI isn't officially supported in gcc 3.0, but it appears
# to be working, at the very least 'make test' passes...
- if gcc -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
+ if $CC -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
GCC_ARCH="-m64"
else
GCC_ARCH="-m32"
fi
fi
# check for WorkShop C, expected output is "cc: blah-blah C x.x"
+ if [ $GCCVER -eq 0 ]; then
CCVER=`(cc -V 2>&1) 2>/dev/null | \
egrep -e '^cc: .* C [0-9]\.[0-9]' | \
sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
@@ -458,6 +468,7 @@
sleep 5
fi
fi
+ fi
fi
if [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
@@ -475,6 +486,7 @@
if [ "${SYSTEM}" = "AIX" ]; then # favor vendor cc over gcc
(cc) 2>&1 | grep -iv "not found" > /dev/null && CC=cc
+ (gcc) 2>&1 | grep -iv "not found" > /dev/null && CC=gcc
fi
CCVER=${CCVER:-0}
@@ -494,7 +506,7 @@
if [ $CPU -ge 4000 ]; then
options="$options -mips2"
fi
- OUT="irix-$CC"
+ OUT="irix-$SUFFIX"
;;
mips3-sgi-irix)
#CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
@@ -504,11 +516,11 @@
#else
# options="$options -mips3"
#fi
- OUT="irix-mips3-$CC"
+ OUT="irix-mips3-$SUFFIX"
;;
mips4-sgi-irix64)
echo "WARNING! If you wish to build 64-bit library, then you have to"
- echo " invoke './Configure irix64-mips4-$CC' *manually*."
+ echo " invoke './Configure irix64-mips4-$SUFFIX' *manually*."
if [ "$TEST" = "false" -a -t 1 ]; then
echo " You have about 5 seconds to press Ctrl-C to abort."
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
@@ -520,18 +532,19 @@
#else
# options="$options -mips3"
#fi
- OUT="irix-mips3-$CC"
+ OUT="irix-mips3-$SUFFIX"
;;
ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
ppc-apple-darwin*) OUT="darwin-ppc-cc" ;;
i386-apple-darwin*) OUT="darwin-i386-cc" ;;
+ x86_64-apple-darwin*) OUT="darwin64-x86_64-cc" ;;
alpha-*-linux2)
ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
case ${ISA:-generic} in
- *[678]) OUT="linux-alpha+bwx-$CC" ;;
- *) OUT="linux-alpha-$CC" ;;
+ *[678]) OUT="linux-alpha+bwx-$SUFFIX" ;;
+ *) OUT="linux-alpha-$SUFFIX" ;;
esac
- if [ "$CC" = "gcc" ]; then
+ if [ $GCCVER -gt 0 ]; then
case ${ISA:-generic} in
EV5|EV45) options="$options -mcpu=ev5";;
EV56|PCA56) options="$options -mcpu=ev56";;
@@ -598,7 +611,7 @@
s390x-*-linux2) OUT="linux-generic64"; options="$options -DB_ENDIAN" ;;
x86_64-*-linux?) OUT="linux-x86_64" ;;
*86-*-linux2) OUT="linux-elf"
- if [ "$GCCVER" -gt 28 ]; then
+ if [ $GCCVER -gt 28 ]; then
if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
options="$options -march=pentium"
fi
@@ -612,17 +625,17 @@
*-*-linux1) OUT="linux-aout" ;;
*-*-linux2) OUT="linux-generic32" ;;
sun4[uv]*-*-solaris2)
- OUT="solaris-sparcv9-$CC"
+ OUT="solaris-sparcv9-$SUFFIX"
ISA64=`(isalist) 2>/dev/null | grep sparcv9`
if [ "$ISA64" != "" ]; then
- if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
+ if [ $GCCVER -eq 0 -a $CCVER -ge 50 ]; then
echo "WARNING! If you wish to build 64-bit library, then you have to"
echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
if [ "$TEST" = "false" -a -t 1 ]; then
echo " You have about 5 seconds to press Ctrl-C to abort."
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
fi
- elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
+ elif [ $GCCVER -gt 0 -a "$GCC_ARCH" = "-m64" ]; then
# $GCC_ARCH denotes default ABI chosen by compiler driver
# (first one found on the $PATH). I assume that user
# expects certain consistency with the rest of his builds
@@ -645,21 +658,21 @@
fi
fi
;;
- sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
- sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
- sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
+ sun4m-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
+ sun4d-*-solaris2) OUT="solaris-sparcv8-$SUFFIX" ;;
+ sun4*-*-solaris2) OUT="solaris-sparcv7-$SUFFIX" ;;
*86*-*-solaris2)
ISA64=`(isalist) 2>/dev/null | grep amd64`
- if [ "$ISA64" != "" ]; then
- OUT="solaris64-x86_64-$CC"
+ if [ "$ISA64" != "" -a $GCCVER -gt 0 -a "$GCC_ARCH" = "-m64" ]; then
+ OUT="solaris64-x86_64-$SUFFIX"
else
- OUT="solaris-x86-$CC"
+ OUT="solaris-x86-$SUFFIX"
if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
options="$options no-sse2"
fi
fi
;;
- *-*-sunos4) OUT="sunos-$CC" ;;
+ *-*-sunos4) OUT="sunos-$SUFFIX" ;;
*86*-*-bsdi4) OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
alpha*-*-*bsd*) OUT="BSD-generic64"; options="$options -DL_ENDIAN" ;;
@@ -683,7 +696,7 @@
*-*-osf) OUT="osf1-alpha-cc" ;;
*-*-tru64) OUT="tru64-alpha-cc" ;;
*-*-[Uu]nix[Ww]are7)
- if [ "$CC" = "gcc" ]; then
+ if [ $GCCVER -gt 0 ]; then
OUT="unixware-7-gcc" ; options="$options no-sse2"
else
OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
@@ -694,12 +707,12 @@
*-*-vos)
options="$options no-threads no-shared no-asm no-dso"
EXE=".pm"
- OUT="vos-$CC" ;;
+ OUT="vos-$SUFFIX" ;;
BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
*-siemens-sysv4) OUT="SINIX" ;;
*-hpux1*)
- if [ $CC = "gcc" -a $GCC_BITS = "64" ]; then
+ if [ $GCCVER -gt 0 -a $GCC_BITS = "64" ]; then
OUT="hpux64-parisc2-gcc"
fi
KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
@@ -717,8 +730,8 @@
fi
OUT="hpux64-ia64-cc"
elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
- OUT=${OUT:-"hpux-parisc2-${CC}"}
- if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
+ OUT=${OUT:-"hpux-parisc2-${SUFFIX}"}
+ if [ $KERNEL_BITS -eq 64 -a $GCCVER -eq 0 ]; then
echo "WARNING! If you wish to build 64-bit library then you have to"
echo " invoke './Configure hpux64-parisc2-cc' *manually*."
if [ "$TEST" = "false" -a -t 1 ]; then
@@ -727,19 +740,19 @@
fi
fi
elif [ $CPU_VERSION -ge 528 ]; then # PA-RISC 1.1+ CPU
- OUT="hpux-parisc-${CC}"
+ OUT="hpux-parisc-${SUFFIX}"
elif [ $CPU_VERSION -ge 523 ]; then # PA-RISC 1.0 CPU
- OUT="hpux-parisc-${CC}"
+ OUT="hpux-parisc-${SUFFIX}"
else # Motorola(?) CPU
- OUT="hpux-$CC"
+ OUT="hpux-$SUFFIX"
fi
options="$options -D_REENTRANT" ;;
- *-hpux) OUT="hpux-parisc-$CC" ;;
+ *-hpux) OUT="hpux-parisc-$SUFFIX" ;;
*-aix)
KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
KERNEL_BITS=${KERNEL_BITS:-32}
OBJECT_MODE=${OBJECT_MODE:-32}
- if [ "$CC" = "gcc" ]; then
+ if [ $GCCVER -gt 0 ]; then
OUT="aix-gcc"
elif [ $OBJECT_MODE -eq 64 ]; then
echo 'Your $OBJECT_MODE was found to be set to 64'
@@ -834,7 +847,7 @@
#fi
if [ -z "$OUT" ]; then
- OUT="$CC"
+ OUT="$SUFFIX"
fi
if [ ".$PERL" = . ] ; then
@@ -866,9 +879,9 @@
# compiler for the platform ... in which case we add it on
# the end ... otherwise we leave it off
-$PERL ./Configure LIST | grep "$OUT-$CC" > /dev/null
+$PERL ./Configure LIST | grep "$OUT-$SUFFIX" > /dev/null
if [ $? = "0" ]; then
- OUT="$OUT-$CC"
+ OUT="$OUT-$SUFFIX"
fi
OUT="$PREFIX$OUT"
@@ -878,9 +891,9 @@
echo Configuring for $OUT
if [ "$TEST" = "true" ]; then
- echo $PERL ./Configure $OUT $options
+ echo $PERL ./Configure $OUT --with-cc=$CC $options
else
- $PERL ./Configure $OUT $options
+ $PERL ./Configure $OUT --with-cc=$CC $options
fi
else
echo "This system ($OUT) is not supported. See file INSTALL for details."