Merge /home/vsc/github/yapdroid/join_yap/yap

This commit is contained in:
Vítor Santos Costa
2019-01-21 18:53:43 +00:00
97 changed files with 3438 additions and 4084 deletions

View File

@@ -45,14 +45,14 @@ if (CMAKE_MAJOR_VERSION GREATER 2)
${CMAKE_CURRENT_SOURCE_DIR}
)
ADD_LIB(horus ${HORUS_SOURCES} HorusYap.cpp )
add_library(horus ${HORUS_SOURCES} HorusYap.cpp )
if(DEFINED YAP_MAJOR_VERSION)
TARGET_LINK_LIBRARIES(horus
libYap
)
else()
ADD_LIB(horus ${HORUS_SOURCES} )
add_library(horus ${HORUS_SOURCES} )
endif()
#set_property(TARGET horus PROPERTY CXX_STANDARD 11)

View File

@@ -33,7 +33,7 @@ if (GECODE_FOUND)
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_lib(gecode_yap ${GECODE_SOURCES})
add_library(gecode_yap ${GECODE_SOURCES})
target_link_libraries(gecode_yap libYap ${GECODE_LIBRARIES})

View File

@@ -132,7 +132,7 @@ IF (CUDD_FOUND)
${CMAKE_CURRENT_BINARY_DIR}/../bdd
)
add_lib(bddem
add_library(bddem
${BDDEM_SOURCES}
)
@@ -154,7 +154,7 @@ IF (CUDD_FOUND)
)
add_lib(cplint
add_library(cplint
${CPLINT_SOURCES}
)

View File

@@ -77,7 +77,7 @@ cuda.c
cuda.yap
)
cuda_add_lib(libcuda ${CUDA_SOURCES})
cuda_add_library(libcuda ${CUDA_SOURCES})
target_link_libraries(libcuda libYap
${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY} # ${CUDA_nppc_LIBRARY}

View File

@@ -32,7 +32,7 @@ if (GECODE_FOUND)
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_lib(gecode_yap ${GECODE_SOURCES})
add_library(gecode_yap ${GECODE_SOURCES})
target_link_libraries(gecode_yap libYap ${GECODE_LIBRARIES})

View File

@@ -13,7 +13,9 @@ set(MYDDAS_SOURCES
myddas_top_level.c
)
include_directories(. sqlite3)
set_property(DIRECTORY
APPEND PROPERTY
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3)
set(MYDDAS_HEADERS
@@ -21,27 +23,19 @@ set(MYDDAS_HEADERS
myddas_statistics.h
myddas_statistics_structs.h
myddas_structs.h
myddas_top_level.c
myddas_types.h)
set(MYDDAS_UTIL_SOURCES
myddas_util.c
myddas_initialization.c)
set (MYDDAS_FLAGS -DUSE_MYDDAS=1)
set_property(GLOBAL
APPEND PROPERTY
COMPILE_DEFINITIONS
-DUSE_MYDDAS=1)
include_directories(. sqlite3)
add_subdirectory(sqlite3)
if (NOT ANDROID)
add_subdirectory(mysql)
add_subdirectory(odbc)
add_subdirectory(postgres)
endif()
set(CXX_SWIG_OUTDIR ${CMAKE_BINARY_DIR}/packages/swig/android)
add_component(myddas
${MYDDAS_SOURCES}

View File

@@ -1,3 +1,5 @@
#ifndef __MYDDAS_H__
#define __MYDDAS_H__

View File

@@ -1,7 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
#include "Yap.h"
#include "myddas.h"
#ifdef MYDDAS_STATS

View File

@@ -20,7 +20,7 @@
#include <stdlib.h>
#ifdef USE_MYDDAS
#ifdef MYDDAS
#include "myddas.h"
@@ -689,9 +689,9 @@ void init_myddas(void) {
{
return;
}
#if USE_MYDDAS
Term cm=CurrentModule;
CurrentModule = USER_MODULE;
#if MYDDAS
Yap_InitMYDDAS_SharedPreds();
Yap_InitBackMYDDAS_SharedPreds();
#define stringify(X) _stringify(X)
#define _stringify(X) #X
Yap_REGS.MYDDAS_GLOBAL_POINTER = NULL;
@@ -699,26 +699,15 @@ void init_myddas(void) {
MkAtomTerm(Yap_LookupAtom(stringify(MYDDAS_VERSION))));
Yap_HaltRegisterHook((HaltHookFunc)Yap_MYDDAS_delete_all_myddas_structs,
NULL);
Yap_InitMYDDAS_SharedPreds();
Yap_InitBackMYDDAS_SharedPreds();
#undef stringify
#undef _stringify
Yap_MYDDAS_delete_all_myddas_structs();
#if defined MYDDAS_ODBC
Yap_InitBackMYDDAS_ODBCPreds();
Yap_InitMYDDAS_ODBCPreds();
#endif
#if defined MYDDAS_TOP_LEVEL && \
defined MYDDAS_MYSQL // && defined HAVE_LIBREADLINE
Yap_InitMYDDAS_TopLevelPreds();
#endif
c_db_initialize_myddas(PASS_REGS1);
#ifdef __ANDROID__
init_sqlite3();
#endif
#endif
myddas_initialised = true;
CurrentModule = cm;
}
#ifdef _WIN32

View File

@@ -24,7 +24,7 @@ if (WITH_MYSQL)
if (WIN32)
add_library(YAPmysql OBJECT ${MYSQL_SOURCES})
else()
add_lib(YAPmysql ${MYSQL_SOURCES})
add_library(YAPmysql ${MYSQL_SOURCES})
target_link_libraries(YAPmysql ${MYSQL_LIBRARIES} libYap)
install(TARGETS YAPmysql
RUNTIME DESTINATION ${YAP_INSTALL_LIBDIR}
@@ -32,7 +32,7 @@ if (WITH_MYSQL)
LIBRARY DESTINATION ${YAP_INSTALL_LIBDIR}
)
endif()
include_directories(${MYSQL_INCLUDE_DIR} ..)
include_directories(${MYSQL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/..)
set_target_properties(YAPmysql PROPERTIES
POSITION_INDEPENDENT_CODE ON
PREFIX ""

View File

@@ -14,21 +14,17 @@ if (WITH_ODBC)
# ODBC_INCLUDE_DIRECTORIES, where to find sql.h
# ODBC_LIBRARIES, the libraries to link against to use ODBC
# ODBC_FOUND. If false, you cannot build anything that requires Odbc.
add_lib(YAPodbc ${YAPODBC_SOURCES})
add_library(YAPodbc ${YAPODBC_SOURCES})
target_link_libraries(YAPodbc libYap ${ODBC_LIBRARIES})
include_directories (${ODBC_INCLUDE_DIRECTORIES} ..)
set_property(DIRECTORY
APPEND PROPERTY
INCLUDE_DIRECTORIES ${ODBC_INCLUDE_DIRECTORIES} ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR} )
set_target_properties (YAPodbc PROPERTIES
POSITION_INDEPENDENT_CODE ON
PREFIX ""
)
list (APPEND MYDDAS_FLAGS -DMYDDAS_ODBC=1)
set (MYDDAS_FLAGS ${MYDDAS_FLAGS} ON PARENT_SCOPE)
set_property(GLOBAL APPEND PROPERTY COMPILE_DEFINITIONS
-DMYDDAS_ODBC=1)
install(TARGETS YAPodbc
LIBRARY DESTINATION ${YAP_INSTALL_LIBDIR}
RUNTIME DESTINATION ${YAP_INSTALL_LIBDIR}

View File

@@ -15,7 +15,7 @@
* *
*************************************************************************/
#if defined MYDDAS_ODBC
#if MYDDAS_ODBC
#if !defined(ODBCVER)
typedef void *SQLHDBC;

View File

@@ -23,6 +23,7 @@ foreach (filename ${MYDDAS_YPP})
get_filename_component(base ${filename} NAME_WE)
set(base_abs ${MYDDAS_PL_OUTDIR}/${base})
set(outfile ${base_abs}.yap)
list(APPEND MYDDAS_YAP_FILES ${outfile})
execute_process(
COMMAND ${CMAKE_C_COMPILER} ${MYDDAS_FLAGS} -x c -E -P -w ${CMAKE_CURRENT_SOURCE_DIR}/${filename} -o ${outfile}
)
@@ -30,6 +31,7 @@ foreach (filename ${MYDDAS_YPP})
endforeach ()
foreach (dbms ${MYDDAS_DBMS} )
set(outfile ${MYDDAS_PL_OUTDIR}/myddas_${dbms}.yap)
list(APPEND MYDDAS_YAP_FILES ${outfile})
execute_process(
COMMAND ${CMAKE_C_COMPILER} -D${dbms} -x c -E -P -w ${CMAKE_CURRENT_SOURCE_DIR}/myddas_driver.ypp -o ${outfile}
)
@@ -37,8 +39,6 @@ foreach (dbms ${MYDDAS_DBMS} )
set_source_files_properties(outfile PROPERTIES GENERATED TRUE)
endforeach()
list(APPEND MYDDAS_YAP_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/sqlitest.yap ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/chinook.db)
set( MYDDAS_YAP ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/sqlitest.yap ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/chinook.db)
add_to_group(MYDDAS_YAP pl_library )
file(INSTALL ${MYDDAS_YAP}
DESTINATION ${MYDDAS_PL_OUTDIR} )
install(FILES ${MYDDAS_YAP_FILES} DESTINATION ${YAP_INSTALL_DATADIR})

View File

@@ -15,11 +15,6 @@
* *
*************************************************************************/
%%:- load_foreign_files([myddas], [], init_myddas).
/* Initialize MYDDAS GLOBAL STRUCTURES */
:- c_db_initialize_myddas.
#ifdef DEBUG
:- yap_flag(single_var_warnings,on).
:- yap_flag(write_strings,on).
@@ -114,6 +109,12 @@
% myddas_mysql.ypp
]).
:- load_foreign_files([myddas], [], init_myddas).
/* Initialize MYDDAS GLOBAL STRUCTURES */
:- c_db_initialize_myddas.
#ifdef MYDDAS_TOP_LEVEL
:- use_module(myddas_top_level,[
db_top_level/4,

View File

@@ -76,9 +76,7 @@
'$make_a_list'/2,
'$write_or_not'/1
]).
#ifndef __ANDROID__
:- load_foreign_files( [NAME()], [], INIT()).
#endif
%--------------------------------------------------------
% Public Predicates

View File

@@ -16,9 +16,12 @@ if (WITH_POSTGRES)
# PostgreSQL_INCLUDE_DIRS - Include directories for PostgreSQL
# PostgreSQL_LIBRARY_DIRS - Link directories for PostgreSQL libraries
# PostgreSQL_LIBRARIES - The PostgreSQL libraries.
add_lib(YAPpostgres ${YAPPOSTGRES_SOURCES})
add_library(YAPpostgres ${YAPPOSTGRES_SOURCES})
target_link_libraries(YAPpostgres libYap ${PostgreSQL_LIBRARIES})
include_directories (${PostgreSQL_INCLUDE_DIRS} ..)
set_property(DIRECTORY
APPEND PROPERTY
INCLUDE_DIRECTORIES ${PostgreSQL_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/.. )
set_target_properties (YAPpostgres PROPERTIES
POSITION_INDEPENDENT_CODE ON
PREFIX ""

View File

@@ -1,7 +1,6 @@
if (WITH_SQLITE3)
message( " * Sqlite3 Data-Base (http://www.sqlite3.org), distributed with MYDDAS" )
if (WITH_SQLITE3)
set (SQLITE_TEST
sqlitest.yap)
@@ -9,21 +8,23 @@ if (WITH_SQLITE3)
set( YAPSQLITE3_SOURCES
myddas_sqlite3.c
src/sqlite3.h
src/sqlite3ext.h
)
message( " * Sqlite3 Data-Base (http://www.sqlite3.org), distributed with MYDDAS" )
add_to_dir(SQLITE_DB ${YAP_INSTALL_DATADIR})
add_to_dir( SQLITE_TEST ${YAP_INSTALL_DATADIR})
#sqlite3 is now in the system
set (SQLITE3_FOUND ON CACHE PRIVATE "")
include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/..)
set_property(DIRECTORY
APPEND PROPERTY
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/src )
if (ANDROID)
add_definitions(-DSQLITE_FCNTL_MMAP_SIZE=0 )
endif()
add_definitions(-DSQLITE_ENABLE_COLUMN_METADATA=1 )
@@ -36,16 +37,18 @@ if (WITH_SQLITE3)
SET_PROPERTY(DIRECTORY PROPERTY COMPILE_DEFINITIONS YAP_KERNEL=1 )
message("ql ${EMBEDDED_SQLITE3}")
message( " * Sqlite3 Data-Base (http://www.sqlite3.org), distributed with MYDDAS" )
if ( ANDROID )
add_definitions(-DSQLITE_FCNTL_MMAP_SIZE=0 )
if (ANDROID )
add_library( YAPsqlite3 OBJECT
add_library( YAPsqlite3 OBJECT
${YAPSQLITE3_SOURCES} )
else()
list(APPEND YAPSQLITE3_SOURCES src/sqlite3.c)
add_library( YAPsqlite3 SHARED
${YAPSQLITE3_SOURCES})
@@ -67,11 +70,11 @@ if (WITH_SQLITE3)
endif()
install(FILES ${SQLITE_DB}
DESTINATION ${YAP_PLDIR}/data
DESTINATION ${YAP_INSTALL_DATADIR}/data
)
install(FILES ${SQLITE_TEST}
DESTINATION ${YAP_PLDIR}/test
DESTINATION ${YAP_INSTALL_DATADIR}/test
)
endif()

View File

@@ -673,7 +673,6 @@ static void Yap_InitBackMYDDAS_SQLITE3Preds(void) {
X_API void init_sqlite3(void) {
Term cm = CurrentModule;
CurrentModule = MkAtomTerm(Yap_LookupAtom("user"));
Yap_InitMYDDAS_SQLITE3Preds();

View File

@@ -9,7 +9,7 @@ include_directories( BEFORE ${PYTHON_INCLUDE_DIRS} ${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/os ${CMAKE_SOURCE_DIR}/H ${CMAKE_SOURCE_DIR}/OPTYap )
#talk to python.pl
add_lib(YAPPython pyload.c ${PYTHON_HEADERS} )
add_library(YAPPython pyload.c ${PYTHON_HEADERS} )
if (WIN32)
@@ -48,8 +48,6 @@ set (PYTHON_PL python.pl)
install(FILES python.pl DESTINATION ${YAP_INSTALL_DATADIR} )
add_to_group( PYTHON_PL pl_library )
set_target_properties (YAPPython PROPERTIES PREFIX "")
install(TARGETS YAPPython

View File

@@ -79,9 +79,7 @@ endif()
install(FILES ${YAP4PY_PL} DESTINATION ${YAP_INSTALL_DATADIR} )
add_to_group( YAP4PY_PL pl_library )
if (WITH_DOCS AND DOXYGEN_FOUND)
set(CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND})

View File

@@ -98,7 +98,7 @@ def live():
args = yap.YAPEngineArgs()
args.setYapShareDir(os.path.join(yap_lib_path,"prolog"))
args.setYapLibDir(yap_lib_path)
#args.setYapPrologBootFile(os.path.join(yap_lib_path."startup.yss"))
#args.setYapPrologSOURCEBOOT(os.path.join(yap_lib_path."startup.yss"))
engine = yap.YAPEngine(args)
engine.goal( use_module(library('yapi') ) )
loop = True

View File

@@ -39,7 +39,7 @@ if (WIN32)
set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LIBXML2_LIBRARIES} )
else (WIN32)
ADD_LIB(libxml2 ${LIBXML2_SOURCES} )
add_library(libxml2 ${LIBXML2_SOURCES} )
if(DEFINED YAP_MAJOR_VERSION)
TARGET_LINK_LIBRARIES(libxml2
@@ -88,7 +88,7 @@ IF (RAPTOR_FOUND)
raptor_yap.c
)
ADD_LIB(raptor ${RAPTOR_SOURCES} )
add_library(raptor ${RAPTOR_SOURCES} )
if(DEFINED YAP_MAJOR_VERSION)
TARGET_LINK_LIBRARIES(raptor

View File

@@ -16,7 +16,7 @@ set_package_properties(R PROPERTIES
DESCRIPTION "The R Project for Statistical Computing."
URL "https://www.r-project.org/")
add_lib(real ${REAL_SOURCES})
add_library(real ${REAL_SOURCES})
target_link_libraries (real ${LIBR_LIBRARIES} libYap)
include_directories (
${CMAKE_CURRENT_BINARY_DIR}

View File

@@ -24,7 +24,7 @@ pl-minisat.C
${CMAKE_CURRENT_SOURCE_DIR}
)
ADD_LIB(minisat2 ${MINISAT2_SOURCES} ${MINISAT2_HEADERS} )
add_library(minisat2 ${MINISAT2_SOURCES} ${MINISAT2_HEADERS} )
set_target_properties (minisat2 PROPERTIES OUTPUT_NAME pl-minisat)
set_target_properties (minisat2 PROPERTIES PREFIX "")

View File

@@ -10,8 +10,6 @@
set (SOURCES yap.i)
INCLUDE(${SWIG_USE_FILE})
if (ANDROID)
add_subdirectory(android)
else(ANDROID)

View File

@@ -1,68 +1,42 @@
# This is a CMake file for SWIG and Android
set(JAVA_SWIG_OUTDIR ${CMAKE_SOURCE_DIR}/../yaplib/src/generated/java/pt/up/yap/lib)
set(SWIG_CXX_DIR ${CMAKE_BINARY_DIR}/src/generated/jni)
FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/generated/java/pt/up/yap/lib)
FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/generated/assets/Yap/pl)
FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/generated/assets/so)
FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/generated/jni)
set(YAP_ASSETS ${CMAKE_SOURCE_DIR}/../yaplib/src/generated/assets/Yap)
set(GENERATED_SOURCE_DIR ${CMAKE_SOURCE_DIR}/../yaplib/src/generated)
set(JAVA_SWIG_OUTDIR ${GENERATED_SOURCE_DIR}/java/pt/up/yap/lib)
set(SWIG_SOURCES ${CMAKE_SOURCE_DIR}/packages/swig/yap.i)
SET_SOURCE_FILES_PROPERTIES(${SWIG_SOURCES} PROPERTIES CPLUSPLUS ON)
FILE( MAKE_DIRECTORY ${GENERATED_SOURCE_DIR}/assets/Yap/pl)
FILE( MAKE_DIRECTORY ${GENERATED_SOURCE_DIR}/assets/os)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/CXX
)
set(GMP_ROOT ${CMAKE_SOURCE_DIR}/../gmp/${ANDROID_ABI})
set(GMP_INCLUDE_DIRS ${GMP_ROOT})
set(GMP_LIBRARIES ${GMP_ROOT}/libgmp.so)
file(INSTALL ${pl_library} DESTINATION ${YAP_ASSETS})
file(INSTALL ${CMAKE_CURRENT_SOURCE_DIR}/android.yap DESTINATION ${YAP_ASSETS})
file(INSTALL ${pl_boot_library} DESTINATION ${YAP_ASSETS}/pl)
file(INSTALL ${pl_os_library} DESTINATION ${YAP_ASSETS}/os)
execute_process(COMMAND swig -c++ -java -package pt.up.yap.lib -O -outdir ${JAVA_SWIG_OUTDIR} -addextern -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/OPTYap -I${CMAKE_BINARY_DIR} -I${GMP_INCLUDE_DIRS} -DX_API -o ${SWIG_CXX_DIR}/yapi_swig.cxx ${SWIG_SOURCES}
${CMAKE_SOURCE_DIR}/include
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/H
${CMAKE_SOURCE_DIR}/os
${CMAKE_SOURCE_DIR}/OPTYap
)
execute_process(COMMAND ${SWIG_EXECUTABLE} -c++ -java -package pt.up.yap.lib -O -outdir ${JAVA_SWIG_OUTDIR} -addextern -I${CMAKE_CURRENT_SOURCE_DIR} -o ${SWIG_CXX_DIR}/streamer_swig.cxx streamer.i
)
add_custom_command( OUTPUT yapi_swig.cxx yapi_swig.hh
COMMAND swig -c++ -java -package pt.up.yap.lib -O -outdir ${JAVA_SWIG_OUTDIR}
-addextern -I${CMAKE_SOURCE_DIR}/CXX -I${CMAKE_SOURCE_DIR}/include
-I${CMAKE_SOURCE_DIR}/H -I${CMAKE_SOURCE_DIR}/os -I${CMAKE_SOURCE_DIR}/OPTYap
-I${CMAKE_BINARY_DIR}
-I${GMP_INCLUDE_DIRS} -DX_API -o yapi_swig.cxx ${SWIG_SOURCES}
DEPENDS ${CMAKE_SOURCE_DIR}/CXX/yapi.hh ${SWIG_SOURCES}
)
add_custom_command( OUTPUT streamer_swig.cxx streamer_swig.hh
COMMAND swig -c++ -java -package pt.up.yap.lib -O -outdir ${JAVA_SWIG_OUTDIR} -addextern -I${CMAKE_CURRENT_SOURCE_DIR} -o streamer_swig.cxx streamer.i
DEPENDS ${CMAKE_SOURCE_DIR}/CXX/yapi.hh ${CMAKE_CURRENT_SOURCE_DIR}/streamer.i
)
add_library(YAPJava OBJECT
${CMAKE_BINARY_DIR}/src/generated/jni/streamer_swig.cxx
${CMAKE_BINARY_DIR}/src/generated/jni/yapi_swig.cxx
streamer.cpp
)
set_target_properties(YAPJava PROPERTIES LINKER_LANGUAGE CXX)
# GMP_FOUND - true if GMP/MPIR was found
# GMP_INCLUDE_DIRS - include search path
# GMP_LIBRARIES - libraries to link with
#config.h needs this (TODO: change in code latter)
include_directories(.;${GMP_INCLUDE_DIRS};${CMAKE_SOURCE_DIR}/include;${CMAKE_SOURCE_DIR}/H;${CMAKE_SOURCE_DIR}/H/generated;${CMAKE_SOURCE_DIR}/os;${CMAKE_SOURCE_DIR}/OPTYap;${CMAKE_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR})
if (FALSE)
set(SWIG_ADD_MODULE YAPJava SHARED CPLUSPLUS ${SWIG_SOURCES})
# Define swig module with given name and specified language
set(SWIG_LINK_LIBRARIES YAPJava YAP++ libYAP)
#- Link libraries to swig module
add_library(YAPJavaTop SHARED
main.cpp main.h
)
target_link_libraries(YAPJavaTop ${SWIG_MODULE_${YAPJava}_REAL_NAME} YAP++ libYap android)
endif ()
add_library(DROID OBJECT
yapi_swig.cxx streamer_swig.cxx streamer.cpp
)

View File

@@ -58,15 +58,39 @@ and_close(int sno) {
static int
and_put(int sno, int ch) {
buff0 += ch;
streamerInstance->display(buff0);
buff0.clear();
buff0 += ch;
if (ch == '\n') {
streamerInstance->display(buff0);
buff0.clear();
}
return ch;
}
static int
and_wput(int sno, int ch) {
unsigned char b0[8];
size_t extra = put_utf8(b0, ch);
if (extra < 0)
PlIOError(DOMAIN_ERROR_ENCODING, MkIntegerTerm(ch), "ch %C found at putw", ch);
else if(extra==0)
return false;
for (int i=0; i < extra; i++) {
buff0 += b0[i];
}
if (ch == '\n') {
streamerInstance->display(buff0);
buff0.clear();
}
return ch;
}
static int
and_get(int sno) {
PlIOError(PERMISSION_ERROR_OUTPUT_STREAM, MkIntTerm(sno), "streamer is just for writing");
return EOF;
}
@@ -86,14 +110,16 @@ extern "C" {
void Java_pt_up_yap_streamerJNI_swig_1module_1init(void) {
andstream = new VFS_t();
andstream->name = "/android/user_error";
andstream->name = "/android/user";
andstream->vflags = VFS_CAN_WRITE | VFS_HAS_PREFIX;
andstream->prefix = "/android";
andstream->suffix = NULL;
andstream->open = and_open;
andstream->close = and_close;
andstream->get_char = and_get;
andstream->get_wchar = and_get;
andstream->put_char = and_put;
andstream->put_wchar = and_wput;
andstream->flush = and_flush;
andstream->seek = and_seek;
andstream->next = GLOBAL_VFS;

View File

@@ -139,17 +139,8 @@ class YAPEngine;
#else
%typemap(in) arity_t { (jlong)($input); }
%typemap(in) jlong %{
$1 = (jlong)$input;
%}
%typemap(out) arity_t { *(jlong *)&$result = $1; }
// Language independent exception handler
// Language independent exception handler
// simplified version
%include <exception.i>
#endif

View File

@@ -11,7 +11,7 @@ SET ( SOURCES
b+tree_udi.c
)
ADD_LIB(udi_b+tree ${SOURCES})
add_library(udi_b+tree ${SOURCES})
INSTALL(TARGETS udi_b+tree DESTINATION ${YAP_PL_LIBRARY_DIR})
INSTALL(FILES b+tree.yap DESTINATION ${YAP_PL_LIBRARY_DIR})

View File

@@ -11,7 +11,7 @@ SET ( SOURCES
rtree_udi.c
)
ADD_LIB(udi_rtree ${SOURCES})
add_library(udi_rtree ${SOURCES})
INSTALL(TARGETS udi_rtree DESTINATION ${YAP_PL_LIBRARY_DIR})
INSTALL(FILES rtree.yap DESTINATION ${YAP_PL_LIBRARY_DIR})

View File

@@ -10,7 +10,7 @@ SET ( SOURCES
uthash_udi.c
)
ADD_LIB(udi_uthash ${SOURCES})
add_library(udi_uthash ${SOURCES})
INSTALL(TARGETS udi_uthash DESTINATION ${YAP_PL_LIBRARY_DIR})
INSTALL(FILES uthash.yap DESTINATION ${YAP_PL_LIBRARY_DIR})