Merge /home/vsc/github/yapdroid/join_yap/yap
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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})
|
||||
|
||||
|
||||
@@ -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}
|
||||
)
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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})
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
|
||||
|
||||
#ifndef __MYDDAS_H__
|
||||
#define __MYDDAS_H__
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sqlite3.h>
|
||||
#include "Yap.h"
|
||||
#include "myddas.h"
|
||||
#ifdef MYDDAS_STATS
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* *
|
||||
*************************************************************************/
|
||||
|
||||
#if defined MYDDAS_ODBC
|
||||
#if MYDDAS_ODBC
|
||||
|
||||
#if !defined(ODBCVER)
|
||||
typedef void *SQLHDBC;
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -76,9 +76,7 @@
|
||||
'$make_a_list'/2,
|
||||
'$write_or_not'/1
|
||||
]).
|
||||
#ifndef __ANDROID__
|
||||
:- load_foreign_files( [NAME()], [], INIT()).
|
||||
#endif
|
||||
|
||||
%--------------------------------------------------------
|
||||
% Public Predicates
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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 "")
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
|
||||
set (SOURCES yap.i)
|
||||
|
||||
INCLUDE(${SWIG_USE_FILE})
|
||||
|
||||
if (ANDROID)
|
||||
add_subdirectory(android)
|
||||
else(ANDROID)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user