config changes
This commit is contained in:
parent
3aeebed2cf
commit
cddb8191c8
@ -2652,7 +2652,7 @@ X_API Int YAP_Init(YAP_init_args *yap_init) {
|
|||||||
Yap_init_yapor_global_local_memory();
|
Yap_init_yapor_global_local_memory();
|
||||||
#endif /* YAPOR_COPY || YAPOR_COW || YAPOR_SBA */
|
#endif /* YAPOR_COPY || YAPOR_COW || YAPOR_SBA */
|
||||||
GLOBAL_PrologShouldHandleInterrupts = yap_init->PrologShouldHandleInterrupts;
|
GLOBAL_PrologShouldHandleInterrupts = yap_init->PrologShouldHandleInterrupts;
|
||||||
Yap_InitSysbits(); /* init signal handling and time, required by later
|
Yap_InitSysbits(0); /* init signal handling and time, required by later
|
||||||
functions */
|
functions */
|
||||||
GLOBAL_argv = yap_init->Argv;
|
GLOBAL_argv = yap_init->Argv;
|
||||||
GLOBAL_argc = yap_init->Argc;
|
GLOBAL_argc = yap_init->Argc;
|
||||||
|
@ -64,6 +64,7 @@ include(CheckIncludeFiles)
|
|||||||
include(CheckFunctionExists)
|
include(CheckFunctionExists)
|
||||||
include(CheckPrototypeExists)
|
include(CheckPrototypeExists)
|
||||||
include(CheckTypeSize)
|
include(CheckTypeSize)
|
||||||
|
include(CheckVariableExists)
|
||||||
include(CheckCXXSourceCompiles)
|
include(CheckCXXSourceCompiles)
|
||||||
include(TestBigEndian)
|
include(TestBigEndian)
|
||||||
include (CMakeDependentOption)
|
include (CMakeDependentOption)
|
||||||
@ -243,7 +244,7 @@ if (HAVE_GCC)
|
|||||||
# replace instructions codes by the address of their code
|
# replace instructions codes by the address of their code
|
||||||
option (WITH_THREADED_CODE "threaded code" ON)
|
option (WITH_THREADED_CODE "threaded code" ON)
|
||||||
if (WITH_THREADED_CODE)
|
if (WITH_THREADED_CODE)
|
||||||
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS THREADED_CODE=1)
|
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS THREADED_CODE=1;USE_SYSTEM_MALLOC=1)
|
||||||
endif (WITH_THREADED_CODE)
|
endif (WITH_THREADED_CODE)
|
||||||
endif (HAVE_GCC)
|
endif (HAVE_GCC)
|
||||||
|
|
||||||
|
46
H/Yapproto.h
46
H/Yapproto.h
@ -24,7 +24,8 @@ Term Yap_ArrayToList(Term *,size_t);
|
|||||||
int Yap_GetName(char *, UInt, Term);
|
int Yap_GetName(char *, UInt, Term);
|
||||||
Term Yap_GetValue(Atom);
|
Term Yap_GetValue(Atom);
|
||||||
int Yap_HasOp(Atom);
|
int Yap_HasOp(Atom);
|
||||||
struct operator_entry *Yap_GetOpPropForAModuleHavingALock(struct AtomEntryStruct *, Term);
|
struct operator_entry *
|
||||||
|
Yap_GetOpPropForAModuleHavingALock(struct AtomEntryStruct *, Term);
|
||||||
Atom Yap_LookupAtom(const char *);
|
Atom Yap_LookupAtom(const char *);
|
||||||
Atom Yap_ULookupAtom(const unsigned char *);
|
Atom Yap_ULookupAtom(const unsigned char *);
|
||||||
Atom Yap_LookupAtomWithLength(const char *, size_t);
|
Atom Yap_LookupAtomWithLength(const char *, size_t);
|
||||||
@ -46,7 +47,6 @@ int Yap_AtomIncreaseHold(Atom);
|
|||||||
int Yap_AtomDecreaseHold(Atom);
|
int Yap_AtomDecreaseHold(Atom);
|
||||||
struct operator_entry *Yap_OpPropForModule(Atom, Term);
|
struct operator_entry *Yap_OpPropForModule(Atom, Term);
|
||||||
|
|
||||||
|
|
||||||
#ifdef SFUNC
|
#ifdef SFUNC
|
||||||
Term MkSFTerm(Functor, int, Term *, Term);
|
Term MkSFTerm(Functor, int, Term *, Term);
|
||||||
CELL *ArgsOfSFTerm(Term);
|
CELL *ArgsOfSFTerm(Term);
|
||||||
@ -91,7 +91,6 @@ void Yap_InitArrayPreds(void);
|
|||||||
void Yap_InitBackAtoms(void);
|
void Yap_InitBackAtoms(void);
|
||||||
void Yap_InitAtomPreds(void);
|
void Yap_InitAtomPreds(void);
|
||||||
|
|
||||||
|
|
||||||
/* attvar.c */
|
/* attvar.c */
|
||||||
void Yap_InitAttVarPreds(void);
|
void Yap_InitAttVarPreds(void);
|
||||||
void Yap_MkEmptyWakeUp(Atom mod);
|
void Yap_MkEmptyWakeUp(Atom mod);
|
||||||
@ -153,7 +152,6 @@ void Yap_DebugEndline(void);
|
|||||||
void Yap_DebugPlWrite(Term t);
|
void Yap_DebugPlWrite(Term t);
|
||||||
void Yap_DebugPlWriteln(Term t);
|
void Yap_DebugPlWriteln(Term t);
|
||||||
|
|
||||||
|
|
||||||
/* corout.c */
|
/* corout.c */
|
||||||
void Yap_InitCoroutPreds(void);
|
void Yap_InitCoroutPreds(void);
|
||||||
#ifdef COROUTINING
|
#ifdef COROUTINING
|
||||||
@ -170,8 +168,7 @@ void Yap_InitDBPreds(void);
|
|||||||
|
|
||||||
/* errors.c */
|
/* errors.c */
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
void
|
void Yap_PrintPredName(struct pred_entry *ap);
|
||||||
Yap_PrintPredName( struct pred_entry *ap );
|
|
||||||
#endif
|
#endif
|
||||||
void Yap_RestartYap(int);
|
void Yap_RestartYap(int);
|
||||||
void Yap_exit(int);
|
void Yap_exit(int);
|
||||||
@ -195,7 +192,8 @@ Int Yap_exec_absmi( bool, yap_reset_t );
|
|||||||
void Yap_trust_last(void);
|
void Yap_trust_last(void);
|
||||||
Term Yap_GetException(void);
|
Term Yap_GetException(void);
|
||||||
void Yap_PrepGoal(UInt, CELL *, choiceptr USES_REGS);
|
void Yap_PrepGoal(UInt, CELL *, choiceptr USES_REGS);
|
||||||
int Yap_execute_pred(struct pred_entry *ppe, CELL *pt, bool pass_exception USES_REGS);
|
int Yap_execute_pred(struct pred_entry *ppe, CELL *pt,
|
||||||
|
bool pass_exception USES_REGS);
|
||||||
int Yap_dogc(int extra_args, Term *tp USES_REGS);
|
int Yap_dogc(int extra_args, Term *tp USES_REGS);
|
||||||
Term Yap_PredicateIndicator(Term t, Term mod);
|
Term Yap_PredicateIndicator(Term t, Term mod);
|
||||||
bool Yap_Execute(Term t USES_REGS);
|
bool Yap_Execute(Term t USES_REGS);
|
||||||
@ -211,8 +209,13 @@ char *Yap_FindExecutable(void);
|
|||||||
/* gprof.c */
|
/* gprof.c */
|
||||||
void Yap_InitLowProf(void);
|
void Yap_InitLowProf(void);
|
||||||
#if LOW_PROF
|
#if LOW_PROF
|
||||||
void Yap_inform_profiler_of_clause__(void *,void *,struct pred_entry *, gprof_info);
|
void Yap_inform_profiler_of_clause__(void *, void *, struct pred_entry *,
|
||||||
#define Yap_inform_profiler_of_clause(CODE0,CODEF,AP,MODE) {if (GLOBAL_FPreds) Yap_inform_profiler_of_clause__(CODE0,CODEF,AP,MODE);}
|
gprof_info);
|
||||||
|
#define Yap_inform_profiler_of_clause(CODE0, CODEF, AP, MODE) \
|
||||||
|
{ \
|
||||||
|
if (GLOBAL_FPreds) \
|
||||||
|
Yap_inform_profiler_of_clause__(CODE0, CODEF, AP, MODE); \
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
#define Yap_inform_profiler_of_clause(CODE0, CODEF, AP, MODE)
|
#define Yap_inform_profiler_of_clause(CODE0, CODEF, AP, MODE)
|
||||||
#endif
|
#endif
|
||||||
@ -325,14 +328,12 @@ void Yap_InitMPI(void);
|
|||||||
void Yap_InitMPE(void);
|
void Yap_InitMPE(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* other.c */
|
/* other.c */
|
||||||
Term Yap_MkApplTerm(Functor, arity_t, const Term *);
|
Term Yap_MkApplTerm(Functor, arity_t, const Term *);
|
||||||
Term Yap_MkNewApplTerm(Functor, arity_t);
|
Term Yap_MkNewApplTerm(Functor, arity_t);
|
||||||
Term Yap_MkNewPairTerm(void);
|
Term Yap_MkNewPairTerm(void);
|
||||||
Term Yap_Globalise(Term);
|
Term Yap_Globalise(Term);
|
||||||
|
|
||||||
|
|
||||||
/* readutil.c */
|
/* readutil.c */
|
||||||
void Yap_InitReadUtil(void);
|
void Yap_InitReadUtil(void);
|
||||||
|
|
||||||
@ -397,7 +398,7 @@ const char *Yap_getcwd(const char *, size_t);
|
|||||||
void Yap_cputime_interval(Int *, Int *);
|
void Yap_cputime_interval(Int *, Int *);
|
||||||
void Yap_systime_interval(Int *, Int *);
|
void Yap_systime_interval(Int *, Int *);
|
||||||
void Yap_walltime_interval(Int *, Int *);
|
void Yap_walltime_interval(Int *, Int *);
|
||||||
void Yap_InitSysbits(void);
|
void Yap_InitSysbits(int wid);
|
||||||
void Yap_InitSysPreds(void);
|
void Yap_InitSysPreds(void);
|
||||||
void Yap_InitcTime(int);
|
void Yap_InitcTime(int);
|
||||||
void Yap_InitTime(int);
|
void Yap_InitTime(int);
|
||||||
@ -409,16 +410,11 @@ char *Yap_RegistryGetString(char *);
|
|||||||
void Yap_WinError(char *);
|
void Yap_WinError(char *);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum { YAP_STD, YAP_SAVED_STATE, YAP_OBJ, YAP_PL, YAP_QLY } file_type_t;
|
||||||
YAP_STD,
|
|
||||||
YAP_SAVED_STATE,
|
|
||||||
YAP_OBJ,
|
|
||||||
YAP_PL,
|
|
||||||
YAP_QLY
|
|
||||||
} file_type_t;
|
|
||||||
|
|
||||||
bool
|
bool Yap_trueFileName(const char *isource, const char *idef, const char *root,
|
||||||
Yap_trueFileName (const char *isource, const char * idef, const char *root, char *result, bool access, file_type_t ftype, bool expand_root, bool in_lib);
|
char *result, bool access, file_type_t ftype,
|
||||||
|
bool expand_root, bool in_lib);
|
||||||
|
|
||||||
/* threads.c */
|
/* threads.c */
|
||||||
void Yap_InitThreadPreds(void);
|
void Yap_InitThreadPreds(void);
|
||||||
@ -470,7 +466,6 @@ Term Yap_UnNumberTerm(Term, int);
|
|||||||
Int Yap_SkipList(Term *, Term **);
|
Int Yap_SkipList(Term *, Term **);
|
||||||
/* yap.c */
|
/* yap.c */
|
||||||
|
|
||||||
|
|
||||||
/* write.c */
|
/* write.c */
|
||||||
|
|
||||||
/* yap2swi.c */
|
/* yap2swi.c */
|
||||||
@ -478,7 +473,8 @@ void Yap_swi_install(void);
|
|||||||
void Yap_InitSWIHash(void);
|
void Yap_InitSWIHash(void);
|
||||||
int Yap_get_stream_handle(Term, int, int, void *);
|
int Yap_get_stream_handle(Term, int, int, void *);
|
||||||
Term Yap_get_stream_position(void *);
|
Term Yap_get_stream_position(void *);
|
||||||
struct AtomEntryStruct *Yap_lookupBlob(void *blob, size_t len, void *type, int *newp);
|
struct AtomEntryStruct *Yap_lookupBlob(void *blob, size_t len, void *type,
|
||||||
|
int *newp);
|
||||||
|
|
||||||
/* opt.preds.c */
|
/* opt.preds.c */
|
||||||
void Yap_init_optyap_preds(void);
|
void Yap_init_optyap_preds(void);
|
||||||
@ -491,8 +487,6 @@ void Yap_flush(void);
|
|||||||
Int Yap_source_line_no(void);
|
Int Yap_source_line_no(void);
|
||||||
Atom Yap_source_file_name(void);
|
Atom Yap_source_file_name(void);
|
||||||
|
|
||||||
|
void Yap_install_blobs(void);
|
||||||
void
|
|
||||||
Yap_install_blobs(void);
|
|
||||||
|
|
||||||
yamop *Yap_gcP(void);
|
yamop *Yap_gcP(void);
|
||||||
|
@ -1935,14 +1935,19 @@ signal. */
|
|||||||
#define USE_JUDY ${WITH_JUDY}
|
#define USE_JUDY ${WITH_JUDY}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* use mmap in or-parallel allocation */
|
/* use Doug Lea's malloc ot implement the data-base. */
|
||||||
#ifndef USE_SYSTEM_MMAP
|
#ifndef USE_DL_MALLOC
|
||||||
#define USE_SYSTEM_MMAP ${WITH_SYSTEM_MMAP}
|
#cmakedefine USE_DL_MALLOC ${WITH_DL_MALLOC}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* use shm in or-parallel allocation */
|
/* use the OS malloc or some other external library to implement the data-base. */
|
||||||
#ifndef USE_SYSTEM_SHM
|
#ifndef USE_SYSTEM_MALLOC
|
||||||
#define USE_SYSTEM_SHM ${WITH_SYSTEM_SHM}
|
#cmakedefine USE_SYSTEM_MALLOC ${WITH_SYSTEM_MALLOC}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Use mmap in or-parallel copying */
|
||||||
|
#ifndef USE_SYSTEM_MMAP
|
||||||
|
#cmakedefine USE_SYSTEM_MMAP ${WITH_SYSTEM_MMAP}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Whether daylight savings time offset is set via the altzone variable */
|
/* Whether daylight savings time offset is set via the altzone variable */
|
||||||
@ -1960,6 +1965,13 @@ signal. */
|
|||||||
#cmakedefine USE_TIME_GMTOFF ${USE_TIME_GMTOFF}
|
#cmakedefine USE_TIME_GMTOFF ${USE_TIME_GMTOFF}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* use the original YP malloc to implement the data-base. */
|
||||||
|
#ifndef USE_YAP_MALLOC
|
||||||
|
#cmakedefine USE_YAP_MALLOC ${WITH_YAP_MALLOC}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Define to name of the UUID header file. */
|
/* Define to name of the UUID header file. */
|
||||||
#ifndef UUID_H
|
#ifndef UUID_H
|
||||||
#cmakedefine UUID_H "${UUID_H}"
|
#cmakedefine UUID_H "${UUID_H}"
|
||||||
|
@ -44,12 +44,21 @@ macro_log_feature (READLINE_FOUND "libreadline"
|
|||||||
"http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html")
|
"http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html")
|
||||||
|
|
||||||
if (READLINE_FOUND)
|
if (READLINE_FOUND)
|
||||||
|
# - Find the readline library
|
||||||
|
# This module defines
|
||||||
|
# READLINE_INCLUDE_DIR, path to readline/readline.h, etc.
|
||||||
|
# READLINE_LIBRARIES, the libraries required to use READLINE.
|
||||||
|
# READLINE_FOUND, If false, do not try to use READLINE.
|
||||||
|
# also defined, but not for general use are
|
||||||
|
# READLINE_readline_LIBRARY, where to find the READLINE library.
|
||||||
|
# READLINE_ncurses_LIBRARY, where to find the ncurses library [might not be defined]
|
||||||
|
|
||||||
set( CMAKE_REQUIRED_INCLUDES ${READLINE_INCLUDE_DIR} ${CMAKE_REQUIRED_INCLUDES} )
|
set( CMAKE_REQUIRED_INCLUDES ${READLINE_INCLUDE_DIR} ${CMAKE_REQUIRED_INCLUDES} )
|
||||||
set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${READLINE_LIBRARIES} )
|
set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${READLINE_LIBRARIES} )
|
||||||
check_include_files( "stdio.h;readline/readline.h" HAVE_READLINE_READLINE_H )
|
check_include_files( "stdio.h;readline/readline.h" HAVE_READLINE_READLINE_H )
|
||||||
check_include_files( "stdio.h;readline/history.h" HAVE_READLINE_HISTORY_H )
|
check_include_files( "stdio.h;readline/history.h" HAVE_READLINE_HISTORY_H )
|
||||||
if (HAVE_READLINE_READLINE_H)
|
if (HAVE_READLINE_READLINE_H)
|
||||||
SET ( USE_READLINE 1 )
|
SET ( USE_READLINE ON )
|
||||||
check_function_exists( add_history HAVE_ADD_HISTORY )
|
check_function_exists( add_history HAVE_ADD_HISTORY )
|
||||||
check_function_exists( rl_begin_undo_group HAVE_RL_BEGIN_UNDO_GROUP)
|
check_function_exists( rl_begin_undo_group HAVE_RL_BEGIN_UNDO_GROUP)
|
||||||
check_function_exists( rl_clear_pending_input HAVE_RL_CLEAR_PENDING_INPUT)
|
check_function_exists( rl_clear_pending_input HAVE_RL_CLEAR_PENDING_INPUT)
|
||||||
@ -60,12 +69,12 @@ if (READLINE_FOUND)
|
|||||||
check_function_exists( rl_reset_after_signal HAVE_RL_RESET_AFTER_SIGNAL )
|
check_function_exists( rl_reset_after_signal HAVE_RL_RESET_AFTER_SIGNAL )
|
||||||
check_function_exists( rl_set_keyboard_input_timeout HAVE_RL_SET_KEYBOARD_INPUT_TIMEOUT )
|
check_function_exists( rl_set_keyboard_input_timeout HAVE_RL_SET_KEYBOARD_INPUT_TIMEOUT )
|
||||||
check_function_exists( rl_set_prompt HAVE_RL_SET_PROMPT)
|
check_function_exists( rl_set_prompt HAVE_RL_SET_PROMPT)
|
||||||
check_symbol_exists( rl_catch_signals stdio.h;readline/readline.h HAVE_DECL_RL_CATCH_SIGNALS )
|
check_variable_exists( rl_catch_signals "readline/readline.h" HAVE_DECL_RL_CATCH_SIGNALS )
|
||||||
check_symbol_exists( rl_completion_func_t stdio.h;readline/readline.h HAVE_DECL_RL_COMPLETION_FUNC_T )
|
check_symbol_exists( rl_completion_func_t stdio.h;readline/readline.h HAVE_DECL_RL_COMPLETION_FUNC_T )
|
||||||
check_symbol_exists( rl_done stdio.h;readline/readline.h HAVE_DECL_RL_DONE )
|
check_variable_exists( rl_done stdio.h;readline/readline.h HAVE_DECL_RL_DONE )
|
||||||
check_symbol_exists( rl_hook_func_t stdio.h;readline/readline.h HAVE_DECL_RL_HOOK_FUNC_T )
|
check_symbol_exists( rl_hook_func_t stdio.h;readline/readline.h HAVE_DECL_RL_HOOK_FUNC_T )
|
||||||
check_symbol_exists( rl_event_hook stdio.h;readline/readline.h HAVE_DECL_RL_EVENT_HOOK )
|
check_symbol_exists( rl_event_hook stdio.h;readline/readline.h HAVE_DECL_RL_EVENT_HOOK )
|
||||||
check_symbol_exists( rl_readline_state stdio.h;readline/readline.h HAVE_DECL_RL_READLINE_STATE )
|
check_variable_exists( rl_readline_state stdio.h;readline/readline.h HAVE_DECL_RL_READLINE_STATE )
|
||||||
endif()
|
endif()
|
||||||
endif (READLINE_FOUND)
|
endif (READLINE_FOUND)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* Define if you have libreadline */
|
/* Define if you have libreadline */
|
||||||
#ifndef HAVE_LIBREADLINE
|
#ifndef HAVE_LIBREADLINE
|
||||||
#define HAVE_LIBREADLINE ${USE_READLINE}
|
#cmakedefine USE_READLINE ${USE_READLINE}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Define to 1 if you have the <readline/history.h> header file. */
|
/* Define to 1 if you have the <readline/history.h> header file. */
|
||||||
|
@ -50,7 +50,7 @@ static char SccsId[] = "%W% %G%";
|
|||||||
|
|
||||||
#include "iopreds.h"
|
#include "iopreds.h"
|
||||||
|
|
||||||
#if defined(HAVE_LIBREADLINE)
|
#if defined(USE_READLINE)
|
||||||
|
|
||||||
#include <readline/readline.h>
|
#include <readline/readline.h>
|
||||||
#include <readline/history.h>
|
#include <readline/history.h>
|
||||||
@ -356,7 +356,7 @@ Yap_ReadlineForSIGINT(void)
|
|||||||
|
|
||||||
static Int has_readline(USES_REGS1)
|
static Int has_readline(USES_REGS1)
|
||||||
{
|
{
|
||||||
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
|
#if USE_READLINE
|
||||||
return true;
|
return true;
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
|
@ -1973,7 +1973,7 @@ Yap_InitPageSize(void)
|
|||||||
* predicates
|
* predicates
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
Yap_InitSysbits (void)
|
Yap_InitSysbits (int wid)
|
||||||
{
|
{
|
||||||
CACHE_REGS
|
CACHE_REGS
|
||||||
#if __simplescalar__
|
#if __simplescalar__
|
||||||
|
Reference in New Issue
Block a user