mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
b9243e00e3
Summary: This is a follow up to my diffs from a couple weeks ago bumping folly version to 2021.04.26. Unfortunately, those diffs did not work when Hermes was enabled, and Flipper was disabled, this fixes that. I've tested the matrix of Hermes enabled/disabled and Flipper enabled/disabled. Changelog: [iOS] Fix Hermes + no Flipper build on Xcode 12.5 Reviewed By: yungsters Differential Revision: D28325790 fbshipit-source-id: e58e1ba4730e7989c48dfd2aae06d91c1d3687db
146 lines
8.2 KiB
Ruby
146 lines
8.2 KiB
Ruby
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
Pod::Spec.new do |spec|
|
|
spec.name = 'RCT-Folly'
|
|
spec.version = '2021.04.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.header_mappings_dir = '.'
|
|
spec.dependency 'boost-for-react-native'
|
|
spec.dependency 'DoubleConversion'
|
|
spec.dependency 'glog'
|
|
spec.dependency 'fmt'
|
|
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'
|
|
spec.source_files = 'folly/String.cpp',
|
|
'folly/Conv.cpp',
|
|
'folly/Demangle.cpp',
|
|
'folly/FileUtil.cpp',
|
|
'folly/Format.cpp',
|
|
'folly/lang/SafeAssert.cpp',
|
|
'folly/lang/ToAscii.cpp',
|
|
'folly/ScopeGuard.cpp',
|
|
'folly/Unicode.cpp',
|
|
'folly/dynamic.cpp',
|
|
'folly/json.cpp',
|
|
'folly/json_pointer.cpp',
|
|
'folly/container/detail/F14Table.cpp',
|
|
'folly/detail/Demangle.cpp',
|
|
'folly/detail/UniqueInstance.cpp',
|
|
'folly/hash/SpookyHashV2.cpp',
|
|
'folly/lang/Assume.cpp',
|
|
'folly/lang/CString.cpp',
|
|
'folly/memory/detail/MallocImpl.cpp',
|
|
'folly/net/NetOps.cpp',
|
|
'folly/portability/SysUio.cpp',
|
|
'folly/system/ThreadId.h',
|
|
'folly/system/ThreadId.cpp',
|
|
'folly/*.h',
|
|
'folly/container/*.h',
|
|
'folly/container/detail/*.h',
|
|
'folly/detail/*.h',
|
|
'folly/functional/*.h',
|
|
'folly/hash/*.h',
|
|
'folly/lang/*.h',
|
|
'folly/memory/*.h',
|
|
'folly/memory/detail/*.h',
|
|
'folly/net/*.h',
|
|
'folly/net/detail/*.h',
|
|
'folly/portability/*.h'
|
|
|
|
# workaround for https://github.com/facebook/react-native/issues/14326
|
|
spec.preserve_paths = 'folly/*.h',
|
|
'folly/container/*.h',
|
|
'folly/container/detail/*.h',
|
|
'folly/detail/*.h',
|
|
'folly/functional/*.h',
|
|
'folly/hash/*.h',
|
|
'folly/lang/*.h',
|
|
'folly/memory/*.h',
|
|
'folly/memory/detail/*.h',
|
|
'folly/net/*.h',
|
|
'folly/net/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\" \"$(PODS_ROOT)/libevent/include/\"" }
|
|
|
|
# TODO: The boost spec should really be selecting these files so that dependents of Folly can also access the required headers.
|
|
spec.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\"" }
|
|
|
|
spec.default_subspec = 'Default'
|
|
|
|
spec.subspec 'Default' do
|
|
# no-op
|
|
end
|
|
|
|
spec.subspec 'Fabric' do |fabric|
|
|
fabric.source_files = 'folly/SharedMutex.cpp',
|
|
'folly/concurrency/CacheLocality.cpp',
|
|
'folly/detail/Futex.cpp',
|
|
'folly/synchronization/ParkingLot.cpp',
|
|
'folly/portability/Malloc.cpp'
|
|
|
|
fabric.preserve_paths = 'folly/concurrency/CacheLocality.h',
|
|
'folly/synchronization/ParkingLot.h',
|
|
'folly/synchronization/SanitizeThread.h',
|
|
'folly/system/ThreadId.h'
|
|
end
|
|
|
|
spec.subspec 'Futures' do |futures|
|
|
futures.dependency 'libevent'
|
|
futures.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => ["$(inherited)", "$(PODS_ROOT)/Headers/Public/libevent/event"] }
|
|
futures.source_files = 'folly/futures/*.{h,cpp}',
|
|
'folly/futures/detail/*.{h,cpp}',
|
|
'folly/executors/*.{h,cpp}',
|
|
'folly/executors/thread_factory/{NamedThreadFactory,ThreadFactory}.{h,cpp}',
|
|
'folly/executors/task_queue/{BlockingQueue,UnboundedBlockingQueue,LifoSemMPMCQueue,PriorityUnboundedBlockingQueue,PriorityLifoSemMPMCQueue}.{h,cpp}',
|
|
'folly/concurrency/*.{h,cpp}',
|
|
'folly/system/{ThreadId,ThreadName,HardwareConcurrency}.{h,cpp}',
|
|
'folly/synchronization/*.{h,cpp}',
|
|
'folly/synchronization/detail/*.{h,cpp}',
|
|
'folly/Try.cpp',
|
|
'folly/concurrency/CacheLocality.cpp',
|
|
'folly/experimental/{ExecutionObserver,ReadMostlySharedPtr,SingleWriterFixedHashMap,TLRefCount}.{h,cpp}',
|
|
'folly/io/async/{AtomicNotificationQueue,AtomicNotificationQueue-inl,AsyncTimeout,DelayedDestruction,DelayedDestructionBase,EventBase,EventBaseManager,EventBaseAtomicNotificationQueue,EventBaseAtomicNotificationQueue-inl,EventBaseBackendBase,EventHandler,EventUtil,HHWheelTimer,HHWheelTimer-fwd,NotificationQueue,Request,TimeoutManager,VirtualEventBase}.{h,cpp}',
|
|
'folly/io/{Cursor,Cursor-inl,IOBuf,IOBufQueue}.{h,cpp}',
|
|
'folly/tracing/StaticTracepoint.{h,cpp}',
|
|
'folly/tracing/AsyncStack.{h,cpp}',
|
|
'folly/tracing/AsyncStack-inl.h',
|
|
'folly/{Executor,ExceptionString,ExceptionWrapper,ExceptionWrapper-inl,FileUtil,Singleton,SharedMutex}.{h,cpp}',
|
|
'folly/detail/{AsyncTrace,AtFork,Futex,Futex-inl,MemoryIdler,SingletonStackTrace,StaticSingletonManager,ThreadLocalDetail}.{h,cpp}',
|
|
'folly/lang/SafeAssert.{h,cpp}',
|
|
'folly/memory/MallctlHelper.{h,cpp}',
|
|
'folly/portability/{GFlags,SysUio}.{h,cpp}',
|
|
'folly/portability/SysMembarrier.cpp',
|
|
'folly/chrono/Hardware.{h,cpp}',
|
|
'folly/experimental/coro/Traits.{h,cpp}',
|
|
'folly/fibers/*.{h,cpp}',
|
|
'folly/experimental/coro/Coroutine.{h,cpp}',
|
|
'folly/fibers/Baton-inl.h',
|
|
'folly/experimental/**/*.h',
|
|
'folly/system/Pid.{h,cpp}'
|
|
# TODO: Perhaps some of the wildcards above can be further trimmed down with some of these:
|
|
#
|
|
# 'folly/executors/{DrivableExecutor,InlineExecutor,QueuedImmediateExecutor,TimedDrivableExecutor}.{h,cpp}',
|
|
# 'folly/concurrency/{CacheLocality,UnboundedQueue}.{h,cpp}',
|
|
# 'folly/system/ThreadId.h',
|
|
# 'folly/synchronization/Hazptr{,-fwd,Domain,Holder,Obj,ObjLinked,Rec,ThrLocal}.{h,cpp}',
|
|
# 'folly/synchronization/{AsymmetricMemoryBarrier,AtomicStruct,Baton,MicroSpinLock,ParkingLot,RWSpinLock,SanitizeThread,SaturatingSemaphore,WaitOptions}.{h,cpp}',
|
|
# 'folly/synchronization/detail/{AtomicUtils,Sleeper,Spin}.{h,cpp}',
|
|
# 'folly/experimental/{ReadMostlySharedPtr,TLRefCount}.h',
|
|
end
|
|
|
|
# Folly has issues when compiled with iOS 10 set as deployment target
|
|
# See https://github.com/facebook/folly/issues/1470 for details
|
|
spec.platforms = { :ios => "9.0", :tvos => "9.0" }
|
|
end
|