File: ac_cxx_compiler_vendor.m4

package info (click to toggle)
log4cplus 1.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 3,536 kB
  • sloc: sh: 10,603; cpp: 9,253; ansic: 706; makefile: 251
file content (73 lines) | stat: -rw-r--r-- 2,218 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# ===========================================================================
#         http://autoconf-archive.cryp.to/ac_cxx_compiler_vendor.html
# ===========================================================================
#
# SYNOPSIS
#
#   AC_CXX_COMPILER_VENDOR(VENDOR-NAME, [NICKNAME])
#
# DESCRIPTION
#
#   Set VENDOR-NAME to the lower-case name of the compiler vendor or
#   `unknown' if the compiler's vendor is unknown. `compaq' means the CXX
#   compiler as available on Tru64/OSF1/Digital Unix on Alpha machines. If
#   NICKNAME is provided, set it to the compiler's usual name (eg. `g++',
#   `cxx', `aCC', etc.).
#
# LAST MODIFICATION
#
#   2008-04-12
#
# COPYLEFT
#
#   Copyright (c) 2008 Ludovic Courts <ludo@chbouib.org>
#
#   Copying and distribution of this file, with or without modification, are
#   permitted in any medium without royalty provided the copyright notice
#   and this notice are preserved.

AC_DEFUN([AC_CXX_COMPILER_VENDOR],
  [AC_REQUIRE([AC_PROG_CXX])
   AC_REQUIRE([AC_PROG_CXXCPP])
   AC_CACHE_CHECK([the C++ compiler vendor],
    [ac_cv_cxx_compiler_vendor],

    [AC_LANG_PUSH([C++])

     dnl GNU C++
     _AC_C_IFDEF([__GNUG__],
       [ac_cv_cxx_compiler_vendor=gnu],
       [_AC_C_IFDEF([__DECCXX],
	 [ac_cv_cxx_compiler_vendor=compaq],
	 [dnl HP's aCC
	  _AC_C_IFDEF([__HP_aCC],
	   [ac_cv_cxx_compiler_vendor=hp],
	   [dnl SUN CC
	    _AC_C_IFDEF([__SUNPRO_CC],
	    [ac_cv_cxx_compiler_vendor=sun],
	    [dnl SGI CC
	     _AC_C_IFDEF([__sgi],
	      [ac_cv_cxx_compiler_vendor=sgi],
	      [dnl Note:  We are using the C compiler because VC++ doesn't
	       dnl recognize `.cc'(which is used by `configure') as a C++ file
	       dnl extension and requires `/TP' to be passed.
	       AC_LANG_PUSH([C])
	       _AC_C_IFDEF([_MSC_VER],
		[ac_cv_cxx_compiler_vendor=microsoft],
		[ac_cv_cxx_compiler_vendor=unknown])
	       AC_LANG_POP()])])])])])

     AC_LANG_POP()])
   $1="$ac_cv_cxx_compiler_vendor"

   dnl The compiler nickname
   ifelse([$2], , [],
     [case "$ac_cv_cxx_compiler_vendor" in
	gnu)       $2=g++;;
	compaq)    $2=cxx;;
	hp)        $2=aCC;;
	sgi)       $2=CC;;
	sun)       $2=CC;;
	microsoft) $2=cl;;
	*)         $2=unknown;;
      esac])])dnl