packages/autoconf/autoconf: Update SIZE_OF check. Use the new $SIZE check only on...
authorHolger Freyther <zecke@selfish.org>
Sun, 6 Aug 2006 00:37:41 +0000 (00:37 +0000)
committerHolger Freyther <zecke@selfish.org>
Sun, 6 Aug 2006 00:37:41 +0000 (00:37 +0000)
    Guard the new and old size_of check using if $cross_compiling test
    return true otherwise you use the old code.
    Also backport the AC_CHECK_TARGET_TOOL method from autocon-2.60 and
    make use of it when finding a size tool.

packages/autoconf/autoconf-2.59/sizeof_types.patch

index 0f1e0d1..30fd5c1 100644 (file)
@@ -3,15 +3,38 @@
 # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
 #
 
---- autoconf-2.59/lib/autoconf/types.m4~sizeof_types.patch     2003-05-22 08:05:14.000000000 -0400
-+++ autoconf-2.59/lib/autoconf/types.m4        2004-05-29 01:31:24.828295015 -0400
-@@ -380,32 +380,38 @@
+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_TOOL(SIZE, size, :)
++  AC_CHECK_TARGET_TOOL([SIZE], [size], [size], [$PATH])
 +])
  
  # AC_CHECK_SIZEOF(TYPE, [IGNORED], [INCLUDES = DEFAULT-INCLUDES])
 -                [AC_MSG_FAILURE([cannot compute sizeof ($1), 77])])
 +[
 +if test "$AS_TR_SH([ac_cv_type_$1])" = 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
-+                 ])
++      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
@@ -51,9 +85,3 @@
  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
--
--
- # ---------------- #
- # Generic checks.  #
- # ---------------- #