diff options
author | Thomas Van Lenten <thomasvl@google.com> | 2016-06-27 14:24:59 -0400 |
---|---|---|
committer | Thomas Van Lenten <thomasvl@google.com> | 2016-07-07 08:45:18 -0400 |
commit | be0d7f66644d9ee36caac43cee21e679b4503015 (patch) | |
tree | 340eeac896e55f38f6e9e37fe03a77cf1baac12a | |
parent | ec4589736e71a332d63c129c1cf8e532098c2633 (diff) | |
download | protobuf-be0d7f66644d9ee36caac43cee21e679b4503015.tar.gz protobuf-be0d7f66644d9ee36caac43cee21e679b4503015.tar.bz2 protobuf-be0d7f66644d9ee36caac43cee21e679b4503015.zip |
Don't #import the .m files.
As bazel folks are looking at getting auto generation of module maps going and
the importing of sources files causes issues there. We were only do it to
hack around some of the apple linker behaviors around objc classes and
categories, but even that isn't complete and CocoaPods was already doing -ObjC,
and developers not using pods could have still needed it to ensure everything
was linked anyways; so drop the hack of importing sources.
-rw-r--r-- | Protobuf.podspec | 8 | ||||
-rw-r--r-- | objectivec/GPBDescriptor.m | 3 | ||||
-rw-r--r-- | objectivec/GPBProtocolBuffers.m | 6 | ||||
-rw-r--r-- | objectivec/GPBWellKnownTypes.m | 2 | ||||
-rw-r--r-- | objectivec/ProtocolBuffers_OSX.xcodeproj/project.pbxproj | 6 | ||||
-rw-r--r-- | objectivec/ProtocolBuffers_iOS.xcodeproj/project.pbxproj | 6 |
6 files changed, 17 insertions, 14 deletions
diff --git a/Protobuf.podspec b/Protobuf.podspec index 75a5e31f..2523076a 100644 --- a/Protobuf.podspec +++ b/Protobuf.podspec @@ -18,18 +18,14 @@ Pod::Spec.new do |s| s.source_files = 'objectivec/*.{h,m}', 'objectivec/google/protobuf/Any.pbobjc.{h,m}', 'objectivec/google/protobuf/Api.pbobjc.{h,m}', - 'objectivec/google/protobuf/Duration.pbobjc.h', + 'objectivec/google/protobuf/Duration.pbobjc.{h,m}', 'objectivec/google/protobuf/Empty.pbobjc.{h,m}', 'objectivec/google/protobuf/FieldMask.pbobjc.{h,m}', 'objectivec/google/protobuf/SourceContext.pbobjc.{h,m}', 'objectivec/google/protobuf/Struct.pbobjc.{h,m}', - 'objectivec/google/protobuf/Timestamp.pbobjc.h', + 'objectivec/google/protobuf/Timestamp.pbobjc.{h,m}', 'objectivec/google/protobuf/Type.pbobjc.{h,m}', 'objectivec/google/protobuf/Wrappers.pbobjc.{h,m}' - # Timestamp.pbobjc.m and Duration.pbobjc.m are #imported by GPBWellKnownTypes.m. So we can't - # compile them (duplicate symbols), but we need them available for the importing: - s.preserve_paths = 'objectivec/google/protobuf/Duration.pbobjc.m', - 'objectivec/google/protobuf/Timestamp.pbobjc.m' # The following would cause duplicate symbol definitions. GPBProtocolBuffers is expected to be # left out, as it's an umbrella implementation file. s.exclude_files = 'objectivec/GPBProtocolBuffers.m' diff --git a/objectivec/GPBDescriptor.m b/objectivec/GPBDescriptor.m index 0212fb0d..dccb9bc8 100644 --- a/objectivec/GPBDescriptor.m +++ b/objectivec/GPBDescriptor.m @@ -756,8 +756,7 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) { return NO; } -- (BOOL)getValue:(int32_t *)outValue forEnumTextFormatName:(NSString *)textFormatName; -{ +- (BOOL)getValue:(int32_t *)outValue forEnumTextFormatName:(NSString *)textFormatName { if (nameOffsets_ == NULL) [self calcValueNameOffsets]; for (uint32_t i = 0; i < valueCount_; ++i) { diff --git a/objectivec/GPBProtocolBuffers.m b/objectivec/GPBProtocolBuffers.m index 73939391..d04c8be1 100644 --- a/objectivec/GPBProtocolBuffers.m +++ b/objectivec/GPBProtocolBuffers.m @@ -54,15 +54,13 @@ #import "GPBWellKnownTypes.m" #import "GPBWireFormat.m" -// Duration and Timestamp are #imported into GPBWellKnownTypes.m to the -// Objective C categories added will always be linked in with the classes. #import "google/protobuf/Any.pbobjc.m" #import "google/protobuf/Api.pbobjc.m" -// #import "google/protobuf/Duration.pbobjc.m" +#import "google/protobuf/Duration.pbobjc.m" #import "google/protobuf/Empty.pbobjc.m" #import "google/protobuf/FieldMask.pbobjc.m" #import "google/protobuf/SourceContext.pbobjc.m" #import "google/protobuf/Struct.pbobjc.m" -// #import "google/protobuf/Timestamp.pbobjc.m" +#import "google/protobuf/Timestamp.pbobjc.m" #import "google/protobuf/Type.pbobjc.m" #import "google/protobuf/Wrappers.pbobjc.m" diff --git a/objectivec/GPBWellKnownTypes.m b/objectivec/GPBWellKnownTypes.m index fe02f5de..5cdd62d5 100644 --- a/objectivec/GPBWellKnownTypes.m +++ b/objectivec/GPBWellKnownTypes.m @@ -32,8 +32,6 @@ // the static library. If these were compiled separately, the category methods // below would be stripped by the linker. -#import "google/protobuf/Timestamp.pbobjc.m" -#import "google/protobuf/Duration.pbobjc.m" #import "GPBWellKnownTypes.h" static NSTimeInterval TimeIntervalSince1970FromSecondsAndNanos(int64_t seconds, diff --git a/objectivec/ProtocolBuffers_OSX.xcodeproj/project.pbxproj b/objectivec/ProtocolBuffers_OSX.xcodeproj/project.pbxproj index 41ba7676..32067910 100644 --- a/objectivec/ProtocolBuffers_OSX.xcodeproj/project.pbxproj +++ b/objectivec/ProtocolBuffers_OSX.xcodeproj/project.pbxproj @@ -54,6 +54,8 @@ F4487C831AAF6AB300531423 /* GPBMessageTests+Merge.m in Sources */ = {isa = PBXBuildFile; fileRef = F4487C821AAF6AB300531423 /* GPBMessageTests+Merge.m */; }; F45C69CC16DFD08D0081955B /* GPBExtensionInternals.m in Sources */ = {isa = PBXBuildFile; fileRef = F45C69CB16DFD08D0081955B /* GPBExtensionInternals.m */; }; F45E57C71AE6DC6A000B7D99 /* text_format_map_unittest_data.txt in Resources */ = {isa = PBXBuildFile; fileRef = F45E57C61AE6DC6A000B7D99 /* text_format_map_unittest_data.txt */; }; + F47476E51D21A524007C7B1A /* Duration.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B4248D41A92826400BC1EC6 /* Duration.pbobjc.m */; }; + F47476E61D21A524007C7B1A /* Timestamp.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B4248D61A92826400BC1EC6 /* Timestamp.pbobjc.m */; }; F4B51B1E1BBC610700744318 /* GPBObjectiveCPlusPlusTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4B51B1D1BBC610700744318 /* GPBObjectiveCPlusPlusTest.mm */; }; F4E675971B21D0000054530B /* Any.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E675871B21D0000054530B /* Any.pbobjc.m */; }; F4E675991B21D0000054530B /* Api.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E675891B21D0000054530B /* Api.pbobjc.m */; }; @@ -625,6 +627,7 @@ F4E6759D1B21D0000054530B /* FieldMask.pbobjc.m in Sources */, 7461B54C0F94FB4E00A0C422 /* GPBUnknownField.m in Sources */, 7461B5530F94FB4E00A0C422 /* GPBMessage.m in Sources */, + F47476E51D21A524007C7B1A /* Duration.pbobjc.m in Sources */, 7461B5610F94FB4E00A0C422 /* GPBUnknownFieldSet.m in Sources */, 7461B5630F94FB4E00A0C422 /* GPBUtilities.m in Sources */, 7461B5640F94FB4E00A0C422 /* GPBWireFormat.m in Sources */, @@ -639,6 +642,7 @@ F4E675A31B21D0000054530B /* Type.pbobjc.m in Sources */, F4E675A11B21D0000054530B /* Struct.pbobjc.m in Sources */, F4E675A51B21D0000054530B /* Wrappers.pbobjc.m in Sources */, + F47476E61D21A524007C7B1A /* Timestamp.pbobjc.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -727,6 +731,7 @@ ); INFOPLIST_FILE = "Tests/UnitTests-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:identifier}"; PRODUCT_NAME = UnitTests; SWIFT_OBJC_BRIDGING_HEADER = "Tests/UnitTests-Bridging-Header.h"; @@ -751,6 +756,7 @@ ); INFOPLIST_FILE = "Tests/UnitTests-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:identifier}"; PRODUCT_NAME = UnitTests; SWIFT_OBJC_BRIDGING_HEADER = "Tests/UnitTests-Bridging-Header.h"; diff --git a/objectivec/ProtocolBuffers_iOS.xcodeproj/project.pbxproj b/objectivec/ProtocolBuffers_iOS.xcodeproj/project.pbxproj index 7f95a754..9f688f8d 100644 --- a/objectivec/ProtocolBuffers_iOS.xcodeproj/project.pbxproj +++ b/objectivec/ProtocolBuffers_iOS.xcodeproj/project.pbxproj @@ -62,6 +62,8 @@ F4487C851AAF6AC500531423 /* GPBMessageTests+Merge.m in Sources */ = {isa = PBXBuildFile; fileRef = F4487C841AAF6AC500531423 /* GPBMessageTests+Merge.m */; }; F45C69CC16DFD08D0081955B /* GPBExtensionInternals.m in Sources */ = {isa = PBXBuildFile; fileRef = F45C69CB16DFD08D0081955B /* GPBExtensionInternals.m */; }; F45E57C91AE6DC98000B7D99 /* text_format_map_unittest_data.txt in Resources */ = {isa = PBXBuildFile; fileRef = F45E57C81AE6DC98000B7D99 /* text_format_map_unittest_data.txt */; }; + F47476E91D21A537007C7B1A /* Duration.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B4248DE1A929C7D00BC1EC6 /* Duration.pbobjc.m */; }; + F47476EA1D21A537007C7B1A /* Timestamp.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B4248E01A929C7D00BC1EC6 /* Timestamp.pbobjc.m */; }; F4B51B1C1BBC5C7100744318 /* GPBObjectiveCPlusPlusTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4B51B1B1BBC5C7100744318 /* GPBObjectiveCPlusPlusTest.mm */; }; F4E675D01B21D1620054530B /* Any.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E675B71B21D1440054530B /* Any.pbobjc.m */; }; F4E675D11B21D1620054530B /* Api.pbobjc.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E675B91B21D1440054530B /* Api.pbobjc.m */; }; @@ -713,6 +715,7 @@ F4E675D31B21D1620054530B /* FieldMask.pbobjc.m in Sources */, 7461B54C0F94FB4E00A0C422 /* GPBUnknownField.m in Sources */, 7461B5530F94FB4E00A0C422 /* GPBMessage.m in Sources */, + F47476E91D21A537007C7B1A /* Duration.pbobjc.m in Sources */, 7461B5610F94FB4E00A0C422 /* GPBUnknownFieldSet.m in Sources */, 7461B5630F94FB4E00A0C422 /* GPBUtilities.m in Sources */, 7461B5640F94FB4E00A0C422 /* GPBWireFormat.m in Sources */, @@ -727,6 +730,7 @@ F4E675D61B21D1620054530B /* Type.pbobjc.m in Sources */, F4E675D51B21D1620054530B /* Struct.pbobjc.m in Sources */, F4E675D71B21D1620054530B /* Wrappers.pbobjc.m in Sources */, + F47476EA1D21A537007C7B1A /* Timestamp.pbobjc.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -878,6 +882,7 @@ "$(inherited)", "\"$(DEVELOPER_DIR)/usr/lib\"", ); + OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = UnitTests; SWIFT_OBJC_BRIDGING_HEADER = "Tests/UnitTests-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -912,6 +917,7 @@ "$(inherited)", "\"$(DEVELOPER_DIR)/usr/lib\"", ); + OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = UnitTests; SWIFT_OBJC_BRIDGING_HEADER = "Tests/UnitTests-Bridging-Header.h"; TARGETED_DEVICE_FAMILY = "1,2"; |