cmake code

This commit is contained in:
Vitor Santos Costa 2016-06-17 17:19:47 +01:00
parent 4b33d5d87b
commit a382ca43fa
6 changed files with 50 additions and 41 deletions

View File

@ -261,7 +261,6 @@ else(YAP_SINGLE_FILE)
set( UTF8PROC_DL utf8proc)
endif(YAP_SINGLE_FILE)
add_library(libYap
${ENGINE_SOURCES}
${C_INTERFACE_SOURCES}
@ -303,18 +302,19 @@ set(CMAKE_TOP_BINARY_DIR ${CMAKE_BINARY_DIR})
set(YAP_PL_SRCDIR ${CMAKE_SOURCE_DIR}/pl)
# Compatibility vars with autotols
if (0)
set ( prefix "${CMAKE_SOURCE_DIR}/android/app/build/generated")
if (ANDROID)
set ( prefix ${CMAKE_SOURCE_DIR}/YAPDroid/app/src/main/)
set ( exec_prefix "${prefix}")
set ( libdir "${exec_prefix}/jniLibs/${ANDROID_ABI}")
set ( dlls "${libdir}")
set ( includedir "${prefix}/src/include")
set ( libdir "${exec_prefix}/jniLibs/x86")
set ( dlls "${exec_prefix}/jniLibs/x86")
set ( includedir "${prefix}/include")
set ( datarootdir "${prefix}/share")
set ( libpl "${datarootdir}/Yap")
set ( libpl "${prefix}/assets/Yap")
set ( datadir "${datarootdir}")
set ( mandir "${datarootdir}/man")
set ( bindir "${exec_prefix}/bin")
set ( docdir "${exec_prefix}/share/doc/Yap")
else()
set ( prefix "${CMAKE_INSTALL_PREFIX}")
set ( exec_prefix "${prefix}")
@ -372,7 +372,7 @@ ENDIF("${isSystemDir}" STREQUAL "-1")
#
set ( MIN_STACKSPACE 1024*SIZEOF_INT_P )
set ( MIN_HEAPSPACE 2*1024*SIZEOF_INT_P )
set ( MIN_HEAPSPACE 32*1024*SIZEOF_INT_P )
set ( MIN_TRAILSPACE 512*SIZEOF_INT_P )
set ( DEF_STACKSPACE 0 )
set ( DEF_HEAPSPACE 0 )
@ -432,7 +432,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;USE_SYSTEM_MALLOC=1)
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS THREADED_CODE=1)
endif (WITH_THREADED_CODE)
endif (HAVE_GCC)
@ -472,13 +472,14 @@ if (GMP_FOUND)
# GMP_LIBRARIES_DIR - the directory the library we link with is found in.
include_directories (${GMP_INCLUDE_DIRS})
#add_executable(test ${SOURCES})
target_link_libraries(libYap ${GMP_LIBRARIES})
add_library(libGMP SHARED IMPORTED GLOBAL)
set_target_properties(libGMP PROPERTIES IMPORTED_LOCATION ${GMP_LIBRARIES})
#config.h needs this (TODO: change in code latter)
set( CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${GMP_INCLUDE_DIRS} )
#set( CMAKE_REQUIRED_LIBRARIES ${GMP_LIBRARIES} ${CMAKE_REQUIRED_LIBRARIES} )
IF (MSVC)
file(COPY ${GMP_LIBRARY_DLL} DESTINATION ${CMAKE_BINARY_DIR} )
ENDIF(MSVC)
if(ANDROID)
file(COPY ${GMP_LIBRARIES} DESTINATION ${CMAKE_SOURCE_DIR}/YAPDroid/app/build/intermediates/cmake/debug/lib/${ANDROID_ABI})
ENDIF()
endif (GMP_FOUND)
@ -659,12 +660,20 @@ option (WITH_YAP_STATIC
# modern systems do this.
set ( MALLOC_T "void *" )
CMAKE_DEPENDENT_OPTION (WITH_SYSTEM_MALLOC
"use malloc to allocate memory" ON "NOT WITH_COPY_OR_PARALELISM" OFF)
CMAKE_DEPENDENT_OPTION (WITH_DL_MALLOC
"use malloc to allocate memory" ON "NOT WITH_SYSTEM_MALLOC" OFF)
CMAKE_DEPENDENT_OPTION (WITH_YAP_MALLOC
"use malloc to allocate memory" ON "NOT WITH_SYSTEM_MALLOC;NOT WITH_DL_MALLOC" OFF)
OPTION (WITH_SYSTEM_MALLOC
"use malloc to allocate memory" ON )
OPTION (WITH_DL_MALLOC
"use malloc to allocate memory" OFF )
OPTION (WITH_YAP_MALLOC
"use malloc to allocate memory" OFF )
if (WITH_SYSTEM_MALLOC)
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS USE_SYSTEM_MALLOC=1)
elseif (WITH_DL_MALLOC)
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS USE_DL_MALLOC=1)
elseif (WITH_YAP_MALLOC)
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS USE_YAP_MALLOC=1)
endif ()
option(WITH_YAP_CONDOR
"allow YAP to be used from condor" OFF)
@ -697,9 +706,9 @@ endif()
target_link_libraries(libYap
${UTF8PROC_DL}
${GMP_LIBRARIES}
${READLINE_LIBS}
${CMAKE_DL_LIBS}
${GMP_LIBRARIES}
)
if(WIN32)
@ -725,7 +734,6 @@ endif()
target_link_libraries(yap-bin libYap )
CMAKE_DEPENDENT_OPTION (WITH_SYSTEM_MMAP "Use MMAP for shared memory allocation" ON
"NOT WITH_YAPOR_THOR" OFF)
@ -756,9 +764,6 @@ CMAKE_DEPENDENT_OPTION (WITH_SYSTEM_SHM "Use SHM for shared memory allocation" O
## add_subDIRECTORY(utils)
if (NOT ANDROID)
add_custom_target (main ALL DEPENDS ${YAP_STARTUP} ) # WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
endif()
#
# include subdirectories configuration
## after we have all functionality in

View File

@ -50,21 +50,21 @@ if (WITH_YAPOR_COPY)
OPTION (WITH_YAPOR_THOR "Thread-based Or-parallelism" OFF)
if (WITH_YAPOR_THOR)
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_THREADS=1;USE_SYSTEM_MALLOC=1)
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_THREADS=1)
set(WITH_YAPOR ON)
set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
endif (WITH_YAPOR_THOR)
OPTION (WITH_YAPOR_ACOW "Process-based Copy-On-Write Or-parallelism" OFF)
if (WITH_YAPOR_ACOW)
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_COW=1;USE_SYSTEM_MALLOC=1)
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_COW=1)
set(WITH_YAPOR ON)
set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
endif (WITH_YAPOR_ACOW)
OPTION (WITH_YAPOR_SBA "Sparse Bind Array-based Or-parallelism" OFF)
if (WITH_YAPOR_SBA)
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_SBA=1;USE_SYSTEM_MALLOC=1)
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_SBA=1)
set(WITH_YAPOR ON)
set(YAP_SYSTEM_OPTIONS "or_parallelism, " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
endif (WITH_YAPOR_SBA)
@ -73,8 +73,6 @@ endif (WITH_YAPOR_SBA)
if (WITH_YAPOR)
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR=1)
else()
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS USE_SYSTEM_MALLOC=1)
endif ()

View File

@ -2163,8 +2163,8 @@ X_API int PL_initialise(int myargc, char **myargv) {
GLOBAL_PL_Argc = myargc;
GLOBAL_PL_Argv = myargv;
GLOBAL_InitialisedFromPL = TRUE;
int rc = YAP_Init(&init_args) != YAP_BOOT_ERROR;
GLOBAL_InitialisedFromPL = true;
YAP_file_type_t rc = YAP_Init(&init_args) != YAP_FOUND_BOOT_ERROR;
ATOM_nil = YAP_SWIAtomFromAtom(AtomNil);
return rc;
}

View File

@ -25,7 +25,7 @@ endif (HAVE_LIBCRYPT)
target_link_libraries(sys libYap)
if (ANDROID)
target_link_libraries(sys android gmp)
target_link_libraries(sys android)
endif()
set_target_properties (sys PROPERTIES PREFIX "")

View File

@ -15,6 +15,14 @@
#include "config.h"
#include "YapInterface.h"
#if __ANDROID__
#include <android/asset_manager.h>
#include <android/asset_manager_jni.h>
#include <android/log.h>
#include <jni.h>
#endif
#include "YapStreams.h"
#include "VFS.h"
#include "crypto/md5.h"
#include <stdlib.h>
#if HAVE_UNISTD_H
@ -231,9 +239,8 @@ list_directory(void)
#else
#if __ANDROID__
{
extern AAssetManager *Yap_assetManager;
const char *dirName = buf+strlen("/assets/");
AAssetManager* mgr = Yap_assetManager;
AAssetManager *mgr = GLOBAL_VFS->priv[0].mgr;
AAssetDir *de;
const char* dp;

View File

@ -30,6 +30,7 @@ set(PL_SOURCES
messages.yap
meta.yap
modules.yap
newmod.yap
os.yap
preddecls.yap
preddyns.yap
@ -51,12 +52,10 @@ set(PL_SOURCES
swi.yap
yapor.yap
yio.yap
../os/chartypes.yap
../os/edio.yap
)
if (NOT ANDROID)
add_custom_target (${YAP_STARTUP} ALL SOURCES ${PL_SOURCES} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
add_custom_target (${YAP_STARTUP} ALL SOURCES ${PL_SOURCES} ${YAPOS_PL_SOURCES} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
# Create a startup.yss on the top directory.
add_custom_command (TARGET ${YAP_STARTUP}