iallow checking for readline and gmp

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1917 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2007-08-02 17:22:00 +00:00
parent dc0c04d9d2
commit ba761e7a47
5 changed files with 31 additions and 3 deletions

View File

@ -100,12 +100,23 @@ p_is_bignum(void)
Term t = Deref(ARG1); Term t = Deref(ARG1);
return(IsNonVarTerm(t) && IsApplTerm(t) && FunctorOfTerm(t) == FunctorBigInt); return(IsNonVarTerm(t) && IsApplTerm(t) && FunctorOfTerm(t) == FunctorBigInt);
#else #else
return(FALSE); return FALSE;
#endif
}
static Int
p_has_bignums(void)
{
#ifdef USE_GMP
return TRUE;
#else
return FALSE;
#endif #endif
} }
void void
Yap_InitBigNums(void) Yap_InitBigNums(void)
{ {
Yap_InitCPred("$has_bignums", 0, p_has_bignums, SafePredFlag|HiddenPredFlag);
Yap_InitCPred("$bignum", 1, p_is_bignum, SafePredFlag|HiddenPredFlag); Yap_InitCPred("$bignum", 1, p_is_bignum, SafePredFlag|HiddenPredFlag);
} }

View File

@ -1080,6 +1080,16 @@ ReadlineGetc(int sno)
#endif /* HAVE_LIBREADLINE */ #endif /* HAVE_LIBREADLINE */
static Int
p_has_readline(void)
{
#if HAVE_LIBREADLINE
return TRUE;
#else
return FALSE;
#endif
}
int int
Yap_GetCharForSIGINT(void) Yap_GetCharForSIGINT(void)
@ -5937,6 +5947,7 @@ Yap_InitIOPreds(void)
#endif #endif
Yap_InitCPred ("$same_file", 2, p_same_file, SafePredFlag|SyncPredFlag|HiddenPredFlag); Yap_InitCPred ("$same_file", 2, p_same_file, SafePredFlag|SyncPredFlag|HiddenPredFlag);
Yap_InitCPred ("$float_format", 1, p_float_format, SafePredFlag|SyncPredFlag|HiddenPredFlag); Yap_InitCPred ("$float_format", 1, p_float_format, SafePredFlag|SyncPredFlag|HiddenPredFlag);
Yap_InitCPred ("$has_readline", 0, p_has_readline, SafePredFlag|HiddenPredFlag);
Yap_InitReadUtil (); Yap_InitReadUtil ();
#if USE_SOCKET #if USE_SOCKET

View File

@ -16,6 +16,8 @@
<h2>Yap-5.1.3:</h2> <h2>Yap-5.1.3:</h2>
<ul> <ul>
<li> FIXED: support checking for big_nums and readline. (obs from
Rui Camacho)</li>
<li> FIXED: make thread_create more compatible with SWI. (obs from <li> FIXED: make thread_create more compatible with SWI. (obs from
Paulo Moura)</li> Paulo Moura)</li>
<li> FIXED: give startup path to chr. (obs from Paulo Moura)</li> <li> FIXED: give startup path to chr. (obs from Paulo Moura)</li>

View File

@ -6753,9 +6753,9 @@ Just fail
@item system_options @item system_options
@findex system_options (yap_flag/2 option) @findex system_options (yap_flag/2 option)
@* This read only flag tells which options were used to compile @* This read only flag tells which options were used to compile
YAP. Currently it informs whether the system supports YAP. Currently it informs whether the system supports @code{big_numbers},
@code{coroutining}, @code{depth_limit}, @code{low_level_tracer}, @code{coroutining}, @code{depth_limit}, @code{low_level_tracer},
@code{or-parallelism}, @code{rational_trees}, @code{tabling}, @code{or-parallelism}, @code{rational_trees}, @code{readline}, @code{tabling},
@code{threads}, or the @code{wam_profiler}. @code{threads}, or the @code{wam_profiler}.
@item tabling_mode @item tabling_mode

View File

@ -492,6 +492,8 @@ yap_flag(single_var_warnings,X) :-
yap_flag(system_options,X) :- yap_flag(system_options,X) :-
'$system_options'(X). '$system_options'(X).
'$system_options'(big_numbers) :-
'$has_bignums'.
'$system_options'(coroutining) :- '$system_options'(coroutining) :-
'$yap_has_coroutining'. '$yap_has_coroutining'.
'$system_options'(depth_limit) :- '$system_options'(depth_limit) :-
@ -502,6 +504,8 @@ yap_flag(system_options,X) :-
\+ '$undefined'('$yapor_on', prolog). \+ '$undefined'('$yapor_on', prolog).
'$system_options'(rational_trees) :- '$system_options'(rational_trees) :-
'$yap_has_rational_trees'. '$yap_has_rational_trees'.
'$system_options'(readline) :-
'$has_readline'.
'$system_options'(tabling) :- '$system_options'(tabling) :-
\+ '$undefined'('$do_table'(_,_), prolog). \+ '$undefined'('$do_table'(_,_), prolog).
'$system_options'(threads) :- '$system_options'(threads) :-