blob: 9d7c3433a192873f588d8f3c8a4d75ca6656cc5c [file] [log] [blame]
#!/bin/sh
#
# Compute the Firefox XPCOM-ABI string -- see
# http://developer.mozilla.org/en/docs/XPCOM_ABI
#
# OS_TARGET portion should be one of:
# Linux
# Darwin - Mac OSX
# WINNT - Windows NT, 2000, XP and later
# SunOS - all Solaris versions
#
OS=`uname -s`
# COMPILER should be one of:
# gcc2 - GNU C++ v2.x
# gcc3 - GNU C++ v3.x or v4.x
# msvc - MS Visual C++
# n32 - IRIX 6 C++ Compiler
# sunc - Sun C++ Compiler
# ibmc - IBM C++ Compiler
#
# TODO: figure out how to determine this in a better way
case $OS in
SunOS)
COMPILER=sunc
;;
WINNT)
COMPILER=msvc
;;
*)
COMPILER=gcc3
;;
esac
# TARGET_XPCOM_ABI consists of ARCH and COMPILER
# Currently acceptable ARCH values are:
# x86 - i386 and up, 32-bit mode
# x86_64 - AMD64/EMT64 processors in 64-bit mode
# ppc
# alpha
# sparc
# ia64 - Itanium
#
ARCH=`uname -m`
case "$ARCH" in
x86_64 | ppc | sparc | alpha | ia64)
# these don't need changing
;;
athlon | i386 | i486 | i586 | i686 | i86pc)
ARCH=x86
;;
*Macintosh*)
case `uname -p` in
powerpc)
ARCH=ppc
;;
*)
echo "Unknown mac architecture '$ARCH'" >&2
exit 1
;;
esac
;;
*)
echo "Unknown architecture '$ARCH'" >&2
exit 1
;;
esac
echo ${OS}_$ARCH-$COMPILER >$1
exit 0