UNPKG

3.39 kBPlain TextView Raw
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
6Pod::Spec.new do |spec|
7 spec.name = 'Folly'
8 spec.version = '2018.10.22.00'
9 spec.license = { :type => 'Apache License, Version 2.0' }
10 spec.homepage = 'https://github.com/facebook/folly'
11 spec.summary = 'An open-source C++ library developed and used at Facebook.'
12 spec.authors = 'Facebook'
13 spec.source = { :git => 'https://github.com/facebook/folly.git',
14 :tag => "v#{spec.version}" }
15 spec.module_name = 'folly'
16 spec.dependency 'boost-for-react-native'
17 spec.dependency 'DoubleConversion'
18 spec.dependency 'glog'
19 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'
20 spec.source_files = 'folly/String.cpp',
21 'folly/Conv.cpp',
22 'folly/Demangle.cpp',
23 'folly/Format.cpp',
24 'folly/ScopeGuard.cpp',
25 'folly/Unicode.cpp',
26 'folly/dynamic.cpp',
27 'folly/json.cpp',
28 'folly/json_pointer.cpp',
29 'folly/container/detail/F14Table.cpp',
30 'folly/detail/Demangle.cpp',
31 'folly/hash/SpookyHashV2.cpp',
32 'folly/lang/Assume.cpp',
33 'folly/lang/ColdClass.cpp',
34 'folly/memory/detail/MallocImpl.cpp'
35
36 # workaround for https://github.com/facebook/react-native/issues/14326
37 spec.preserve_paths = 'folly/*.h',
38 'folly/container/*.h',
39 'folly/container/detail/*.h',
40 'folly/detail/*.h',
41 'folly/functional/*.h',
42 'folly/hash/*.h',
43 'folly/lang/*.h',
44 'folly/memory/*.h',
45 'folly/memory/detail/*.h',
46 'folly/portability/*.h'
47 spec.libraries = "stdc++"
48 spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
49 "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
50 "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\"" }
51
52 spec.default_subspec = 'Default'
53
54 spec.subspec 'Default' do
55 # no-op
56 end
57
58 spec.subspec 'Fabric' do |fabric|
59 fabric.source_files = 'folly/portability/SysUio.cpp',
60 'folly/FileUtil.cpp',
61 'folly/SharedMutex.cpp',
62 'folly/concurrency/CacheLocality.cpp',
63 'folly/detail/Futex.cpp',
64 'folly/lang/SafeAssert.cpp',
65 'folly/synchronization/ParkingLot.cpp',
66 'folly/portability/Malloc.cpp'
67 fabric.preserve_paths = 'folly/concurrency/CacheLocality.h',
68 'folly/synchronization/ParkingLot.h',
69 'folly/synchronization/SanitizeThread.h',
70 'folly/system/ThreadId.h'
71 end
72
73 # Pinning to the same version as React.podspec.
74 spec.platforms = { :ios => "9.0", :tvos => "9.2" }
75end