50 lines
2.0 KiB
Plaintext
50 lines
2.0 KiB
Plaintext
# FP_COMPUTE_INT(EXPRESSION, VARIABLE, INCLUDES, IF-FAILS)
|
|
# --------------------------------------------------------
|
|
# Assign VARIABLE the value of the compile-time EXPRESSION using INCLUDES for
|
|
# compilation. Execute IF-FAILS when unable to determine the value. Works for
|
|
# cross-compilation, too.
|
|
#
|
|
# Implementation note: We are lazy and use an internal autoconf macro, but it
|
|
# is supported in autoconf versions 2.50 up to the actual 2.57, so there is
|
|
# little risk.
|
|
AC_DEFUN([FP_COMPUTE_INT],
|
|
[_AC_COMPUTE_INT([$1], [$2], [$3], [$4])[]dnl
|
|
])# FP_COMPUTE_INT
|
|
|
|
|
|
# FP_CHECK_CONST(EXPRESSION, [INCLUDES = DEFAULT-INCLUDES], [VALUE-IF-FAIL = -1])
|
|
# -------------------------------------------------------------------------------
|
|
# Defines CONST_EXPRESSION to the value of the compile-time EXPRESSION, using
|
|
# INCLUDES. If the value cannot be determined, use VALUE-IF-FAIL.
|
|
AC_DEFUN([FP_CHECK_CONST],
|
|
[AS_VAR_PUSHDEF([fp_Cache], [fp_cv_const_$1])[]dnl
|
|
AC_CACHE_CHECK([value of $1], fp_Cache,
|
|
[FP_COMPUTE_INT([$1], fp_check_const_result, [AC_INCLUDES_DEFAULT([$2])],
|
|
[fp_check_const_result=m4_default([$3], ['-1'])])
|
|
AS_VAR_SET(fp_Cache, [$fp_check_const_result])])[]dnl
|
|
AC_DEFINE_UNQUOTED(AS_TR_CPP([CONST_$1]), AS_VAR_GET(fp_Cache), [The value of $1.])[]dnl
|
|
AS_VAR_POPDEF([fp_Cache])[]dnl
|
|
])# FP_CHECK_CONST
|
|
|
|
|
|
# FP_CHECK_CONSTS_TEMPLATE(EXPRESSION...)
|
|
# ---------------------------------------
|
|
# autoheader helper for FP_CHECK_CONSTS
|
|
m4_define([FP_CHECK_CONSTS_TEMPLATE],
|
|
[AC_FOREACH([fp_Const], [$1],
|
|
[AH_TEMPLATE(AS_TR_CPP(CONST_[]fp_Const),
|
|
[The value of ]fp_Const[.])])[]dnl
|
|
])# FP_CHECK_CONSTS_TEMPLATE
|
|
|
|
|
|
# FP_CHECK_CONSTS(EXPRESSION..., [INCLUDES = DEFAULT-INCLUDES], [VALUE-IF-FAIL = -1])
|
|
# -----------------------------------------------------------------------------------
|
|
# List version of FP_CHECK_CONST
|
|
AC_DEFUN([FP_CHECK_CONSTS],
|
|
[FP_CHECK_CONSTS_TEMPLATE([$1])dnl
|
|
for fp_const_name in $1
|
|
do
|
|
FP_CHECK_CONST([$fp_const_name], [$2], [$3])
|
|
done
|
|
])# FP_CHECK_CONSTS
|