]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
configure: Check if C99 "static" keyword is supported for array sizes.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 30 Jun 2016 22:11:02 +0000 (01:11 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 30 Jun 2016 22:11:02 +0000 (01:11 +0300)
configure.ac
src/lib/macros.h

index e3283d0ee3968be38dc81b3b0187f5eb852c1366..821b347e75d0d42f4d068bf181a405bb2cacfc72 100644 (file)
@@ -1007,6 +1007,24 @@ if test $i_cv_signed_time_t = yes; then
   AC_DEFINE(TIME_T_SIGNED,, [Define if your time_t is signed])
 fi
 
+AC_CACHE_CHECK([if we can use C99 static in array sizes],i_cv_c99_static_arrays,[
+  AC_TRY_COMPILE([
+    void foo(int arr[static 20]);
+  ], [
+  ], [
+    i_cv_c99_static_arrays=yes
+  ], [
+    i_cv_c99_static_arrays=no
+  ])
+])
+
+if test $i_cv_c99_static_arrays = yes; then
+  static_value=static
+else
+  static_value=
+fi
+AC_DEFINE_UNQUOTED(STATIC_ARRAY, $static_value, [C99 static array])
+
 dnl Our implementation of AC_C_FLEXIBLE_ARRAY_MEMBER.
 dnl Use it until autoconf 2.61+ becomes more widely used
 AC_CACHE_CHECK([if we can use C99-like flexible array members],i_cv_c99_flex_arrays,[
index 2faf0c8cf17808aa4f59c3d2ac30dcfdc2ee6796..593ca49d44c9125231dbc3af76e2d84acc0cfa70 100644 (file)
 #endif
 
 #ifdef __cplusplus
+#  undef STATIC_ARRAY
 #  define STATIC_ARRAY
-#else
-#  define STATIC_ARRAY static
 #endif
 
 #endif