Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / external / bsd / am-utils / dist / m4 / macros / expand_cpp_int.m4
blob37253769cfd597508cd5ea4e0675d8a9cce73939
1 dnl ######################################################################
2 dnl Expand the value of a CPP macro into a printable integer number.
3 dnl Takes: header, macro, [action-if-found, [action-if-not-found]]
4 dnl It runs the header through CPP looking for a match between the macro
5 dnl and a string pattern, and if sucessful, it prints the string value out.
6 AC_DEFUN([AMU_EXPAND_CPP_INT],
8 # we are looking for a regexp of an integer (must not start with 0 --- those
9 # are octals).
10 AC_EGREP_CPP(
11 [[1-9]][[0-9]]*,
12 [$1]
13 $2,
14 value="notfound"
15 AC_TRY_RUN(
17 [$1]
18 main(argc)
19 int argc;
21 #ifdef $2
22 if (argc > 1)
23   printf("%d", $2);
24 exit(0);
25 #else
26 # error no such option $2
27 #endif
28 exit(1);
29 }], value=`./conftest dummy 2>>config.log`, value="notfound", value="notfound")
31 value="notfound"
33 if test "$value" = notfound
34 then
35   :
36   $4
37 else
38   :
39   $3
42 dnl ======================================================================