cmake code
This commit is contained in:
parent
4b33d5d87b
commit
a382ca43fa
@ -261,7 +261,6 @@ else(YAP_SINGLE_FILE)
|
|||||||
set( UTF8PROC_DL utf8proc)
|
set( UTF8PROC_DL utf8proc)
|
||||||
endif(YAP_SINGLE_FILE)
|
endif(YAP_SINGLE_FILE)
|
||||||
|
|
||||||
|
|
||||||
add_library(libYap
|
add_library(libYap
|
||||||
${ENGINE_SOURCES}
|
${ENGINE_SOURCES}
|
||||||
${C_INTERFACE_SOURCES}
|
${C_INTERFACE_SOURCES}
|
||||||
@ -303,18 +302,19 @@ set(CMAKE_TOP_BINARY_DIR ${CMAKE_BINARY_DIR})
|
|||||||
set(YAP_PL_SRCDIR ${CMAKE_SOURCE_DIR}/pl)
|
set(YAP_PL_SRCDIR ${CMAKE_SOURCE_DIR}/pl)
|
||||||
|
|
||||||
# Compatibility vars with autotols
|
# Compatibility vars with autotols
|
||||||
if (0)
|
if (ANDROID)
|
||||||
set ( prefix "${CMAKE_SOURCE_DIR}/android/app/build/generated")
|
set ( prefix ${CMAKE_SOURCE_DIR}/YAPDroid/app/src/main/)
|
||||||
set ( exec_prefix "${prefix}")
|
set ( exec_prefix "${prefix}")
|
||||||
set ( libdir "${exec_prefix}/jniLibs/${ANDROID_ABI}")
|
set ( libdir "${exec_prefix}/jniLibs/x86")
|
||||||
set ( dlls "${libdir}")
|
set ( dlls "${exec_prefix}/jniLibs/x86")
|
||||||
set ( includedir "${prefix}/src/include")
|
set ( includedir "${prefix}/include")
|
||||||
set ( datarootdir "${prefix}/share")
|
set ( datarootdir "${prefix}/share")
|
||||||
set ( libpl "${datarootdir}/Yap")
|
set ( libpl "${prefix}/assets/Yap")
|
||||||
set ( datadir "${datarootdir}")
|
set ( datadir "${datarootdir}")
|
||||||
set ( mandir "${datarootdir}/man")
|
set ( mandir "${datarootdir}/man")
|
||||||
set ( bindir "${exec_prefix}/bin")
|
set ( bindir "${exec_prefix}/bin")
|
||||||
set ( docdir "${exec_prefix}/share/doc/Yap")
|
set ( docdir "${exec_prefix}/share/doc/Yap")
|
||||||
|
|
||||||
else()
|
else()
|
||||||
set ( prefix "${CMAKE_INSTALL_PREFIX}")
|
set ( prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
set ( exec_prefix "${prefix}")
|
set ( exec_prefix "${prefix}")
|
||||||
@ -372,7 +372,7 @@ ENDIF("${isSystemDir}" STREQUAL "-1")
|
|||||||
|
|
||||||
#
|
#
|
||||||
set ( MIN_STACKSPACE 1024*SIZEOF_INT_P )
|
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 ( MIN_TRAILSPACE 512*SIZEOF_INT_P )
|
||||||
set ( DEF_STACKSPACE 0 )
|
set ( DEF_STACKSPACE 0 )
|
||||||
set ( DEF_HEAPSPACE 0 )
|
set ( DEF_HEAPSPACE 0 )
|
||||||
@ -432,7 +432,7 @@ if (HAVE_GCC)
|
|||||||
# replace instructions codes by the address of their code
|
# replace instructions codes by the address of their code
|
||||||
option (WITH_THREADED_CODE "threaded code" ON)
|
option (WITH_THREADED_CODE "threaded code" ON)
|
||||||
if (WITH_THREADED_CODE)
|
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 (WITH_THREADED_CODE)
|
||||||
endif (HAVE_GCC)
|
endif (HAVE_GCC)
|
||||||
|
|
||||||
@ -472,15 +472,16 @@ if (GMP_FOUND)
|
|||||||
# GMP_LIBRARIES_DIR - the directory the library we link with is found in.
|
# GMP_LIBRARIES_DIR - the directory the library we link with is found in.
|
||||||
include_directories (${GMP_INCLUDE_DIRS})
|
include_directories (${GMP_INCLUDE_DIRS})
|
||||||
#add_executable(test ${SOURCES})
|
#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)
|
#config.h needs this (TODO: change in code latter)
|
||||||
set( CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${GMP_INCLUDE_DIRS} )
|
set( CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${GMP_INCLUDE_DIRS} )
|
||||||
#set( CMAKE_REQUIRED_LIBRARIES ${GMP_LIBRARIES} ${CMAKE_REQUIRED_LIBRARIES} )
|
if(ANDROID)
|
||||||
IF (MSVC)
|
file(COPY ${GMP_LIBRARIES} DESTINATION ${CMAKE_SOURCE_DIR}/YAPDroid/app/build/intermediates/cmake/debug/lib/${ANDROID_ABI})
|
||||||
file(COPY ${GMP_LIBRARY_DLL} DESTINATION ${CMAKE_BINARY_DIR} )
|
ENDIF()
|
||||||
ENDIF(MSVC)
|
|
||||||
|
|
||||||
endif (GMP_FOUND)
|
|
||||||
|
endif (GMP_FOUND)
|
||||||
|
|
||||||
macro_optional_find_package (Threads OFF)
|
macro_optional_find_package (Threads OFF)
|
||||||
macro_log_feature (THREADS_FOUND "Threads Support"
|
macro_log_feature (THREADS_FOUND "Threads Support"
|
||||||
@ -659,12 +660,20 @@ option (WITH_YAP_STATIC
|
|||||||
|
|
||||||
# modern systems do this.
|
# modern systems do this.
|
||||||
set ( MALLOC_T "void *" )
|
set ( MALLOC_T "void *" )
|
||||||
CMAKE_DEPENDENT_OPTION (WITH_SYSTEM_MALLOC
|
OPTION (WITH_SYSTEM_MALLOC
|
||||||
"use malloc to allocate memory" ON "NOT WITH_COPY_OR_PARALELISM" OFF)
|
"use malloc to allocate memory" ON )
|
||||||
CMAKE_DEPENDENT_OPTION (WITH_DL_MALLOC
|
OPTION (WITH_DL_MALLOC
|
||||||
"use malloc to allocate memory" ON "NOT WITH_SYSTEM_MALLOC" OFF)
|
"use malloc to allocate memory" OFF )
|
||||||
CMAKE_DEPENDENT_OPTION (WITH_YAP_MALLOC
|
OPTION (WITH_YAP_MALLOC
|
||||||
"use malloc to allocate memory" ON "NOT WITH_SYSTEM_MALLOC;NOT WITH_DL_MALLOC" OFF)
|
"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
|
option(WITH_YAP_CONDOR
|
||||||
"allow YAP to be used from condor" OFF)
|
"allow YAP to be used from condor" OFF)
|
||||||
@ -697,9 +706,9 @@ endif()
|
|||||||
|
|
||||||
target_link_libraries(libYap
|
target_link_libraries(libYap
|
||||||
${UTF8PROC_DL}
|
${UTF8PROC_DL}
|
||||||
${GMP_LIBRARIES}
|
|
||||||
${READLINE_LIBS}
|
${READLINE_LIBS}
|
||||||
${CMAKE_DL_LIBS}
|
${CMAKE_DL_LIBS}
|
||||||
|
${GMP_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -725,7 +734,6 @@ endif()
|
|||||||
|
|
||||||
target_link_libraries(yap-bin libYap )
|
target_link_libraries(yap-bin libYap )
|
||||||
|
|
||||||
|
|
||||||
CMAKE_DEPENDENT_OPTION (WITH_SYSTEM_MMAP "Use MMAP for shared memory allocation" ON
|
CMAKE_DEPENDENT_OPTION (WITH_SYSTEM_MMAP "Use MMAP for shared memory allocation" ON
|
||||||
"NOT WITH_YAPOR_THOR" OFF)
|
"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)
|
## add_subDIRECTORY(utils)
|
||||||
|
|
||||||
if (NOT ANDROID)
|
|
||||||
add_custom_target (main ALL DEPENDS ${YAP_STARTUP} ) # WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
|
|
||||||
endif()
|
|
||||||
#
|
#
|
||||||
# include subdirectories configuration
|
# include subdirectories configuration
|
||||||
## after we have all functionality in
|
## after we have all functionality in
|
||||||
|
@ -50,21 +50,21 @@ if (WITH_YAPOR_COPY)
|
|||||||
|
|
||||||
OPTION (WITH_YAPOR_THOR "Thread-based Or-parallelism" OFF)
|
OPTION (WITH_YAPOR_THOR "Thread-based Or-parallelism" OFF)
|
||||||
if (WITH_YAPOR_THOR)
|
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(WITH_YAPOR ON)
|
||||||
set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
|
set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
|
||||||
endif (WITH_YAPOR_THOR)
|
endif (WITH_YAPOR_THOR)
|
||||||
|
|
||||||
OPTION (WITH_YAPOR_ACOW "Process-based Copy-On-Write Or-parallelism" OFF)
|
OPTION (WITH_YAPOR_ACOW "Process-based Copy-On-Write Or-parallelism" OFF)
|
||||||
if (WITH_YAPOR_ACOW)
|
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(WITH_YAPOR ON)
|
||||||
set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
|
set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
|
||||||
endif (WITH_YAPOR_ACOW)
|
endif (WITH_YAPOR_ACOW)
|
||||||
|
|
||||||
OPTION (WITH_YAPOR_SBA "Sparse Bind Array-based Or-parallelism" OFF)
|
OPTION (WITH_YAPOR_SBA "Sparse Bind Array-based Or-parallelism" OFF)
|
||||||
if (WITH_YAPOR_SBA)
|
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(WITH_YAPOR ON)
|
||||||
set(YAP_SYSTEM_OPTIONS "or_parallelism, " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
|
set(YAP_SYSTEM_OPTIONS "or_parallelism, " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE)
|
||||||
endif (WITH_YAPOR_SBA)
|
endif (WITH_YAPOR_SBA)
|
||||||
@ -73,8 +73,6 @@ endif (WITH_YAPOR_SBA)
|
|||||||
|
|
||||||
if (WITH_YAPOR)
|
if (WITH_YAPOR)
|
||||||
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR=1)
|
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR=1)
|
||||||
else()
|
|
||||||
set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS USE_SYSTEM_MALLOC=1)
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
@ -2163,8 +2163,8 @@ X_API int PL_initialise(int myargc, char **myargv) {
|
|||||||
|
|
||||||
GLOBAL_PL_Argc = myargc;
|
GLOBAL_PL_Argc = myargc;
|
||||||
GLOBAL_PL_Argv = myargv;
|
GLOBAL_PL_Argv = myargv;
|
||||||
GLOBAL_InitialisedFromPL = TRUE;
|
GLOBAL_InitialisedFromPL = true;
|
||||||
int rc = YAP_Init(&init_args) != YAP_BOOT_ERROR;
|
YAP_file_type_t rc = YAP_Init(&init_args) != YAP_FOUND_BOOT_ERROR;
|
||||||
ATOM_nil = YAP_SWIAtomFromAtom(AtomNil);
|
ATOM_nil = YAP_SWIAtomFromAtom(AtomNil);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ endif (HAVE_LIBCRYPT)
|
|||||||
|
|
||||||
target_link_libraries(sys libYap)
|
target_link_libraries(sys libYap)
|
||||||
if (ANDROID)
|
if (ANDROID)
|
||||||
target_link_libraries(sys android gmp)
|
target_link_libraries(sys android)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties (sys PROPERTIES PREFIX "")
|
set_target_properties (sys PROPERTIES PREFIX "")
|
||||||
|
@ -15,6 +15,14 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "YapInterface.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 "crypto/md5.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#if HAVE_UNISTD_H
|
#if HAVE_UNISTD_H
|
||||||
@ -230,10 +238,9 @@ list_directory(void)
|
|||||||
_findclose( hFile );
|
_findclose( hFile );
|
||||||
#else
|
#else
|
||||||
#if __ANDROID__
|
#if __ANDROID__
|
||||||
{
|
{
|
||||||
extern AAssetManager *Yap_assetManager;
|
|
||||||
const char *dirName = buf+strlen("/assets/");
|
const char *dirName = buf+strlen("/assets/");
|
||||||
AAssetManager* mgr = Yap_assetManager;
|
AAssetManager *mgr = GLOBAL_VFS->priv[0].mgr;
|
||||||
AAssetDir *de;
|
AAssetDir *de;
|
||||||
const char* dp;
|
const char* dp;
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ set(PL_SOURCES
|
|||||||
messages.yap
|
messages.yap
|
||||||
meta.yap
|
meta.yap
|
||||||
modules.yap
|
modules.yap
|
||||||
|
newmod.yap
|
||||||
os.yap
|
os.yap
|
||||||
preddecls.yap
|
preddecls.yap
|
||||||
preddyns.yap
|
preddyns.yap
|
||||||
@ -51,12 +52,10 @@ set(PL_SOURCES
|
|||||||
swi.yap
|
swi.yap
|
||||||
yapor.yap
|
yapor.yap
|
||||||
yio.yap
|
yio.yap
|
||||||
../os/chartypes.yap
|
|
||||||
../os/edio.yap
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT ANDROID)
|
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.
|
# Create a startup.yss on the top directory.
|
||||||
add_custom_command (TARGET ${YAP_STARTUP}
|
add_custom_command (TARGET ${YAP_STARTUP}
|
||||||
|
Reference in New Issue
Block a user