diff --git a/.gitignore b/.gitignore index 7741b04..dcf533a 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,7 @@ Carthage/Build # CocoaPods Lint rocksdb_src + +# SPM +.build +.swiftpm diff --git a/Code/RocksDB.h b/Code/include/RocksDB.h similarity index 100% rename from Code/RocksDB.h rename to Code/include/RocksDB.h diff --git a/Code/RocksDBBackupEngine.h b/Code/include/RocksDBBackupEngine.h similarity index 100% rename from Code/RocksDBBackupEngine.h rename to Code/include/RocksDBBackupEngine.h diff --git a/Code/RocksDBBackupInfo.h b/Code/include/RocksDBBackupInfo.h similarity index 100% rename from Code/RocksDBBackupInfo.h rename to Code/include/RocksDBBackupInfo.h diff --git a/Code/RocksDBBlockBasedTableOptions.h b/Code/include/RocksDBBlockBasedTableOptions.h similarity index 100% rename from Code/RocksDBBlockBasedTableOptions.h rename to Code/include/RocksDBBlockBasedTableOptions.h diff --git a/Code/RocksDBCache.h b/Code/include/RocksDBCache.h similarity index 100% rename from Code/RocksDBCache.h rename to Code/include/RocksDBCache.h diff --git a/Code/RocksDBCheckpoint.h b/Code/include/RocksDBCheckpoint.h similarity index 100% rename from Code/RocksDBCheckpoint.h rename to Code/include/RocksDBCheckpoint.h diff --git a/Code/RocksDBColumnFamily.h b/Code/include/RocksDBColumnFamily.h similarity index 100% rename from Code/RocksDBColumnFamily.h rename to Code/include/RocksDBColumnFamily.h diff --git a/Code/RocksDBColumnFamilyDescriptor.h b/Code/include/RocksDBColumnFamilyDescriptor.h similarity index 100% rename from Code/RocksDBColumnFamilyDescriptor.h rename to Code/include/RocksDBColumnFamilyDescriptor.h diff --git a/Code/RocksDBColumnFamilyMetadata.h b/Code/include/RocksDBColumnFamilyMetadata.h similarity index 100% rename from Code/RocksDBColumnFamilyMetadata.h rename to Code/include/RocksDBColumnFamilyMetadata.h diff --git a/Code/RocksDBColumnFamilyOptions.h b/Code/include/RocksDBColumnFamilyOptions.h similarity index 100% rename from Code/RocksDBColumnFamilyOptions.h rename to Code/include/RocksDBColumnFamilyOptions.h diff --git a/Code/RocksDBCompactRangeOptions.h b/Code/include/RocksDBCompactRangeOptions.h similarity index 100% rename from Code/RocksDBCompactRangeOptions.h rename to Code/include/RocksDBCompactRangeOptions.h diff --git a/Code/RocksDBComparator.h b/Code/include/RocksDBComparator.h similarity index 100% rename from Code/RocksDBComparator.h rename to Code/include/RocksDBComparator.h diff --git a/Code/RocksDBCuckooTableOptions.h b/Code/include/RocksDBCuckooTableOptions.h similarity index 100% rename from Code/RocksDBCuckooTableOptions.h rename to Code/include/RocksDBCuckooTableOptions.h diff --git a/Code/RocksDBDatabaseOptions.h b/Code/include/RocksDBDatabaseOptions.h similarity index 100% rename from Code/RocksDBDatabaseOptions.h rename to Code/include/RocksDBDatabaseOptions.h diff --git a/Code/RocksDBEnv.h b/Code/include/RocksDBEnv.h similarity index 100% rename from Code/RocksDBEnv.h rename to Code/include/RocksDBEnv.h diff --git a/Code/RocksDBFilterPolicy.h b/Code/include/RocksDBFilterPolicy.h similarity index 100% rename from Code/RocksDBFilterPolicy.h rename to Code/include/RocksDBFilterPolicy.h diff --git a/Code/RocksDBIndexedWriteBatch.h b/Code/include/RocksDBIndexedWriteBatch.h similarity index 100% rename from Code/RocksDBIndexedWriteBatch.h rename to Code/include/RocksDBIndexedWriteBatch.h diff --git a/Code/RocksDBIterator.h b/Code/include/RocksDBIterator.h similarity index 100% rename from Code/RocksDBIterator.h rename to Code/include/RocksDBIterator.h diff --git a/Code/RocksDBMemTableRepFactory.h b/Code/include/RocksDBMemTableRepFactory.h similarity index 100% rename from Code/RocksDBMemTableRepFactory.h rename to Code/include/RocksDBMemTableRepFactory.h diff --git a/Code/RocksDBMergeOperator.h b/Code/include/RocksDBMergeOperator.h similarity index 100% rename from Code/RocksDBMergeOperator.h rename to Code/include/RocksDBMergeOperator.h diff --git a/Code/RocksDBOptions.h b/Code/include/RocksDBOptions.h similarity index 100% rename from Code/RocksDBOptions.h rename to Code/include/RocksDBOptions.h diff --git a/Code/RocksDBPlainTableOptions.h b/Code/include/RocksDBPlainTableOptions.h similarity index 100% rename from Code/RocksDBPlainTableOptions.h rename to Code/include/RocksDBPlainTableOptions.h diff --git a/Code/RocksDBPrefixExtractor.h b/Code/include/RocksDBPrefixExtractor.h similarity index 100% rename from Code/RocksDBPrefixExtractor.h rename to Code/include/RocksDBPrefixExtractor.h diff --git a/Code/RocksDBProperties.h b/Code/include/RocksDBProperties.h similarity index 100% rename from Code/RocksDBProperties.h rename to Code/include/RocksDBProperties.h diff --git a/Code/RocksDBRange.h b/Code/include/RocksDBRange.h similarity index 100% rename from Code/RocksDBRange.h rename to Code/include/RocksDBRange.h diff --git a/Code/RocksDBReadOptions.h b/Code/include/RocksDBReadOptions.h similarity index 100% rename from Code/RocksDBReadOptions.h rename to Code/include/RocksDBReadOptions.h diff --git a/Code/RocksDBSnapshot.h b/Code/include/RocksDBSnapshot.h similarity index 100% rename from Code/RocksDBSnapshot.h rename to Code/include/RocksDBSnapshot.h diff --git a/Code/RocksDBSnapshotUnavailable.h b/Code/include/RocksDBSnapshotUnavailable.h similarity index 100% rename from Code/RocksDBSnapshotUnavailable.h rename to Code/include/RocksDBSnapshotUnavailable.h diff --git a/Code/RocksDBStatistics.h b/Code/include/RocksDBStatistics.h similarity index 100% rename from Code/RocksDBStatistics.h rename to Code/include/RocksDBStatistics.h diff --git a/Code/RocksDBStatisticsHistogram.h b/Code/include/RocksDBStatisticsHistogram.h similarity index 100% rename from Code/RocksDBStatisticsHistogram.h rename to Code/include/RocksDBStatisticsHistogram.h diff --git a/Code/RocksDBTableFactory.h b/Code/include/RocksDBTableFactory.h similarity index 100% rename from Code/RocksDBTableFactory.h rename to Code/include/RocksDBTableFactory.h diff --git a/Code/RocksDBThreadStatus.h b/Code/include/RocksDBThreadStatus.h similarity index 100% rename from Code/RocksDBThreadStatus.h rename to Code/include/RocksDBThreadStatus.h diff --git a/Code/RocksDBWriteBatch.h b/Code/include/RocksDBWriteBatch.h similarity index 100% rename from Code/RocksDBWriteBatch.h rename to Code/include/RocksDBWriteBatch.h diff --git a/Code/RocksDBWriteBatchIterator.h b/Code/include/RocksDBWriteBatchIterator.h similarity index 100% rename from Code/RocksDBWriteBatchIterator.h rename to Code/include/RocksDBWriteBatchIterator.h diff --git a/Code/RocksDBWriteOptions.h b/Code/include/RocksDBWriteOptions.h similarity index 100% rename from Code/RocksDBWriteOptions.h rename to Code/include/RocksDBWriteOptions.h diff --git a/Code/rocksdb_version.cc b/Code/rocksdb_version.cc new file mode 100644 index 0000000..2618bdc --- /dev/null +++ b/Code/rocksdb_version.cc @@ -0,0 +1,17 @@ +// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + +#define STR_EXPAND(tok) #tok +#define STR(tok) STR_EXPAND(tok) +#define concat_str(x, y) x##y +#define concat(x, y) concat_str(x, y) + + +#if defined(ROCKSDB_GIT_SHA) && defined(ROCKSDB_GIT_DATE) +#define ROCKSDB_GIT_SHA_STRING "rocksdb_build_git_sha:" STR(ROCKSDB_GIT_SHA) +#define ROCKSDB_GIT_DATE_STRING "rocksdb_build_git_date:" STR(ROCKSDB_GIT_DATE) +const char* rocksdb_build_git_sha = ROCKSDB_GIT_SHA_STRING; +const char* rocksdb_build_git_date = ROCKSDB_GIT_DATE_STRING; +const char* rocksdb_build_compile_date = __DATE__; +#else +#error Need to define the build vars +#endif diff --git a/ObjectiveRocks.xcodeproj/project.pbxproj b/ObjectiveRocks.xcodeproj/project.pbxproj index 451530d..3a57b10 100644 --- a/ObjectiveRocks.xcodeproj/project.pbxproj +++ b/ObjectiveRocks.xcodeproj/project.pbxproj @@ -1226,15 +1226,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 620494851A3284A800A0E950 /* RocksDBSnapshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBSnapshot.h; sourceTree = ""; }; + 620494851A3284A800A0E950 /* RocksDBSnapshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBSnapshot.h; path = include/RocksDBSnapshot.h; sourceTree = ""; }; 620494861A3284A800A0E950 /* RocksDBSnapshot.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBSnapshot.mm; sourceTree = ""; }; - 6206295E1A509DF1001DEDC4 /* RocksDBColumnFamilyOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBColumnFamilyOptions.h; sourceTree = ""; }; + 6206295E1A509DF1001DEDC4 /* RocksDBColumnFamilyOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBColumnFamilyOptions.h; path = include/RocksDBColumnFamilyOptions.h; sourceTree = ""; }; 6206295F1A509DF1001DEDC4 /* RocksDBColumnFamilyOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBColumnFamilyOptions.mm; sourceTree = ""; }; - 620629641A510056001DEDC4 /* RocksDBDatabaseOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBDatabaseOptions.h; sourceTree = ""; }; + 620629641A510056001DEDC4 /* RocksDBDatabaseOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBDatabaseOptions.h; path = include/RocksDBDatabaseOptions.h; sourceTree = ""; }; 620629651A510056001DEDC4 /* RocksDBDatabaseOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBDatabaseOptions.mm; sourceTree = ""; }; - 620629681A510D36001DEDC4 /* RocksDBColumnFamily.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBColumnFamily.h; sourceTree = ""; }; + 620629681A510D36001DEDC4 /* RocksDBColumnFamily.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBColumnFamily.h; path = include/RocksDBColumnFamily.h; sourceTree = ""; }; 620629691A510D36001DEDC4 /* RocksDBColumnFamily.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBColumnFamily.mm; sourceTree = ""; }; - 62074F2B1A520EC2002B1885 /* RocksDBColumnFamilyDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBColumnFamilyDescriptor.h; sourceTree = ""; }; + 62074F2B1A520EC2002B1885 /* RocksDBColumnFamilyDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBColumnFamilyDescriptor.h; path = include/RocksDBColumnFamilyDescriptor.h; sourceTree = ""; }; 62074F2C1A520EC2002B1885 /* RocksDBColumnFamilyDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBColumnFamilyDescriptor.mm; sourceTree = ""; }; 620A2CAD1A3654D5007224A4 /* RocksDBMergeOperatorTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBMergeOperatorTests.mm; sourceTree = ""; }; 62102D411A643A13007E63F0 /* RocksDBComparatorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBComparatorTests.swift; sourceTree = ""; }; @@ -1246,7 +1246,7 @@ 621636141A62E47A00B132CE /* RocksDBSnapshotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBSnapshotTests.swift; sourceTree = ""; }; 621636171A631CE100B132CE /* RocksDBCheckpointTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBCheckpointTests.swift; sourceTree = ""; }; 6216361A1A631F2900B132CE /* RocksDBStatisticsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBStatisticsTests.swift; sourceTree = ""; }; - 621CD71A1A4FB24700853E16 /* RocksDBBackupEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBBackupEngine.h; sourceTree = ""; }; + 621CD71A1A4FB24700853E16 /* RocksDBBackupEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBBackupEngine.h; path = include/RocksDBBackupEngine.h; sourceTree = ""; }; 621CD71B1A4FB24700853E16 /* RocksDBBackupEngine.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBBackupEngine.mm; sourceTree = ""; }; 6221B78A1A62970800D28BF5 /* RocksDB+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RocksDB+Private.h"; sourceTree = ""; }; 6221B78E1A62973500D28BF5 /* RocksDBColumnFamily+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RocksDBColumnFamily+Private.h"; sourceTree = ""; }; @@ -1257,17 +1257,17 @@ 6221B7A21A629B3500D28BF5 /* ObjectiveRocksTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ObjectiveRocksTests-Bridging-Header.h"; sourceTree = ""; }; 6221B7A31A629B3500D28BF5 /* ObjectiveRocksTests-iOS-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ObjectiveRocksTests-iOS-Bridging-Header.h"; sourceTree = ""; }; 6221B7A41A629B3600D28BF5 /* RockDBTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RockDBTests.swift; sourceTree = ""; }; - 623147591A5AE18A0019D14A /* RocksDBEnv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBEnv.h; sourceTree = ""; }; + 623147591A5AE18A0019D14A /* RocksDBEnv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBEnv.h; path = include/RocksDBEnv.h; sourceTree = ""; }; 6231475A1A5AE18A0019D14A /* RocksDBEnv.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBEnv.mm; sourceTree = ""; }; - 6231475D1A5AE3E30019D14A /* RocksDBThreadStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBThreadStatus.h; sourceTree = ""; }; + 6231475D1A5AE3E30019D14A /* RocksDBThreadStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBThreadStatus.h; path = include/RocksDBThreadStatus.h; sourceTree = ""; }; 6231475E1A5AE3E30019D14A /* RocksDBThreadStatus.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBThreadStatus.mm; sourceTree = ""; }; - 623224AA1A2116A400FB6625 /* RocksDBComparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBComparator.h; sourceTree = ""; }; + 623224AA1A2116A400FB6625 /* RocksDBComparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBComparator.h; path = include/RocksDBComparator.h; sourceTree = ""; }; 623224AB1A2116A400FB6625 /* RocksDBComparator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBComparator.mm; sourceTree = ""; }; - 6232B7331A1E80F900B14535 /* RocksDBWriteOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBWriteOptions.h; sourceTree = ""; }; + 6232B7331A1E80F900B14535 /* RocksDBWriteOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBWriteOptions.h; path = include/RocksDBWriteOptions.h; sourceTree = ""; }; 6232B7341A1E80F900B14535 /* RocksDBWriteOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBWriteOptions.mm; sourceTree = ""; }; - 6232B7361A1E860700B14535 /* RocksDBReadOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBReadOptions.h; sourceTree = ""; }; + 6232B7361A1E860700B14535 /* RocksDBReadOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBReadOptions.h; path = include/RocksDBReadOptions.h; sourceTree = ""; }; 6232B7371A1E860700B14535 /* RocksDBReadOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBReadOptions.mm; sourceTree = ""; }; - 6236E2551A4DD25000A81ED6 /* RocksDBPrefixExtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBPrefixExtractor.h; sourceTree = ""; }; + 6236E2551A4DD25000A81ED6 /* RocksDBPrefixExtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBPrefixExtractor.h; path = include/RocksDBPrefixExtractor.h; sourceTree = ""; }; 6236E2561A4DD25000A81ED6 /* RocksDBPrefixExtractor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBPrefixExtractor.mm; sourceTree = ""; }; 6236E2581A4DD71600A81ED6 /* RocksDBCallbackSliceTransform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RocksDBCallbackSliceTransform.cpp; sourceTree = ""; }; 6236E2591A4DD71600A81ED6 /* RocksDBCallbackSliceTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBCallbackSliceTransform.h; sourceTree = ""; }; @@ -1294,7 +1294,7 @@ 623DD8E01F02F78C008CC574 /* lru_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lru_cache.h; sourceTree = ""; }; 623DD8E21F02F78C008CC574 /* sharded_cache.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sharded_cache.cc; sourceTree = ""; }; 623DD8E31F02F78C008CC574 /* sharded_cache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sharded_cache.h; sourceTree = ""; }; - 623FE74E1A2D2ED500E68421 /* RocksDBWriteBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBWriteBatch.h; sourceTree = ""; }; + 623FE74E1A2D2ED500E68421 /* RocksDBWriteBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBWriteBatch.h; path = include/RocksDBWriteBatch.h; sourceTree = ""; }; 623FE74F1A2D2ED500E68421 /* RocksDBWriteBatch.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBWriteBatch.mm; sourceTree = ""; }; 624203C01BED64410043DD6F /* ObjectiveRocks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjectiveRocks.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 624203C81BED64AE0043DD6F /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Framework/Info.plist; sourceTree = SOURCE_ROOT; }; @@ -1305,30 +1305,30 @@ 624F5D981BEE416D00497FEF /* ObjectiveRocks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjectiveRocks.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 6251A3721B783DA7009BABD5 /* RocksDBReadOnlyTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RocksDBReadOnlyTests.m; sourceTree = ""; }; 6251A3741B783DBC009BABD5 /* RocksDBReadOnlyTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBReadOnlyTests.swift; sourceTree = ""; }; - 625EF4951D0C3A960058ACDA /* RocksDBRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBRange.h; sourceTree = ""; }; + 625EF4951D0C3A960058ACDA /* RocksDBRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBRange.h; path = include/RocksDBRange.h; sourceTree = ""; }; 625EF4961D0C3A960058ACDA /* RocksDBRange.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBRange.mm; sourceTree = ""; }; - 625F8F1A1A59C3EB007796BA /* RocksDBProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBProperties.h; sourceTree = ""; }; + 625F8F1A1A59C3EB007796BA /* RocksDBProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBProperties.h; path = include/RocksDBProperties.h; sourceTree = ""; }; 625F8F1B1A59C3EB007796BA /* RocksDBProperties.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBProperties.mm; sourceTree = ""; }; 625F8F1E1A59C9B3007796BA /* RocksDBPropertiesTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBPropertiesTests.mm; sourceTree = ""; }; - 625F8F211A59CF82007796BA /* RocksDBCheckpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBCheckpoint.h; sourceTree = ""; }; + 625F8F211A59CF82007796BA /* RocksDBCheckpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBCheckpoint.h; path = include/RocksDBCheckpoint.h; sourceTree = ""; }; 625F8F221A59CF82007796BA /* RocksDBCheckpoint.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBCheckpoint.mm; sourceTree = ""; }; 625F8F241A59D11D007796BA /* RocksDBCheckpointTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBCheckpointTests.mm; sourceTree = ""; }; - 625F8F271A59D7B1007796BA /* RocksDBMemTableRepFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBMemTableRepFactory.h; sourceTree = ""; }; + 625F8F271A59D7B1007796BA /* RocksDBMemTableRepFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBMemTableRepFactory.h; path = include/RocksDBMemTableRepFactory.h; sourceTree = ""; }; 625F8F281A59D7B1007796BA /* RocksDBMemTableRepFactory.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBMemTableRepFactory.mm; sourceTree = ""; }; - 625F8F2F1A59E22E007796BA /* RocksDBPlainTableOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBPlainTableOptions.h; sourceTree = ""; }; + 625F8F2F1A59E22E007796BA /* RocksDBPlainTableOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBPlainTableOptions.h; path = include/RocksDBPlainTableOptions.h; sourceTree = ""; }; 625F8F301A59E22E007796BA /* RocksDBPlainTableOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBPlainTableOptions.mm; sourceTree = ""; }; - 625F8F331A59E648007796BA /* RocksDBCuckooTableOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBCuckooTableOptions.h; sourceTree = ""; }; + 625F8F331A59E648007796BA /* RocksDBCuckooTableOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBCuckooTableOptions.h; path = include/RocksDBCuckooTableOptions.h; sourceTree = ""; }; 625F8F341A59E648007796BA /* RocksDBCuckooTableOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBCuckooTableOptions.mm; sourceTree = ""; }; 62662E921B8FCA8C008B4EF5 /* RocksDBIndexedWriteBatchTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RocksDBIndexedWriteBatchTests.m; sourceTree = ""; }; 62662E951B8FCBA0008B4EF5 /* RocksDBIndexedWriteBatch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBIndexedWriteBatch.swift; sourceTree = ""; }; 62685CB81A2E600A009401B1 /* RocksDBWriteBatchTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBWriteBatchTests.mm; sourceTree = ""; }; - 6273A50C1D0C646C00CF8BF1 /* RocksDBCompactRangeOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBCompactRangeOptions.h; sourceTree = ""; }; + 6273A50C1D0C646C00CF8BF1 /* RocksDBCompactRangeOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBCompactRangeOptions.h; path = include/RocksDBCompactRangeOptions.h; sourceTree = ""; }; 6273A50D1D0C646C00CF8BF1 /* RocksDBCompactRangeOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBCompactRangeOptions.mm; sourceTree = ""; }; 6273A5121D0C647E00CF8BF1 /* RocksDBCompactRangeOptions+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RocksDBCompactRangeOptions+Private.h"; sourceTree = ""; }; 627FBE761A61E0AA0038696A /* RocksDBColumnFamilyMetadataTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBColumnFamilyMetadataTests.mm; sourceTree = ""; }; 628B0CE81A1C104D0099C39B /* RocksDBError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBError.h; sourceTree = ""; }; 628B0CE91A1C104D0099C39B /* RocksDBError.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBError.mm; sourceTree = ""; }; - 628C51C71A3BD08500B96F8F /* RocksDBSnapshotUnavailable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RocksDBSnapshotUnavailable.h; sourceTree = ""; }; + 628C51C71A3BD08500B96F8F /* RocksDBSnapshotUnavailable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RocksDBSnapshotUnavailable.h; path = include/RocksDBSnapshotUnavailable.h; sourceTree = ""; }; 628CEBB91D0CF4630096AA64 /* RocksDBIndexedWriteBatch+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RocksDBIndexedWriteBatch+Private.h"; sourceTree = ""; }; 629416621A69DFB000AA0498 /* RocksDBPrefixExtractorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBPrefixExtractorTests.swift; sourceTree = ""; }; 6297665720B760D800DEBF89 /* convenience.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = convenience.cc; sourceTree = ""; }; @@ -1780,45 +1780,45 @@ 62976CD720B762AA00DEBF89 /* write_prepared_txn_db.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = write_prepared_txn_db.cc; sourceTree = ""; }; 62976CD820B762AA00DEBF89 /* write_prepared_txn_db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = write_prepared_txn_db.h; sourceTree = ""; }; 62976CE120B762AB00DEBF89 /* sim_cache.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sim_cache.cc; sourceTree = ""; }; - 6299F80C1A17B28200123F56 /* RocksDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RocksDB.h; sourceTree = ""; }; + 6299F80C1A17B28200123F56 /* RocksDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RocksDB.h; path = include/RocksDB.h; sourceTree = ""; }; 6299F80E1A17B28200123F56 /* RocksDB.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDB.mm; sourceTree = ""; }; 6299F8141A17B28200123F56 /* ObjectiveRocksTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ObjectiveRocksTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 6299F81A1A17B28200123F56 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 6299F8551A17B7AD00123F56 /* RocksDBBasicTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBBasicTests.mm; sourceTree = ""; }; 62A37D131A632316003F6095 /* RocksDBIteratorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBIteratorTests.swift; sourceTree = ""; }; - 62A74F841A603DDB00BAD95B /* RocksDBColumnFamilyMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBColumnFamilyMetadata.h; sourceTree = ""; }; + 62A74F841A603DDB00BAD95B /* RocksDBColumnFamilyMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBColumnFamilyMetadata.h; path = include/RocksDBColumnFamilyMetadata.h; sourceTree = ""; }; 62A74F851A603DDB00BAD95B /* RocksDBColumnFamilyMetadata.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBColumnFamilyMetadata.mm; sourceTree = ""; }; 62A8B0571A58C40A0069B4C8 /* ObjectiveRocksTests-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ObjectiveRocksTests-iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 62A8B05F1A58CC400069B4C8 /* RocksDBBackupInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBBackupInfo.h; sourceTree = ""; }; + 62A8B05F1A58CC400069B4C8 /* RocksDBBackupInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBBackupInfo.h; path = include/RocksDBBackupInfo.h; sourceTree = ""; }; 62A8B0601A58CC400069B4C8 /* RocksDBBackupInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBBackupInfo.mm; sourceTree = ""; }; - 62A8B0631A58DD7D0069B4C8 /* RocksDBStatistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBStatistics.h; sourceTree = ""; }; + 62A8B0631A58DD7D0069B4C8 /* RocksDBStatistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBStatistics.h; path = include/RocksDBStatistics.h; sourceTree = ""; }; 62A8B0641A58DD7D0069B4C8 /* RocksDBStatistics.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBStatistics.mm; sourceTree = ""; }; - 62A8B0671A58E4B60069B4C8 /* RocksDBStatisticsHistogram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBStatisticsHistogram.h; sourceTree = ""; }; + 62A8B0671A58E4B60069B4C8 /* RocksDBStatisticsHistogram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBStatisticsHistogram.h; path = include/RocksDBStatisticsHistogram.h; sourceTree = ""; }; 62A8B0681A58E4B60069B4C8 /* RocksDBStatisticsHistogram.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBStatisticsHistogram.mm; sourceTree = ""; }; 62A8B06A1A5900540069B4C8 /* RocksDBStatisticsTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBStatisticsTests.mm; sourceTree = ""; }; 62AEF9B81A1D5CF000E63E89 /* ObjectiveRocks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ObjectiveRocks.h; sourceTree = ""; }; - 62AEF9B91A1D5DA900E63E89 /* RocksDBOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBOptions.h; sourceTree = ""; }; + 62AEF9B91A1D5DA900E63E89 /* RocksDBOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBOptions.h; path = include/RocksDBOptions.h; sourceTree = ""; }; 62AEF9BA1A1D5DA900E63E89 /* RocksDBOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBOptions.mm; sourceTree = ""; }; 62E173E51A6AD40E00A00DF3 /* RocksDBBackupTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBBackupTests.swift; sourceTree = ""; }; - 62EEC4B51A34FEE100624DA2 /* RocksDBMergeOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBMergeOperator.h; sourceTree = ""; }; + 62EEC4B51A34FEE100624DA2 /* RocksDBMergeOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBMergeOperator.h; path = include/RocksDBMergeOperator.h; sourceTree = ""; }; 62EEC4B61A34FEE100624DA2 /* RocksDBMergeOperator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBMergeOperator.mm; sourceTree = ""; }; 62EEC4B81A34FF0600624DA2 /* RocksDBCallbackAssociativeMergeOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RocksDBCallbackAssociativeMergeOperator.cpp; sourceTree = ""; }; 62EEC4B91A34FF0600624DA2 /* RocksDBCallbackAssociativeMergeOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBCallbackAssociativeMergeOperator.h; sourceTree = ""; }; - 62F3ED4F1A57175F00EBFEBF /* RocksDBBlockBasedTableOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBBlockBasedTableOptions.h; sourceTree = ""; }; + 62F3ED4F1A57175F00EBFEBF /* RocksDBBlockBasedTableOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBBlockBasedTableOptions.h; path = include/RocksDBBlockBasedTableOptions.h; sourceTree = ""; }; 62F3ED501A57175F00EBFEBF /* RocksDBBlockBasedTableOptions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBBlockBasedTableOptions.mm; sourceTree = ""; }; - 62F3ED531A57212800EBFEBF /* RocksDBCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBCache.h; sourceTree = ""; }; + 62F3ED531A57212800EBFEBF /* RocksDBCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBCache.h; path = include/RocksDBCache.h; sourceTree = ""; }; 62F3ED541A57212800EBFEBF /* RocksDBCache.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBCache.mm; sourceTree = ""; }; - 62F3ED561A5727A300EBFEBF /* RocksDBFilterPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBFilterPolicy.h; sourceTree = ""; }; + 62F3ED561A5727A300EBFEBF /* RocksDBFilterPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBFilterPolicy.h; path = include/RocksDBFilterPolicy.h; sourceTree = ""; }; 62F3ED571A5727A300EBFEBF /* RocksDBFilterPolicy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBFilterPolicy.mm; sourceTree = ""; }; - 62F3ED591A574F7500EBFEBF /* RocksDBTableFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBTableFactory.h; sourceTree = ""; }; + 62F3ED591A574F7500EBFEBF /* RocksDBTableFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBTableFactory.h; path = include/RocksDBTableFactory.h; sourceTree = ""; }; 62F3ED5A1A574F7500EBFEBF /* RocksDBTableFactory.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBTableFactory.mm; sourceTree = ""; }; 62F4AA7B1A6AAF9A00489D6C /* RocksDBColumnFamilyMetadataTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBColumnFamilyMetadataTests.swift; sourceTree = ""; }; 62F4AA7D1A6AAFD700489D6C /* RocksDBColumnFamilyTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RocksDBColumnFamilyTests.swift; sourceTree = ""; }; - 62F8C5FD1B85386A00E2577F /* RocksDBIndexedWriteBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBIndexedWriteBatch.h; sourceTree = ""; }; + 62F8C5FD1B85386A00E2577F /* RocksDBIndexedWriteBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBIndexedWriteBatch.h; path = include/RocksDBIndexedWriteBatch.h; sourceTree = ""; }; 62F8C5FE1B85386A00E2577F /* RocksDBIndexedWriteBatch.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBIndexedWriteBatch.mm; sourceTree = ""; }; - 62F8C6011B853ABA00E2577F /* RocksDBWriteBatchIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBWriteBatchIterator.h; sourceTree = ""; }; + 62F8C6011B853ABA00E2577F /* RocksDBWriteBatchIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBWriteBatchIterator.h; path = include/RocksDBWriteBatchIterator.h; sourceTree = ""; }; 62F8C6021B853ABA00E2577F /* RocksDBWriteBatchIterator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBWriteBatchIterator.mm; sourceTree = ""; }; - 62F8C6051B85632500E2577F /* RocksDBIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RocksDBIterator.h; sourceTree = ""; }; + 62F8C6051B85632500E2577F /* RocksDBIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RocksDBIterator.h; path = include/RocksDBIterator.h; sourceTree = ""; }; 62F8C6061B85632500E2577F /* RocksDBIterator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RocksDBIterator.mm; sourceTree = ""; }; 62F9D8A11B86A74900C65860 /* RocksDBWriteBatchIterator+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RocksDBWriteBatchIterator+Private.h"; sourceTree = ""; }; 62F9D8A51B86AE8900C65860 /* RocksDBOptions+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RocksDBOptions+Private.h"; sourceTree = ""; }; @@ -4626,6 +4626,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "$(SRCROOT)/Code/include"; IPHONEOS_DEPLOYMENT_TARGET = 8.1; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; @@ -4672,6 +4673,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "$(SRCROOT)/Code/include"; IPHONEOS_DEPLOYMENT_TARGET = 8.1; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..6be9ff2 --- /dev/null +++ b/Package.swift @@ -0,0 +1,342 @@ +// swift-tools-version:5.3 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription +import Foundation + +let baseDir = (#file as NSString).deletingLastPathComponent + +func recursiveSearch(atPath: String) -> [String] { + let fileManager = FileManager.default + var files = [String]() + let basePath = (baseDir as NSString).appendingPathComponent(atPath) + let enumerator = fileManager.enumerator(atPath: basePath) + while let element = enumerator?.nextObject() as? String { + var isDirectory: ObjCBool = false + fileManager.fileExists(atPath: "\(basePath)/\(element)", isDirectory: &isDirectory) + if !isDirectory.boolValue { + files.append(element) + } + } + return files +} + +let allRocksDBFiles = recursiveSearch(atPath: "rocksdb") +let rocksDBTests = allRocksDBFiles.filter { $0.hasSuffix("_test.cc") || $0.hasSuffix("_test.c") || $0.hasSuffix("_bench.cc") } +let nonSourceFiles = allRocksDBFiles.filter { !( + $0.hasSuffix(".cc") + || $0.hasSuffix(".c") + || $0.hasSuffix(".cpp") + || $0.hasSuffix(".m") + || $0.hasSuffix(".mm") + || $0.hasSuffix(".h") +)} + +@discardableResult +func shell(_ args: String...) -> String? { + let task = Process() + let pipe = Pipe() + task.standardOutput = pipe + task.launchPath = "/usr/bin/env" + task.arguments = args + task.launch() + task.waitUntilExit() + guard task.terminationStatus == 0 else { return nil } + + let data = pipe.fileHandleForReading.readDataToEndOfFile() + var result = String(decoding: data, as: UTF8.self) + result.removeLast() + return result +} + +let rocksDBGitDir = (baseDir as NSString).appendingPathComponent("rocksdb/.git") +let buildVersionFile = (baseDir as NSString).appendingPathComponent("rocksdb/util/build_version.cc") +let rocksDBGitSHA = shell("git", "--git-dir=\(rocksDBGitDir)", "rev-parse", "HEAD") +let date = shell("date") + +let package = Package( + name: "ObjectiveRocks", + platforms: [ + .iOS(.v9), + .macOS(.v10_10), + ], + products: [ + .library( + name: "ObjectiveRocks", + targets: ["ObjectiveRocks", "RocksDB"]) + ], + dependencies: [], + targets: [ + .target( + name: "ObjectiveRocks", + dependencies: [], + path: "Code", + sources: [ + "../Code" + ], + publicHeadersPath: "include", + cSettings: [ + .headerSearchPath("../rocksdb/include"), + .headerSearchPath("include"), + .define("NDEBUG", to: "1"), + .define("OS_MACOSX", to: "1"), + .define("ROCKSDB_PLATFORM_POSIX", to: "1"), + .define("ROCKSDB_LIB_IO_POSIX", to: "1"), + .define("ROCKSDB_USING_THREAD_STATUS", to: "1"), + .define("ROCKSDB_GIT_SHA", to: rocksDBGitSHA ?? "unknown"), + .define("ROCKSDB_GIT_DATE", to: date ?? "unknown") + ] + ), + .target( + name: "RocksDB", + dependencies: [], + path: "rocksdb", + exclude: [ + "java", + "tools", + "examples", + "third-party", + "port/win", + "utilities/cassandra", + "db/db_test_util.cc", + "util/testharness.cc", + "util/testutil.cc", + "utilities/env_librados.cc", + "util/crc32c_arm64.cc", + "util/fault_injection_test_env.cc", + "util/crc32c_ppc.c", + "table/mock_table.cc", + "db/db_test2.cc" + ] + + rocksDBTests + + nonSourceFiles, + sources: [ + // Copied from rocksdb/TARGETS with utilities/cassandra removed + "cache/clock_cache.cc", + "cache/lru_cache.cc", + "cache/sharded_cache.cc", + "db/builder.cc", + "db/c.cc", + "db/column_family.cc", + "db/compacted_db_impl.cc", + "db/compaction.cc", + "db/compaction_iterator.cc", + "db/compaction_job.cc", + "db/compaction_picker.cc", + "db/compaction_picker_fifo.cc", + "db/compaction_picker_universal.cc", + "db/convenience.cc", + "db/db_filesnapshot.cc", + "db/db_impl.cc", + "db/db_impl_compaction_flush.cc", + "db/db_impl_debug.cc", + "db/db_impl_experimental.cc", + "db/db_impl_files.cc", + "db/db_impl_open.cc", + "db/db_impl_readonly.cc", + "db/db_impl_secondary.cc", + "db/db_impl_write.cc", + "db/db_info_dumper.cc", + "db/db_iter.cc", + "db/dbformat.cc", + "db/error_handler.cc", + "db/event_helpers.cc", + "db/experimental.cc", + "db/external_sst_file_ingestion_job.cc", + "db/file_indexer.cc", + "db/flush_job.cc", + "db/flush_scheduler.cc", + "db/forward_iterator.cc", + "db/in_memory_stats_history.cc", + "db/internal_stats.cc", + "db/log_reader.cc", + "db/log_writer.cc", + "db/logs_with_prep_tracker.cc", + "db/malloc_stats.cc", + "db/memtable.cc", + "db/memtable_list.cc", + "db/merge_helper.cc", + "db/merge_operator.cc", + "db/range_del_aggregator.cc", + "db/range_tombstone_fragmenter.cc", + "db/repair.cc", + "db/snapshot_impl.cc", + "db/table_cache.cc", + "db/table_properties_collector.cc", + "db/transaction_log_impl.cc", + "db/version_builder.cc", + "db/version_edit.cc", + "db/version_set.cc", + "db/wal_manager.cc", + "db/write_batch.cc", + "db/write_batch_base.cc", + "db/write_controller.cc", + "db/write_thread.cc", + "env/env.cc", + "env/env_chroot.cc", + "env/env_encryption.cc", + "env/env_hdfs.cc", + "env/env_posix.cc", + "env/io_posix.cc", + "env/mock_env.cc", + "memtable/alloc_tracker.cc", + "memtable/hash_linklist_rep.cc", + "memtable/hash_skiplist_rep.cc", + "memtable/skiplistrep.cc", + "memtable/vectorrep.cc", + "memtable/write_buffer_manager.cc", + "monitoring/histogram.cc", + "monitoring/histogram_windowing.cc", + "monitoring/instrumented_mutex.cc", + "monitoring/iostats_context.cc", + "monitoring/perf_context.cc", + "monitoring/perf_level.cc", + "monitoring/statistics.cc", + "monitoring/thread_status_impl.cc", + "monitoring/thread_status_updater.cc", + "monitoring/thread_status_updater_debug.cc", + "monitoring/thread_status_util.cc", + "monitoring/thread_status_util_debug.cc", + "options/cf_options.cc", + "options/db_options.cc", + "options/options.cc", + "options/options_helper.cc", + "options/options_parser.cc", + "options/options_sanity_check.cc", + "port/port_posix.cc", + "port/stack_trace.cc", + "table/adaptive_table_factory.cc", + "table/block.cc", + "table/block_based_filter_block.cc", + "table/block_based_table_builder.cc", + "table/block_based_table_factory.cc", + "table/block_based_table_reader.cc", + "table/block_builder.cc", + "table/block_fetcher.cc", + "table/block_prefix_index.cc", + "table/bloom_block.cc", + "table/cuckoo_table_builder.cc", + "table/cuckoo_table_factory.cc", + "table/cuckoo_table_reader.cc", + "table/data_block_footer.cc", + "table/data_block_hash_index.cc", + "table/flush_block_policy.cc", + "table/format.cc", + "table/full_filter_block.cc", + "table/get_context.cc", + "table/index_builder.cc", + "table/iterator.cc", + "table/merging_iterator.cc", + "table/meta_blocks.cc", + "table/partitioned_filter_block.cc", + "table/persistent_cache_helper.cc", + "table/plain_table_builder.cc", + "table/plain_table_factory.cc", + "table/plain_table_index.cc", + "table/plain_table_key_coding.cc", + "table/plain_table_reader.cc", + "table/sst_file_reader.cc", + "table/sst_file_writer.cc", + "table/table_properties.cc", + "table/two_level_iterator.cc", + "util/arena.cc", + "util/auto_roll_logger.cc", + "util/bloom.cc", + "util/build_version.cc", + "util/coding.cc", + "util/compaction_job_stats_impl.cc", + "util/comparator.cc", + "util/compression_context_cache.cc", + "util/concurrent_arena.cc", + "util/concurrent_task_limiter_impl.cc", + "util/crc32c.cc", + "util/delete_scheduler.cc", + "util/dynamic_bloom.cc", + "util/event_logger.cc", + "util/file_reader_writer.cc", + "util/file_util.cc", + "util/filename.cc", + "util/filter_policy.cc", + "util/hash.cc", + "util/jemalloc_nodump_allocator.cc", + "util/log_buffer.cc", + "util/murmurhash.cc", + "util/random.cc", + "util/rate_limiter.cc", + "util/slice.cc", + "util/sst_file_manager_impl.cc", + "util/status.cc", + "util/string_util.cc", + "util/sync_point.cc", + "util/sync_point_impl.cc", + "util/thread_local.cc", + "util/threadpool_imp.cc", + "util/trace_replay.cc", + "util/transaction_test_util.cc", + "util/xxhash.cc", + "utilities/backupable/backupable_db.cc", + "utilities/blob_db/blob_compaction_filter.cc", + "utilities/blob_db/blob_db.cc", + "utilities/blob_db/blob_db_impl.cc", + "utilities/blob_db/blob_db_impl_filesnapshot.cc", + "utilities/blob_db/blob_dump_tool.cc", + "utilities/blob_db/blob_file.cc", + "utilities/blob_db/blob_log_format.cc", + "utilities/blob_db/blob_log_reader.cc", + "utilities/blob_db/blob_log_writer.cc", + "utilities/checkpoint/checkpoint_impl.cc", + "utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc", + "utilities/convenience/info_log_finder.cc", + "utilities/debug.cc", + "utilities/env_mirror.cc", + "utilities/env_timed.cc", + "utilities/leveldb_options/leveldb_options.cc", + "utilities/memory/memory_util.cc", + "utilities/merge_operators/bytesxor.cc", + "utilities/merge_operators/max.cc", + "utilities/merge_operators/put.cc", + "utilities/merge_operators/string_append/stringappend.cc", + "utilities/merge_operators/string_append/stringappend2.cc", + "utilities/merge_operators/uint64add.cc", + "utilities/option_change_migration/option_change_migration.cc", + "utilities/options/options_util.cc", + "utilities/persistent_cache/block_cache_tier.cc", + "utilities/persistent_cache/block_cache_tier_file.cc", + "utilities/persistent_cache/block_cache_tier_metadata.cc", + "utilities/persistent_cache/persistent_cache_tier.cc", + "utilities/persistent_cache/volatile_tier_impl.cc", + "utilities/simulator_cache/sim_cache.cc", + "utilities/table_properties_collectors/compact_on_deletion_collector.cc", + "utilities/trace/file_trace_reader_writer.cc", + "utilities/transactions/optimistic_transaction.cc", + "utilities/transactions/optimistic_transaction_db_impl.cc", + "utilities/transactions/pessimistic_transaction.cc", + "utilities/transactions/pessimistic_transaction_db.cc", + "utilities/transactions/snapshot_checker.cc", + "utilities/transactions/transaction_base.cc", + "utilities/transactions/transaction_db_mutex_impl.cc", + "utilities/transactions/transaction_lock_mgr.cc", + "utilities/transactions/transaction_util.cc", + "utilities/transactions/write_prepared_txn.cc", + "utilities/transactions/write_prepared_txn_db.cc", + "utilities/transactions/write_unprepared_txn.cc", + "utilities/transactions/write_unprepared_txn_db.cc", + "utilities/ttl/db_ttl_impl.cc", + "utilities/write_batch_with_index/write_batch_with_index.cc", + "utilities/write_batch_with_index/write_batch_with_index_internal.cc", + ], + publicHeadersPath: "include", + cSettings: [ + .headerSearchPath("include"), + .headerSearchPath("."), + .define("NDEBUG", to: "1"), + .define("OS_MACOSX", to: "1"), + .define("ROCKSDB_PLATFORM_POSIX", to: "1"), + .define("ROCKSDB_LIB_IO_POSIX", to: "1"), + .define("ROCKSDB_USING_THREAD_STATUS", to: "1") + ] + ), + ], + cLanguageStandard: .gnu99, + cxxLanguageStandard: .gnucxx11 +)