summaryrefslogtreecommitdiffstats
path: root/openembedded/packages/autoconf/autoconf-2.59/sizeof_types.patch
blob: 9a6e47453edfe3b2ef190f61b5c3b88f468bf90a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#
# 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 @@
 # Generic checks.  #
 # ---------------- #
 
+AC_DEFUN([AC_PROG_SIZE],
+[
+  AC_CHECK_TOOL(SIZE, size, :)
+])
 
 # 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
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$3])],
+		   [static const $1 x[[256]];])],
+		   [
+		     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
   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
 
-
-
 # ---------------- #
 # Generic checks.  #
 # ---------------- #