| Back to the Main Page. | compile_value |
Download the M4 Source. |
AC_C_COMPILE_VALUE (COMPILE-VALUE, ALIAS, INCLUDES)
1.1 (2002/09/12) 0.5.65 : Cross Compilation
Ilguiz Latypov <ilatypov@superbt.com>
#define COMPILE_VALUE_<ALIAS> <NUMBER> AC_C_COMPILE_VALUE(sizeof(int), sizeof_int) AC_C_COMPILE_VALUE([sizeof(int[[543]])], sizeof_int543) #define COMPILE_VALUE_SIZEOF_INT 4 #define COMPILE_VALUE_SIZEOF_INT543 2172
## Portability defines that help interoperate with classic and modern autoconfs
ifdef([AC_TR_SH],[
define([AC_TR_SH_REUSE],[AC_TR_SH([$1])])
define([AC_TR_CPP_REUSE],[AC_TR_CPP([$1])])
], [
define([AC_TR_SH_REUSE],
[patsubst(translit([[$1]], [*+], [pp]), [[^a-zA-Z0-9_]], [_])])
define([AC_TR_CPP_REUSE],
[patsubst(translit([[$1]],
[*abcdefghijklmnopqrstuvwxyz],
[PABCDEFGHIJKLMNOPQRSTUVWXYZ]),
[[^A-Z0-9_]], [_])])
])
AC_DEFUN([AC_C_COMPILE_VALUE], [
pushdef([ac_c_compile_value],
AC_TR_SH_REUSE([ac_cv_c_compile_value_$2]))dnl
ac_c_compile_value_expand="$1"
AC_CACHE_CHECK([value of $1 by analyzing object code],
ac_c_compile_value, [
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -c -o conftest.o"
AC_TRY_COMPILE([$3
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#define COMPILE_VALUE $ac_c_compile_value_expand
#define HEX_DIGIT(n) ((n) >= 10 ? 'a' + (n) - 10 : '0' + (n))
char object_code_block[] = {
'\n', 'e', '4', 'V', 'A',
'0', 'x',
(char) HEX_DIGIT((((COMPILE_VALUE / 16) / 16) / 16) % 16),
(char) HEX_DIGIT(((COMPILE_VALUE / 16) / 16) % 16),
(char) HEX_DIGIT((COMPILE_VALUE / 16) % 16),
(char) HEX_DIGIT(COMPILE_VALUE % 16),
'Y', '3', 'p', 'M', '\n'
};],
[],
[ac_c_compile_value=`
typeset -i n=\`sed -ne 's/^e4VA0x\(.*\)Y3pM$/0x\1/p' < conftest.o\`;
echo $n`],
[ac_c_compile_value=0])
CFLAGS="$save_CFLAGS"])
AC_DEFINE_UNQUOTED(AC_TR_CPP_REUSE(compile_value_$2),
[$[]ac_c_compile_value],
[$1])
popdef([ac_c_compile_value])dnl
])