Updates from ddm4
[awesomized/libmemcached] / m4 / ax_compiler_version.m4
1 # ===========================================================================
2 # https://github.com/BrianAker/ddm4/
3 # ===========================================================================
4 #
5 # SYNOPSIS
6 #
7 # AX_C_COMPILER_VERSION
8 # AX_CXX_COMPILER_VERSION
9 #
10 # DESCRIPTION
11 #
12 # Capture version of C/C++ compiler
13 #
14 # LICENSE
15 #
16 # Copyright (C) 2012 Brian Aker
17 # All rights reserved.
18 #
19 # Redistribution and use in source and binary forms, with or without
20 # modification, are permitted provided that the following conditions are
21 # met:
22 #
23 # * Redistributions of source code must retain the above copyright
24 # notice, this list of conditions and the following disclaimer.
25 #
26 # * Redistributions in binary form must reproduce the above
27 # copyright notice, this list of conditions and the following disclaimer
28 # in the documentation and/or other materials provided with the
29 # distribution.
30 #
31 # * The names of its contributors may not be used to endorse or
32 # promote products derived from this software without specific prior
33 # written permission.
34 #
35 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46
47 #serial 3
48
49 AC_DEFUN([AX_C_COMPILER_VERSION],[
50 AC_REQUIRE([AX_COMPILER_VENDOR])
51 AC_MSG_CHECKING("C Compiler version")
52
53 AC_CHECK_DECL([__GNUC_PATCHLEVEL__],[GNUCC="yes"], [GNUCC="no"])
54 AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"],[SUNCC="no"])
55 AC_CHECK_DECL([__ICC], [INTELCC="yes"],[INTELCC="no"])
56 AC_CHECK_DECL([__clang__], [CLANG="yes"],[CLANG="no"])
57
58 ax_cc_version=unknown
59 AS_IF([test "$ax_cc_version" = "unknown"],[AS_IF([test "$SUNCC" = "yes"],[ax_cc_version=`$CC -V 2>&1 | sed 1q`])])
60 AS_IF([test "$ax_cc_version" = "unknown"],[AS_IF([test "$CLANG" = "yes"],[ax_cc_version=`$CC --version 2>&1 | sed 1q` ])])
61 AS_IF([test "$ax_cc_version" = "unknown"],[AS_IF([test "$INTELCC" = "yes"],[ax_cc_version=`$CC --version 2>&1 | sed 1q` ])])
62 AS_IF([test "$ax_cc_version" = "unknown"],[AS_IF([test "$GNUCC" = "yes"],[ax_cc_version=`$CC --version | sed 1q` ])])
63
64 AC_MSG_RESULT(["$ax_cc_version"])
65 AC_SUBST([CC_VERSION],["$ax_cc_version"])
66 ])
67
68 AC_DEFUN([AX_CXX_COMPILER_VERSION], [
69 AC_REQUIRE([AX_C_COMPILER_VERSION])
70 AC_MSG_CHECKING("C++ Compiler version")
71
72 ax_cxx_version=unknown
73 AS_IF([test "$ax_cxx_version" = "unknown"],[AS_IF([test "$GNUCC" = "yes"],[ax_cxx_version=`$CXX --version | sed 1q`])])
74 AS_IF([test "$ax_cxx_version" = "unknown"],[AS_IF([test "$SUNCC" = "yes"],[ax_cxx_version=`$CXX -V 2>&1 | sed 1q`])])
75 AS_IF([test "$ax_cxx_version" = "unknown"],[AS_IF([test "$CLANG" = "yes"],[ax_cxx_version=`$CXX --version 2>&1 | sed 1q`])])
76 AS_IF([test "$ax_cxx_version" = "unknown"],[AS_IF([test "$INTELCC" = "yes"],[ax_cc_version=`$CCX --version 2>&1 | sed 1q` ])])
77
78 AC_MSG_RESULT(["$ax_cxx_version"])
79 AC_SUBST([CXX_VERSION], ["$ax_cxx_version"])
80 ])