]> err.no Git - dpkg/commitdiff
Add support for gcc attributes, printfformat, etc. Be sure to run
authorAdam Heath <doogie@debian.org>
Fri, 20 Apr 2001 23:45:56 +0000 (23:45 +0000)
committerAdam Heath <doogie@debian.org>
Fri, 20 Apr 2001 23:45:56 +0000 (23:45 +0000)
aclocal -I automake, and autoconf.

ChangeLog
automake/dpkg.m4
configure.in

index 59bd8a2ae171ce97adca6c58fe1e651e04008acb..f07c1259163f1f9c7a9cdb141a0c5c5ea8ac5a9c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Apr 20 18:21:45 CDT 2001 Adam Heath <doogie@debian.org>
+
+  * automake/dpkg.m4, configure.in: Add support for gcc attributes,
+    printfformat, etc.
+
 Fri Apr 20 18:18:20 CDT 2001 Adam Heath <doogie@debian.org>
 
   * lib/database.c: initialize otherpriority with 0, not an int.
index f5146449deeec2c2ba331dbeebb3d66a1aaff763..fc5eb128f1c008bbcd1c7f9d18df972ee361a5cc 100644 (file)
@@ -42,3 +42,17 @@ AC_DEFUN(DPKG_C_GCC_TRY_WARNS,[
   AC_MSG_RESULT(no, not using GCC)
  fi
 ])
+dnl DPKG_CACHED_TRY_COMPILE(<description>,<cachevar>,<include>,<program>,<ifyes>,<ifno>)
+define(DPKG_CACHED_TRY_COMPILE,[
+ AC_MSG_CHECKING($1)
+ AC_CACHE_VAL($2,[
+  AC_TRY_COMPILE([$3],[$4],[$2=yes],[$2=no])
+ ])
+ if test "x$$2" = xyes; then
+  true
+  $5
+ else
+  true
+  $6
+ fi
+])
index 7127c67609ccfc32b07418cf2b5d5a5b52278dbd..6649772fe90e86f04cedfb239a29ec52a73fe5a6 100644 (file)
@@ -157,6 +157,26 @@ AC_TRY_COMPILE([
 AC_TRY_COMPILE(,[
 } inline int foo (int x) {], AC_DEFINE(HAVE_INLINE))
 
+DPKG_CACHED_TRY_COMPILE(__attribute__((,,)),dpkg_cv_c_attribute_supported,,
+ [extern int testfunction(int x) __attribute__((,,))],
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_GNUC25_ATTRIB)
+  DPKG_CACHED_TRY_COMPILE(__attribute__((noreturn)),dpkg_cv_c_attribute_noreturn,,
+   [extern int testfunction(int x) __attribute__((noreturn))],
+   AC_MSG_RESULT(yes)
+   AC_DEFINE(HAVE_GNUC25_NORETURN),
+   AC_MSG_RESULT(no))
+  DPKG_CACHED_TRY_COMPILE(__attribute__((const)),dpkg_cv_c_attribute_const,,
+   [extern int testfunction(int x) __attribute__((const))],
+   AC_MSG_RESULT(yes)
+   AC_DEFINE(HAVE_GNUC25_CONST),
+   AC_MSG_RESULT(no))
+  DPKG_CACHED_TRY_COMPILE(__attribute__((format...)),dpkg_cv_attribute_format,,
+   [extern int testfunction(char *y, ...) __attribute__((format(printf,1,2)))],
+   AC_MSG_RESULT(yes)
+   AC_DEFINE(HAVE_GNUC25_PRINTFFORMAT),
+   AC_MSG_RESULT(no)),
+ AC_MSG_RESULT(no))
 
 DPKG_C_GCC_TRY_WARNS(-Wall -Wno-implicit, dpkg_cv_c_gcc_warn_all)
 DPKG_C_GCC_TRY_WARNS(-Wwrite-strings, dpkg_cv_c_gcc_warn_writestrings)