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();
#endif /* YAPOR_COPY || YAPOR_COW || YAPOR_SBA */
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 */
GLOBAL_argv = yap_init->Argv;
GLOBAL_argc = yap_init->Argc;

View File

@ -64,6 +64,7 @@ include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckPrototypeExists)
include(CheckTypeSize)
include(CheckVariableExists)
include(CheckCXXSourceCompiles)
include(TestBigEndian)
include (CMakeDependentOption)
@ -243,7 +244,7 @@ if (HAVE_GCC)
# replace instructions codes by the address of their code
option (WITH_THREADED_CODE "threaded code" ON)
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 (HAVE_GCC)

View File

@ -24,7 +24,8 @@ Term Yap_ArrayToList(Term *,size_t);
int Yap_GetName(char *, UInt, Term);
Term Yap_GetValue(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_ULookupAtom(const unsigned char *);
Atom Yap_LookupAtomWithLength(const char *, size_t);
@ -46,7 +47,6 @@ int Yap_AtomIncreaseHold(Atom);
int Yap_AtomDecreaseHold(Atom);
struct operator_entry *Yap_OpPropForModule(Atom, Term);
#ifdef SFUNC
Term MkSFTerm(Functor, int, Term *, Term);
CELL *ArgsOfSFTerm(Term);
@ -91,7 +91,6 @@ void Yap_InitArrayPreds(void);
void Yap_InitBackAtoms(void);
void Yap_InitAtomPreds(void);
/* attvar.c */
void Yap_InitAttVarPreds(void);
void Yap_MkEmptyWakeUp(Atom mod);
@ -153,7 +152,6 @@ void Yap_DebugEndline(void);
void Yap_DebugPlWrite(Term t);
void Yap_DebugPlWriteln(Term t);
/* corout.c */
void Yap_InitCoroutPreds(void);
#ifdef COROUTINING
@ -170,8 +168,7 @@ void Yap_InitDBPreds(void);
/* errors.c */
#if DEBUG
void
Yap_PrintPredName( struct pred_entry *ap );
void Yap_PrintPredName(struct pred_entry *ap);
#endif
void Yap_RestartYap(int);
void Yap_exit(int);
@ -195,7 +192,8 @@ Int Yap_exec_absmi( bool, yap_reset_t );
void Yap_trust_last(void);
Term Yap_GetException(void);
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);
Term Yap_PredicateIndicator(Term t, Term mod);
bool Yap_Execute(Term t USES_REGS);
@ -211,8 +209,13 @@ char *Yap_FindExecutable(void);
/* gprof.c */
void Yap_InitLowProf(void);
#if LOW_PROF
void Yap_inform_profiler_of_clause__(void *,void *,struct pred_entry *, gprof_info);
#define Yap_inform_profiler_of_clause(CODE0,CODEF,AP,MODE) {if (GLOBAL_FPreds) Yap_inform_profiler_of_clause__(CODE0,CODEF,AP,MODE);}
void Yap_inform_profiler_of_clause__(void *, void *, struct pred_entry *,
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
#define Yap_inform_profiler_of_clause(CODE0, CODEF, AP, MODE)
#endif
@ -325,14 +328,12 @@ void Yap_InitMPI(void);
void Yap_InitMPE(void);
#endif
/* other.c */
Term Yap_MkApplTerm(Functor, arity_t, const Term *);
Term Yap_MkNewApplTerm(Functor, arity_t);
Term Yap_MkNewPairTerm(void);
Term Yap_Globalise(Term);
/* readutil.c */
void Yap_InitReadUtil(void);
@ -397,7 +398,7 @@ const char *Yap_getcwd(const char *, size_t);
void Yap_cputime_interval(Int *, Int *);
void Yap_systime_interval(Int *, Int *);
void Yap_walltime_interval(Int *, Int *);
void Yap_InitSysbits(void);
void Yap_InitSysbits(int wid);
void Yap_InitSysPreds(void);
void Yap_InitcTime(int);
void Yap_InitTime(int);
@ -409,16 +410,11 @@ char *Yap_RegistryGetString(char *);
void Yap_WinError(char *);
#endif
typedef enum {
YAP_STD,
YAP_SAVED_STATE,
YAP_OBJ,
YAP_PL,
YAP_QLY
} file_type_t;
typedef enum { YAP_STD, YAP_SAVED_STATE, YAP_OBJ, YAP_PL, YAP_QLY } file_type_t;
bool
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);
bool 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);
/* threads.c */
void Yap_InitThreadPreds(void);
@ -470,7 +466,6 @@ Term Yap_UnNumberTerm(Term, int);
Int Yap_SkipList(Term *, Term **);
/* yap.c */
/* write.c */
/* yap2swi.c */
@ -478,7 +473,8 @@ void Yap_swi_install(void);
void Yap_InitSWIHash(void);
int Yap_get_stream_handle(Term, int, int, 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 */
void Yap_init_optyap_preds(void);
@ -491,8 +487,6 @@ void Yap_flush(void);
Int Yap_source_line_no(void);
Atom Yap_source_file_name(void);
void
Yap_install_blobs(void);
void Yap_install_blobs(void);
yamop *Yap_gcP(void);

View File

@ -1935,14 +1935,19 @@ signal. */
#define USE_JUDY ${WITH_JUDY}
#endif
/* use mmap in or-parallel allocation */
#ifndef USE_SYSTEM_MMAP
#define USE_SYSTEM_MMAP ${WITH_SYSTEM_MMAP}
/* use Doug Lea's malloc ot implement the data-base. */
#ifndef USE_DL_MALLOC
#cmakedefine USE_DL_MALLOC ${WITH_DL_MALLOC}
#endif
/* use shm in or-parallel allocation */
#ifndef USE_SYSTEM_SHM
#define USE_SYSTEM_SHM ${WITH_SYSTEM_SHM}
/* use the OS malloc or some other external library to implement the data-base. */
#ifndef USE_SYSTEM_MALLOC
#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
/* Whether daylight savings time offset is set via the altzone variable */
@ -1960,6 +1965,13 @@ signal. */
#cmakedefine USE_TIME_GMTOFF ${USE_TIME_GMTOFF}
#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. */
#ifndef 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")
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_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${READLINE_LIBRARIES} )
check_include_files( "stdio.h;readline/readline.h" HAVE_READLINE_READLINE_H )
check_include_files( "stdio.h;readline/history.h" HAVE_READLINE_HISTORY_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( rl_begin_undo_group HAVE_RL_BEGIN_UNDO_GROUP)
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_set_keyboard_input_timeout HAVE_RL_SET_KEYBOARD_INPUT_TIMEOUT )
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_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_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 (READLINE_FOUND)

View File

@ -1,6 +1,6 @@
/* Define if you have libreadline */
#ifndef HAVE_LIBREADLINE
#define HAVE_LIBREADLINE ${USE_READLINE}
#cmakedefine USE_READLINE ${USE_READLINE}
#endif
/* 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"
#if defined(HAVE_LIBREADLINE)
#if defined(USE_READLINE)
#include <readline/readline.h>
#include <readline/history.h>
@ -356,7 +356,7 @@ Yap_ReadlineForSIGINT(void)
static Int has_readline(USES_REGS1)
{
#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H
#if USE_READLINE
return true;
#else
return false;

View File

@ -1973,7 +1973,7 @@ Yap_InitPageSize(void)
* predicates
*/
void
Yap_InitSysbits (void)
Yap_InitSysbits (int wid)
{
CACHE_REGS
#if __simplescalar__