# 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 = 'Folly' spec.version = '2020.01.13.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 -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/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' # 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\"" } 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 # Pinning to the same version as React.podspec. spec.platforms = { :ios => "10.0", :tvos => "10.0" } end