Skip to content

Commit da112d6

Browse files
committed
WIP: Parse Dynamic
1 parent 2600a02 commit da112d6

File tree

6 files changed

+251
-43
lines changed

6 files changed

+251
-43
lines changed

Configurations/Bolts-iOS-module.xcconfig

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//
2+
// Copyright (c) 2015-present, Parse, LLC.
3+
// All rights reserved.
4+
//
5+
// This source code is licensed under the BSD-style license found in the
6+
// LICENSE file in the root directory of this source tree. An additional grant
7+
// of patent rights can be found in the PATENTS file in the same directory.
8+
//
9+
10+
PRODUCT_NAME = Parse
11+
IPHONEOS_DEPLOYMENT_TARGET = 8.0
12+
13+
MACH_O_TYPE = mh_dylib
14+
15+
ENABLE_BITCODE = NO
16+
DEFINES_MODULE = YES
17+
18+
SUPPORTED_PLATFORMS = iphonesimulator iphoneos
19+
20+
VALID_ARCHS[sdk=iphoneos*] = arm64 armv7 armv7s
21+
VALID_ARCHS[sdk=iphonesimulator*] = i386 x86_64
22+
23+
ARCHS[sdk=iphoneos*] = arm64 armv7 armv7s
24+
ARCHS[sdk=iphonesimulator*] = i386 x86_64
25+
26+
FRAMEWORK_SEARCH_PATHS = $(inherited) $(BUILT_PRODUCTS_DIR) $(VENDOR_DIR)/Bolts-ObjC/build/ios/
27+
28+
// Dynamic linking uses different default copy paths
29+
LD_RUNPATH_SEARCH_PATHS[sdk=iphoneos*] = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
30+
LD_RUNPATH_SEARCH_PATHS[sdk=iphonesimulator*] = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
31+
32+
DYLIB_INSTALL_NAME_BASE = @rpath
33+
34+
OTHER_LDFLAGS = $(inherited) '-dynamiclib' '-lsqlite3'
35+
CLANG_MODULES_AUTOLINK = YES
36+
37+
ONLY_ACTIVE_ARCH = NO
38+
39+
INFOPLIST_FILE = $(PROJECT_DIR)/$(PRODUCT_NAME)/Resources/Parse-iOS.Info.plist

Configurations/Parse-iOS-module.xcconfig

Lines changed: 0 additions & 22 deletions
This file was deleted.

Parse.xcodeproj/project.pbxproj

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1719,6 +1719,7 @@
17191719
499E425615B6409000A2C28E /* PFProduct.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFProduct.m; sourceTree = "<group>"; };
17201720
49FDE2EC158C138F00126F64 /* PFPurchase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFPurchase.h; sourceTree = "<group>"; };
17211721
49FDE2ED158C138F00126F64 /* PFPurchase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFPurchase.m; sourceTree = "<group>"; };
1722+
4A26C3B61C053AEE00E5F505 /* Parse-iOS-Dynamic.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Parse-iOS-Dynamic.xcconfig"; sourceTree = "<group>"; };
17221723
63723F6D1565A085007A1A73 /* PFRole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFRole.h; sourceTree = "<group>"; };
17231724
63723F6E1565A085007A1A73 /* PFRole.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFRole.m; sourceTree = "<group>"; };
17241725
638CBBB415191435004F54E4 /* PFAnonymousUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFAnonymousUtils.h; sourceTree = "<group>"; };
@@ -3724,6 +3725,7 @@
37243725
isa = PBXGroup;
37253726
children = (
37263727
F55ABB531B4F39DA00A0ECD5 /* Parse-iOS.xcconfig */,
3728+
4A26C3B61C053AEE00E5F505 /* Parse-iOS-Dynamic.xcconfig */,
37273729
F55ABB541B4F39DA00A0ECD5 /* Parse-OSX.xcconfig */,
37283730
815F24171BD04D310054659F /* Parse-tvOS.xcconfig */,
37293731
810154FE1BB382F800D7C7BD /* Parse-watchOS.xcconfig */,
@@ -4622,6 +4624,20 @@
46224624
/* End PBXHeadersBuildPhase section */
46234625

46244626
/* Begin PBXLegacyTarget section */
4627+
4A26C3BB1C053C2C00E5F505 /* Parse-iOS-Dynamic */ = {
4628+
isa = PBXLegacyTarget;
4629+
buildArgumentsString = "-xcconfig Configurations/Parse-iOS-Dynamic.xcconfig -workspace Parse.xcworkspace -scheme Parse-iOS -configuration $(CONFIGURATION) -sdk $SDKROOT CONFIGURATION_BUILD_DIR=$(CONFIGURATION_BUILD_DIR)";
4630+
buildConfigurationList = 4A26C3BC1C053C2D00E5F505 /* Build configuration list for PBXLegacyTarget "Parse-iOS-Dynamic" */;
4631+
buildPhases = (
4632+
);
4633+
buildToolPath = xcodebuild;
4634+
buildWorkingDirectory = "$(SRCROOT)";
4635+
dependencies = (
4636+
);
4637+
name = "Parse-iOS-Dynamic";
4638+
passBuildSettingsInEnvironment = 1;
4639+
productName = Parse;
4640+
};
46254641
812F31F71BCF40AA00FCBCD4 /* Bolts-watchOS */ = {
46264642
isa = PBXLegacyTarget;
46274643
buildArgumentsString = "$(SRCROOT)/Vendor/Bolts-ObjC/ \\\n\"Vendor/Bolts-ObjC/scripts/build_framework.sh -n -c Release --with-watchos --with-tvos\"";
@@ -4810,6 +4826,9 @@
48104826
LastUpgradeCheck = 0710;
48114827
ORGANIZATIONNAME = "Parse Inc.";
48124828
TargetAttributes = {
4829+
4A26C3BB1C053C2C00E5F505 = {
4830+
CreatedOnToolsVersion = 7.1.1;
4831+
};
48134832
81493A931A0D3492008D5504 = {
48144833
CreatedOnToolsVersion = 6.1;
48154834
};
@@ -4838,6 +4857,7 @@
48384857
projectRoot = "";
48394858
targets = (
48404859
81C3821B19CCA89E0066284A /* Parse-iOS */,
4860+
4A26C3BB1C053C2C00E5F505 /* Parse-iOS-Dynamic */,
48414861
816F441B1A8E8933009CDB32 /* ParseUnitTests-iOS */,
48424862
97010FAB1630B18F00AB761E /* Parse-OSX */,
48434863
81C09F501AF97A490043B49C /* ParseUnitTests-OSX */,
@@ -5894,6 +5914,91 @@
58945914
};
58955915
name = Release;
58965916
};
5917+
4A26C3BD1C053C2D00E5F505 /* Debug */ = {
5918+
isa = XCBuildConfiguration;
5919+
baseConfigurationReference = 4A26C3B61C053AEE00E5F505 /* Parse-iOS-Dynamic.xcconfig */;
5920+
buildSettings = {
5921+
ALWAYS_SEARCH_USER_PATHS = NO;
5922+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
5923+
CLANG_CXX_LIBRARY = "libc++";
5924+
CLANG_ENABLE_MODULES = YES;
5925+
CLANG_ENABLE_OBJC_ARC = YES;
5926+
CLANG_WARN_BOOL_CONVERSION = YES;
5927+
CLANG_WARN_CONSTANT_CONVERSION = YES;
5928+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
5929+
CLANG_WARN_EMPTY_BODY = YES;
5930+
CLANG_WARN_ENUM_CONVERSION = YES;
5931+
CLANG_WARN_INT_CONVERSION = YES;
5932+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
5933+
CLANG_WARN_UNREACHABLE_CODE = YES;
5934+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
5935+
COPY_PHASE_STRIP = NO;
5936+
DEBUGGING_SYMBOLS = YES;
5937+
DEBUG_INFORMATION_FORMAT = dwarf;
5938+
ENABLE_STRICT_OBJC_MSGSEND = YES;
5939+
ENABLE_TESTABILITY = YES;
5940+
GCC_C_LANGUAGE_STANDARD = gnu99;
5941+
GCC_DYNAMIC_NO_PIC = NO;
5942+
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
5943+
GCC_NO_COMMON_BLOCKS = YES;
5944+
GCC_OPTIMIZATION_LEVEL = 0;
5945+
GCC_PREPROCESSOR_DEFINITIONS = (
5946+
"DEBUG=1",
5947+
"$(inherited)",
5948+
);
5949+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
5950+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
5951+
GCC_WARN_UNDECLARED_SELECTOR = YES;
5952+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
5953+
GCC_WARN_UNUSED_FUNCTION = YES;
5954+
GCC_WARN_UNUSED_VARIABLE = YES;
5955+
MTL_ENABLE_DEBUG_INFO = YES;
5956+
ONLY_ACTIVE_ARCH = YES;
5957+
OTHER_CFLAGS = "";
5958+
OTHER_LDFLAGS = "";
5959+
PRODUCT_NAME = "$(TARGET_NAME)";
5960+
SUPPORTED_PLATFORMS = ios;
5961+
};
5962+
name = Debug;
5963+
};
5964+
4A26C3BE1C053C2D00E5F505 /* Release */ = {
5965+
isa = XCBuildConfiguration;
5966+
baseConfigurationReference = 4A26C3B61C053AEE00E5F505 /* Parse-iOS-Dynamic.xcconfig */;
5967+
buildSettings = {
5968+
ALWAYS_SEARCH_USER_PATHS = NO;
5969+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
5970+
CLANG_CXX_LIBRARY = "libc++";
5971+
CLANG_ENABLE_MODULES = YES;
5972+
CLANG_ENABLE_OBJC_ARC = YES;
5973+
CLANG_WARN_BOOL_CONVERSION = YES;
5974+
CLANG_WARN_CONSTANT_CONVERSION = YES;
5975+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
5976+
CLANG_WARN_EMPTY_BODY = YES;
5977+
CLANG_WARN_ENUM_CONVERSION = YES;
5978+
CLANG_WARN_INT_CONVERSION = YES;
5979+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
5980+
CLANG_WARN_UNREACHABLE_CODE = YES;
5981+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
5982+
COPY_PHASE_STRIP = NO;
5983+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
5984+
ENABLE_NS_ASSERTIONS = NO;
5985+
ENABLE_STRICT_OBJC_MSGSEND = YES;
5986+
GCC_C_LANGUAGE_STANDARD = gnu99;
5987+
GCC_NO_COMMON_BLOCKS = YES;
5988+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
5989+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
5990+
GCC_WARN_UNDECLARED_SELECTOR = YES;
5991+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
5992+
GCC_WARN_UNUSED_FUNCTION = YES;
5993+
GCC_WARN_UNUSED_VARIABLE = YES;
5994+
MTL_ENABLE_DEBUG_INFO = NO;
5995+
OTHER_CFLAGS = "";
5996+
OTHER_LDFLAGS = "";
5997+
PRODUCT_NAME = "$(TARGET_NAME)";
5998+
SUPPORTED_PLATFORMS = ios;
5999+
};
6000+
name = Release;
6001+
};
58976002
810156671BB3832700D7C7BD /* Debug */ = {
58986003
isa = XCBuildConfiguration;
58996004
baseConfigurationReference = 810154FE1BB382F800D7C7BD /* Parse-watchOS.xcconfig */;
@@ -6050,6 +6155,15 @@
60506155
defaultConfigurationIsVisible = 0;
60516156
defaultConfigurationName = Release;
60526157
};
6158+
4A26C3BC1C053C2D00E5F505 /* Build configuration list for PBXLegacyTarget "Parse-iOS-Dynamic" */ = {
6159+
isa = XCConfigurationList;
6160+
buildConfigurations = (
6161+
4A26C3BD1C053C2D00E5F505 /* Debug */,
6162+
4A26C3BE1C053C2D00E5F505 /* Release */,
6163+
);
6164+
defaultConfigurationIsVisible = 0;
6165+
defaultConfigurationName = Release;
6166+
};
60536167
810156661BB3832700D7C7BD /* Build configuration list for PBXNativeTarget "Parse-watchOS" */ = {
60546168
isa = XCConfigurationList;
60556169
buildConfigurations = (
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "0710"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "4A26C3BB1C053C2C00E5F505"
18+
BuildableName = "Parse-iOS-Dynamic"
19+
BlueprintName = "Parse-iOS-Dynamic"
20+
ReferencedContainer = "container:Parse.xcodeproj">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
24+
</BuildAction>
25+
<TestAction
26+
buildConfiguration = "Debug"
27+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
shouldUseLaunchSchemeArgsEnv = "YES">
30+
<Testables>
31+
</Testables>
32+
<AdditionalOptions>
33+
</AdditionalOptions>
34+
</TestAction>
35+
<LaunchAction
36+
buildConfiguration = "Debug"
37+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
38+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
39+
launchStyle = "0"
40+
useCustomWorkingDirectory = "NO"
41+
ignoresPersistentStateOnLaunch = "NO"
42+
debugDocumentVersioning = "YES"
43+
debugServiceExtension = "internal"
44+
allowLocationSimulation = "YES">
45+
<MacroExpansion>
46+
<BuildableReference
47+
BuildableIdentifier = "primary"
48+
BlueprintIdentifier = "4A26C3BB1C053C2C00E5F505"
49+
BuildableName = "Parse-iOS-Dynamic"
50+
BlueprintName = "Parse-iOS-Dynamic"
51+
ReferencedContainer = "container:Parse.xcodeproj">
52+
</BuildableReference>
53+
</MacroExpansion>
54+
<AdditionalOptions>
55+
</AdditionalOptions>
56+
</LaunchAction>
57+
<ProfileAction
58+
buildConfiguration = "Release"
59+
shouldUseLaunchSchemeArgsEnv = "YES"
60+
savedToolIdentifier = ""
61+
useCustomWorkingDirectory = "NO"
62+
debugDocumentVersioning = "YES">
63+
<MacroExpansion>
64+
<BuildableReference
65+
BuildableIdentifier = "primary"
66+
BlueprintIdentifier = "4A26C3BB1C053C2C00E5F505"
67+
BuildableName = "Parse-iOS-Dynamic"
68+
BlueprintName = "Parse-iOS-Dynamic"
69+
ReferencedContainer = "container:Parse.xcodeproj">
70+
</BuildableReference>
71+
</MacroExpansion>
72+
</ProfileAction>
73+
<AnalyzeAction
74+
buildConfiguration = "Debug">
75+
</AnalyzeAction>
76+
<ArchiveAction
77+
buildConfiguration = "Release"
78+
revealArchiveInOrganizer = "YES">
79+
</ArchiveAction>
80+
</Scheme>

Rakefile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,24 @@ namespace :build do
7878
end
7979
end
8080

81+
desc 'Build iOS Dynamic framework.'
82+
task :ios_dynamic do
83+
task = XCTask::BuildFrameworkTask.new do |t|
84+
t.directory = script_folder
85+
t.build_directory = build_folder
86+
t.framework_type = XCTask::FrameworkType::IOS
87+
t.framework_name = 'Parse.framework'
88+
t.workspace = 'Parse.xcworkspace'
89+
t.scheme = 'Parse-iOS-Dynamic'
90+
t.configuration = 'Release'
91+
end
92+
result = task.execute
93+
unless result
94+
puts 'Failed to build iOS Framework.'
95+
exit(1)
96+
end
97+
end
98+
8199
desc 'Build watchOS framework.'
82100
task :watchos do
83101
task = XCTask::BuildFrameworkTask.new do |t|

0 commit comments

Comments
 (0)