3
# other compilers may define __GNUC__, like intel or pathscale
4
# that's why we put it later in the for loop, like we do with our compiler
5
# checks since GCC is so pervasive
6
AC_DEFUN([GA_COMPILER_VENDOR], [
7
AS_VAR_PUSHDEF([ga_cv_compiler_vendor],
8
[ga_cv_[]_AC_LANG_ABBREV[]_compiler_vendor])
9
AC_CACHE_CHECK([for _AC_LANG compiler vendor], [ga_cv_compiler_vendor], [
10
ga_save_ac_ext="$ac_ext"
11
AC_LANG_CASE([Fortran], [ac_ext=F])
12
AC_LANG_CASE([Fortran 77], [ac_ext=F])
13
ga_cv_compiler_vendor=unknown
14
ga_cpp_vendor_symbols=
15
for vendor in intel ibm pathscale amd cray gnu sun hp dec borland comeau kai lcc metrowerks sgi microsoft watcom portland fujitsu
18
[amd], [ga_cpp_vendor_symbols="defined(__OPEN64__)"],
19
[borland], [ga_cpp_vendor_symbols="defined(__BORLANDC__) || defined(__TURBOC__)"],
20
[comeau], [ga_cpp_vendor_symbols="defined(__COMO__)"],
21
[cray], [ga_cpp_vendor_symbols="defined(_CRAYC) || defined(_ADDR64)"],
22
[dec], [ga_cpp_vendor_symbols="defined(__DECC) || defined(__DECCXX) || defined(__DECC_VER) || defined(__DECCXX_VER)"],
23
[fujitsu], [ga_cpp_vendor_symbols="defined(__fcc__) || defined(__fcc_version__) || defined(_FCC_VER) || defined(__FCC_VER_)"],
24
[gnu], [ga_cpp_vendor_symbols="defined(__GNUC__)"],
25
[hp], [ga_cpp_vendor_symbols="defined(__HP_cc) || defined(__HP_aCC)"],
26
[ibm], [ga_cpp_vendor_symbols="defined(__xlc__) || defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__)"],
27
[intel], [ga_cpp_vendor_symbols="defined(__ICC) || defined(__ECC) || defined(__INTEL_COMPILER)"],
28
[kai], [ga_cpp_vendor_symbols="defined(__KCC)"],
29
[lcc], [ga_cpp_vendor_symbols="defined(__LCC__)"],
30
[metrowerks],[ga_cpp_vendor_symbols="defined(__MWERKS__)"],
31
[microsoft], [ga_cpp_vendor_symbols="defined(_MSC_VER)"],
32
[pathscale], [ga_cpp_vendor_symbols="defined(__PATHCC__) || defined(__PATHSCALE__)"],
33
[portland], [ga_cpp_vendor_symbols="defined(__PGI)"],
34
[sgi], [ga_cpp_vendor_symbols="defined(__sgi) || defined(sgi)"],
35
[sun], [ga_cpp_vendor_symbols="defined(__SUNPRO_C) || defined(__SUNPRO_CC)"],
36
[watcom], [ga_cpp_vendor_symbols="defined(__WATCOMC__)"])
37
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[
38
#if !($ga_cpp_vendor_symbols)
41
])], [ga_cv_compiler_vendor=$vendor; break])
43
ga_cpp_vendor_symbols=
44
ac_ext="$ga_save_ac_ext"
46
AS_VAR_POPDEF([ga_cv_compiler_vendor])