mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-05-07 23:27:05 +08:00
Summary:
Use the same header-only distribution of Boost that Android and the automatic ios-install-third-party.sh script uses. Greatly speeds up `pod install`, even when the distribution was already cached.
The dependency tree looks like this:
* React
* cxxreact subspec
* **Boost** (versioned, 1.63.0)
* Folly
* **Boost** (any version, will resolve to 1.63.0 from above)
Alternative implementation of PR https://github.com/facebook/react-native/pull/16756. Fixes issue #16381.
(same as https://github.com/facebook/react-native/pull/16756)
* Install react-native via Cocoapods (or move a helloWorld react-native application over to use Cocoapods for dependency management)
* Add CxxBridge instead of BatchedBridge to your Podfile
* run pod install
* run react-native run-ios
[Add boost.podspec speed up download time & reduce size of the package](https://github.com/facebook/react-native/pull/16756)
[IOS] [BUGFIX] [third-party-podspecs] - optimize CocoaPods installation (Boost distribution)
Closes https://github.com/facebook/react-native/pull/17476
Differential Revision: D6746095
Pulled By: hramos
fbshipit-source-id: 55b2b5a698691f7fca0bf4c31c4376c2b9eb5379
36 lines
1.6 KiB
Ruby
36 lines
1.6 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-for-react-native'
|
|
spec.dependency 'DoubleConversion'
|
|
spec.dependency 'GLog'
|
|
spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
|
|
spec.source_files = 'folly/Bits.cpp',
|
|
'folly/Conv.cpp',
|
|
'folly/Demangle.cpp',
|
|
'folly/StringBase.cpp',
|
|
'folly/Unicode.cpp',
|
|
'folly/dynamic.cpp',
|
|
'folly/json.cpp',
|
|
'folly/portability/BitsFunctexcept.cpp',
|
|
'folly/detail/MallocImpl.cpp'
|
|
# workaround for https://github.com/facebook/react-native/issues/14326
|
|
spec.preserve_paths = 'folly/*.h',
|
|
'folly/detail/*.h',
|
|
'folly/portability/*.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-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\"" }
|
|
|
|
# Pinning to the same version as React.podspec.
|
|
spec.platforms = { :ios => "8.0", :tvos => "9.2" }
|
|
end
|