From c7227297af206700be49e12297b9aa524de8f987 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 15 Jan 2014 12:20:03 +0100 Subject: Make it compile with the merge of csync mirall --- CMakeLists.txt | 2 +- cmake/modules/FindCsync.cmake | 28 --- config.h.cmake | 32 ---- config/CMakeLists.txt | 10 -- config/ocsync.conf | 16 -- config/ocsync_exclude.conf | 47 ----- config_test.h.cmake | 7 - csync/CMakeLists.txt | 16 +- csync/ChangeLog | 2 +- csync/config/CMakeLists.txt | 10 ++ csync/config/ocsync.conf | 16 ++ csync/config/ocsync_exclude.conf | 47 +++++ csync/config_csync.h.cmake | 32 ++++ csync/config_test.h.cmake | 7 + csync/src/CMakeLists.txt | 15 +- csync/src/csync.c | 2 +- csync/src/csync.h | 2 +- csync/src/csync_config.c | 2 +- csync/src/csync_dbtree.c | 2 +- csync/src/csync_exclude.c | 2 +- csync/src/csync_lock.c | 2 +- csync/src/csync_log.c | 2 +- csync/src/csync_misc.c | 2 +- csync/src/csync_misc.h | 2 +- csync/src/csync_owncloud.h | 2 +- csync/src/csync_private.h | 2 +- csync/src/csync_reconcile.c | 2 +- csync/src/csync_statedb.c | 2 +- csync/src/csync_time.c | 2 +- csync/src/csync_update.c | 2 +- csync/src/csync_util.c | 2 +- csync/src/httpbf/src/httpbf.h | 2 +- csync/src/httpbf/tests/hbf_send_test.c | 2 +- csync/src/std/c_private.h | 6 +- csync/src/std/c_string.c | 2 +- csync/src/std/c_time.c | 2 +- csync/tests/cmdline.c | 2 +- csync/tests/csync_tests/check_csync_exclude.c | 2 +- csync/tests/log_tests/check_log.c | 2 +- csync/tests/torture.c | 2 +- src/3rdparty/csync/c_jhash.h | 245 -------------------------- src/CMakeLists.txt | 16 +- src/mirall/syncjournaldb.cpp | 3 +- 43 files changed, 155 insertions(+), 450 deletions(-) delete mode 100644 cmake/modules/FindCsync.cmake delete mode 100644 config.h.cmake delete mode 100644 config/CMakeLists.txt delete mode 100644 config/ocsync.conf delete mode 100644 config/ocsync_exclude.conf delete mode 100644 config_test.h.cmake create mode 100644 csync/config/CMakeLists.txt create mode 100644 csync/config/ocsync.conf create mode 100644 csync/config/ocsync_exclude.conf create mode 100644 csync/config_csync.h.cmake create mode 100644 csync/config_test.h.cmake delete mode 100644 src/3rdparty/csync/c_jhash.h 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/config.h.cmake b/config.h.cmake deleted file mode 100644 index 333cafcdc..000000000 --- a/config.h.cmake +++ /dev/null @@ -1,32 +0,0 @@ -#cmakedefine PACKAGE "${APPLICATION_NAME}" -#cmakedefine VERSION "${APPLICATION_VERSION}" -#cmakedefine LOCALEDIR "${LOCALE_INSTALL_DIR}" -#cmakedefine DATADIR "${DATADIR}" -#cmakedefine LIBDIR "${LIBDIR}" -#cmakedefine PLUGINDIR "${PLUGINDIR}" -#cmakedefine SYSCONFDIR "${SYSCONFDIR}" -#cmakedefine BINARYDIR "${BINARYDIR}" -#cmakedefine SOURCEDIR "${SOURCEDIR}" - -#cmakedefine HAVE_CLOCK_GETTIME - -#cmakedefine WITH_LOG4C 1 -#cmakedefine WITH_ICONV 1 - -#cmakedefine HAVE_ARGP_H 1 -#cmakedefine HAVE_ICONV_H 1 -#cmakedefine HAVE_SYS_ICONV_H 1 - -#cmakedefine HAVE_TIMEGM 1 -#cmakedefine HAVE_STRERROR_R 1 -#cmakedefine HAVE_UTIMES 1 -#cmakedefine HAVE_LSTAT 1 -#cmakedefine HAVE_FNMATCH 1 -#cmakedefine HAVE___MINGW_ASPRINTF 1 -#cmakedefine HAVE_ICONV 1 -#cmakedefine HAVE_ICONV_CONST 1 - -#cmakedefine NEON_WITH_LFS 1 -#cmakedefine HAVE___MINGW_ASPRINTF 1 - -#cmakedefine WITH_UNIT_TESTING 1 diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt deleted file mode 100644 index da2c51c69..000000000 --- a/config/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/ocsync.conf ${CMAKE_CURRENT_BINARY_DIR}/ocsync.conf) -macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/ocsync_exclude.conf ${CMAKE_CURRENT_BINARY_DIR}/ocsync_exclude.conf) - -install( - FILES - ocsync.conf - ocsync_exclude.conf - DESTINATION - ${SYSCONF_INSTALL_DIR}/ocsync -) diff --git a/config/ocsync.conf b/config/ocsync.conf deleted file mode 100644 index fa537f5e1..000000000 --- a/config/ocsync.conf +++ /dev/null @@ -1,16 +0,0 @@ -# max diff time between two recplicas in seconds -max_time_difference = 10 - -# max directory depth recursion -max_depth = 50 - -# NOT IN USE: -# sync symbolic links if the remote filesystem supports it. -#sync_symbolic_links = false - -# connection timeout in seconds -timeout = 30 - -# create a copy for backup for the file which has a conflict -#with_confilct_copies = no - diff --git a/config/ocsync_exclude.conf b/config/ocsync_exclude.conf deleted file mode 100644 index d2b4dda85..000000000 --- a/config/ocsync_exclude.conf +++ /dev/null @@ -1,47 +0,0 @@ -# Exclude patterns (one per line). Blank lines in the file and -# lines starting with '#' are ignored. -# -# You can use shell wildcard patterns. See the manpage of sh(1) -# -# If a pattern starts with ']', the ']' is removed from the pattern, -# And the files that matches that pattern will be ignored, but if -# their parent directory is removed on the other side, the file will -# be removed. Otherwise, ignored file prevent the directory from -# being removed. - -.beagle -.ccache -.csync* -.fontconfig -.java/ -.jpi_cache -.kde*/cache-* -.kde*/socket-* -.kde*/tmp-* -.mozilla/plugins -.mozilla/firefox/*/Cache -.netscape/cache/ -.snapshot -.thumbnails - -*.~* -]*.directory - -# exclude all object file -# *.o - -# exclude all bak files -# *.bak -# - -# ignore conflict files. -*_conflict-* - -.Temporary Items -.Trashes -.Document Revisions-V100 -.fseventd -.apdisk - -.htaccess - diff --git a/config_test.h.cmake b/config_test.h.cmake deleted file mode 100644 index 7f03938ea..000000000 --- a/config_test.h.cmake +++ /dev/null @@ -1,7 +0,0 @@ - -/* mind to have trailing slashes! */ - -#define TESTFILES_DIR "@SOURCE_DIR@/tests/ownCloud/testfiles/" - -#define TEST_CONFIG_DIR "@SOURCE_DIR@/tests/ownCloud/" - 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/csync/config/CMakeLists.txt b/csync/config/CMakeLists.txt new file mode 100644 index 000000000..da2c51c69 --- /dev/null +++ b/csync/config/CMakeLists.txt @@ -0,0 +1,10 @@ +macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/ocsync.conf ${CMAKE_CURRENT_BINARY_DIR}/ocsync.conf) +macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/ocsync_exclude.conf ${CMAKE_CURRENT_BINARY_DIR}/ocsync_exclude.conf) + +install( + FILES + ocsync.conf + ocsync_exclude.conf + DESTINATION + ${SYSCONF_INSTALL_DIR}/ocsync +) diff --git a/csync/config/ocsync.conf b/csync/config/ocsync.conf new file mode 100644 index 000000000..fa537f5e1 --- /dev/null +++ b/csync/config/ocsync.conf @@ -0,0 +1,16 @@ +# max diff time between two recplicas in seconds +max_time_difference = 10 + +# max directory depth recursion +max_depth = 50 + +# NOT IN USE: +# sync symbolic links if the remote filesystem supports it. +#sync_symbolic_links = false + +# connection timeout in seconds +timeout = 30 + +# create a copy for backup for the file which has a conflict +#with_confilct_copies = no + diff --git a/csync/config/ocsync_exclude.conf b/csync/config/ocsync_exclude.conf new file mode 100644 index 000000000..d2b4dda85 --- /dev/null +++ b/csync/config/ocsync_exclude.conf @@ -0,0 +1,47 @@ +# Exclude patterns (one per line). Blank lines in the file and +# lines starting with '#' are ignored. +# +# You can use shell wildcard patterns. See the manpage of sh(1) +# +# If a pattern starts with ']', the ']' is removed from the pattern, +# And the files that matches that pattern will be ignored, but if +# their parent directory is removed on the other side, the file will +# be removed. Otherwise, ignored file prevent the directory from +# being removed. + +.beagle +.ccache +.csync* +.fontconfig +.java/ +.jpi_cache +.kde*/cache-* +.kde*/socket-* +.kde*/tmp-* +.mozilla/plugins +.mozilla/firefox/*/Cache +.netscape/cache/ +.snapshot +.thumbnails + +*.~* +]*.directory + +# exclude all object file +# *.o + +# exclude all bak files +# *.bak +# + +# ignore conflict files. +*_conflict-* + +.Temporary Items +.Trashes +.Document Revisions-V100 +.fseventd +.apdisk + +.htaccess + diff --git a/csync/config_csync.h.cmake b/csync/config_csync.h.cmake new file mode 100644 index 000000000..333cafcdc --- /dev/null +++ b/csync/config_csync.h.cmake @@ -0,0 +1,32 @@ +#cmakedefine PACKAGE "${APPLICATION_NAME}" +#cmakedefine VERSION "${APPLICATION_VERSION}" +#cmakedefine LOCALEDIR "${LOCALE_INSTALL_DIR}" +#cmakedefine DATADIR "${DATADIR}" +#cmakedefine LIBDIR "${LIBDIR}" +#cmakedefine PLUGINDIR "${PLUGINDIR}" +#cmakedefine SYSCONFDIR "${SYSCONFDIR}" +#cmakedefine BINARYDIR "${BINARYDIR}" +#cmakedefine SOURCEDIR "${SOURCEDIR}" + +#cmakedefine HAVE_CLOCK_GETTIME + +#cmakedefine WITH_LOG4C 1 +#cmakedefine WITH_ICONV 1 + +#cmakedefine HAVE_ARGP_H 1 +#cmakedefine HAVE_ICONV_H 1 +#cmakedefine HAVE_SYS_ICONV_H 1 + +#cmakedefine HAVE_TIMEGM 1 +#cmakedefine HAVE_STRERROR_R 1 +#cmakedefine HAVE_UTIMES 1 +#cmakedefine HAVE_LSTAT 1 +#cmakedefine HAVE_FNMATCH 1 +#cmakedefine HAVE___MINGW_ASPRINTF 1 +#cmakedefine HAVE_ICONV 1 +#cmakedefine HAVE_ICONV_CONST 1 + +#cmakedefine NEON_WITH_LFS 1 +#cmakedefine HAVE___MINGW_ASPRINTF 1 + +#cmakedefine WITH_UNIT_TESTING 1 diff --git a/csync/config_test.h.cmake b/csync/config_test.h.cmake new file mode 100644 index 000000000..7f03938ea --- /dev/null +++ b/csync/config_test.h.cmake @@ -0,0 +1,7 @@ + +/* mind to have trailing slashes! */ + +#define TESTFILES_DIR "@SOURCE_DIR@/tests/ownCloud/testfiles/" + +#define TEST_CONFIG_DIR "@SOURCE_DIR@/tests/ownCloud/" + 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 #include #include -#include +#include #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 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 #include 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 #include 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 +#include #include #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 #include -#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 #include -#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 -#include "config.h" +#include "config_csync.h" #include 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 #include @@ -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 #include 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 #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 - * - * 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 - -#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 #include -#include #include #include "syncjournaldb.h" #include "syncjournalfilerecord.h" +#include "../../csync/src/std/c_jhash.h" + #define QSQLITE "QSQLITE" namespace Mirall { -- cgit v1.2.3