Commit 2a039b50 authored by dill Upstream's avatar dill Upstream Committed by Eisenhauer, Greg
Browse files

dill 2018-07-03 (6a82fd16)

Code extracted from:

    https://github.com/GTkorvo/dill.git

at commit 6a82fd1666850c9e25f656c48ecd2d559c4a052e (master).

Upstream Shortlog
-----------------
parent cfb446ed
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -192,10 +192,13 @@ find_package (LibFFI PATHS ${CMAKE_INSTALL_PREFIX} QUIET)
IF (LIBFFI_FOUND) 
  set (EMULATION_POSSIBLE true)
ELSEIF (DILL_IGNORE_NATIVE)
  set(FFI_PREFIX_DIR ${CMAKE_BINARY_DIR}/libffi)
  set(FFI_SRC_DIR ${FFI_PREFIX_DIR}/src/LibFFI)
  set(FFI_INSTALL_DIR ${FFI_PREFIX_DIR}/install)
  ExternalProject_Add(LibFFI
    PREFIX ${PROJECT_BINARY_DIR}/libffi
    PREFIX ${FFI_PREFIX_DIR}
    GIT_REPOSITORY https://github.com/libffi/libffi.git
    CONFIGURE_COMMAND pwd COMMAND ./autogen.sh COMMAND ./configure --prefix=<INSTALL_DIR>
    CONFIGURE_COMMAND cd ${FFI_SRC_DIR} && ./autogen.sh COMMAND ${FFI_SRC_DIR}/configure --prefix=${FFI_PREFIX_DIR}
    )
  set (EMULATION_POSSIBLE true)
  ExternalProject_Get_property(LibFFI install_dir)
@@ -336,6 +339,9 @@ set(DILL_LIBRARY_PREFIX "" CACHE STRING
mark_as_advanced(DILL_LIBRARY_PREFIX)

add_library(dill ${SRC_LIST})
if (FFI_PREFIX_DIR)
  add_dependencies (dill LibFFI)
endif()
set_target_properties(dill PROPERTIES
  OUTPUT_NAME ${DILL_LIBRARY_PREFIX}dill
  VERSION ${DILL_VERSION}
+4 −0
Original line number Diff line number Diff line
@@ -102,6 +102,10 @@ dill_ret_init(dill_stream s)

    t->ret_count = 0;
}
#ifdef BUILD_EMULATOR
#include "ffi.h"
void free_emulator_handler_bits(dill_exec_handle handle);
#endif

static void
reset_context(dill_stream s)
+4 −4
Original line number Diff line number Diff line
@@ -228,12 +228,12 @@ setup_VM_proc(dill_stream c)
	    args[i] = &ffi_type_void;
	}
    }
    if (!ffi_prep_cif(cifp, FFI_DEFAULT_ABI, c->p->c_param_count,
		      ret_type, args) == FFI_OK) {
    if (ffi_prep_cif(cifp, FFI_DEFAULT_ABI, c->p->c_param_count,
		      ret_type, args) != FFI_OK) {
	return;
    }
    if (!ffi_prep_closure_loc(closure, cifp, emu_func,
			      c, func) == FFI_OK) {
    if (ffi_prep_closure_loc(closure, cifp, emu_func,
			      c, func) != FFI_OK) {

	return;
    }