Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2014-01-15 15:20:03 +0400
committerOlivier Goffart <ogoffart@woboq.com>2014-01-15 15:20:03 +0400
commitc7227297af206700be49e12297b9aa524de8f987 (patch)
tree7fe4c2263b9af1ef02fa6539e5fee5476d1e721a
parent924e0e32424a504d3a71bd549a95e68378b392bb (diff)
Make it compile with the merge of csync mirall
-rw-r--r--CMakeLists.txt2
-rw-r--r--cmake/modules/FindCsync.cmake28
-rw-r--r--csync/CMakeLists.txt16
-rw-r--r--csync/ChangeLog2
-rw-r--r--csync/config/CMakeLists.txt (renamed from config/CMakeLists.txt)0
-rw-r--r--csync/config/ocsync.conf (renamed from config/ocsync.conf)0
-rw-r--r--csync/config/ocsync_exclude.conf (renamed from config/ocsync_exclude.conf)0
-rw-r--r--csync/config_csync.h.cmake (renamed from config.h.cmake)0
-rw-r--r--csync/config_test.h.cmake (renamed from config_test.h.cmake)0
-rw-r--r--csync/src/CMakeLists.txt15
-rw-r--r--csync/src/csync.c2
-rw-r--r--csync/src/csync.h2
-rw-r--r--csync/src/csync_config.c2
-rw-r--r--csync/src/csync_dbtree.c2
-rw-r--r--csync/src/csync_exclude.c2
-rw-r--r--csync/src/csync_lock.c2
-rw-r--r--csync/src/csync_log.c2
-rw-r--r--csync/src/csync_misc.c2
-rw-r--r--csync/src/csync_misc.h2
-rw-r--r--csync/src/csync_owncloud.h2
-rw-r--r--csync/src/csync_private.h2
-rw-r--r--csync/src/csync_reconcile.c2
-rw-r--r--csync/src/csync_statedb.c2
-rw-r--r--csync/src/csync_time.c2
-rw-r--r--csync/src/csync_update.c2
-rw-r--r--csync/src/csync_util.c2
-rw-r--r--csync/src/httpbf/src/httpbf.h2
-rw-r--r--csync/src/httpbf/tests/hbf_send_test.c2
-rw-r--r--csync/src/std/c_private.h6
-rw-r--r--csync/src/std/c_string.c2
-rw-r--r--csync/src/std/c_time.c2
-rw-r--r--csync/tests/cmdline.c2
-rw-r--r--csync/tests/csync_tests/check_csync_exclude.c2
-rw-r--r--csync/tests/log_tests/check_log.c2
-rw-r--r--csync/tests/torture.c2
-rw-r--r--src/3rdparty/csync/c_jhash.h245
-rw-r--r--src/CMakeLists.txt16
-rw-r--r--src/mirall/syncjournaldb.cpp3
38 files changed, 43 insertions, 338 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 71e6b5bdb..dde9add91 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -76,7 +76,6 @@ endif()
# find_package(Qt4 4.7.0 COMPONENTS QtDBus REQUIRED )
#endif()
find_package(Neon REQUIRED)
-find_package(Csync REQUIRED)
find_package(QtKeychain REQUIRED)
if(UNIX)
find_package(INotify REQUIRED)
@@ -100,6 +99,7 @@ add_definitions(-D_UNICODE)
file( GLOB TRANS_FILES ${CMAKE_SOURCE_DIR}/translations/mirall_*.ts)
set(TRANSLATIONS ${TRANS_FILES})
+add_subdirectory(csync)
add_subdirectory(src)
add_subdirectory(doc)
diff --git a/cmake/modules/FindCsync.cmake b/cmake/modules/FindCsync.cmake
deleted file mode 100644
index 1a5d37663..000000000
--- a/cmake/modules/FindCsync.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-
-IF( DEFINED CSYNC_BUILD_PATH )
- SET(CSYNC_LIBRARY_PATH ${CSYNC_BUILD_PATH})
- SET(CSYNC_BINARY_DIR ${CSYNC_BUILD_PATH})
-
- IF(WIN32)
- SET(CSYNC_LIBRARY ${CSYNC_BUILD_PATH}/src/libocsync.dll)
- ELSEIF( APPLE )
- SET(CSYNC_LIBRARY ${CSYNC_BUILD_PATH}/src/libocsync.dylib)
- ELSE()
- SET(CSYNC_LIBRARY ${CSYNC_BUILD_PATH}/src/libocsync.so)
- ENDIF()
-ELSE()
- FIND_LIBRARY(CSYNC_LIBRARY NAMES ocsync HINTS $ENV{CSYNC_DIR})
-ENDIF()
-
-IF(NOT DEFINED CSYNC_INCLUDE_PATH)
- FIND_PATH(CSYNC_INCLUDE_PATH NAMES csync.h HINTS $ENV{CSYNC_DIR} )
-ENDIF()
-
-SET(CSYNC_INCLUDE_DIR ${CSYNC_INCLUDE_PATH})
-
-# handle the QUIETLY and REQUIRED arguments and set CSYNC_FOUND to TRUE if
-# all listed variables are TRUE
-include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Csync DEFAULT_MSG CSYNC_LIBRARY CSYNC_INCLUDE_PATH)
-
-MARK_AS_ADVANCED( CSYNC_INCLUDE_PATH CSYNC_LIBRARY )
diff --git a/csync/CMakeLists.txt b/csync/CMakeLists.txt
index 4e87dfb8d..d43a9dc9c 100644
--- a/csync/CMakeLists.txt
+++ b/csync/CMakeLists.txt
@@ -1,10 +1,7 @@
-project(ocsync C)
-# Required cmake version
-cmake_minimum_required(VERSION 2.6.0)
# global needed variables
-set(APPLICATION_NAME ${PROJECT_NAME})
+set(APPLICATION_NAME "ocsync")
set(APPLICATION_VERSION_MAJOR "0")
set(APPLICATION_VERSION_MINOR "91")
@@ -15,11 +12,6 @@ set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINO
set(LIBRARY_VERSION "0.2.1")
set(LIBRARY_SOVERSION "0")
-# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
-set(CMAKE_MODULE_PATH
- ${CMAKE_SOURCE_DIR}/cmake/Modules
-)
-
# add definitions
include(DefineCMakeDefaults)
include(DefinePlatformDefaults)
@@ -28,10 +20,6 @@ include(DefineOptions.cmake)
include(DefineInstallationPaths)
-# disallow in-source build
-include(MacroEnsureOutOfSourceBuild)
-macro_ensure_out_of_source_build("${PROJECT_NAME} requires an out of source build. Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there.")
-
# add macros
include(MacroAddPlugin)
include(MacroCopyFile)
@@ -65,7 +53,7 @@ if (CMOCKA_FOUND AND UNIT_TESTING)
add_subdirectory(tests)
endif (CMOCKA_FOUND AND UNIT_TESTING)
-configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+configure_file(config_csync.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config_csync.h)
configure_file(config_test.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config_test.h)
diff --git a/csync/ChangeLog b/csync/ChangeLog
index 94adeb781..883a6cdc4 100644
--- a/csync/ChangeLog
+++ b/csync/ChangeLog
@@ -215,7 +215,7 @@ version 0.50.8 (released 2012-08-10)
* improved CMake modules (openSSL)
* Fixed namespace for lastmodified propset.
* Added cmocka based tests for ownCloud module.
- * Added a config_test.h config header file.
+ * Added a config_test.h config_csync.header file.
* Fix link handling: Ignore symlinks.
* Modules can now report their capabilities to csync core.
* A lot of minor fixes and improvements.
diff --git a/config/CMakeLists.txt b/csync/config/CMakeLists.txt
index da2c51c69..da2c51c69 100644
--- a/config/CMakeLists.txt
+++ b/csync/config/CMakeLists.txt
diff --git a/config/ocsync.conf b/csync/config/ocsync.conf
index fa537f5e1..fa537f5e1 100644
--- a/config/ocsync.conf
+++ b/csync/config/ocsync.conf
diff --git a/config/ocsync_exclude.conf b/csync/config/ocsync_exclude.conf
index d2b4dda85..d2b4dda85 100644
--- a/config/ocsync_exclude.conf
+++ b/csync/config/ocsync_exclude.conf
diff --git a/config.h.cmake b/csync/config_csync.h.cmake
index 333cafcdc..333cafcdc 100644
--- a/config.h.cmake
+++ b/csync/config_csync.h.cmake
diff --git a/config_test.h.cmake b/csync/config_test.h.cmake
index 7f03938ea..7f03938ea 100644
--- a/config_test.h.cmake
+++ b/csync/config_test.h.cmake
diff --git a/csync/src/CMakeLists.txt b/csync/src/CMakeLists.txt
index 76c304fa0..20676132b 100644
--- a/csync/src/CMakeLists.txt
+++ b/csync/src/CMakeLists.txt
@@ -12,9 +12,6 @@ else (CSYNC_STATIC_COMPILE_DIR)
find_package(SQLite3 3.3.9 REQUIRED)
endif()
-find_package(Neon 0.29.0 REQUIRED)
-
-
set(CSYNC_PUBLIC_INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
@@ -128,10 +125,10 @@ INSTALL(
${BIN_INSTALL_DIR}
)
-INSTALL(
- FILES
- ${csync_HDRS}
- DESTINATION
- ${INCLUDE_INSTALL_DIR}/${APPLICATION_NAME}
-)
+# INSTALL(
+# FILES
+# ${csync_HDRS}
+# DESTINATION
+# ${INCLUDE_INSTALL_DIR}/${APPLICATION_NAME}
+# )
diff --git a/csync/src/csync.c b/csync/src/csync.c
index 2105ffe42..48d901e91 100644
--- a/csync/src/csync.c
+++ b/csync/src/csync.c
@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/csync.h b/csync/src/csync.h
index 9afa035ad..5a903b383 100644
--- a/csync/src/csync.h
+++ b/csync/src/csync.h
@@ -36,7 +36,7 @@
#include <stdint.h>
#include <unistd.h>
#include <sys/types.h>
-#include <config.h>
+#include <config_csync.h>
#include "csync_version.h"
diff --git a/csync/src/csync_config.c b/csync/src/csync_config.c
index 3273aad14..f69a942ba 100644
--- a/csync/src/csync_config.c
+++ b/csync/src/csync_config.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
/* #define _GNU_SOURCE */
#include <stdio.h>
diff --git a/csync/src/csync_dbtree.c b/csync/src/csync_dbtree.c
index 930920c85..06277b15f 100644
--- a/csync/src/csync_dbtree.c
+++ b/csync/src/csync_dbtree.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/csync_exclude.c b/csync/src/csync_exclude.c
index 6f0e10e69..68a6d61d5 100644
--- a/csync/src/csync_exclude.c
+++ b/csync/src/csync_exclude.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#include <sys/types.h>
#include <sys/stat.h>
diff --git a/csync/src/csync_lock.c b/csync/src/csync_lock.c
index 3bdf3e36d..7a4536872 100644
--- a/csync/src/csync_lock.c
+++ b/csync/src/csync_lock.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/csync_log.c b/csync/src/csync_log.c
index 84115df91..d5f34aa12 100644
--- a/csync/src/csync_log.c
+++ b/csync/src/csync_log.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#include <stdio.h>
#include <stdarg.h>
diff --git a/csync/src/csync_misc.c b/csync/src/csync_misc.c
index 1796f92d9..0170b462b 100644
--- a/csync/src/csync_misc.c
+++ b/csync/src/csync_misc.c
@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/csync_misc.h b/csync/src/csync_misc.h
index fed9ca378..c424283c6 100644
--- a/csync/src/csync_misc.h
+++ b/csync/src/csync_misc.h
@@ -22,7 +22,7 @@
#ifndef _CSYNC_MISC_H
#define _CSYNC_MISC_H
-#include <config.h>
+#include <config_csync.h>
#include <csync.h>
#ifdef HAVE_FNMATCH
diff --git a/csync/src/csync_owncloud.h b/csync/src/csync_owncloud.h
index 244e1b6d3..5541ac8b7 100644
--- a/csync/src/csync_owncloud.h
+++ b/csync/src/csync_owncloud.h
@@ -31,7 +31,7 @@
#include <sys/stat.h>
#include <fcntl.h>
-#include "config.h"
+#include "config_csync.h"
#ifdef NEON_WITH_LFS /* Switch on LFS in libneon. Never remove the NE_LFS! */
#define NE_LFS
#endif
diff --git a/csync/src/csync_private.h b/csync/src/csync_private.h
index 037ced49a..2bc467a3c 100644
--- a/csync/src/csync_private.h
+++ b/csync/src/csync_private.h
@@ -36,7 +36,7 @@
#include <stdbool.h>
#include <sqlite3.h>
-#include "config.h"
+#include "config_csync.h"
#include "c_lib.h"
#include "c_private.h"
#include "csync.h"
diff --git a/csync/src/csync_reconcile.c b/csync/src/csync_reconcile.c
index 7d226c24a..b6936e05a 100644
--- a/csync/src/csync_reconcile.c
+++ b/csync/src/csync_reconcile.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#include "csync_private.h"
#include "csync_reconcile.h"
diff --git a/csync/src/csync_statedb.c b/csync/src/csync_statedb.c
index 3f0eeec77..d095353a2 100644
--- a/csync/src/csync_statedb.c
+++ b/csync/src/csync_statedb.c
@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/csync_time.c b/csync/src/csync_time.c
index b22e87d96..038a26435 100644
--- a/csync/src/csync_time.c
+++ b/csync/src/csync_time.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c
index faa2ed20c..987e145d7 100644
--- a/csync/src/csync_update.c
+++ b/csync/src/csync_update.c
@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/csync_util.c b/csync/src/csync_util.c
index 049b328b3..df9b46db5 100644
--- a/csync/src/csync_util.c
+++ b/csync/src/csync_util.c
@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
diff --git a/csync/src/httpbf/src/httpbf.h b/csync/src/httpbf/src/httpbf.h
index 5972b3e7e..ec1f94eef 100644
--- a/csync/src/httpbf/src/httpbf.h
+++ b/csync/src/httpbf/src/httpbf.h
@@ -21,7 +21,7 @@
#ifndef _HBF_SEND_H
#define _HBF_SEND_H
-#include "config.h"
+#include "config_csync.h"
#ifdef NEON_WITH_LFS /* Switch on LFS in libneon. Never remove the NE_LFS! */
#define NE_LFS
#endif
diff --git a/csync/src/httpbf/tests/hbf_send_test.c b/csync/src/httpbf/tests/hbf_send_test.c
index d39b7c08a..7f86a1860 100644
--- a/csync/src/httpbf/tests/hbf_send_test.c
+++ b/csync/src/httpbf/tests/hbf_send_test.c
@@ -12,7 +12,7 @@
#include <cmocka.h>
-#include "config.h"
+#include "config_csync.h"
#include <httpbf.h>
diff --git a/csync/src/std/c_private.h b/csync/src/std/c_private.h
index c1ef1a73a..fb50e82c8 100644
--- a/csync/src/std/c_private.h
+++ b/csync/src/std/c_private.h
@@ -23,10 +23,10 @@
#ifndef _C_PRIVATE_H
#define _C_PRIVATE_H
-#include "config.h"
+#include "config_csync.h"
/* cross platform defines */
-#include "config.h"
+#include "config_csync.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -94,7 +94,9 @@ typedef struct stat csync_stat_t;
#endif
/* tchar definitions for clean win32 filenames */
+#ifndef _UNICODE
#define _UNICODE
+#endif
#if defined _WIN32 && defined _UNICODE
typedef wchar_t mbchar_t;
diff --git a/csync/src/std/c_string.c b/csync/src/std/c_string.c
index 2c056a531..a2c479839 100644
--- a/csync/src/std/c_string.c
+++ b/csync/src/std/c_string.c
@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#include <assert.h>
#include <errno.h>
diff --git a/csync/src/std/c_time.c b/csync/src/std/c_time.c
index 9f83c038c..62d43c899 100644
--- a/csync/src/std/c_time.c
+++ b/csync/src/std/c_time.c
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
+#include "config_csync.h"
#include "c_private.h"
#include "c_string.h"
diff --git a/csync/tests/cmdline.c b/csync/tests/cmdline.c
index b7ce94991..be79a4450 100644
--- a/csync/tests/cmdline.c
+++ b/csync/tests/cmdline.c
@@ -1,4 +1,4 @@
-#include "config.h"
+#include "config_csync.h"
#include "torture.h"
#ifdef HAVE_ARGP_H
diff --git a/csync/tests/csync_tests/check_csync_exclude.c b/csync/tests/csync_tests/check_csync_exclude.c
index 9e96bd6cf..f747ed0f2 100644
--- a/csync/tests/csync_tests/check_csync_exclude.c
+++ b/csync/tests/csync_tests/check_csync_exclude.c
@@ -1,4 +1,4 @@
-#include "config.h"
+#include "config_csync.h"
#include <string.h>
#include "torture.h"
diff --git a/csync/tests/log_tests/check_log.c b/csync/tests/log_tests/check_log.c
index d80135c1c..1911f6188 100644
--- a/csync/tests/log_tests/check_log.c
+++ b/csync/tests/log_tests/check_log.c
@@ -2,7 +2,7 @@
#include "support.h"
-#include "config.h"
+#include "config_csync.h"
#include "csync_log.h"
static void setup(void) {
diff --git a/csync/tests/torture.c b/csync/tests/torture.c
index df5be3fd1..fd8e10a52 100644
--- a/csync/tests/torture.c
+++ b/csync/tests/torture.c
@@ -1,4 +1,4 @@
-#include "config.h"
+#include "config_csync.h"
#include "torture.h"
diff --git a/src/3rdparty/csync/c_jhash.h b/src/3rdparty/csync/c_jhash.h
deleted file mode 100644
index 261a0a4a4..000000000
--- a/src/3rdparty/csync/c_jhash.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * c_jhash.c Jenkins Hash
- *
- * Copyright (c) 1997 Bob Jenkins <bob_jenkins@burtleburtle.net>
- *
- * lookup8.c, by Bob Jenkins, January 4 1997, Public Domain.
- * hash(), hash2(), hash3, and _c_mix() are externally useful functions.
- * Routines to test the hash are included if SELF_TEST is defined.
- * You can use this free for any purpose. It has no warranty.
- *
- * See http://burtleburtle.net/bob/hash/evahash.html
- */
-
-/**
- * @file c_jhash.h
- *
- * @brief Interface of the cynapses jhash implementation
- *
- * @defgroup cynJHashInternals cynapses libc jhash function
- * @ingroup cynLibraryAPI
- *
- * @{
- */
-#ifndef _C_JHASH_H
-#define _C_JHASH_H
-
-#include <stdint.h>
-
-#define c_hashsize(n) ((uint8_t) 1 << (n))
-#define c_hashmask(n) (xhashsize(n) - 1)
-
-/**
- * _c_mix -- Mix 3 32-bit values reversibly.
- *
- * For every delta with one or two bit set, and the deltas of all three
- * high bits or all three low bits, whether the original value of a,b,c
- * is almost all zero or is uniformly distributed,
- * If _c_mix() is run forward or backward, at least 32 bits in a,b,c
- * have at least 1/4 probability of changing.
- * If _c_mix() is run forward, every bit of c will change between 1/3 and
- * 2/3 of the time. (Well, 22/100 and 78/100 for some 2-bit deltas.)
- * _c_mix() was built out of 36 single-cycle latency instructions in a
- * structure that could supported 2x parallelism, like so:
- * a -= b;
- * a -= c; x = (c>>13);
- * b -= c; a ^= x;
- * b -= a; x = (a<<8);
- * c -= a; b ^= x;
- * c -= b; x = (b>>13);
- * ...
- *
- * Unfortunately, superscalar Pentiums and Sparcs can't take advantage
- * of that parallelism. They've also turned some of those single-cycle
- * latency instructions into multi-cycle latency instructions. Still,
- * this is the fastest good hash I could find. There were about 2^^68
- * to choose from. I only looked at a billion or so.
- */
-#define _c_mix(a,b,c) \
-{ \
- a -= b; a -= c; a ^= (c>>13); \
- b -= c; b -= a; b ^= (a<<8); \
- c -= a; c -= b; c ^= (b>>13); \
- a -= b; a -= c; a ^= (c>>12); \
- b -= c; b -= a; b ^= (a<<16); \
- c -= a; c -= b; c ^= (b>>5); \
- a -= b; a -= c; a ^= (c>>3); \
- b -= c; b -= a; b ^= (a<<10); \
- c -= a; c -= b; c ^= (b>>15); \
-}
-
-/**
- * _c_mix64 -- Mix 3 64-bit values reversibly.
- *
- * _c_mix64() takes 48 machine instructions, but only 24 cycles on a superscalar
- * machine (like Intel's new MMX architecture). It requires 4 64-bit
- * registers for 4::2 parallelism.
- * All 1-bit deltas, all 2-bit deltas, all deltas composed of top bits of
- * (a,b,c), and all deltas of bottom bits were tested. All deltas were
- * tested both on random keys and on keys that were nearly all zero.
- * These deltas all cause every bit of c to change between 1/3 and 2/3
- * of the time (well, only 113/400 to 287/400 of the time for some
- * 2-bit delta). These deltas all cause at least 80 bits to change
- * among (a,b,c) when the _c_mix is run either forward or backward (yes it
- * is reversible).
- * This implies that a hash using _c_mix64 has no funnels. There may be
- * characteristics with 3-bit deltas or bigger, I didn't test for
- * those.
- */
-#define _c_mix64(a,b,c) \
-{ \
- a -= b; a -= c; a ^= (c>>43); \
- b -= c; b -= a; b ^= (a<<9); \
- c -= a; c -= b; c ^= (b>>8); \
- a -= b; a -= c; a ^= (c>>38); \
- b -= c; b -= a; b ^= (a<<23); \
- c -= a; c -= b; c ^= (b>>5); \
- a -= b; a -= c; a ^= (c>>35); \
- b -= c; b -= a; b ^= (a<<49); \
- c -= a; c -= b; c ^= (b>>11); \
- a -= b; a -= c; a ^= (c>>12); \
- b -= c; b -= a; b ^= (a<<18); \
- c -= a; c -= b; c ^= (b>>22); \
-}
-
-/**
- * @brief hash a variable-length key into a 32-bit value
- *
- * The best hash table sizes are powers of 2. There is no need to do
- * mod a prime (mod is sooo slow!). If you need less than 32 bits,
- * use a bitmask. For example, if you need only 10 bits, do
- * h = (h & hashmask(10));
- * In which case, the hash table should have hashsize(10) elements.
- *
- * Use for hash table lookup, or anything where one collision in 2^32 is
- * acceptable. Do NOT use for cryptographic purposes.
- *
- * @param k The key (the unaligned variable-length array of bytes).
- *
- * @param length The length of the key, counting by bytes.
- *
- * @param initval Initial value, can be any 4-byte value.
- *
- * @return Returns a 32-bit value. Every bit of the key affects every bit
- * of the return value. Every 1-bit and 2-bit delta achieves
- * avalanche. About 36+6len instructions.
- */
-static inline uint32_t c_jhash(const uint8_t *k, uint32_t length, uint32_t initval) {
- uint32_t a,b,c,len;
-
- /* Set up the internal state */
- len = length;
- a = b = 0x9e3779b9; /* the golden ratio; an arbitrary value */
- c = initval; /* the previous hash value */
-
- while (len >= 12) {
- a += (k[0] +((uint32_t)k[1]<<8) +((uint32_t)k[2]<<16) +((uint32_t)k[3]<<24));
- b += (k[4] +((uint32_t)k[5]<<8) +((uint32_t)k[6]<<16) +((uint32_t)k[7]<<24));
- c += (k[8] +((uint32_t)k[9]<<8) +((uint32_t)k[10]<<16)+((uint32_t)k[11]<<24));
- _c_mix(a,b,c);
- k += 12; len -= 12;
- }
-
- /* handle the last 11 bytes */
- c += length;
- /* all the case statements fall through */
- switch(len) {
- case 11: c+=((uint32_t)k[10]<<24);
- case 10: c+=((uint32_t)k[9]<<16);
- case 9 : c+=((uint32_t)k[8]<<8);
- /* the first byte of c is reserved for the length */
- case 8 : b+=((uint32_t)k[7]<<24);
- case 7 : b+=((uint32_t)k[6]<<16);
- case 6 : b+=((uint32_t)k[5]<<8);
- case 5 : b+=k[4];
- case 4 : a+=((uint32_t)k[3]<<24);
- case 3 : a+=((uint32_t)k[2]<<16);
- case 2 : a+=((uint32_t)k[1]<<8);
- case 1 : a+=k[0];
- /* case 0: nothing left to add */
- }
- _c_mix(a,b,c);
-
- return c;
-}
-
-/**
- * @brief hash a variable-length key into a 64-bit value
- *
- * The best hash table sizes are powers of 2. There is no need to do
- * mod a prime (mod is sooo slow!). If you need less than 64 bits,
- * use a bitmask. For example, if you need only 10 bits, do
- * h = (h & hashmask(10));
- * In which case, the hash table should have hashsize(10) elements.
- *
- * Use for hash table lookup, or anything where one collision in 2^^64
- * is acceptable. Do NOT use for cryptographic purposes.
- *
- * @param k The key (the unaligned variable-length array of bytes).
- * @param length The length of the key, counting by bytes.
- * @param intval Initial value, can be any 8-byte value.
- *
- * @return A 64-bit value. Every bit of the key affects every bit of
- * the return value. No funnels. Every 1-bit and 2-bit delta
- * achieves avalanche. About 41+5len instructions.
- */
-static inline uint64_t c_jhash64(const uint8_t *k, uint64_t length, uint64_t intval) {
- uint64_t a,b,c,len;
-
- /* Set up the internal state */
- len = length;
- a = b = intval; /* the previous hash value */
- c = 0x9e3779b97f4a7c13LL; /* the golden ratio; an arbitrary value */
-
- /* handle most of the key */
- while (len >= 24)
- {
- a += (k[0] +((uint64_t)k[ 1]<< 8)+((uint64_t)k[ 2]<<16)+((uint64_t)k[ 3]<<24)
- +((uint64_t)k[4 ]<<32)+((uint64_t)k[ 5]<<40)+((uint64_t)k[ 6]<<48)+((uint64_t)k[ 7]<<56));
- b += (k[8] +((uint64_t)k[ 9]<< 8)+((uint64_t)k[10]<<16)+((uint64_t)k[11]<<24)
- +((uint64_t)k[12]<<32)+((uint64_t)k[13]<<40)+((uint64_t)k[14]<<48)+((uint64_t)k[15]<<56));
- c += (k[16] +((uint64_t)k[17]<< 8)+((uint64_t)k[18]<<16)+((uint64_t)k[19]<<24)
- +((uint64_t)k[20]<<32)+((uint64_t)k[21]<<40)+((uint64_t)k[22]<<48)+((uint64_t)k[23]<<56));
- _c_mix64(a,b,c);
- k += 24; len -= 24;
- }
-
- /* handle the last 23 bytes */
- c += length;
- switch(len) {
- case 23: c+=((uint64_t)k[22]<<56);
- case 22: c+=((uint64_t)k[21]<<48);
- case 21: c+=((uint64_t)k[20]<<40);
- case 20: c+=((uint64_t)k[19]<<32);
- case 19: c+=((uint64_t)k[18]<<24);
- case 18: c+=((uint64_t)k[17]<<16);
- case 17: c+=((uint64_t)k[16]<<8);
- /* the first byte of c is reserved for the length */
- case 16: b+=((uint64_t)k[15]<<56);
- case 15: b+=((uint64_t)k[14]<<48);
- case 14: b+=((uint64_t)k[13]<<40);
- case 13: b+=((uint64_t)k[12]<<32);
- case 12: b+=((uint64_t)k[11]<<24);
- case 11: b+=((uint64_t)k[10]<<16);
- case 10: b+=((uint64_t)k[ 9]<<8);
- case 9: b+=((uint64_t)k[ 8]);
- case 8: a+=((uint64_t)k[ 7]<<56);
- case 7: a+=((uint64_t)k[ 6]<<48);
- case 6: a+=((uint64_t)k[ 5]<<40);
- case 5: a+=((uint64_t)k[ 4]<<32);
- case 4: a+=((uint64_t)k[ 3]<<24);
- case 3: a+=((uint64_t)k[ 2]<<16);
- case 2: a+=((uint64_t)k[ 1]<<8);
- case 1: a+=((uint64_t)k[ 0]);
- /* case 0: nothing left to add */
- }
- _c_mix64(a,b,c);
-
- return c;
-}
-
-/**
- * }@
- */
-#endif /* _C_JHASH_H */
-
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9acff487a..0a6d72de1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -43,7 +43,6 @@ set(3rdparty_INC
${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtsingleapplication
${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/QProgressIndicator
${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/fancylineedit
- ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/csync
${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qjson
)
@@ -160,17 +159,10 @@ IF (NOT APPLE)
)
ENDIF(NOT APPLE)
-IF( DEFINED CSYNC_BUILD_PATH )
-SET(HTTPBF_LIBRARY ${CSYNC_BUILD_PATH}/src/httpbf/libhttpbf.a)
-ELSE()
-FIND_LIBRARY(HTTPBF_LIBRARY NAMES httpbf HINTS $ENV{CSYNC_DIR})
-ENDIF()
-
-
list(APPEND libsync_LINK_TARGETS
${QT_LIBRARIES}
- ${CSYNC_LIBRARY}
- ${HTTPBF_LIBRARY}
+ ocsync
+ httpbf
)
IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
@@ -302,7 +294,7 @@ if( UNIX AND NOT APPLE)
endif()
# csync is required.
-include_directories(${CSYNC_INCLUDE_DIR}/csync ${CSYNC_INCLUDE_DIR} ${CSYNC_INCLUDE_DIR}/httpbf/src ${CSYNC_BUILD_PATH}/src)
+include_directories(../csync/src ../csync/src/httpbf/src ${CMAKE_CURRENT_BINARY_DIR}/../csync ${CMAKE_CURRENT_BINARY_DIR}/../csync/src )
include_directories(${3rdparty_INC})
qt_wrap_cpp(mirallMoc ${mirall_HEADERS})
@@ -385,7 +377,6 @@ set_target_properties( ${APPLICATION_EXECUTABLE} PROPERTIES
)
target_link_libraries( ${APPLICATION_EXECUTABLE} ${QT_LIBRARIES} )
target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
-target_link_libraries( ${APPLICATION_EXECUTABLE} ${CSYNC_LIBRARY} )
install(TARGETS ${APPLICATION_EXECUTABLE}
RUNTIME DESTINATION bin
@@ -418,7 +409,6 @@ qt5_use_modules(${owncloudcmd_NAME} Network Sql)
set_target_properties(${owncloudcmd_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY} )
target_link_libraries(${owncloudcmd_NAME} ${synclib_NAME})
-target_link_libraries(${owncloudcmd_NAME} ${CSYNC_LIBRARY})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/mirall)
install(TARGETS ${owncloudcmd_NAME}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
diff --git a/src/mirall/syncjournaldb.cpp b/src/mirall/syncjournaldb.cpp
index 2679ba285..27eadb1b1 100644
--- a/src/mirall/syncjournaldb.cpp
+++ b/src/mirall/syncjournaldb.cpp
@@ -17,12 +17,13 @@
#include <QSqlError>
#include <QSqlQuery>
-#include <c_jhash.h>
#include <inttypes.h>
#include "syncjournaldb.h"
#include "syncjournalfilerecord.h"
+#include "../../csync/src/std/c_jhash.h"
+
#define QSQLITE "QSQLITE"
namespace Mirall {