blob: 9d7c3433a192873f588d8f3c8a4d75ca6656cc5c [file] [log] [blame]
jat@google.com134be542009-08-03 15:30:11 +00001#!/bin/sh
2#
3# Compute the Firefox XPCOM-ABI string -- see
4# http://developer.mozilla.org/en/docs/XPCOM_ABI
5#
6
7# OS_TARGET portion should be one of:
8# Linux
9# Darwin - Mac OSX
10# WINNT - Windows NT, 2000, XP and later
11# SunOS - all Solaris versions
12#
13OS=`uname -s`
14
15# COMPILER should be one of:
16# gcc2 - GNU C++ v2.x
17# gcc3 - GNU C++ v3.x or v4.x
18# msvc - MS Visual C++
19# n32 - IRIX 6 C++ Compiler
20# sunc - Sun C++ Compiler
21# ibmc - IBM C++ Compiler
22#
23# TODO: figure out how to determine this in a better way
24case $OS in
25 SunOS)
26 COMPILER=sunc
27 ;;
28 WINNT)
29 COMPILER=msvc
30 ;;
31 *)
32 COMPILER=gcc3
33 ;;
34esac
35
36# TARGET_XPCOM_ABI consists of ARCH and COMPILER
37
38# Currently acceptable ARCH values are:
39# x86 - i386 and up, 32-bit mode
40# x86_64 - AMD64/EMT64 processors in 64-bit mode
41# ppc
42# alpha
43# sparc
44# ia64 - Itanium
45#
46ARCH=`uname -m`
47case "$ARCH" in
48 x86_64 | ppc | sparc | alpha | ia64)
49 # these don't need changing
50 ;;
51 athlon | i386 | i486 | i586 | i686 | i86pc)
52 ARCH=x86
53 ;;
54 *Macintosh*)
55 case `uname -p` in
56 powerpc)
57 ARCH=ppc
58 ;;
59 *)
60 echo "Unknown mac architecture '$ARCH'" >&2
61 exit 1
62 ;;
63 esac
64 ;;
65 *)
66 echo "Unknown architecture '$ARCH'" >&2
67 exit 1
68 ;;
69esac
70
71echo ${OS}_$ARCH-$COMPILER >$1
72exit 0