generic-poky/meta/packages/autoconf/autoconf-2.61/sizeof_types.patch

88 lines
3.1 KiB
Diff

#
# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
#
Index: autoconf-2.59/lib/autoconf/types.m4
===================================================================
--- autoconf-2.59.orig/lib/autoconf/types.m4 2003-05-22 14:05:14.000000000 +0200
+++ autoconf-2.59/lib/autoconf/types.m4 2006-08-06 02:05:02.000000000 +0200
@@ -380,26 +380,66 @@
# Generic checks. #
# ---------------- #
+# Backport of AC_CHECK_TARGET_TOOL from autoconf 2.60
+# AC_CHECK_TARGET_TOOL(VARIABLE, PROG-TO-CHECK-FOR, [VALUE-IF-NOT-FOUND], [PATH )
+# ------------------------------------------------------------------------
+# (Use different variables $1 and ac_ct_$1 so that cache vars don't conflict.)
+AC_DEFUN([AC_CHECK_TARGET_TOOL],
+[AC_BEFORE([$0], [AC_CANONICAL_TARGET])dnl
+AC_CHECK_PROG([$1], [$target_alias-$2], [$target_alias-$2], , [$4])
+if test -z "$ac_cv_prog_$1"; then
+ if test "$build" = "$target"; then
+ ac_ct_$1=$$1
+ AC_CHECK_PROG([ac_ct_$1], [$2], [$2], [$3], [$4])
+ $1=ac_ct_$1
+ else
+ $1="$3"
+ fi
+else
+ $1="$ac_cv_prog_$1"
+fi
+])# AC_CHECK_TARGET_TOOL
+
+
+AC_DEFUN([AC_PROG_SIZE],
+[
+ AC_CHECK_TARGET_TOOL([SIZE], [size], [size], [$PATH])
+])
# AC_CHECK_SIZEOF(TYPE, [IGNORED], [INCLUDES = DEFAULT-INCLUDES])
# ---------------------------------------------------------------
AC_DEFUN([AC_CHECK_SIZEOF],
-[AS_LITERAL_IF([$1], [],
+[AC_REQUIRE([AC_PROG_SIZE])
+AC_REQUIRE([AC_PROG_AWK])
+ AS_LITERAL_IF([$1], [],
[AC_FATAL([$0: requires literal arguments])])dnl
AC_CHECK_TYPE([$1], [], [], [$3])
AC_CACHE_CHECK([size of $1], AS_TR_SH([ac_cv_sizeof_$1]),
-[if test "$AS_TR_SH([ac_cv_type_$1])" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- _AC_COMPUTE_INT([(long) (sizeof ($1))],
- [AS_TR_SH([ac_cv_sizeof_$1])],
- [AC_INCLUDES_DEFAULT([$3])],
- [AC_MSG_FAILURE([cannot compute sizeof ($1), 77])])
+[
+if test "$AS_TR_SH([ac_cv_type_$1])" = yes; then
+ if test "$cross_compiling" = yes; then
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$3])],
+ [extern void dummy($1); static const $1 x[[256]]; dummy(x);])],
+ [
+ AS_TR_SH([ac_cv_sizeof_$1])=`$SIZE conftest.$ac_objext | tail -n 1 | $AWK '{print [$]3/256}'`
+ ],
+ [
+ AS_TR_SH([ac_cv_sizeof_$1])=0
+ ])
+ else
+ # The cast to unsigned long works around a bug in the HP C Compiler
+ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+ # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+ # This bug is HP SR number 8606223364.
+ _AC_COMPUTE_INT([(long) (sizeof ($1))],
+ [AS_TR_SH([ac_cv_sizeof_$1])],
+ [AC_INCLUDES_DEFAULT([$3])],
+ [AC_MSG_FAILURE([cannot compute sizeof ($1), 77])])
+ fi
else
AS_TR_SH([ac_cv_sizeof_$1])=0
-fi])dnl
+fi
+])dnl
AC_DEFINE_UNQUOTED(AS_TR_CPP(sizeof_$1), $AS_TR_SH([ac_cv_sizeof_$1]),
[The size of a `$1', as computed by sizeof.])
])# AC_CHECK_SIZEOF