Repository navigation
Expand file tree
/
Copy pathNativeUtils.podspec
More file actions
67 lines (55 loc) · 2.45 KB
/
Copy pathNativeUtils.podspec
File metadata and controls
67 lines (55 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
require "json"
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
Pod::Spec.new do |s|
s.name = "NativeUtils"
s.version = package["version"]
s.summary = package["description"]
s.homepage = package["homepage"]
s.license = package["license"]
s.authors = package["author"]
s.platforms = { :ios => min_ios_version_supported }
s.source = { :git => "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/MetaMask/native-utils.git", :tag => "#{s.version}" }
s.source_files = [
"ios/**/*.{swift}",
"ios/**/*.{m,mm}",
"cpp/*.{hpp,cpp}",
"cpp/*.{h,c}",
"cpp/secp256k1/src/*.{h,c}",
"cpp/botan_conditional.cpp", # Botan conditional compilation
]
s.exclude_files = [
# Exclude secp256k1 test files
"cpp/secp256k1/src/tests.c",
"cpp/secp256k1/src/tests_exhaustive.c",
"cpp/secp256k1/src/ctime_tests.c",
"cpp/secp256k1/src/bench.c",
"cpp/secp256k1/src/bench_internal.c",
"cpp/secp256k1/src/bench_ecmult.c",
"cpp/secp256k1/src/testrand.h",
"cpp/secp256k1/src/testutil.h",
"cpp/secp256k1/src/selftest.h",
"cpp/secp256k1/src/**/tests_impl.h",
"cpp/secp256k1/src/**/bench_impl.h",
# Exclude Botan submodule (we use generated amalgamation files)
"cpp/botan/**/*",
]
s.public_header_files = [
"cpp/secp256k1/include/secp256k1.h",
"cpp/botan_conditional.h", # Botan conditional header
]
s.header_dir = "secp256k1"
s.header_mappings_dir = "cpp/secp256k1/include"
s.pod_target_xcconfig = {
# C++ compiler flags, mainly for folly and Botan
"GCC_PREPROCESSOR_DEFINITIONS" => "$(inherited) FOLLY_NO_CONFIG FOLLY_CFG_NO_COROUTINES USE_ECMULT_STATIC_PRECOMPUTATION USE_FIELD_10X26 USE_SCALAR_8X32 ECMULT_WINDOW_SIZE=15 ECMULT_GEN_PREC_BITS=4",
"HEADER_SEARCH_PATHS" => "$(inherited) $(PODS_TARGET_SRCROOT)/cpp $(PODS_TARGET_SRCROOT)/cpp/botan_generated $(PODS_TARGET_SRCROOT)/cpp/secp256k1 $(PODS_TARGET_SRCROOT)/cpp/secp256k1/include $(PODS_TARGET_SRCROOT)/cpp/secp256k1/src",
"OTHER_CFLAGS" => "$(inherited) -DUSE_ECMULT_STATIC_PRECOMPUTATION -DUSE_FIELD_10X26 -DUSE_SCALAR_8X32 -DECMULT_WINDOW_SIZE=15 -DECMULT_GEN_PREC_BITS=4",
"CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES" => "YES",
"GCC_SYMBOLS_PRIVATE_EXTERN" => "YES" # Hide symbols for clean API
}
s.dependency 'React-jsi'
s.dependency 'React-callinvoker'
load 'nitrogen/generated/ios/NativeUtils+autolinking.rb'
add_nitrogen_files(s)
install_modules_dependencies(s)
end