dc: conditionalize parts which require libm

This commit is contained in:
Denis Vlasenko 2008-10-20 08:43:10 +00:00
parent b730474bda
commit 078323010b
5 changed files with 17 additions and 1 deletions

View File

@ -14,7 +14,7 @@ config AWK
config FEATURE_AWK_MATH
bool "Enable math functions (requires libm)"
default y
default n
depends on AWK
help
Enable math functions of the Awk programming language.

View File

@ -138,6 +138,14 @@ config DC
Dc is a reverse-polish desk calculator which supports unlimited
precision arithmetic.
config FEATURE_DC_LIBM
bool "Enable power and exp functions (requires libm)"
default n
depends on DC
help
Enable power and exp functions.
NOTE: This will require libm to be present for linking.
config DEVFSD
bool "devfsd (obsolete)"
default n

View File

@ -53,12 +53,14 @@ static void mul(void)
push(pop() * pop());
}
#if ENABLE_FEATURE_DC_LIBM
static void power(void)
{
double topower = pop();
push(pow(pop(), topower));
}
#endif
static void divide(void)
{
@ -137,9 +139,11 @@ static const struct op operators[] = {
{"mul", mul},
{"/", divide},
{"div", divide},
#if ENABLE_FEATURE_DC_LIBM
{"**", power},
{"exp", power},
{"pow", power},
#endif
{"%", mod},
{"mod", mod},
{"and", and},

View File

@ -1,2 +1,4 @@
VAR7=VAL
0
VAR8=VAL
0

View File

@ -1,3 +1,5 @@
export VAR7=VAL
env | grep ^VAR7=
echo $?
VAR8=VAL env | grep ^VAR8=
echo $?