From c0ba96daa27177827e76d93e4ec63ef169203e95 Mon Sep 17 00:00:00 2001 From: Maarten Billemont Date: Fri, 11 Aug 2017 01:40:37 -0400 Subject: [PATCH] Update Darwin platform project with solid support for linking libsodium & libjson-c --- core/c/mpw-marshall-util.h | 2 +- core/c/mpw-util.c | 4 - platform-darwin/External/Pearl | 2 +- .../project.pbxproj | 348 ++++++++++++- .../project.pbxproj | 478 ++++++++++++++---- .../xcshareddata/xcschemes/mpw-bench.xcscheme | 91 ++++ .../xcshareddata/xcschemes/mpw-cli.xcscheme | 91 ++++ .../MasterPassword.xcscmblueprint | 7 + platform-darwin/Scripts/build_libjson-c-ios | 72 +++ platform-darwin/Scripts/build_libjson-c-osx | 28 + platform-darwin/Scripts/build_libsodium-ios | 73 +++ platform-darwin/Scripts/build_libsodium-osx | 29 ++ 12 files changed, 1106 insertions(+), 119 deletions(-) create mode 100644 platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-bench.xcscheme create mode 100644 platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-cli.xcscheme create mode 100755 platform-darwin/Scripts/build_libjson-c-ios create mode 100755 platform-darwin/Scripts/build_libjson-c-osx create mode 100755 platform-darwin/Scripts/build_libsodium-ios create mode 100755 platform-darwin/Scripts/build_libsodium-osx diff --git a/core/c/mpw-marshall-util.h b/core/c/mpw-marshall-util.h index 873be25b..e1e61061 100644 --- a/core/c/mpw-marshall-util.h +++ b/core/c/mpw-marshall-util.h @@ -20,7 +20,7 @@ #define _MPW_MARSHALL_UTIL_H #include -#include +#include "json-c/json.h" #include "mpw-algorithm.h" diff --git a/core/c/mpw-util.c b/core/c/mpw-util.c index 7c05487e..a55d1507 100644 --- a/core/c/mpw-util.c +++ b/core/c/mpw-util.c @@ -31,10 +31,6 @@ #include #elif HAS_SODIUM #include "sodium.h" -#ifdef SODIUM_LIBRARY_MINIMAL -#include "crypto_stream_aes128ctr.h" -#include "crypto_kdf_blake2b.h" -#endif #endif #include "mpw-util.h" diff --git a/platform-darwin/External/Pearl b/platform-darwin/External/Pearl index f0a66e94..59eaee6d 160000 --- a/platform-darwin/External/Pearl +++ b/platform-darwin/External/Pearl @@ -1 +1 @@ -Subproject commit f0a66e94e8456b1a4d0baa5d9ee5c9560e994ddd +Subproject commit 59eaee6de800f0152ee9fc896535d8b6f1ee68cd diff --git a/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj b/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj index ee5eb5d9..e1dc6955 100644 --- a/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj +++ b/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj @@ -251,6 +251,8 @@ DAA1765419D8B82B0044227B /* choose_type.png in Resources */ = {isa = PBXBuildFile; fileRef = DAA1763E19D8B82B0044227B /* choose_type.png */; }; DAA449D21EEC4B5800E7BDD5 /* mpw-marshall.c in Sources */ = {isa = PBXBuildFile; fileRef = DAA449D01EEC4B5800E7BDD5 /* mpw-marshall.c */; }; DAADBFE01A68763B00F7A756 /* mpw-algorithm.c in Sources */ = {isa = PBXBuildFile; fileRef = 93D3969393A3A46BD27D7078 /* mpw-algorithm.c */; }; + DAB7AE5D1F3D752900C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE5C1F3D752900C856B1 /* libjson-c.a */; }; + DAB7AE771F3D755B00C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE761F3D755B00C856B1 /* libjson-c.a */; }; DABB981615100B4000B05417 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DABB981515100B4000B05417 /* SystemConfiguration.framework */; }; DABD39371711E29700CF925C /* avatar-0.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD366C1711E29400CF925C /* avatar-0.png */; }; DABD39381711E29700CF925C /* avatar-0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD366D1711E29400CF925C /* avatar-0@2x.png */; }; @@ -452,6 +454,23 @@ DAFE4A63150399FF003ABA94 /* NSDateFormatter+RFC3339.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE4A63150399FF003ABA93 /* NSDateFormatter+RFC3339.h */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + DAB7AE4D1F3D618700C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DAB7AE471F3D468300C856B1; + remoteInfo = "libsodium-ios"; + }; + DAB7AE4F1F3D618700C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DAB7AE3D1F3D464A00C856B1; + remoteInfo = "libjson-c"; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ DA32D01E19D111C6004F3F0E /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; @@ -818,16 +837,16 @@ DAA1411D1922FF020032B392 /* PearlTween.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlTween.h; sourceTree = ""; }; DAA1411F1922FF020032B392 /* map-macro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "map-macro.h"; sourceTree = ""; }; DAA1757D19D86BE70044227B /* libAttributedMarkdown.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAttributedMarkdown.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DAA175B119D86C620044227B /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + DAA175B119D86C620044227B /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; DAA175B619D86C620044227B /* markdown_lib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markdown_lib.h; sourceTree = ""; }; DAA175B719D86C620044227B /* markdown_lib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = markdown_lib.m; sourceTree = ""; }; DAA175B819D86C620044227B /* markdown_output.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = markdown_output.m; sourceTree = ""; }; - DAA175B919D86C620044227B /* markdown_parser.leg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = markdown_parser.leg; sourceTree = ""; }; + DAA175B919D86C620044227B /* markdown_parser.leg */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = markdown_parser.leg; sourceTree = ""; }; DAA175BA19D86C620044227B /* markdown_parser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = markdown_parser.m; sourceTree = ""; }; DAA175BB19D86C620044227B /* markdown_peg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = markdown_peg.h; sourceTree = ""; }; DAA175EB19D86C620044227B /* parsing_functions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = parsing_functions.m; sourceTree = ""; }; DAA175EC19D86C620044227B /* platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform.h; sourceTree = ""; }; - DAA175ED19D86C620044227B /* README.markdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.markdown; sourceTree = ""; }; + DAA175ED19D86C620044227B /* README.markdown */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = net.daringfireball.markdown; path = README.markdown; sourceTree = ""; }; DAA175EE19D86C620044227B /* README_PEG-MARKDWON.markdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = "README_PEG-MARKDWON.markdown"; sourceTree = ""; }; DAA175EF19D86C620044227B /* utility_functions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = utility_functions.m; sourceTree = ""; }; DAA1761C19D86E800044227B /* attributed-markdown.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "attributed-markdown.pch"; sourceTree = ""; }; @@ -862,6 +881,28 @@ DAA449D01EEC4B5800E7BDD5 /* mpw-marshall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mpw-marshall.c"; sourceTree = ""; }; DAA449D11EEC4B5800E7BDD5 /* mpw-marshall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "mpw-marshall.h"; sourceTree = ""; }; DAAC35DD156BD77D00C5FD93 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; + DAB7AE5C1F3D752900C856B1 /* libjson-c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libjson-c.a"; path = "External/libjson-c/libjson-c-ios/lib/libjson-c.a"; sourceTree = ""; }; + DAB7AE611F3D755B00C856B1 /* arraylist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arraylist.h; sourceTree = ""; }; + DAB7AE621F3D755B00C856B1 /* bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bits.h; sourceTree = ""; }; + DAB7AE631F3D755B00C856B1 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = ""; }; + DAB7AE641F3D755B00C856B1 /* json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json.h; sourceTree = ""; }; + DAB7AE651F3D755B00C856B1 /* json_c_version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_c_version.h; sourceTree = ""; }; + DAB7AE661F3D755B00C856B1 /* json_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_config.h; sourceTree = ""; }; + DAB7AE671F3D755B00C856B1 /* json_inttypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_inttypes.h; sourceTree = ""; }; + DAB7AE681F3D755B00C856B1 /* json_object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_object.h; sourceTree = ""; }; + DAB7AE691F3D755B00C856B1 /* json_object_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_object_iterator.h; sourceTree = ""; }; + DAB7AE6A1F3D755B00C856B1 /* json_object_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_object_private.h; sourceTree = ""; }; + DAB7AE6B1F3D755B00C856B1 /* json_pointer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_pointer.h; sourceTree = ""; }; + DAB7AE6C1F3D755B00C856B1 /* json_tokener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_tokener.h; sourceTree = ""; }; + DAB7AE6D1F3D755B00C856B1 /* json_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_util.h; sourceTree = ""; }; + DAB7AE6E1F3D755B00C856B1 /* json_visit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_visit.h; sourceTree = ""; }; + DAB7AE6F1F3D755B00C856B1 /* linkhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linkhash.h; sourceTree = ""; }; + DAB7AE701F3D755B00C856B1 /* math_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math_compat.h; sourceTree = ""; }; + DAB7AE711F3D755B00C856B1 /* printbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = printbuf.h; sourceTree = ""; }; + DAB7AE721F3D755B00C856B1 /* random_seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = random_seed.h; sourceTree = ""; }; + DAB7AE731F3D755B00C856B1 /* strdup_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strdup_compat.h; sourceTree = ""; }; + DAB7AE741F3D755B00C856B1 /* vasprintf_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vasprintf_compat.h; sourceTree = ""; }; + DAB7AE761F3D755B00C856B1 /* libjson-c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libjson-c.a"; sourceTree = ""; }; DABB981515100B4000B05417 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; DABD360F1711E29400CF925C /* ui_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_background.png; sourceTree = ""; }; DABD36101711E29400CF925C /* ui_background@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_background@2x.png"; sourceTree = ""; }; @@ -1475,7 +1516,7 @@ DABD38C11711E29700CF925C /* tip_location_teal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tip_location_teal@2x.png"; sourceTree = ""; }; DABD38C21711E29700CF925C /* tip_location_wood.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tip_location_wood.png; sourceTree = ""; }; DABD38C31711E29700CF925C /* tip_location_wood@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tip_location_wood@2x.png"; sourceTree = ""; }; - DABD38C81711E29700CF925C /* jquery-1.6.1.min.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "jquery-1.6.1.min.js"; sourceTree = ""; }; + DABD38C81711E29700CF925C /* jquery-1.6.1.min.js */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = sourcecode.javascript; path = "jquery-1.6.1.min.js"; sourceTree = ""; }; DABD38C91711E29700CF925C /* keypad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = keypad.png; sourceTree = ""; }; DABD38CA1711E29700CF925C /* logo-bare.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo-bare.png"; sourceTree = ""; }; DABD38CB1711E29700CF925C /* menu-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu-icon.png"; sourceTree = ""; }; @@ -1514,7 +1555,7 @@ DABD3BF01711E2DC00CF925C /* MPiOSConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPiOSConfig.h; sourceTree = ""; }; DABD3BF11711E2DC00CF925C /* MPiOSConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPiOSConfig.m; sourceTree = ""; }; DABD3BF31711E2DC00CF925C /* MasterPassword-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "MasterPassword-Info.plist"; sourceTree = ""; }; - DABD3BF81711E2DC00CF925C /* MasterPassword.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = MasterPassword.entitlements; sourceTree = ""; }; + DABD3BF81711E2DC00CF925C /* MasterPassword.entitlements */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text.xml; path = MasterPassword.entitlements; sourceTree = ""; }; DABD3BF91711E2DC00CF925C /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; DABD3BFB1711E2DC00CF925C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; DABD3BFC1711E2DC00CF925C /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; @@ -1528,7 +1569,7 @@ DAC77CAD148291A600BCF976 /* libPearl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPearl.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAC77CB1148291A600BCF976 /* Pearl-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Pearl-Prefix.pch"; path = "../../Source/Pearl/Pearl-Prefix.pch"; sourceTree = ""; }; DACA29711705E1A8002C6C22 /* ciphers.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ciphers.plist; sourceTree = ""; }; - DACA29721705E1A8002C6C22 /* dictionary.lst */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dictionary.lst; sourceTree = ""; }; + DACA29721705E1A8002C6C22 /* dictionary.lst */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = dictionary.lst; sourceTree = ""; }; DACA29771705E2BD002C6C22 /* JRSwizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JRSwizzle.h; sourceTree = ""; }; DACA298C1705E2BD002C6C22 /* JRSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JRSwizzle.m; sourceTree = ""; }; DACA29B51705E2DE002C6C22 /* UIColor+Expanded.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Expanded.h"; sourceTree = ""; }; @@ -1584,8 +1625,8 @@ DAFE45F315039823003ABA7C /* PearlStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStrings.m; sourceTree = ""; }; DAFE45F415039823003ABA7C /* PearlStringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStringUtils.h; sourceTree = ""; }; DAFE45F515039823003ABA7C /* PearlStringUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStringUtils.m; sourceTree = ""; }; - DAFE45F815039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; - DAFE45FB15039823003ABA7C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = ""; }; + DAFE45F815039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = README; sourceTree = ""; }; + DAFE45FB15039823003ABA7C /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = ""; }; DAFE45FD15039823003ABA7C /* Pearl-Crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-Crypto.h"; sourceTree = ""; }; DAFE45FE15039823003ABA7C /* PearlCryptUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCryptUtils.h; sourceTree = ""; }; DAFE45FF15039823003ABA7C /* PearlCryptUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCryptUtils.m; sourceTree = ""; }; @@ -1593,7 +1634,7 @@ DAFE460115039823003ABA7C /* PearlKeyChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlKeyChain.m; sourceTree = ""; }; DAFE460215039823003ABA7C /* PearlRSAKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRSAKey.h; sourceTree = ""; }; DAFE460315039823003ABA7C /* PearlRSAKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRSAKey.m; sourceTree = ""; }; - DAFE460615039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; + DAFE460615039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = README; sourceTree = ""; }; DAFE460815039823003ABA7C /* Pearl-UIKit-Dependencies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-UIKit-Dependencies.h"; sourceTree = ""; }; DAFE460915039823003ABA7C /* Pearl-UIKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-UIKit.h"; sourceTree = ""; }; DAFE460A15039823003ABA7C /* PearlAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAlert.h; sourceTree = ""; }; @@ -1620,7 +1661,7 @@ DAFE461F15039823003ABA7C /* PearlUIUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlUIUtils.m; sourceTree = ""; }; DAFE462015039823003ABA7C /* PearlValidatingTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlValidatingTextField.h; sourceTree = ""; }; DAFE462115039823003ABA7C /* PearlValidatingTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlValidatingTextField.m; sourceTree = ""; }; - DAFE462415039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; + DAFE462415039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = README; sourceTree = ""; }; DAFE4A1115039824003ABA7C /* UIImage+PearlScaling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+PearlScaling.h"; sourceTree = ""; }; DAFE4A1215039824003ABA7C /* UIImage+PearlScaling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+PearlScaling.m"; sourceTree = ""; }; DAFE4A60150399FF003ABA7C /* PearlAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAppDelegate.m; sourceTree = ""; }; @@ -1649,9 +1690,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + DAB7AE5D1F3D752900C856B1 /* libjson-c.a in Frameworks */, DA95B50C1C476B6A0067F5EF /* LocalAuthentication.framework in Frameworks */, DA2C3D651BD9612F001137B3 /* libz.tbd in Frameworks */, DA2C3D631BD96126001137B3 /* libc++.tbd in Frameworks */, + DAB7AE771F3D755B00C856B1 /* libjson-c.a in Frameworks */, DAA1761B19D86D0D0044227B /* libAttributedMarkdown.a in Frameworks */, DA0CC5421EB57BD4009A8ED9 /* Crashlytics.framework in Frameworks */, DA32D03E19D11293004F3F0E /* libKCOrderedAccessorFix.a in Frameworks */, @@ -2018,6 +2061,7 @@ DA5BFA47147E415C00F98B1E /* Frameworks */ = { isa = PBXGroup; children = ( + DAB7AE5C1F3D752900C856B1 /* libjson-c.a */, DA6701B716406A4100B61001 /* Accounts.framework */, DA6701DF16406BB400B61001 /* AdSupport.framework */, DA5BFA4E147E415C00F98B1E /* CoreData.framework */, @@ -2097,6 +2141,59 @@ path = AttributedMarkdown; sourceTree = ""; }; + DAB7AE5E1F3D755B00C856B1 /* libjson-c-ios */ = { + isa = PBXGroup; + children = ( + DAB7AE5F1F3D755B00C856B1 /* include */, + DAB7AE751F3D755B00C856B1 /* lib */, + ); + name = "libjson-c-ios"; + path = "libjson-c/libjson-c-ios"; + sourceTree = ""; + }; + DAB7AE5F1F3D755B00C856B1 /* include */ = { + isa = PBXGroup; + children = ( + DAB7AE601F3D755B00C856B1 /* json-c */, + ); + path = include; + sourceTree = ""; + }; + DAB7AE601F3D755B00C856B1 /* json-c */ = { + isa = PBXGroup; + children = ( + DAB7AE611F3D755B00C856B1 /* arraylist.h */, + DAB7AE621F3D755B00C856B1 /* bits.h */, + DAB7AE631F3D755B00C856B1 /* debug.h */, + DAB7AE641F3D755B00C856B1 /* json.h */, + DAB7AE651F3D755B00C856B1 /* json_c_version.h */, + DAB7AE661F3D755B00C856B1 /* json_config.h */, + DAB7AE671F3D755B00C856B1 /* json_inttypes.h */, + DAB7AE681F3D755B00C856B1 /* json_object.h */, + DAB7AE691F3D755B00C856B1 /* json_object_iterator.h */, + DAB7AE6A1F3D755B00C856B1 /* json_object_private.h */, + DAB7AE6B1F3D755B00C856B1 /* json_pointer.h */, + DAB7AE6C1F3D755B00C856B1 /* json_tokener.h */, + DAB7AE6D1F3D755B00C856B1 /* json_util.h */, + DAB7AE6E1F3D755B00C856B1 /* json_visit.h */, + DAB7AE6F1F3D755B00C856B1 /* linkhash.h */, + DAB7AE701F3D755B00C856B1 /* math_compat.h */, + DAB7AE711F3D755B00C856B1 /* printbuf.h */, + DAB7AE721F3D755B00C856B1 /* random_seed.h */, + DAB7AE731F3D755B00C856B1 /* strdup_compat.h */, + DAB7AE741F3D755B00C856B1 /* vasprintf_compat.h */, + ); + path = "json-c"; + sourceTree = ""; + }; + DAB7AE751F3D755B00C856B1 /* lib */ = { + isa = PBXGroup; + children = ( + DAB7AE761F3D755B00C856B1 /* libjson-c.a */, + ); + path = lib; + sourceTree = ""; + }; DABD360D1711E29400CF925C /* Media */ = { isa = PBXGroup; children = ( @@ -2945,6 +3042,7 @@ DACA22121705DDC5002C6C22 /* External */ = { isa = PBXGroup; children = ( + DAB7AE5E1F3D755B00C856B1 /* libjson-c-ios */, DA0978D81E9A81EE00F0BFE8 /* libsodium-ios */, DAA1759319D86C610044227B /* AttributedMarkdown */, DAFC5662172C57EC00CB5CC5 /* InAppSettingsKit */, @@ -3309,6 +3407,36 @@ }; /* End PBXHeadersBuildPhase section */ +/* Begin PBXLegacyTarget section */ + DAB7AE3D1F3D464A00C856B1 /* libjson-c-ios */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(ACTION)"; + buildConfigurationList = DAB7AE411F3D464A00C856B1 /* Build configuration list for PBXLegacyTarget "libjson-c-ios" */; + buildPhases = ( + ); + buildToolPath = "Scripts/build_libjson-c-ios"; + buildWorkingDirectory = ""; + dependencies = ( + ); + name = "libjson-c-ios"; + passBuildSettingsInEnvironment = 1; + productName = "libjson-c"; + }; + DAB7AE471F3D468300C856B1 /* libsodium-ios */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(ACTION)"; + buildConfigurationList = DAB7AE481F3D468300C856B1 /* Build configuration list for PBXLegacyTarget "libsodium-ios" */; + buildPhases = ( + ); + buildToolPath = "Scripts/build_libsodium-ios"; + dependencies = ( + ); + name = "libsodium-ios"; + passBuildSettingsInEnvironment = 1; + productName = "libsodium-ios"; + }; +/* End PBXLegacyTarget section */ + /* Begin PBXNativeTarget section */ DA32D01F19D111C6004F3F0E /* KCOrderedAccessorFix */ = { isa = PBXNativeTarget; @@ -3332,7 +3460,6 @@ buildConfigurationList = DA5BFA6D147E415C00F98B1E /* Build configuration list for PBXNativeTarget "MasterPassword" */; buildPhases = ( DA8D88E019DA412A00B189D0 /* Run Script: genassets */, - DA0E86A81E9BED2C00F4D60E /* Run Script: libsodium/dist-build/ios.sh */, DA5BFA40147E415C00F98B1E /* Sources */, DA5BFA41147E415C00F98B1E /* Frameworks */, DA5BFA42147E415C00F98B1E /* Resources */, @@ -3342,6 +3469,8 @@ buildRules = ( ); dependencies = ( + DAB7AE4E1F3D618700C856B1 /* PBXTargetDependency */, + DAB7AE501F3D618700C856B1 /* PBXTargetDependency */, ); name = MasterPassword; productName = MasterPassword; @@ -3403,6 +3532,7 @@ isa = PBXNativeTarget; buildConfigurationList = DAC77CB7148291A600BCF976 /* Build configuration list for PBXNativeTarget "Pearl" */; buildPhases = ( + DAB7AE4C1F3D56AD00C856B1 /* ShellScript */, DAC77CAB148291A600BCF976 /* Headers */, DAC77CA9148291A600BCF976 /* Sources */, DAC77CAA148291A600BCF976 /* Frameworks */, @@ -3468,6 +3598,16 @@ CreatedOnToolsVersion = 6.0; DevelopmentTeam = HL3Q45LX9N; }; + DAB7AE3D1F3D464A00C856B1 = { + CreatedOnToolsVersion = 8.3.3; + DevelopmentTeam = HL3Q45LX9N; + ProvisioningStyle = Automatic; + }; + DAB7AE471F3D468300C856B1 = { + CreatedOnToolsVersion = 8.3.3; + DevelopmentTeam = HL3Q45LX9N; + ProvisioningStyle = Automatic; + }; DAC6325C1486805C0075AEA5 = { DevelopmentTeam = HL3Q45LX9N; }; @@ -3588,6 +3728,8 @@ DAFC5654172C573B00CB5CC5 /* InAppSettingsKit */, DA32D01F19D111C6004F3F0E /* KCOrderedAccessorFix */, DAA1757C19D86BE70044227B /* AttributedMarkdown */, + DAB7AE471F3D468300C856B1 /* libsodium-ios */, + DAB7AE3D1F3D464A00C856B1 /* libjson-c-ios */, ); }; /* End PBXProject section */ @@ -3783,21 +3925,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - DA0E86A81E9BED2C00F4D60E /* Run Script: libsodium/dist-build/ios.sh */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script: libsodium/dist-build/ios.sh"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = "/bin/sh -e"; - shellScript = "cd External/libsodium\n[[ -d libsodium-ios ]] && exit\n\n# Xcode misinterpretes autogen.sh's stderr output as errors so we try to silence it.\n[[ -e configure ]] || { err=$(./autogen.sh 2>&1 >&3); } 3>&1 || { x=$?; echo >&2 \"$err\"; exit $x; }\n./dist-build/ios.sh"; - showEnvVarsInLog = 0; - }; DA6556E314D55F3000841C99 /* Run Script: GIT version -> Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -3828,6 +3955,19 @@ shellScript = "exec Scripts/genassets"; showEnvVarsInLog = 0; }; + DAB7AE4C1F3D56AD00C856B1 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = ""; + }; DAD3125D155288AA00A3F9ED /* Run Script: Fabric */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -4051,6 +4191,19 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + DAB7AE4E1F3D618700C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DAB7AE471F3D468300C856B1 /* libsodium-ios */; + targetProxy = DAB7AE4D1F3D618700C856B1 /* PBXContainerItemProxy */; + }; + DAB7AE501F3D618700C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DAB7AE3D1F3D464A00C856B1 /* libjson-c-ios */; + targetProxy = DAB7AE4F1F3D618700C856B1 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ DA0CC4F51EAB99BA009A8ED9 /* IASKLocalizable.strings */ = { isa = PBXVariantGroup; @@ -4212,6 +4365,7 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-ios/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-ios/lib", ); OTHER_CFLAGS = "-DHAS_SODIUM=1"; PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword; @@ -4480,6 +4634,7 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-ios/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-ios/lib", ); OTHER_CFLAGS = "-DHAS_SODIUM=1"; PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword; @@ -4510,6 +4665,7 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-ios/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-ios/lib", ); OTHER_CFLAGS = "-DHAS_SODIUM=1"; PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword; @@ -4535,6 +4691,128 @@ }; name = Release; }; + DAB7AE3E1F3D464A00C856B1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + DAB7AE3F1F3D464A00C856B1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + DAB7AE401F3D464A00C856B1 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Test; + }; + DAB7AE491F3D468300C856B1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + DAB7AE4A1F3D468300C856B1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + DAB7AE4B1F3D468300C856B1 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Test; + }; DAC632661486805C0075AEA5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4650,6 +4928,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Test; }; + DAB7AE411F3D464A00C856B1 /* Build configuration list for PBXLegacyTarget "libjson-c-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DAB7AE3E1F3D464A00C856B1 /* Debug */, + DAB7AE3F1F3D464A00C856B1 /* Release */, + DAB7AE401F3D464A00C856B1 /* Test */, + ); + defaultConfigurationIsVisible = 0; + }; + DAB7AE481F3D468300C856B1 /* Build configuration list for PBXLegacyTarget "libsodium-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DAB7AE491F3D468300C856B1 /* Debug */, + DAB7AE4A1F3D468300C856B1 /* Release */, + DAB7AE4B1F3D468300C856B1 /* Test */, + ); + defaultConfigurationIsVisible = 0; + }; DAC632651486805C0075AEA5 /* Build configuration list for PBXNativeTarget "uicolor-utilities" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj b/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj index 00d32fed..0fec6982 100644 --- a/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj +++ b/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj @@ -130,6 +130,9 @@ DAADCC4B19FB000C00987B1D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; }; DAADCC6919FB007F00987B1D /* NSManagedObjectModel+KCOrderedAccessorFix.m in Sources */ = {isa = PBXBuildFile; fileRef = DAADCC6719FB007F00987B1D /* NSManagedObjectModel+KCOrderedAccessorFix.m */; }; DAADCC6A19FB00B500987B1D /* libKCOrderedAccessorFix.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAADCC5019FB006500987B1D /* libKCOrderedAccessorFix.a */; }; + DAB7AE5A1F3D74E700C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE591F3D74E700C856B1 /* libjson-c.a */; }; + DAB7AE5B1F3D750B00C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE591F3D74E700C856B1 /* libjson-c.a */; }; + DAB7AE941F3D757B00C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE901F3D757B00C856B1 /* libjson-c.a */; }; DAC6326D148680650075AEA5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DAC77CAE148291A600BCF976 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DACA26FE1705DF81002C6C22 /* logo-bare.png in Resources */ = {isa = PBXBuildFile; fileRef = DACA241C1705DF7D002C6C22 /* logo-bare.png */; }; @@ -230,6 +233,48 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + DAB7AE341F3D423600C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DA5B0B611F3D416500B663F0; + remoteInfo = "libsodium-osx"; + }; + DAB7AE361F3D423D00C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DA5B0B611F3D416500B663F0; + remoteInfo = "libsodium-osx"; + }; + DAB7AE381F3D424200C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DA5B0B611F3D416500B663F0; + remoteInfo = "libsodium-osx"; + }; + DAB7AE3A1F3D424700C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DA5B0B611F3D416500B663F0; + remoteInfo = "libsodium-osx"; + }; + DAB7AE511F3D649400C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DAB7AE421F3D466D00C856B1; + remoteInfo = "libjson-c"; + }; + DAB7AE571F3D64A600C856B1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; + proxyType = 1; + remoteGlobalIDString = DAB7AE421F3D466D00C856B1; + remoteInfo = "libjson-c"; + }; DABFA071176E3FDF00E83589 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = DAD9B5E1176299B9001835F9 /* MasterPassword-Mac-LoginHelper.xcodeproj */; @@ -488,7 +533,7 @@ DA5E5CB51724A667003798D8 /* MPMacConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMacConfig.h; sourceTree = ""; }; DA5E5CB61724A667003798D8 /* MPMacConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMacConfig.m; sourceTree = ""; }; DA5E5CBA1724A667003798D8 /* MasterPassword-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "MasterPassword-Info.plist"; sourceTree = ""; }; - DA5E5CBF1724A667003798D8 /* MasterPassword.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = MasterPassword.entitlements; sourceTree = ""; }; + DA5E5CBF1724A667003798D8 /* MasterPassword.entitlements */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text.xml; path = MasterPassword.entitlements; sourceTree = ""; }; DA5E5CC31724A667003798D8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; DA5E5CC51724A667003798D8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; DA5E5CC61724A667003798D8 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; @@ -929,6 +974,28 @@ DAADCC5019FB006500987B1D /* libKCOrderedAccessorFix.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libKCOrderedAccessorFix.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAADCC6619FB007F00987B1D /* NSManagedObjectModel+KCOrderedAccessorFix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSManagedObjectModel+KCOrderedAccessorFix.h"; sourceTree = ""; }; DAADCC6719FB007F00987B1D /* NSManagedObjectModel+KCOrderedAccessorFix.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSManagedObjectModel+KCOrderedAccessorFix.m"; sourceTree = ""; }; + DAB7AE591F3D74E700C856B1 /* libjson-c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libjson-c.a"; path = "External/libjson-c/libjson-c-osx/lib/libjson-c.a"; sourceTree = ""; }; + DAB7AE7B1F3D757B00C856B1 /* arraylist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arraylist.h; sourceTree = ""; }; + DAB7AE7C1F3D757B00C856B1 /* bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bits.h; sourceTree = ""; }; + DAB7AE7D1F3D757B00C856B1 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = ""; }; + DAB7AE7E1F3D757B00C856B1 /* json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json.h; sourceTree = ""; }; + DAB7AE7F1F3D757B00C856B1 /* json_c_version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_c_version.h; sourceTree = ""; }; + DAB7AE801F3D757B00C856B1 /* json_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_config.h; sourceTree = ""; }; + DAB7AE811F3D757B00C856B1 /* json_inttypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_inttypes.h; sourceTree = ""; }; + DAB7AE821F3D757B00C856B1 /* json_object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_object.h; sourceTree = ""; }; + DAB7AE831F3D757B00C856B1 /* json_object_iterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_object_iterator.h; sourceTree = ""; }; + DAB7AE841F3D757B00C856B1 /* json_object_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_object_private.h; sourceTree = ""; }; + DAB7AE851F3D757B00C856B1 /* json_pointer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_pointer.h; sourceTree = ""; }; + DAB7AE861F3D757B00C856B1 /* json_tokener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_tokener.h; sourceTree = ""; }; + DAB7AE871F3D757B00C856B1 /* json_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_util.h; sourceTree = ""; }; + DAB7AE881F3D757B00C856B1 /* json_visit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_visit.h; sourceTree = ""; }; + DAB7AE891F3D757B00C856B1 /* linkhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linkhash.h; sourceTree = ""; }; + DAB7AE8A1F3D757B00C856B1 /* math_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math_compat.h; sourceTree = ""; }; + DAB7AE8B1F3D757B00C856B1 /* printbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = printbuf.h; sourceTree = ""; }; + DAB7AE8C1F3D757B00C856B1 /* random_seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = random_seed.h; sourceTree = ""; }; + DAB7AE8D1F3D757B00C856B1 /* strdup_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strdup_compat.h; sourceTree = ""; }; + DAB7AE8E1F3D757B00C856B1 /* vasprintf_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vasprintf_compat.h; sourceTree = ""; }; + DAB7AE901F3D757B00C856B1 /* libjson-c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libjson-c.a"; sourceTree = ""; }; DABB981515100B4000B05417 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; DAC6326C148680650075AEA5 /* libjrswizzle.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libjrswizzle.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAC632871486D95D0075AEA5 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; @@ -977,7 +1044,7 @@ DACA268E1705DF81002C6C22 /* SourceCodePro-ExtraLight.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceCodePro-ExtraLight.otf"; sourceTree = ""; }; DACA268F1705DF81002C6C22 /* SourceCodePro-Black.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceCodePro-Black.otf"; sourceTree = ""; }; DACA29711705E1A8002C6C22 /* ciphers.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ciphers.plist; sourceTree = ""; }; - DACA29721705E1A8002C6C22 /* dictionary.lst */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dictionary.lst; sourceTree = ""; }; + DACA29721705E1A8002C6C22 /* dictionary.lst */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = dictionary.lst; sourceTree = ""; }; DACA29771705E2BD002C6C22 /* JRSwizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JRSwizzle.h; sourceTree = ""; }; DACA298C1705E2BD002C6C22 /* JRSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JRSwizzle.m; sourceTree = ""; }; DACBFCDB1C59B22E007EF90F /* NSMutableSet+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableSet+Pearl.h"; sourceTree = ""; }; @@ -1030,8 +1097,8 @@ DAFE45F315039823003ABA7C /* PearlStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStrings.m; sourceTree = ""; }; DAFE45F415039823003ABA7C /* PearlStringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStringUtils.h; sourceTree = ""; }; DAFE45F515039823003ABA7C /* PearlStringUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStringUtils.m; sourceTree = ""; }; - DAFE45F815039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; - DAFE45FB15039823003ABA7C /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = ""; }; + DAFE45F815039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = README; sourceTree = ""; }; + DAFE45FB15039823003ABA7C /* en */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = ""; }; DAFE45FD15039823003ABA7C /* Pearl-Crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-Crypto.h"; sourceTree = ""; }; DAFE45FE15039823003ABA7C /* PearlCryptUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCryptUtils.h; sourceTree = ""; }; DAFE45FF15039823003ABA7C /* PearlCryptUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCryptUtils.m; sourceTree = ""; }; @@ -1039,7 +1106,7 @@ DAFE460115039823003ABA7C /* PearlKeyChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlKeyChain.m; sourceTree = ""; }; DAFE460215039823003ABA7C /* PearlRSAKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRSAKey.h; sourceTree = ""; }; DAFE460315039823003ABA7C /* PearlRSAKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRSAKey.m; sourceTree = ""; }; - DAFE460615039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; + DAFE460615039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = README; sourceTree = ""; }; DAFE4A63150399FF003ABA85 /* NSObject+PearlKVO.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+PearlKVO.m"; sourceTree = ""; }; DAFE4A63150399FF003ABA87 /* NSObject+PearlKVO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+PearlKVO.h"; sourceTree = ""; }; DAFE4A63150399FF003ABA91 /* NSDateFormatter+RFC3339.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDateFormatter+RFC3339.m"; sourceTree = ""; }; @@ -1051,6 +1118,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + DAB7AE5A1F3D74E700C856B1 /* libjson-c.a in Frameworks */, DA1C7AAF1F1A8F24009A3551 /* libsodium.a in Frameworks */, DA1C7AB01F1A8F24009A3551 /* libxml2.tbd in Frameworks */, ); @@ -1069,9 +1137,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + DAB7AE5B1F3D750B00C856B1 /* libjson-c.a in Frameworks */, DA9261561BE1A89600369DE5 /* libz.tbd in Frameworks */, DA9261541BE1A88900369DE5 /* libc++.tbd in Frameworks */, DAADCC6A19FB00B500987B1D /* libKCOrderedAccessorFix.a in Frameworks */, + DAB7AE941F3D757B00C856B1 /* libjson-c.a in Frameworks */, DADD5DFA1EA173B0005E7D96 /* libsodium.a in Frameworks */, DA9261521BE1A86700369DE5 /* Fabric.framework in Frameworks */, DA9261511BE1A86700369DE5 /* SystemConfiguration.framework in Frameworks */, @@ -1284,6 +1354,7 @@ DA5BFA47147E415C00F98B1E /* Frameworks */ = { isa = PBXGroup; children = ( + DAB7AE591F3D74E700C856B1 /* libjson-c.a */, DA09745D1E99586600F0BFE8 /* libxml2.tbd */, DA6701B716406A4100B61001 /* Accounts.framework */, DA16B340170661DB000A0EAB /* Carbon.framework */, @@ -1865,6 +1936,59 @@ path = KCOrderedAccessorFix; sourceTree = ""; }; + DAB7AE781F3D757B00C856B1 /* libjson-c-osx */ = { + isa = PBXGroup; + children = ( + DAB7AE791F3D757B00C856B1 /* include */, + DAB7AE8F1F3D757B00C856B1 /* lib */, + ); + name = "libjson-c-osx"; + path = "libjson-c/libjson-c-osx"; + sourceTree = ""; + }; + DAB7AE791F3D757B00C856B1 /* include */ = { + isa = PBXGroup; + children = ( + DAB7AE7A1F3D757B00C856B1 /* json-c */, + ); + path = include; + sourceTree = ""; + }; + DAB7AE7A1F3D757B00C856B1 /* json-c */ = { + isa = PBXGroup; + children = ( + DAB7AE7B1F3D757B00C856B1 /* arraylist.h */, + DAB7AE7C1F3D757B00C856B1 /* bits.h */, + DAB7AE7D1F3D757B00C856B1 /* debug.h */, + DAB7AE7E1F3D757B00C856B1 /* json.h */, + DAB7AE7F1F3D757B00C856B1 /* json_c_version.h */, + DAB7AE801F3D757B00C856B1 /* json_config.h */, + DAB7AE811F3D757B00C856B1 /* json_inttypes.h */, + DAB7AE821F3D757B00C856B1 /* json_object.h */, + DAB7AE831F3D757B00C856B1 /* json_object_iterator.h */, + DAB7AE841F3D757B00C856B1 /* json_object_private.h */, + DAB7AE851F3D757B00C856B1 /* json_pointer.h */, + DAB7AE861F3D757B00C856B1 /* json_tokener.h */, + DAB7AE871F3D757B00C856B1 /* json_util.h */, + DAB7AE881F3D757B00C856B1 /* json_visit.h */, + DAB7AE891F3D757B00C856B1 /* linkhash.h */, + DAB7AE8A1F3D757B00C856B1 /* math_compat.h */, + DAB7AE8B1F3D757B00C856B1 /* printbuf.h */, + DAB7AE8C1F3D757B00C856B1 /* random_seed.h */, + DAB7AE8D1F3D757B00C856B1 /* strdup_compat.h */, + DAB7AE8E1F3D757B00C856B1 /* vasprintf_compat.h */, + ); + path = "json-c"; + sourceTree = ""; + }; + DAB7AE8F1F3D757B00C856B1 /* lib */ = { + isa = PBXGroup; + children = ( + DAB7AE901F3D757B00C856B1 /* libjson-c.a */, + ); + path = lib; + sourceTree = ""; + }; DAC77CAF148291A600BCF976 /* Pearl */ = { isa = PBXGroup; children = ( @@ -1879,6 +2003,7 @@ DACA22121705DDC5002C6C22 /* External */ = { isa = PBXGroup; children = ( + DAB7AE781F3D757B00C856B1 /* libjson-c-osx */, DA0979181E9A824700F0BFE8 /* libsodium-osx */, DACA29751705E2BD002C6C22 /* jrswizzle */, DAADCC6819FB007F00987B1D /* KCOrderedAccessorFix */, @@ -2185,6 +2310,37 @@ }; /* End PBXHeadersBuildPhase section */ +/* Begin PBXLegacyTarget section */ + DA5B0B611F3D416500B663F0 /* libsodium-osx */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(ACTION)"; + buildConfigurationList = DA5B0B621F3D416500B663F0 /* Build configuration list for PBXLegacyTarget "libsodium-osx" */; + buildPhases = ( + ); + buildToolPath = "Scripts/build_libsodium-osx"; + buildWorkingDirectory = ""; + dependencies = ( + ); + name = "libsodium-osx"; + passBuildSettingsInEnvironment = 1; + productName = "libsodium-osx"; + }; + DAB7AE421F3D466D00C856B1 /* libjson-c-osx */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "$(ACTION)"; + buildConfigurationList = DAB7AE431F3D466D00C856B1 /* Build configuration list for PBXLegacyTarget "libjson-c-osx" */; + buildPhases = ( + ); + buildToolPath = "Scripts/build_libjson-c-osx"; + buildWorkingDirectory = ""; + dependencies = ( + ); + name = "libjson-c-osx"; + passBuildSettingsInEnvironment = 1; + productName = "libjson-c"; + }; +/* End PBXLegacyTarget section */ + /* Begin PBXNativeTarget section */ DA1C7AA61F1A8F24009A3551 /* mpw-cli */ = { isa = PBXNativeTarget; @@ -2197,6 +2353,8 @@ buildRules = ( ); dependencies = ( + DAB7AE581F3D64A600C856B1 /* PBXTargetDependency */, + DAB7AE3B1F3D424700C856B1 /* PBXTargetDependency */, ); name = "mpw-cli"; productName = "mpw-test"; @@ -2214,6 +2372,7 @@ buildRules = ( ); dependencies = ( + DAB7AE391F3D424200C856B1 /* PBXTargetDependency */, ); name = "mpw-bench"; productName = "mpw-test"; @@ -2225,7 +2384,6 @@ buildConfigurationList = DA5BFA6D147E415C00F98B1E /* Build configuration list for PBXNativeTarget "MasterPassword" */; buildPhases = ( DA4EF9CB19FD4B600032ECB5 /* Run Script: genassets */, - DA0E86A91E9BED9300F4D60E /* Run Script: libsodium/dist-build/osx.sh */, DA5BFA40147E415C00F98B1E /* Sources */, DA5BFA41147E415C00F98B1E /* Frameworks */, DA5BFA42147E415C00F98B1E /* Resources */, @@ -2236,6 +2394,8 @@ buildRules = ( ); dependencies = ( + DAB7AE521F3D649400C856B1 /* PBXTargetDependency */, + DAB7AE351F3D423600C856B1 /* PBXTargetDependency */, DABFA072176E3FDF00E83589 /* PBXTargetDependency */, ); name = MasterPassword; @@ -2254,6 +2414,7 @@ buildRules = ( ); dependencies = ( + DAB7AE371F3D423D00C856B1 /* PBXTargetDependency */, ); name = "mpw-test"; productName = "mpw-test"; @@ -2330,6 +2491,11 @@ DA1C7AC61F1A8FD8009A3551 = { DevelopmentTeam = HL3Q45LX9N; }; + DA5B0B611F3D416500B663F0 = { + CreatedOnToolsVersion = 8.3.3; + DevelopmentTeam = HL3Q45LX9N; + ProvisioningStyle = Automatic; + }; DA5BFA43147E415C00F98B1E = { DevelopmentTeam = HL3Q45LX9N; ProvisioningStyle = Automatic; @@ -2347,6 +2513,11 @@ CreatedOnToolsVersion = 6.0.1; DevelopmentTeam = HL3Q45LX9N; }; + DAB7AE421F3D466D00C856B1 = { + CreatedOnToolsVersion = 8.3.3; + DevelopmentTeam = HL3Q45LX9N; + ProvisioningStyle = Automatic; + }; DAC6326B148680650075AEA5 = { DevelopmentTeam = HL3Q45LX9N; }; @@ -2381,6 +2552,8 @@ DA67743A1A474A03004F356A /* mpw-test */, DA1C7AC61F1A8FD8009A3551 /* mpw-bench */, DA1C7AA61F1A8F24009A3551 /* mpw-cli */, + DA5B0B611F3D416500B663F0 /* libsodium-osx */, + DAB7AE421F3D466D00C856B1 /* libjson-c-osx */, ); }; /* End PBXProject section */ @@ -2468,21 +2641,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - DA0E86A91E9BED9300F4D60E /* Run Script: libsodium/dist-build/osx.sh */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script: libsodium/dist-build/osx.sh"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = "/bin/sh -e"; - shellScript = "cd External/libsodium\nif ! [[ -d libsodium-osx ]]; then\n # Xcode misinterpretes autogen.sh's stderr output as errors so we try to silence it.\n [[ -e configure ]] || { err=$(./autogen.sh 2>&1 >&3); } 3>&1 || { x=$?; echo >&2 \"$err\"; exit $x; }\n./dist-build/osx.sh\nfi\n\n# Xcode incorrectly links the dynamic libraries if they're present instead of linking the .a.\nrm -f libsodium-osx/lib/*.dylib"; - showEnvVarsInLog = 0; - }; DA4EF9CB19FD4B600032ECB5 /* Run Script: genassets */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2677,6 +2835,36 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + DAB7AE351F3D423600C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DA5B0B611F3D416500B663F0 /* libsodium-osx */; + targetProxy = DAB7AE341F3D423600C856B1 /* PBXContainerItemProxy */; + }; + DAB7AE371F3D423D00C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DA5B0B611F3D416500B663F0 /* libsodium-osx */; + targetProxy = DAB7AE361F3D423D00C856B1 /* PBXContainerItemProxy */; + }; + DAB7AE391F3D424200C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DA5B0B611F3D416500B663F0 /* libsodium-osx */; + targetProxy = DAB7AE381F3D424200C856B1 /* PBXContainerItemProxy */; + }; + DAB7AE3B1F3D424700C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DA5B0B611F3D416500B663F0 /* libsodium-osx */; + targetProxy = DAB7AE3A1F3D424700C856B1 /* PBXContainerItemProxy */; + }; + DAB7AE521F3D649400C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DAB7AE421F3D466D00C856B1 /* libjson-c-osx */; + targetProxy = DAB7AE511F3D649400C856B1 /* PBXContainerItemProxy */; + }; + DAB7AE581F3D64A600C856B1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DAB7AE421F3D466D00C856B1 /* libjson-c-osx */; + targetProxy = DAB7AE571F3D64A600C856B1 /* PBXContainerItemProxy */; + }; DABFA072176E3FDF00E83589 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "MasterPassword-Mac-LoginHelper"; @@ -2792,6 +2980,7 @@ HEADER_SEARCH_PATHS = ( "\"$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/$(PLATFORM_NAME)/include\"", "$(inherited)", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/include", ); LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; @@ -2828,8 +3017,12 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/lib", + ); + OTHER_CFLAGS = ( + "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); - OTHER_CFLAGS = "-DHAS_SODIUM=1"; PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword.Mac; SKIP_INSTALL = NO; WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}"; @@ -2875,18 +3068,17 @@ buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; HEADER_SEARCH_PATHS = ( + "\"$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/$(PLATFORM_NAME)/include\"", + "/usr/include//libxml2", "$(inherited)", - /usr/include/libxml2, - /usr/local/include, ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); }; name = Test; @@ -2895,19 +3087,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /usr/include/libxml2, - /usr/local/include, - ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -2917,19 +3104,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /usr/include/libxml2, - /usr/local/include, - ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -2939,19 +3121,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /usr/include/libxml2, - /usr/local/include, - ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -2961,19 +3138,13 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /usr/include/libxml2, - /usr/local/include, - ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -2983,19 +3154,13 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /usr/include/libxml2, - /usr/local/include, - ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -3005,24 +3170,77 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /usr/include/libxml2, - /usr/local/include, - ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Test; }; + DA5B0B631F3D416500B663F0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + DA5B0B641F3D416500B663F0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_WARN_UNUSED_FUNCTION = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + DA5B0B651F3D416500B663F0 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_WARN_UNUSED_FUNCTION = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Test; + }; DA5BFA6B147E415C00F98B1E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3098,6 +3316,7 @@ HEADER_SEARCH_PATHS = ( "\"$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/$(PLATFORM_NAME)/include\"", "$(inherited)", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/include", ); LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; @@ -3189,6 +3408,7 @@ HEADER_SEARCH_PATHS = ( "\"$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/$(PLATFORM_NAME)/include\"", "$(inherited)", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/include", ); LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; @@ -3225,8 +3445,12 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/lib", + ); + OTHER_CFLAGS = ( + "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); - OTHER_CFLAGS = "-DHAS_SODIUM=1"; PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword.Mac; SKIP_INSTALL = NO; WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}"; @@ -3253,8 +3477,12 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", + "$(PROJECT_DIR)/External/libjson-c/libjson-c-osx/lib", + ); + OTHER_CFLAGS = ( + "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); - OTHER_CFLAGS = "-DHAS_SODIUM=1"; PRODUCT_BUNDLE_IDENTIFIER = com.lyndir.lhunath.MasterPassword.Mac; SKIP_INSTALL = NO; WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}"; @@ -3266,18 +3494,17 @@ buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; HEADER_SEARCH_PATHS = ( + "\"$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/$(PLATFORM_NAME)/include\"", + "/usr/include//libxml2", "$(inherited)", - /usr/include/libxml2, - /usr/local/include, ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); }; name = Debug; @@ -3287,18 +3514,17 @@ buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = NO; HEADER_SEARCH_PATHS = ( + "\"$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/$(PLATFORM_NAME)/include\"", + "/usr/include//libxml2", "$(inherited)", - /usr/include/libxml2, - /usr/local/include, ); LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/External/Pearl/Pearl-Crypto/lib", - /usr/local/lib, "$(inherited)", + "$(PROJECT_DIR)/External/libsodium/libsodium-osx/lib", ); OTHER_CFLAGS = ( - "-DHAS_CPERCIVA=0", "-DHAS_SODIUM=1", + "-DHAS_CPERCIVA=0", ); }; name = Release; @@ -3319,6 +3545,65 @@ }; name = Release; }; + DAB7AE441F3D466D00C856B1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + DAB7AE451F3D466D00C856B1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_WARN_UNUSED_FUNCTION = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + DAB7AE461F3D466D00C856B1 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_WARN_UNUSED_FUNCTION = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Test; + }; DAC63275148680650075AEA5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3394,6 +3679,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Test; }; + DA5B0B621F3D416500B663F0 /* Build configuration list for PBXLegacyTarget "libsodium-osx" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DA5B0B631F3D416500B663F0 /* Debug */, + DA5B0B641F3D416500B663F0 /* Release */, + DA5B0B651F3D416500B663F0 /* Test */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Test; + }; DA5BFA3E147E415C00F98B1E /* Build configuration list for PBXProject "MasterPassword-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -3434,6 +3729,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Test; }; + DAB7AE431F3D466D00C856B1 /* Build configuration list for PBXLegacyTarget "libjson-c-osx" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DAB7AE441F3D466D00C856B1 /* Debug */, + DAB7AE451F3D466D00C856B1 /* Release */, + DAB7AE461F3D466D00C856B1 /* Test */, + ); + defaultConfigurationIsVisible = 0; + }; DAC63274148680650075AEA5 /* Build configuration list for PBXNativeTarget "jrswizzle" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-bench.xcscheme b/platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-bench.xcscheme new file mode 100644 index 00000000..b9f7617f --- /dev/null +++ b/platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-bench.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-cli.xcscheme b/platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-cli.xcscheme new file mode 100644 index 00000000..922712dc --- /dev/null +++ b/platform-darwin/MasterPassword-macOS.xcodeproj/xcshareddata/xcschemes/mpw-cli.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platform-darwin/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xcscmblueprint b/platform-darwin/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xcscmblueprint index b1788479..03449872 100644 --- a/platform-darwin/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xcscmblueprint +++ b/platform-darwin/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xcscmblueprint @@ -11,6 +11,7 @@ "2FE140B36B7D26140DC8D5E5C639DC5900EFCF35" : 9223372036854775807, "4DDCFFD91B41F00326AD14553BD66CFD366ABD91" : 9223372036854775807, "3ED8592497DB6A564366943C9AAD5A46341B5076" : 9223372036854775807, + "B38C14663FCFBB7024902D2DB1D013964189DC3B" : 9223372036854775807, "81A28796384A028E6C2D47C039DB8B3E5DD6D0FC" : 9223372036854775807, "F788B28042EDBEF29EFE34687DA79A778C2CC260" : 0 }, @@ -23,6 +24,7 @@ "2FE140B36B7D26140DC8D5E5C639DC5900EFCF35" : "MasterPassword\/platform-darwin\/External\/uicolor-utilities\/", "4DDCFFD91B41F00326AD14553BD66CFD366ABD91" : "MasterPassword\/platform-darwin\/External\/Pearl\/", "3ED8592497DB6A564366943C9AAD5A46341B5076" : "MasterPassword\/platform-darwin\/External\/AttributedMarkdown\/", + "B38C14663FCFBB7024902D2DB1D013964189DC3B" : "MasterPassword\/platform-darwin\/External\/libjson-c\/", "81A28796384A028E6C2D47C039DB8B3E5DD6D0FC" : "MasterPassword\/platform-darwin\/External\/libsodium\/", "F788B28042EDBEF29EFE34687DA79A778C2CC260" : "MasterPassword\/" }, @@ -70,6 +72,11 @@ "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "8A15A8EA0B3D0B497C4883425BC74DF995224BB3" }, + { + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/json-c\/json-c.git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "B38C14663FCFBB7024902D2DB1D013964189DC3B" + }, { "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "github.com:Lyndir\/MasterPassword.git", "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", diff --git a/platform-darwin/Scripts/build_libjson-c-ios b/platform-darwin/Scripts/build_libjson-c-ios new file mode 100755 index 00000000..90dc09ad --- /dev/null +++ b/platform-darwin/Scripts/build_libjson-c-ios @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +set -e +echo "ARGS: $*" + +cd "${BASH_SOURCE%/*}/../External/libjson-c" +[[ -d libjson-c-ios ]] && exit + +# Prepare +autoreconf -Iautoconf-archive/m4 --verbose --install --symlink --force 2>&1 | sed 's/^\([^:]*\):[0-9]\{1,\}: /\1: /' +rm -rf "${prefix=$PWD/libjson-c-ios}" +mkdir -p "$prefix/lib" \ + "${prefix_x86_64=$prefix/tmp/x86_64}" \ + "${prefix_armv7=$prefix/tmp/armv7}" \ + "${prefix_armv7s=$prefix/tmp/armv7s}" \ + "${prefix_arm64=$prefix/tmp/arm64}" + +# SDK: iOS Simulator +sdkPath="$(xcrun --show-sdk-path --sdk iphonesimulator)" +platformPath="$(xcrun --show-sdk-platform-path --sdk iphonesimulator)" +( + ## ARCH: x86_64 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-arch x86_64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-arch x86_64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s clean + ./configure --host=x86_64-apple-darwin10 --disable-shared --prefix="$prefix_x86_64" + make -j3 install +) + +# SDK: iOS Device +sdkPath="$(xcrun --show-sdk-path --sdk iphoneos)" +platformPath="$(xcrun --show-sdk-platform-path --sdk iphoneos)" +( + ## ARCH: armv7 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-mthumb -arch armv7 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-mthumb -arch armv7 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s clean + ./configure --host=arm-apple-darwin10 --disable-shared --prefix="$prefix_armv7" + make -j3 install +) +( + ## ARCH: armv7s + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-mthumb -arch armv7s -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-mthumb -arch armv7s -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s clean + ./configure --host=arm-apple-darwin10 --disable-shared --prefix="$prefix_armv7s" + make -j3 install +) +( + ## ARCH: arm64 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-mthumb -arch arm64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-mthumb -arch arm64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s clean + ./configure --host=arm-apple-darwin10 --disable-shared --prefix="$prefix_arm64" + make -j3 install +) + +# Merge Binaries +lipo -create \ + "$prefix_x86_64/lib/libjson-c.a" \ + "$prefix_armv7/lib/libjson-c.a" \ + "$prefix_armv7s/lib/libjson-c.a" \ + "$prefix_arm64/lib/libjson-c.a" \ + -output "$prefix/lib/libjson-c.a" +mv -f -- "$prefix_arm64/include" "$prefix/" + +# Cleanup +rm -rf -- "$prefix/tmp" +make -s clean diff --git a/platform-darwin/Scripts/build_libjson-c-osx b/platform-darwin/Scripts/build_libjson-c-osx new file mode 100755 index 00000000..d265b82c --- /dev/null +++ b/platform-darwin/Scripts/build_libjson-c-osx @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -e +echo "ARGS: $*" + +cd "${BASH_SOURCE%/*}/../External/libjson-c" +[[ -d libjson-c-osx ]] && exit + +# Prepare +autoreconf -Iautoconf-archive/m4 --verbose --install --symlink --force 2>&1 | sed 's/^\([^:]*\):[0-9]\{1,\}: /\1: /' +rm -rf "${prefix=$PWD/libjson-c-osx}" +mkdir -p "$prefix" + +# SDK: macOS +sdkPath="$(xcrun --show-sdk-path --sdk macosx)" +platformPath="$(xcrun --show-sdk-platform-path --sdk macosx)" +( + ## ARCH: x86_64 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-arch x86_64 -isysroot $sdkPath -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET:-"10.8"} -O2 -g -flto $CFLAGS" + export LDFLAGS="-arch x86_64 -isysroot $sdkPath -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET:-"10.8"} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s clean #distclean + ./configure --disable-shared --prefix="$prefix" + make -j3 #check + make -j3 install +) + +# Cleanup +make -s clean #distclean diff --git a/platform-darwin/Scripts/build_libsodium-ios b/platform-darwin/Scripts/build_libsodium-ios new file mode 100755 index 00000000..9d35c242 --- /dev/null +++ b/platform-darwin/Scripts/build_libsodium-ios @@ -0,0 +1,73 @@ +#!/usr/bin/env bash +set -e +echo "ARGS: $*" + +cd "${BASH_SOURCE%/*}/../External/libsodium" +[[ -d libsodium-ios ]] && exit + +# Inspired by libsodium/dist-build/ios.sh +# Prepare +autoreconf --verbose --install --symlink --force 2>&1 | sed 's/^\([^:]*\):[0-9]\{1,\}: /\1: /' +rm -rf "${prefix=$PWD/libsodium-ios}" +mkdir -p "$prefix/lib" \ + "${prefix_x86_64=$prefix/tmp/x86_64}" \ + "${prefix_armv7=$prefix/tmp/armv7}" \ + "${prefix_armv7s=$prefix/tmp/armv7s}" \ + "${prefix_arm64=$prefix/tmp/arm64}" + +# SDK: iOS Simulator +sdkPath="$(xcrun --show-sdk-path --sdk iphonesimulator)" +platformPath="$(xcrun --show-sdk-platform-path --sdk iphonesimulator)" +( + ## ARCH: x86_64 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-arch x86_64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-arch x86_64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s distclean + ./configure --host=x86_64-apple-darwin10 --disable-shared --prefix="$prefix_x86_64" + make -j3 install +) + +# SDK: iOS Device +sdkPath="$(xcrun --show-sdk-path --sdk iphoneos)" +platformPath="$(xcrun --show-sdk-platform-path --sdk iphoneos)" +( + ## ARCH: armv7 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-mthumb -arch armv7 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-mthumb -arch armv7 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s distclean + ./configure --host=arm-apple-darwin10 --disable-shared --prefix="$prefix_armv7" + make -j3 install +) +( + ## ARCH: armv7s + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-mthumb -arch armv7s -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-mthumb -arch armv7s -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s distclean + ./configure --host=arm-apple-darwin10 --disable-shared --prefix="$prefix_armv7s" + make -j3 install +) +( + ## ARCH: arm64 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-mthumb -arch arm64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -O2 -g -flto $CFLAGS" + export LDFLAGS="-mthumb -arch arm64 -isysroot $sdkPath -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET:-8.0} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s distclean + ./configure --host=arm-apple-darwin10 --disable-shared --prefix="$prefix_arm64" + make -j3 install +) + +# Merge Binaries +lipo -create \ + "$prefix_x86_64/lib/libsodium.a" \ + "$prefix_armv7/lib/libsodium.a" \ + "$prefix_armv7s/lib/libsodium.a" \ + "$prefix_arm64/lib/libsodium.a" \ + -output "$prefix/lib/libsodium.a" +mv -f -- "$prefix_arm64/include" "$prefix/" + +# Cleanup +rm -rf -- "$prefix/tmp" +make -s distclean diff --git a/platform-darwin/Scripts/build_libsodium-osx b/platform-darwin/Scripts/build_libsodium-osx new file mode 100755 index 00000000..c2c99af5 --- /dev/null +++ b/platform-darwin/Scripts/build_libsodium-osx @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -e +echo "ARGS: $*" + +cd "${BASH_SOURCE%/*}/../External/libsodium" +[[ -d libsodium-osx ]] && exit + +# Inspired by libsodium/dist-build/osx.sh +# Prepare +autoreconf --verbose --install --symlink --force 2>&1 | sed 's/^\([^:]*\):[0-9]\{1,\}: /\1: /' +rm -rf "${prefix=$PWD/libsodium-osx}" +mkdir -p "$prefix" + +# SDK: macOS +sdkPath="$(xcrun --show-sdk-path --sdk macosx)" +platformPath="$(xcrun --show-sdk-platform-path --sdk macosx)" +( + ## ARCH: x86_64 + export PATH="$platformPath/usr/bin:$platformPath/usr/sbin:$PATH" + export CFLAGS="-arch x86_64 -isysroot $sdkPath -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET:-"10.8"} -O2 -g -flto $CFLAGS" + export LDFLAGS="-arch x86_64 -isysroot $sdkPath -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET:-"10.8"} -flto $LDFLAGS" + [[ -e Makefile ]] && make -s distclean + ./configure --disable-shared --prefix="$prefix" + make -j3 check + make -j3 install +) + +# Cleanup +make -s distclean