Skip to content
Snippets Groups Projects
Commit dbb5da08 authored by Dmitry Simonenko's avatar Dmitry Simonenko
Browse files

update sophia submodule

parent 746d411f
No related branches found
No related tags found
No related merge requests found
# A macro to build the bundled sophia library # A macro to build the bundled sophia library
# #
macro(sophia_build) macro(sophia_build)
set(SOPHIA_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/third_party/sophia/sophia) set(SOPHIA_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/third_party/sophia/sophia/sophia)
set(SOPHIA_OPTS set(SOPHIA_OPTS
CFLAGS="${CMAKE_C_FLAGS}" CFLAGS="${CMAKE_C_FLAGS}"
LDFLAGS="${CMAKE_SHARED_LINKER_FLAGS}") LDFLAGS="${CMAKE_SHARED_LINKER_FLAGS}")
separate_arguments(SOPHIA_OPTS) separate_arguments(SOPHIA_OPTS)
if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/third_party/sophia/sophia/libsophia.a add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/third_party/sophia/libsophia.a
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/third_party/sophia WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/third_party/sophia
COMMAND $(MAKE) ${SOPHIA_OPTS} clean COMMAND $(MAKE) ${SOPHIA_OPTS} clean
COMMAND $(MAKE) ${SOPHIA_OPTS} static COMMAND $(MAKE) ${SOPHIA_OPTS} static
...@@ -17,7 +17,7 @@ macro(sophia_build) ...@@ -17,7 +17,7 @@ macro(sophia_build)
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/sophia add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/sophia
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/third_party/sophia COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/third_party/sophia
) )
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/sophia/sophia/libsophia.a add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/sophia/libsophia.a
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/sophia WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/sophia
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/third_party/sophia ${PROJECT_BINARY_DIR}/third_party/sophia COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/third_party/sophia ${PROJECT_BINARY_DIR}/third_party/sophia
COMMAND $(MAKE) ${SOPHIA_OPTS} clean COMMAND $(MAKE) ${SOPHIA_OPTS} clean
...@@ -26,8 +26,8 @@ macro(sophia_build) ...@@ -26,8 +26,8 @@ macro(sophia_build)
) )
endif() endif()
add_custom_target(libsophia ALL add_custom_target(libsophia ALL
DEPENDS ${PROJECT_BINARY_DIR}/third_party/sophia/sophia/libsophia.a DEPENDS ${PROJECT_BINARY_DIR}/third_party/sophia/libsophia.a
) )
message(STATUS "Use bundled Sophia: ${SOPHIA_INCLUDE_DIR}") message(STATUS "Use bundled Sophia: ${PROJECT_SOURCE_DIR}/third_party/sophia/")
set (sophia_lib "${PROJECT_BINARY_DIR}/third_party/sophia/sophia/libsophia.a") set (sophia_lib "${PROJECT_BINARY_DIR}/third_party/sophia/libsophia.a")
endmacro(sophia_build) endmacro(sophia_build)
...@@ -132,17 +132,15 @@ sophia_configure(struct space *space, struct key_def *key_def) ...@@ -132,17 +132,15 @@ sophia_configure(struct space *space, struct key_def *key_def)
void *env = factory->env; void *env = factory->env;
void *c = sp_ctl(env); void *c = sp_ctl(env);
char pointer[128]; char pointer[128];
char pointer_arg[128];
char name[128]; char name[128];
snprintf(name, sizeof(name), "%" PRIu32, key_def->space_id); snprintf(name, sizeof(name), "%" PRIu32, key_def->space_id);
sp_set(c, "db", name); sp_set(c, "db", name);
snprintf(name, sizeof(name), "db.%" PRIu32 ".index.cmp", snprintf(name, sizeof(name), "db.%" PRIu32 ".index.cmp",
key_def->space_id); key_def->space_id);
snprintf(pointer, sizeof(pointer), "pointer: %p", (void*)sophia_index_compare); snprintf(pointer, sizeof(pointer), "pointer: %p", (void*)sophia_index_compare);
sp_set(c, name, pointer); snprintf(pointer_arg, sizeof(pointer_arg), "pointer: %p", (void*)key_def);
snprintf(name, sizeof(name), "db.%" PRIu32 ".index.cmp_arg", sp_set(c, name, pointer, pointer_arg);
key_def->space_id);
snprintf(pointer, sizeof(pointer), "pointer: %p", (void*)key_def);
sp_set(c, name, pointer);
snprintf(name, sizeof(name), "db.%" PRIu32, key_def->space_id); snprintf(name, sizeof(name), "db.%" PRIu32, key_def->space_id);
void *db = sp_get(c, name); void *db = sp_get(c, name);
if (db == NULL) if (db == NULL)
......
Subproject commit 13d0195e8c2694e01219d87592a5dd8e6a2e3b41 Subproject commit 2eb631891536c2e2df57639991bee86fde7488d9
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment