Selaa lähdekoodia

build: Make va_copy check cross-compilable

We are only checking if the va_copy symbol is available, do not try to
run the test program.
Guillem Jover 11 vuotta sitten
vanhempi
commit
1cf30e78ad
2 muutettua tiedostoa jossa 16 lisäystä ja 17 poistoa
  1. 2 0
      debian/changelog
  2. 14 17
      m4/dpkg-funcs.m4

+ 2 - 0
debian/changelog

@@ -53,6 +53,8 @@ dpkg (1.18.0) UNRELEASED; urgency=low
     Closes: #650077
   * Fix support for cross-building dpkg:
     - Assume a working C99 snprintf on SUS >= v3.
+    - Do not try to run the va_copy configure check, just check that the
+      symbol is available.
 
  -- Guillem Jover <guillem@debian.org>  Tue, 09 Dec 2014 23:53:18 +0100
 

+ 14 - 17
m4/dpkg-funcs.m4

@@ -3,24 +3,21 @@
 
 # DPKG_FUNC_VA_COPY
 # -----------------
-# Define HAVE_VA_COPY if we have va_copy, fail if they can't be assigned
-AC_DEFUN([DPKG_FUNC_VA_COPY],
-[AC_CACHE_CHECK([for va_copy], [dpkg_cv_va_copy],
-	[AC_RUN_IFELSE([AC_LANG_SOURCE(
-[[#include <stdarg.h>
-int main()
-{
+# Define HAVE_VA_COPY if we have va_copy.
+AC_DEFUN([DPKG_FUNC_VA_COPY], [
+  AC_CACHE_CHECK([for va_copy], [dpkg_cv_va_copy], [
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>]], [[
 va_list v1, v2;
-va_copy (v1, v2);
-exit (0);
-}
-	]])],
-	[dpkg_cv_va_copy=yes],
-	[dpkg_cv_va_copy=no],
-	[dpkg_cv_va_copy=no])])
-AS_IF([test "x$dpkg_cv_va_copy" = "xyes"],
-	[AC_DEFINE([HAVE_VA_COPY], 1,
-	           [Define to 1 if the 'va_copy' macro exists])])
+va_copy(v1, v2);
+]]
+      )],
+      [dpkg_cv_va_copy=yes],
+      [dpkg_cv_va_copy=no]
+    )
+  ])
+  AS_IF([test "x$dpkg_cv_va_copy" = "xyes"], [
+    AC_DEFINE([HAVE_VA_COPY], [1], [Define to 1 if the 'va_copy' macro exists])
+  ])
 ])# DPKG_FUNC_VA_COPY
 
 # DPKG_FUNC_C99_SNPRINTF