cmake code
This commit is contained in:
parent
4b33d5d87b
commit
a382ca43fa
@ -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
|
||||
|
@ -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 ()
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 "")
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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}
|
||||
|
Reference in New Issue
Block a user