#!/bin/bash # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/files/gentoo.config-0.9.8,v 1.16 2007/04/01 11:03:52 vapier Exp $ # # Openssl doesn't play along nicely with cross-compiling # like autotools based projects, so let's teach it new tricks. # # Review the bundled 'config' script to see why kind of targets # we can pass to the 'Configure' script. # Testing routines if [[ $1 == "test" ]] ; then for c in \ "arm-gentoo-linux-uclibc |linux-generic32 -DL_ENDIAN" \ "armv5b-linux-gnu |linux-generic32 -DB_ENDIAN" \ "x86_64-pc-linux-gnu |linux-x86_64" \ "alphaev56-unknown-linux-gnu |linux-alpha+bwx-gcc" \ "i686-pc-linux-gnu |linux-elf" \ "whatever-gentoo-freebsdX.Y |BSD-generic32" \ "i686-gentoo-freebsdX.Y |BSD-x86-elf" \ "sparc64-alpha-freebsdX.Y |BSD-sparc64" \ "ia64-gentoo-freebsd5.99234 |BSD-ia64" \ "x86_64-gentoo-freebsdX.Y |BSD-x86_64" \ "hppa64-aldsF-linux-gnu5.3 |linux-generic32 -DB_ENDIAN" \ "powerpc-gentOO-linux-uclibc |linux-ppc" \ "powerpc64-unk-linux-gnu |linux-ppc64" \ ;do CHOST=${c/|*} ret_want=${c/*|} ret_got=$(CHOST=${CHOST} "$0") if [[ ${ret_want} == "${ret_got}" ]] ; then echo "PASS: ${CHOST}" else echo "FAIL: ${CHOST}" echo -e "\twanted: ${ret_want}" echo -e "\twe got: ${ret_got}" fi done exit 0 fi [[ -z ${CHOST} && -n $1 ]] && CHOST=$1 # Detect the operating system case ${CHOST} in *-linux*) system="linux";; *-freebsd*) system="BSD";; *) exit 0;; esac # Compiler munging compiler="gcc" if [[ ${CC} == "ccc" ]] ; then compiler=${CC} fi # Detect target arch machine="" chost_machine=${CHOST%%-*} case ${system} in linux) case ${chost_machine} in alphaev56*) machine=alpha+bwx-${compiler};; alphaev[678]*)machine=alpha+bwx-${compiler};; alpha*) machine=alpha-${compiler};; arm*b*) machine="generic32 -DB_ENDIAN";; arm*) machine="generic32 -DL_ENDIAN";; # hppa64*) machine=parisc64;; hppa*) machine="generic32 -DB_ENDIAN";; i[0-9]86*) machine=elf;; ia64*) machine=ia64;; m68*) machine="generic32 -DB_ENDIAN";; mips*el*) machine="generic32 -DL_ENDIAN";; mips*) machine="generic32 -DB_ENDIAN";; powerpc64*) machine=ppc64;; powerpc*) machine=ppc;; # sh64*) machine=elf;; sh*b*) machine="generic32 -DB_ENDIAN";; sh*) machine="generic32 -DL_ENDIAN";; sparc*v7*) machine="generic32 -DB_ENDIAN";; sparc64*) machine=sparcv9;; sparc*) machine=sparcv8;; s390x*) machine="generic64 -DB_ENDIAN";; s390*) machine="generic32 -DB_ENDIAN";; x86_64*) machine=x86_64;; esac ;; BSD) case ${chost_machine} in alpha*) machine=generic64;; i[6-9]86*) machine=x86-elf;; ia64*) machine=ia64;; sparc64*) machine=sparc64;; x86_64*) machine=x86_64;; *) machine=generic32;; esac ;; esac # If we have something, show it [[ -n ${machine} ]] && echo ${system}-${machine}