config changes

This commit is contained in:
Vitor Santos Costa 2015-11-09 18:22:43 +00:00
parent 3aeebed2cf
commit cddb8191c8
8 changed files with 348 additions and 332 deletions

View File

@ -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;

View File

@ -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)

View File

@ -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);

View File

@ -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}"

View File

@ -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)

View File

@ -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. */

View 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;

View File

@ -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__