mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 09:35:48 +00:00
f3f44eee59
Summary: See https://github.com/facebook/react-native/issues/14326 for the bug this fixes. This is a pretty ugly hack to work around what I think is a CP bug. Since the C++ dependencies are only needed to build RN itself, and not applications, don't the conflicting headers as source files. Instead, use preserve_paths to get them unpacked into the source tree under Pods/<Pod>, and arrange for them to get used with HEADER_SEARCH_PATHS. This keeps them out of the project, so they don't get included in the header map, and other (badly structured) projects don't get confused. Reviewed By: javache Differential Revision: D5254716 fbshipit-source-id: cf33dcbcc71b5247843650c33ccf4fb08378e584
46 lines
1.8 KiB
Ruby
46 lines
1.8 KiB
Ruby
Pod::Spec.new do |spec|
|
|
spec.name = 'Folly'
|
|
spec.version = '2016.09.26.00'
|
|
spec.license = { :type => 'Apache License, Version 2.0' }
|
|
spec.homepage = 'https://github.com/facebook/folly'
|
|
spec.summary = 'An open-source C++ library developed and used at Facebook.'
|
|
spec.authors = 'Facebook'
|
|
spec.source = { :git => 'https://github.com/facebook/folly.git',
|
|
:tag => "v#{spec.version}" }
|
|
spec.module_name = 'folly'
|
|
spec.dependency 'boost'
|
|
spec.dependency 'DoubleConversion'
|
|
spec.dependency 'GLog'
|
|
spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
|
|
spec.header_mappings_dir = 'folly'
|
|
spec.source_files = 'folly/Bits.cpp',
|
|
'folly/Conv.cpp',
|
|
'folly/Demangle.cpp',
|
|
'folly/StringBase.cpp',
|
|
'folly/Unicode.cpp',
|
|
'folly/dynamic.cpp',
|
|
'folly/json.cpp'
|
|
# workaround for https://github.com/facebook/react-native/issues/14326
|
|
spec.preserve_paths = 'folly/*.h'
|
|
spec.libraries = "stdc++"
|
|
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
|
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\"" }
|
|
|
|
# Pinning to the same version as React.podspec.
|
|
spec.platform = :ios, '8.0'
|
|
|
|
spec.subspec "detail" do |ss|
|
|
ss.header_dir = 'folly/detail'
|
|
ss.source_files = 'folly/detail/*.h',
|
|
'folly/detail/MallocImpl.cpp'
|
|
end
|
|
|
|
spec.subspec "portability" do |ss|
|
|
ss.header_dir = 'folly/portability'
|
|
ss.source_files = 'folly/portability/*.h',
|
|
'folly/portability/BitsFunctexcept.cpp'
|
|
end
|
|
|
|
end
|