]> git.saurik.com Git - wxWidgets.git/blobdiff - acinclude.m4
fix for handling TAB presses in readonly text controls
[wxWidgets.git] / acinclude.m4
index bcc7a98aa8dbc0e654021dd8b9bb7dd9efb62b3f..6479c8eaab3fef41ea3601468cada6a873018e60 100644 (file)
@@ -144,6 +144,53 @@ AC_DEFUN([WX_CPP_BOOL],
   fi
 ])
 
+dnl ---------------------------------------------------------------------------
+dnl WX_CPP_EXPLICIT checks whether the C++ compiler support the explicit
+dnl keyword and defines HAVE_EXPLICIT if this is the case
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN([WX_CPP_EXPLICIT],
+[
+  AC_CACHE_CHECK([if C++ compiler supports the explicit keyword],
+                 wx_cv_explicit,
+  [
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    dnl do the test in 2 steps: first check that the compiler knows about the
+    dnl explicit keyword at all and then verify that it really honours it
+    AC_TRY_COMPILE(
+      [
+        class Foo { public: explicit Foo(int) {} };
+      ],
+      [
+        return 0;
+      ],
+      [
+        AC_TRY_COMPILE(
+            [
+                class Foo { public: explicit Foo(int) {} };
+                static void TakeFoo(const Foo& foo) { }
+            ],
+            [
+                TakeFoo(17);
+                return 0;
+            ],
+            wx_cv_explicit=no,
+            wx_cv_explicit=yes
+        )
+      ],
+      wx_cv_explicit=no
+    )
+
+    AC_LANG_RESTORE
+  ])
+
+  if test "$wx_cv_explicit" = "yes"; then
+    AC_DEFINE(HAVE_EXPLICIT)
+  fi
+])
+
 dnl ---------------------------------------------------------------------------
 dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
 dnl ---------------------------------------------------------------------------
@@ -440,7 +487,7 @@ define(WX_SYS_LARGEFILE_MACRO_VALUE,
     )
 
     if test "$$3" != no; then
-        $wx_largefile=yes
+        wx_largefile=yes
         AC_DEFINE_UNQUOTED([$1], [$$3])
     fi
 ])
@@ -458,13 +505,16 @@ AC_DEFUN([AC_SYS_LARGEFILE],
 if test "$enable_largefile" != no; then
     dnl _FILE_OFFSET_BITS==64 is needed for Linux, Solaris, ...
     dnl _LARGE_FILES -- for AIX
+    wx_largefile=no
     WX_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, ac_cv_sys_file_offset_bits)
     if test "x$wx_largefile" != "xyes"; then
         WX_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, ac_cv_sys_large_files)
     fi
 
+    AC_MSG_CHECKING(if large file support is available)
     if test "x$wx_largefile" = "xyes"; then
         AC_DEFINE(HAVE_LARGEFILE_SUPPORT)
     fi
+    AC_MSG_RESULT($wx_largefile)
 fi
 ])