Folly.podspec 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # Copyright (c) Facebook, Inc. and its affiliates.
  2. #
  3. # This source code is licensed under the MIT license found in the
  4. # LICENSE file in the root directory of this source tree.
  5. Pod::Spec.new do |spec|
  6. spec.name = 'Folly'
  7. spec.version = '2020.01.13.00'
  8. spec.license = { :type => 'Apache License, Version 2.0' }
  9. spec.homepage = 'https://github.com/facebook/folly'
  10. spec.summary = 'An open-source C++ library developed and used at Facebook.'
  11. spec.authors = 'Facebook'
  12. spec.source = { :git => 'https://github.com/facebook/folly.git',
  13. :tag => "v#{spec.version}" }
  14. spec.module_name = 'folly'
  15. spec.dependency 'boost-for-react-native'
  16. spec.dependency 'DoubleConversion'
  17. spec.dependency 'glog'
  18. spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation'
  19. spec.source_files = 'folly/String.cpp',
  20. 'folly/Conv.cpp',
  21. 'folly/Demangle.cpp',
  22. 'folly/FileUtil.cpp',
  23. 'folly/Format.cpp',
  24. 'folly/lang/SafeAssert.cpp',
  25. 'folly/ScopeGuard.cpp',
  26. 'folly/Unicode.cpp',
  27. 'folly/dynamic.cpp',
  28. 'folly/json.cpp',
  29. 'folly/json_pointer.cpp',
  30. 'folly/container/detail/F14Table.cpp',
  31. 'folly/detail/Demangle.cpp',
  32. 'folly/detail/UniqueInstance.cpp',
  33. 'folly/hash/SpookyHashV2.cpp',
  34. 'folly/lang/Assume.cpp',
  35. 'folly/lang/CString.cpp',
  36. 'folly/memory/detail/MallocImpl.cpp',
  37. 'folly/net/NetOps.cpp',
  38. 'folly/portability/SysUio.cpp'
  39. # workaround for https://github.com/facebook/react-native/issues/14326
  40. spec.preserve_paths = 'folly/*.h',
  41. 'folly/container/*.h',
  42. 'folly/container/detail/*.h',
  43. 'folly/detail/*.h',
  44. 'folly/functional/*.h',
  45. 'folly/hash/*.h',
  46. 'folly/lang/*.h',
  47. 'folly/memory/*.h',
  48. 'folly/memory/detail/*.h',
  49. 'folly/net/*.h',
  50. 'folly/net/detail/*.h',
  51. 'folly/portability/*.h'
  52. spec.libraries = "stdc++"
  53. spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
  54. "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
  55. "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\"" }
  56. spec.default_subspec = 'Default'
  57. spec.subspec 'Default' do
  58. # no-op
  59. end
  60. spec.subspec 'Fabric' do |fabric|
  61. fabric.source_files = 'folly/SharedMutex.cpp',
  62. 'folly/concurrency/CacheLocality.cpp',
  63. 'folly/detail/Futex.cpp',
  64. 'folly/synchronization/ParkingLot.cpp',
  65. 'folly/portability/Malloc.cpp'
  66. fabric.preserve_paths = 'folly/concurrency/CacheLocality.h',
  67. 'folly/synchronization/ParkingLot.h',
  68. 'folly/synchronization/SanitizeThread.h',
  69. 'folly/system/ThreadId.h'
  70. end
  71. # Pinning to the same version as React.podspec.
  72. spec.platforms = { :ios => "10.0", :tvos => "10.0" }
  73. end