From fc8237666017d6df8a10f22ba3e537a685401878 Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Wed, 27 May 2015 13:33:53 -0700 Subject: [PATCH 1/5] Set threadsafe mode to multi-threaded --- sqlcipher.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sqlcipher.xcodeproj/project.pbxproj b/sqlcipher.xcodeproj/project.pbxproj index 5c66f770b8..d8cc847660 100644 --- a/sqlcipher.xcodeproj/project.pbxproj +++ b/sqlcipher.xcodeproj/project.pbxproj @@ -198,14 +198,14 @@ OTHER_CFLAGS = ( "-DSQLITE_HAS_CODEC", "-DSQLITE_TEMP_STORE=2", - "-DSQLITE_THREADSAFE", + "-DSQLITE_THREADSAFE=2", "-DSQLCIPHER_CRYPTO_CC", ); "OTHER_CFLAGS[arch=armv6]" = ( "-mno-thumb", "-DSQLITE_HAS_CODEC", "-DSQLITE_TEMP_STORE=2", - "-DSQLITE_THREADSAFE", + "-DSQLITE_THREADSAFE=2", "-DSQLCIPHER_CRYPTO_CC", ); OTHER_LDFLAGS = ""; @@ -227,7 +227,7 @@ "-DNDEBUG", "-DSQLITE_OS_UNIX=1", "-DSQLITE_TEMP_STORE=2", - "-DSQLITE_THREADSAFE", + "-DSQLITE_THREADSAFE=2", "-DSQLCIPHER_CRYPTO_CC", ); "OTHER_CFLAGS[arch=armv6]" = ( @@ -236,7 +236,7 @@ "-DNDEBUG", "-DSQLITE_OS_UNIX=1", "-DSQLITE_TEMP_STORE=2", - "-DSQLITE_THREADSAFE", + "-DSQLITE_THREADSAFE=2", "-DSQLCIPHER_CRYPTO_CC", ); OTHER_LDFLAGS = ""; From c59b9d899414071d841598a2377f3fbf636816a9 Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Wed, 27 May 2015 23:02:32 -0700 Subject: [PATCH 2/5] Remove today setup from tcl script --- tool/mksqlite3c.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/mksqlite3c.tcl b/tool/mksqlite3c.tcl index 805f88c8da..a1b9717d70 100644 --- a/tool/mksqlite3c.tcl +++ b/tool/mksqlite3c.tcl @@ -53,7 +53,7 @@ close $in set out [open sqlite3.c w] # Force the output to use unix line endings, even on Windows. fconfigure $out -translation lf -set today [clock format [clock seconds] -format "%Y-%m-%d %H:%M:%S UTC" -gmt 1] +# set today [clock format [clock seconds] -format "%Y-%m-%d %H:%M:%S UTC" -gmt 1] puts $out [subst \ {/****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite From 74076f4549fcd41eff5f5bf30ba26f0592d63048 Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Thu, 28 May 2015 11:43:37 -0700 Subject: [PATCH 3/5] Build debug with multi-architecture --- sqlcipher.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqlcipher.xcodeproj/project.pbxproj b/sqlcipher.xcodeproj/project.pbxproj index d8cc847660..df482a1c49 100644 --- a/sqlcipher.xcodeproj/project.pbxproj +++ b/sqlcipher.xcodeproj/project.pbxproj @@ -265,7 +265,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 4.3; "IPHONEOS_DEPLOYMENT_TARGET[arch=arm64]" = 7.0; - ONLY_ACTIVE_ARCH = YES; + ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphonesimulator macosx iphoneos"; From 4da73bb94bdf19ade21114b2cdc1cbf1f86367bd Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Tue, 9 Jun 2015 09:53:26 -0700 Subject: [PATCH 4/5] Revert previous change. Don't build fat binaries for debug --- sqlcipher.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqlcipher.xcodeproj/project.pbxproj b/sqlcipher.xcodeproj/project.pbxproj index df482a1c49..d8cc847660 100644 --- a/sqlcipher.xcodeproj/project.pbxproj +++ b/sqlcipher.xcodeproj/project.pbxproj @@ -265,7 +265,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 4.3; "IPHONEOS_DEPLOYMENT_TARGET[arch=arm64]" = 7.0; - ONLY_ACTIVE_ARCH = NO; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "iphonesimulator macosx iphoneos"; From c821e53d60452bec13e553099d3ac9804d39d055 Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Wed, 17 Jun 2015 10:42:16 -0700 Subject: [PATCH 5/5] More changes to make this build in integration --- README.md | 4 ++ sqlcipher.xcodeproj/project.pbxproj | 70 +++++++++++++++-------------- 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index ab571b0277..fc4547f4b0 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,10 @@ an iPhone data vault and password manager (http://getstrip.com). - Algorithms provided by the peer reviewed OpenSSL crypto library. - Configurable crypto providers +## Contributions + +We welcome contributions, to contribute to SQLCipher, a [contributor agreement](https://www.zetetic.net/contributions/) needs to be submitted. All submissions should be based on the `prerelease` branch. + ## Compiling Building SQLCipher is almost the same as compiling a regular version of diff --git a/sqlcipher.xcodeproj/project.pbxproj b/sqlcipher.xcodeproj/project.pbxproj index d8cc847660..661d5f5229 100644 --- a/sqlcipher.xcodeproj/project.pbxproj +++ b/sqlcipher.xcodeproj/project.pbxproj @@ -188,6 +188,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -210,6 +214,8 @@ ); OTHER_LDFLAGS = ""; PRODUCT_NAME = sqlcipher; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + VALID_ARCHS = "arm64 armv7 armv7s"; }; name = Debug; }; @@ -217,11 +223,16 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_MODEL_TUNING = G5; HEADER_SEARCH_PATHS = "$(PROJECT_DIR)"; INSTALL_PATH = /usr/local/lib; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=iphoneos*]" = 5.1.1; OTHER_CFLAGS = ( "-DSQLITE_HAS_CODEC", "-DNDEBUG", @@ -241,87 +252,80 @@ ); OTHER_LDFLAGS = ""; PRODUCT_NAME = sqlcipher; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + VALID_ARCHS = "arm64 armv7 armv7s"; }; name = Release; }; 1DEB91F008733DB70010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "ARCHS[sdk=iphoneos*]" = ( - "$(ARCHS_STANDARD)", - armv7s, - ); - "ARCHS[sdk=iphonesimulator*]" = ( - "$(ARCHS_STANDARD)", - armv7s, - ); - "ARCHS[sdk=macosx*]" = ( - x86_64, - i386, - ); + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 4.3; "IPHONEOS_DEPLOYMENT_TARGET[arch=arm64]" = 7.0; - ONLY_ACTIVE_ARCH = YES; + ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "iphonesimulator macosx iphoneos"; - VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + VALID_ARCHS = "arm64 armv7 armv7s"; }; name = Debug; }; 1DEB91F108733DB70010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "ARCHS[sdk=iphoneos*]" = ( - "$(ARCHS_STANDARD)", - armv7s, - ); - "ARCHS[sdk=iphonesimulator*]" = ( - "$(ARCHS_STANDARD)", - armv7s, - ); - "ARCHS[sdk=macosx*]" = ( - i386, - x86_64, - ); + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 4.3; "IPHONEOS_DEPLOYMENT_TARGET[arch=arm64]" = 7.0; + "IPHONEOS_DEPLOYMENT_TARGET[sdk=iphoneos*]" = 5.1.1; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "iphonesimulator macosx iphoneos"; - VALID_ARCHS = "arm64 armv7 armv7s x86_64 i386"; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + VALID_ARCHS = "arm64 armv7 armv7s"; }; name = Release; }; 9069D08C0FCE185A0042E34C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; PRODUCT_NAME = amalgamation; - SDKROOT = macosx; - SUPPORTED_PLATFORMS = macosx; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + VALID_ARCHS = "arm64 armv7 armv7s"; }; name = Debug; }; 9069D08D0FCE185A0042E34C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + "ARCHS[sdk=iphoneos*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=iphonesimulator*]" = "$(ARCHS_STANDARD)"; + "ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; PRODUCT_NAME = amalgamation; - SDKROOT = macosx; - SUPPORTED_PLATFORMS = macosx; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos"; + VALID_ARCHS = "arm64 armv7 armv7s"; ZERO_LINK = NO; }; name = Release;