| #!/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 |