]> git.saurik.com Git - wxWidgets.git/blobdiff - build/aclocal/bakefile-lang.m4
even more interface fixes
[wxWidgets.git] / build / aclocal / bakefile-lang.m4
index 9f810d1ba54ba296e30e48f3a433a43dc41d02f1..6c483c5c159e5f715be5d87b98d3c7e49118f29f 100644 (file)
@@ -1,74 +1,36 @@
-dnl ---------------------------------------------------------------------------
-dnl Compiler detection macros by David Elliott
-dnl ---------------------------------------------------------------------------
+dnl
+dnl  This file is part of Bakefile (http://www.bakefile.org)
+dnl
+dnl  Copyright (C) 2003-2007 Vaclav Slavik, David Elliott and others
+dnl
+dnl  Permission is hereby granted, free of charge, to any person obtaining a
+dnl  copy of this software and associated documentation files (the "Software"),
+dnl  to deal in the Software without restriction, including without limitation
+dnl  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+dnl  and/or sell copies of the Software, and to permit persons to whom the
+dnl  Software is furnished to do so, subject to the following conditions:
+dnl
+dnl  The above copyright notice and this permission notice shall be included in
+dnl  all copies or substantial portions of the Software.
+dnl
+dnl  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+dnl  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+dnl  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+dnl  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+dnl  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+dnl  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+dnl  DEALINGS IN THE SOFTWARE.
+dnl
+dnl  $Id$
+dnl
+dnl  Compiler detection macros by David Elliott and Vadim Zeitlin
+dnl
 
 
 dnl ===========================================================================
 
 
 dnl ===========================================================================
-dnl Macros to detect non-GNU compilers (MetroWerks, XLC)
+dnl Macros to detect different C/C++ compilers
 dnl ===========================================================================
 
 dnl ===========================================================================
 
-dnl Based on autoconf _AC_LANG_COMPILER_GNU
-AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER_MWERKS],
-[AC_CACHE_CHECK([whether we are using the Metrowerks _AC_LANG compiler],
-    [bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_mwerks],
-    [AC_TRY_COMPILE([],[#ifndef __MWERKS__
-       choke me
-#endif
-],
-        [bakefile_compiler_mwerks=yes],
-        [bakefile_compiler_mwerks=no])
-    bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_mwerks=$bakefile_compiler_mwerks
-    ])
-])
-
-dnl Loosely based on autoconf AC_PROG_CC
-dnl TODO: Maybe this should wrap the call to AC_PROG_CC and be used instead.
-AC_DEFUN([AC_BAKEFILE_PROG_MWCC],
-[AC_LANG_PUSH(C)
-_AC_BAKEFILE_LANG_COMPILER_MWERKS
-MWCC=`test $bakefile_cv_c_compiler_mwerks = yes && echo yes`
-AC_LANG_POP(C)
-])
-
-dnl Loosely based on autoconf AC_PROG_CXX
-dnl TODO: Maybe this should wrap the call to AC_PROG_CXX and be used instead.
-AC_DEFUN([AC_BAKEFILE_PROG_MWCXX],
-[AC_LANG_PUSH(C++)
-_AC_BAKEFILE_LANG_COMPILER_MWERKS
-MWCXX=`test $bakefile_cv_cxx_compiler_mwerks = yes && echo yes`
-AC_LANG_POP(C++)
-])
-
-dnl Based on autoconf _AC_LANG_COMPILER_GNU
-AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER_XLC],
-[AC_CACHE_CHECK([whether we are using the IBM xlC _AC_LANG compiler],
-    [bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_xlc],
-    [AC_TRY_COMPILE([],[#ifndef __xlC__
-       choke me
-#endif
-],
-        [bakefile_compiler_xlc=yes],
-        [bakefile_compiler_xlc=no])
-    bakefile_cv_[]_AC_LANG_ABBREV[]_compiler_xlc=$bakefile_compiler_xlc
-    ])
-])
-
-dnl Loosely based on autoconf AC_PROG_CC
-AC_DEFUN([AC_BAKEFILE_PROG_XLCC],
-[AC_LANG_PUSH(C)
-_AC_BAKEFILE_LANG_COMPILER_XLC
-XLCC=`test $bakefile_cv_c_compiler_xlc = yes && echo yes`
-AC_LANG_POP(C)
-])
-
-dnl Loosely based on autoconf AC_PROG_CXX
-AC_DEFUN([AC_BAKEFILE_PROG_XLCXX],
-[AC_LANG_PUSH(C++)
-_AC_BAKEFILE_LANG_COMPILER_XLC
-XLCXX=`test $bakefile_cv_cxx_compiler_xlc = yes && echo yes`
-AC_LANG_POP(C++)
-])
-
 dnl Based on autoconf _AC_LANG_COMPILER_GNU
 dnl _AC_BAKEFILE_LANG_COMPILER(NAME, LANG, SYMBOL, IF-YES, IF-NO)
 AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
 dnl Based on autoconf _AC_LANG_COMPILER_GNU
 dnl _AC_BAKEFILE_LANG_COMPILER(NAME, LANG, SYMBOL, IF-YES, IF-NO)
 AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
@@ -97,6 +59,28 @@ AC_DEFUN([_AC_BAKEFILE_LANG_COMPILER],
     AC_LANG_POP($2)
 ])
 
     AC_LANG_POP($2)
 ])
 
+dnl CodeWarrior Metrowerks compiler defines __MWERKS__ for both C and C++
+AC_DEFUN([AC_BAKEFILE_PROG_MWCC],
+[
+    _AC_BAKEFILE_LANG_COMPILER(Metrowerks, C, __MWERKS__, MWCC=yes)
+])
+
+AC_DEFUN([AC_BAKEFILE_PROG_MWCXX],
+[
+    _AC_BAKEFILE_LANG_COMPILER(Metrowerks, C++, __MWERKS__, MWCXX=yes)
+])
+
+dnl IBM xlC compiler defines __xlC__ for both C and C++
+AC_DEFUN([AC_BAKEFILE_PROG_XLCC],
+[
+    _AC_BAKEFILE_LANG_COMPILER([IBM xlC], C, __xlC__, XLCC=yes)
+])
+
+AC_DEFUN([AC_BAKEFILE_PROG_XLCXX],
+[
+    _AC_BAKEFILE_LANG_COMPILER([IBM xlC], C++, __xlC__, XLCXX=yes)
+])
+
 dnl recent versions of SGI mipsPro compiler define _SGI_COMPILER_VERSION
 dnl
 dnl NB: old versions define _COMPILER_VERSION but this could probably be
 dnl recent versions of SGI mipsPro compiler define _SGI_COMPILER_VERSION
 dnl
 dnl NB: old versions define _COMPILER_VERSION but this could probably be
@@ -204,7 +188,12 @@ dnl _AC_BAKEFILE_PROG_COMPILER(LANG)
 AC_DEFUN([_AC_BAKEFILE_PROG_COMPILER],
 [
     AC_PROG_$1
 AC_DEFUN([_AC_BAKEFILE_PROG_COMPILER],
 [
     AC_PROG_$1
+
+    dnl Intel compiler can be used under several different OS and even
+    dnl different architectures (x86, amd64 and Itanium) so it's easier to just
+    dnl always test for it
     AC_BAKEFILE_PROG_INTEL$1
     AC_BAKEFILE_PROG_INTEL$1
+
     dnl if we're using gcc, we can't be using any of incompatible compilers
     if test "x$G$1" != "xyes"; then
         if test "x$1" = "xC"; then
     dnl if we're using gcc, we can't be using any of incompatible compilers
     if test "x$G$1" != "xyes"; then
         if test "x$1" = "xC"; then
@@ -231,6 +220,11 @@ AC_DEFUN([_AC_BAKEFILE_PROG_COMPILER],
                 AC_BAKEFILE_PROG_SGI$1
                 ;;
 
                 AC_BAKEFILE_PROG_SGI$1
                 ;;
 
+            Linux*)
+                dnl Sun CC is now available under Linux too
+                AC_BAKEFILE_PROG_SUN$1
+                ;;
+
             HP-UX*)
                 AC_BAKEFILE_PROG_HP$1
                 ;;
             HP-UX*)
                 AC_BAKEFILE_PROG_HP$1
                 ;;