X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/480ccd2194ae492b878e1659b99d0108157eae01..f6a9f9ad2896fe3666111dabf7fad196108b219e:/acinclude.m4 diff --git a/acinclude.m4 b/acinclude.m4 index 18ea55aad3..28ce34da20 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -48,6 +48,49 @@ fi ]) dnl AC_DEFUN +dnl Based on autoconf _AC_LANG_COMPILER_GNU +AC_DEFUN([_AC_WX_LANG_COMPILER_XLC], +[AC_CACHE_CHECK([whether we are using the IBM xlC _AC_LANG compiler], + [wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc], + [AC_TRY_COMPILE([],[#ifndef __xlC__ + choke me +#endif +], + [wx_compiler_xlc=yes], + [wx_compiler_xlc=no]) + wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc=$wx_compiler_xlc + ]) +]) + +dnl Loosely based on autoconf AC_PROG_CC +AC_DEFUN([AC_WX_PROG_XLCC], +[AC_LANG_PUSH(C) +_AC_WX_LANG_COMPILER_XLC +XLCC=`test $wx_compiler_xlc = yes && echo yes` +AC_LANG_POP(C) +]) + +dnl Loosely based on autoconf AC_PROG_CXX +AC_DEFUN([AC_WX_PROG_XLCXX], +[AC_LANG_PUSH(C++) +_AC_WX_LANG_COMPILER_XLC +XLCXX=`test $wx_compiler_xlc = yes && echo yes` +AC_LANG_POP(C++) +]) + +dnl =========================================================================== +dnl Objective-C(++) related macros +dnl =========================================================================== +m4_define([AC_WX_LANG_OBJECTIVEC], +[AC_LANG(C) +ac_ext=m +]) + +m4_define([AC_WX_LANG_OBJECTIVECPLUSPLUS], +[AC_LANG(C++) +ac_ext=mm +]) + dnl =========================================================================== dnl macros to find the a file in the list of include/lib paths dnl =========================================================================== @@ -674,3 +717,22 @@ if test "$ac_cv_cxx_static_cast" = yes; then AC_DEFINE(HAVE_STATIC_CAST,, [define if the compiler supports static_cast<>]) fi ]) + +dnl http://autoconf-archive.cryp.to/ac_cxx_dynamic_cast.html +AC_DEFUN([AC_CXX_DYNAMIC_CAST], +[AC_CACHE_CHECK(whether the compiler supports dynamic_cast<>, +ac_cv_cxx_dynamic_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} };],[ +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1;], + ac_cv_cxx_dynamic_cast=yes, ac_cv_cxx_dynamic_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_dynamic_cast" = yes; then + AC_DEFINE(HAVE_DYNAMIC_CAST,,[define if the compiler supports dynamic_cast<>]) +fi +]) +