diff --git a/C/cdmgr.c b/C/cdmgr.c index 0dc5094b7..8b9fd55cb 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -1652,7 +1652,7 @@ Atom Yap_source_file_name(void) { } /** - * @brief we cannot add clauses to the proceduree + * @brief we cannot add clauses to the procedure * * @param p predicate * @@ -3091,6 +3091,8 @@ static Int p_clean_up_dead_clauses(USES_REGS1) { void Yap_HidePred(PredEntry *pe) { + if (pe->PredFlags & HiddenPredFlag) + return; pe->PredFlags |= (HiddenPredFlag | NoSpyPredFlag | NoTracePredFlag); if (pe->NextOfPE) { UInt hash = PRED_HASH(pe->FunctorOfPred, CurrentModule, PredHashTableSize); @@ -3106,6 +3108,7 @@ void Yap_HidePred(PredEntry *pe) { op = &p->NextPredOfHash; p = p->NextPredOfHash; } + pe->NextPredOfHash = NULL; } { Prop *op, p; @@ -3124,6 +3127,8 @@ void Yap_HidePred(PredEntry *pe) { op = &p->NextOfPE; p = p->NextOfPE; } + pe->NextOfPE = RepAtom(AtomFoundVar)->PropsOfAE; + RepAtom(AtomFoundVar)->PropsOfAE = AbsPredProp(pe); } { @@ -3139,7 +3144,7 @@ void Yap_HidePred(PredEntry *pe) { op = &p->NextPredOfModule; p = p->NextPredOfModule; } - +pe->NextPredOfModule = NULL; } } @@ -3160,6 +3165,13 @@ stash_predicate(USES_REGS1) { Yap_get_pred(Deref(ARG1), Deref(ARG2), "while checking for a procedure"); if (pe) { pe->PredFlags |= (HiddenPredFlag | NoSpyPredFlag | NoTracePredFlag); + /* + char ns[1024]; + const char *s = (pe->ModuleOfPred == PROLOG_MODULE ? + "__prolog__stash__" : + snprintf(sn,1023,"__%s__".RepAtom(AtomOfTerm( pe->ModuleOfPred )))); + pe->ModuleOfPred = MkAtomTerm(Yap_LookupAtom(s)); + */ return true; } else return false; diff --git a/packages/jpl/src/c/CMakeLists.txt b/packages/jpl/src/c/CMakeLists.txt index 7b97367a6..27a06621c 100644 --- a/packages/jpl/src/c/CMakeLists.txt +++ b/packages/jpl/src/c/CMakeLists.txt @@ -1,20 +1,20 @@ # set(CMAKE_MACOSX_RPATH 1) -SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) add_lib(jplYap jpl.h jpl.c hacks.h) include_directories (${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} ${JAVA_AWT_PATH} ) -if (MAC) - target_link_libraries(jplYap libYap /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation - /System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching) -else() - target_link_libraries(jplYap libYap ${JAVA_JVM_LIBRARY} ${JAVA_AWT_LIBRARY}) +if (APPLE) +get_filename_component ( JAVA_AWT_DIR ${JAVA_AWT_LIBRARY} DIRECTORY) +find_library (JLI jli ${JAVA_AWT_DIR}/jli) endif() + target_link_libraries(jplYap libYap ${JLI} ${JNI_LIBRARIES}) + set_target_properties(jplYap PROPERTIES OUTPUT_NAME jpl - INSTALL_RPATH_USE_LINK_PATH TRUE ) + INSTALL_RPATH_USE_LINK_PATH TRUE + ) # set(YAP_SYSTEM_OPTIONS "jpl " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) install(TARGETS jplYap