diff --git a/Protobuf.podspec b/Protobuf.podspec index cc3f2d7d1811..8b12135f735d 100644 --- a/Protobuf.podspec +++ b/Protobuf.podspec @@ -6,13 +6,25 @@ Pod::Spec.new do |s| s.license = 'New BSD' s.authors = { 'The Protocol Buffers contributors' => 'protobuf@googlegroups.com' } - s.source_files = 'objectivec/*.{h,m}', 'objectivec/google/protobuf/*.pbobjc.h', 'objectivec/google/protobuf/Any.pbobjc.m', 'objectivec/google/protobuf/Api.pbobjc.m', 'objectivec/google/protobuf/Descriptor.pbobjc.m', 'objectivec/google/protobuf/Empty.pbobjc.m', 'objectivec/google/protobuf/FieldMask.pbobjc.m', 'objectivec/google/protobuf/SourceContext.pbobjc.m', 'objectivec/google/protobuf/Struct.pbobjc.m' 'objectivec/google/protobuf/Type.pbobjc.m', 'objectivec/google/protobuf/Wrappers.pbobjc.m' - # The following would cause duplicate symbol definitions - s.exclude_files = 'objectivec/GPBProtocolBuffers.m', 'objectivec/google/protobuf/Api.pobjc.m', 'objectivec/google/protobuf/Type.pobjc.m' - # The .m's of the proto Well-Known-Types under google/protobuf 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/*.pbobjc.m' + s.source_files = 'objectivec/*.{h,m}', + 'objectivec/google/protobuf/Any.pbobjc.{h,m}', + 'objectivec/google/protobuf/Descriptor.pbobjc.{h,m}', + 'objectivec/google/protobuf/Duration.pbobjc.h', + 'objectivec/google/protobuf/Empty.pbobjc.{h,m}', + 'objectivec/google/protobuf/FieldMask.pbobjc.{h,m}', + 'objectivec/google/protobuf/SourceContext.pbobjc.{h,m}', + 'objectivec/google/protobuf/Timestamp.pbobjc.h', + '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. For Api, Struct and Type, see issue #449. + s.exclude_files = 'objectivec/GPBProtocolBuffers.m', + 'objectivec/google/protobuf/Api.pbobjc.{h,m}', + 'objectivec/google/protobuf/Struct.pbobjc.{h,m}', + 'objectivec/google/protobuf/Type.pbobjc.{h,m}' s.header_mappings_dir = 'objectivec' s.ios.deployment_target = '6.0'