@rnpack/utils 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example/node_modules/react-native/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +34 -0
- package/example/node_modules/react-native/Libraries/AppDelegate/React-RCTAppDelegate.podspec +88 -0
- package/example/node_modules/react-native/Libraries/Blob/React-RCTBlob.podspec +59 -0
- package/example/node_modules/react-native/Libraries/FBLazyVector/FBLazyVector.podspec +31 -0
- package/example/node_modules/react-native/Libraries/Image/React-RCTImage.podspec +57 -0
- package/example/node_modules/react-native/Libraries/LinkingIOS/React-RCTLinking.podspec +51 -0
- package/example/node_modules/react-native/Libraries/NativeAnimation/React-RCTAnimation.podspec +54 -0
- package/example/node_modules/react-native/Libraries/Network/React-RCTNetwork.podspec +56 -0
- package/example/node_modules/react-native/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +53 -0
- package/example/node_modules/react-native/Libraries/Required/RCTRequired.podspec +30 -0
- package/example/node_modules/react-native/Libraries/Settings/React-RCTSettings.podspec +53 -0
- package/example/node_modules/react-native/Libraries/Text/React-RCTText.podspec +37 -0
- package/example/node_modules/react-native/Libraries/TypeSafety/RCTTypeSafety.podspec +39 -0
- package/example/node_modules/react-native/Libraries/Vibration/React-RCTVibration.podspec +53 -0
- package/example/node_modules/react-native/React/CoreModules/React-CoreModules.podspec +67 -0
- package/example/node_modules/react-native/React/React-RCTFBReactNativeSpec.podspec +95 -0
- package/example/node_modules/react-native/React/React-RCTFabric.podspec +107 -0
- package/example/node_modules/react-native/React/Runtime/React-RCTRuntime.podspec +70 -0
- package/example/node_modules/react-native/React-Core-prebuilt.podspec +78 -0
- package/example/node_modules/react-native/React-Core.podspec +137 -0
- package/example/node_modules/react-native/React.podspec +56 -0
- package/example/node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +25 -0
- package/example/node_modules/react-native/ReactCommon/React-Fabric.podspec +207 -0
- package/example/node_modules/react-native/ReactCommon/React-FabricComponents.podspec +170 -0
- package/example/node_modules/react-native/ReactCommon/React-FabricImage.podspec +79 -0
- package/example/node_modules/react-native/ReactCommon/React-Mapbuffer.podspec +40 -0
- package/example/node_modules/react-native/ReactCommon/ReactCommon.podspec +72 -0
- package/example/node_modules/react-native/ReactCommon/callinvoker/React-callinvoker.podspec +30 -0
- package/example/node_modules/react-native/ReactCommon/cxxreact/React-cxxreact.podspec +56 -0
- package/example/node_modules/react-native/ReactCommon/hermes/React-hermes.podspec +52 -0
- package/example/node_modules/react-native/ReactCommon/hermes/executor/React-jsitracing.podspec +38 -0
- package/example/node_modules/react-native/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +52 -0
- package/example/node_modules/react-native/ReactCommon/jsi/React-jsi.podspec +50 -0
- package/example/node_modules/react-native/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +45 -0
- package/example/node_modules/react-native/ReactCommon/jsinspector-modern/React-jsinspector.podspec +63 -0
- package/example/node_modules/react-native/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +48 -0
- package/example/node_modules/react-native/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +53 -0
- package/example/node_modules/react-native/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +51 -0
- package/example/node_modules/react-native/ReactCommon/jsitooling/React-jsitooling.podspec +47 -0
- package/example/node_modules/react-native/ReactCommon/logger/React-logger.podspec +34 -0
- package/example/node_modules/react-native/ReactCommon/oscompat/React-oscompat.podspec +31 -0
- package/example/node_modules/react-native/ReactCommon/react/debug/React-debug.podspec +34 -0
- package/example/node_modules/react-native/ReactCommon/react/featureflags/React-featureflags.podspec +44 -0
- package/example/node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +54 -0
- package/example/node_modules/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +54 -0
- package/example/node_modules/react-native/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +60 -0
- package/example/node_modules/react-native/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +53 -0
- package/example/node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +55 -0
- package/example/node_modules/react-native/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +52 -0
- package/example/node_modules/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +63 -0
- package/example/node_modules/react-native/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +50 -0
- package/example/node_modules/react-native/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +43 -0
- package/example/node_modules/react-native/ReactCommon/react/renderer/css/React-renderercss.podspec +47 -0
- package/example/node_modules/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +48 -0
- package/example/node_modules/react-native/ReactCommon/react/renderer/graphics/React-graphics.podspec +55 -0
- package/example/node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +56 -0
- package/example/node_modules/react-native/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +59 -0
- package/example/node_modules/react-native/ReactCommon/react/runtime/React-RuntimeCore.podspec +56 -0
- package/example/node_modules/react-native/ReactCommon/react/runtime/React-RuntimeHermes.podspec +53 -0
- package/example/node_modules/react-native/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +72 -0
- package/example/node_modules/react-native/ReactCommon/react/timing/React-timing.podspec +43 -0
- package/example/node_modules/react-native/ReactCommon/react/utils/React-utils.podspec +55 -0
- package/example/node_modules/react-native/ReactCommon/reactperflogger/React-perflogger.podspec +42 -0
- package/example/node_modules/react-native/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +56 -0
- package/example/node_modules/react-native/ReactCommon/yoga/Yoga.podspec +66 -0
- package/example/node_modules/react-native/react-native.config.js +139 -0
- package/example/node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec +165 -0
- package/example/node_modules/react-native/third-party-podspecs/DoubleConversion.podspec +34 -0
- package/example/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec +132 -0
- package/example/node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec +99 -0
- package/example/node_modules/react-native/third-party-podspecs/boost.podspec +34 -0
- package/example/node_modules/react-native/third-party-podspecs/fast_float.podspec +29 -0
- package/example/node_modules/react-native/third-party-podspecs/fmt.podspec +29 -0
- package/example/node_modules/react-native/third-party-podspecs/glog.podspec +47 -0
- package/example/node_modules/react-native-nitro-modules/NitroModules.podspec +90 -0
- package/example/node_modules/react-native-nitro-modules/react-native.config.js +16 -0
- package/example/react-native.config.js +21 -0
- package/lib/typescript/__tests__/utils/string.test.d.ts +2 -0
- package/lib/typescript/__tests__/utils/string.test.d.ts.map +1 -0
- package/package.json +3 -2
- package/lib/module/__mock__/jestSetupFile.js +0 -2
- package/lib/module/__mock__/jestSetupFile.js.map +0 -1
- package/lib/module/__mock__/rnpack-utils-mock.js +0 -23
- package/lib/module/__mock__/rnpack-utils-mock.js.map +0 -1
- /package/{src/__mock__ → __mocks__}/jestSetupFile.js +0 -0
- /package/{src/__mock__ → __mocks__}/rnpack-utils-mock.js +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
/*::
|
|
14
|
+
import type {Command} from '@react-native-community/cli-types';
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// React Native shouldn't be exporting itself like this, the Community Template should be be directly
|
|
18
|
+
// depending on and injecting:
|
|
19
|
+
// - @react-native-community/cli-platform-android
|
|
20
|
+
// - @react-native-community/cli-platform-ios
|
|
21
|
+
// - @react-native/community-cli-plugin (via the @react-native/core-cli-utils package)
|
|
22
|
+
// - codegen command should be inhoused into @react-native-community/cli
|
|
23
|
+
//
|
|
24
|
+
// This is a temporary workaround.
|
|
25
|
+
|
|
26
|
+
const verbose = Boolean(process.env.DEBUG?.includes('react-native'));
|
|
27
|
+
|
|
28
|
+
function findCommunityPlatformPackage(
|
|
29
|
+
spec /*: string */,
|
|
30
|
+
startDir /*: string */ = process.cwd(),
|
|
31
|
+
) {
|
|
32
|
+
// In monorepos, we cannot make any assumptions on where
|
|
33
|
+
// `@react-native-community/*` gets installed. The safest way to find it
|
|
34
|
+
// (barring adding an optional peer dependency) is to start from the project
|
|
35
|
+
// root.
|
|
36
|
+
//
|
|
37
|
+
// Note that we're assuming that the current working directory is the project
|
|
38
|
+
// root. This is also what `@react-native-community/cli` assumes (see
|
|
39
|
+
// https://github.com/react-native-community/cli/blob/14.x/packages/cli-tools/src/findProjectRoot.ts).
|
|
40
|
+
const main = require.resolve(spec, {paths: [startDir]});
|
|
41
|
+
// $FlowIgnore[unsupported-syntax]
|
|
42
|
+
return require(main);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
let android;
|
|
46
|
+
try {
|
|
47
|
+
android = findCommunityPlatformPackage(
|
|
48
|
+
'@react-native-community/cli-platform-android',
|
|
49
|
+
);
|
|
50
|
+
} catch {
|
|
51
|
+
if (verbose) {
|
|
52
|
+
console.warn(
|
|
53
|
+
'@react-native-community/cli-platform-android not found, the react-native.config.js may be unusable.',
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
let ios;
|
|
59
|
+
try {
|
|
60
|
+
ios = findCommunityPlatformPackage(
|
|
61
|
+
'@react-native-community/cli-platform-ios',
|
|
62
|
+
);
|
|
63
|
+
} catch {
|
|
64
|
+
if (verbose) {
|
|
65
|
+
console.warn(
|
|
66
|
+
'@react-native-community/cli-platform-ios not found, the react-native.config.js may be unusable.',
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const commands /*: Array<Command> */ = [];
|
|
72
|
+
|
|
73
|
+
const {
|
|
74
|
+
bundleCommand,
|
|
75
|
+
startCommand,
|
|
76
|
+
} = require('@react-native/community-cli-plugin');
|
|
77
|
+
|
|
78
|
+
commands.push(bundleCommand, startCommand);
|
|
79
|
+
|
|
80
|
+
const codegenCommand /*: Command */ = {
|
|
81
|
+
name: 'codegen',
|
|
82
|
+
options: [
|
|
83
|
+
{
|
|
84
|
+
name: '--path <path>',
|
|
85
|
+
description: 'Path to the React Native project root.',
|
|
86
|
+
default: process.cwd(),
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: '--platform <string>',
|
|
90
|
+
description:
|
|
91
|
+
'Target platform. Supported values: "android", "ios", "all".',
|
|
92
|
+
default: 'all',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: '--outputPath <path>',
|
|
96
|
+
description: 'Path where generated artifacts will be output to.',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: '--source <string>',
|
|
100
|
+
description: 'Whether the script is invoked from an `app` or a `library`',
|
|
101
|
+
default: 'app',
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
func: (argv, config, args) =>
|
|
105
|
+
require('./scripts/codegen/generate-artifacts-executor').execute(
|
|
106
|
+
args.path,
|
|
107
|
+
args.platform,
|
|
108
|
+
args.outputPath,
|
|
109
|
+
args.source,
|
|
110
|
+
),
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
commands.push(codegenCommand);
|
|
114
|
+
|
|
115
|
+
const config = {
|
|
116
|
+
commands,
|
|
117
|
+
platforms: {} /*:: as {[string]: $ReadOnly<{
|
|
118
|
+
projectConfig: mixed,
|
|
119
|
+
dependencyConfig: mixed,
|
|
120
|
+
}>} */,
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
if (ios != null) {
|
|
124
|
+
config.commands.push(...ios.commands);
|
|
125
|
+
config.platforms.ios = {
|
|
126
|
+
projectConfig: ios.projectConfig,
|
|
127
|
+
dependencyConfig: ios.dependencyConfig,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (android != null) {
|
|
132
|
+
config.commands.push(...android.commands);
|
|
133
|
+
config.platforms.android = {
|
|
134
|
+
projectConfig: android.projectConfig,
|
|
135
|
+
dependencyConfig: android.dependencyConfig,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
module.exports = config;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and 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
|
+
|
|
6
|
+
require "json"
|
|
7
|
+
require_relative "./hermes-utils.rb"
|
|
8
|
+
|
|
9
|
+
begin
|
|
10
|
+
react_native_path = File.dirname(Pod::Executable.execute_command('node', ['-p',
|
|
11
|
+
'require.resolve(
|
|
12
|
+
"react-native",
|
|
13
|
+
{paths: [process.argv[1]]},
|
|
14
|
+
)', __dir__]).strip
|
|
15
|
+
)
|
|
16
|
+
rescue => e
|
|
17
|
+
# Fallback to the parent directory if the above command fails (e.g when building locally in OOT Platform)
|
|
18
|
+
react_native_path = File.join(__dir__, "..", "..")
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# package.json
|
|
22
|
+
package = JSON.parse(File.read(File.join(react_native_path, "package.json")))
|
|
23
|
+
version = package['version']
|
|
24
|
+
|
|
25
|
+
source_type = hermes_source_type(version, react_native_path)
|
|
26
|
+
source = podspec_source(source_type, version, react_native_path)
|
|
27
|
+
|
|
28
|
+
Pod::Spec.new do |spec|
|
|
29
|
+
spec.name = "hermes-engine"
|
|
30
|
+
spec.version = version
|
|
31
|
+
spec.summary = "Hermes is a small and lightweight JavaScript engine optimized for running React Native."
|
|
32
|
+
spec.description = "Hermes is a JavaScript engine optimized for fast start-up of React Native apps. It features ahead-of-time static optimization and compact bytecode."
|
|
33
|
+
spec.homepage = "https://hermesengine.dev"
|
|
34
|
+
spec.license = package['license']
|
|
35
|
+
spec.author = "Facebook"
|
|
36
|
+
spec.source = source
|
|
37
|
+
spec.platforms = { :osx => "10.13", :ios => "15.1", :visionos => "1.0", :tvos => "15.1" }
|
|
38
|
+
|
|
39
|
+
spec.preserve_paths = '**/*.*'
|
|
40
|
+
spec.source_files = ''
|
|
41
|
+
|
|
42
|
+
spec.pod_target_xcconfig = {
|
|
43
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
|
|
44
|
+
"CLANG_CXX_LIBRARY" => "compiler-default",
|
|
45
|
+
"GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
spec.ios.vendored_frameworks = "destroot/Library/Frameworks/ios/hermes.framework"
|
|
49
|
+
spec.tvos.vendored_frameworks = "destroot/Library/Frameworks/tvos/hermes.framework"
|
|
50
|
+
spec.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework"
|
|
51
|
+
spec.visionos.vendored_frameworks = "destroot/Library/Frameworks/xros/hermes.framework"
|
|
52
|
+
|
|
53
|
+
if HermesEngineSourceType::isPrebuilt(source_type) then
|
|
54
|
+
|
|
55
|
+
spec.subspec 'Pre-built' do |ss|
|
|
56
|
+
ss.preserve_paths = ["destroot/bin/*"].concat(["**/*.{h,c,cpp}"])
|
|
57
|
+
ss.source_files = "destroot/include/hermes/**/*.h"
|
|
58
|
+
ss.header_mappings_dir = "destroot/include"
|
|
59
|
+
ss.ios.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
|
|
60
|
+
ss.visionos.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
|
|
61
|
+
ss.tvos.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
|
|
62
|
+
ss.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
# Right now, even reinstalling pods with the PRODUCTION flag turned on, does not change the version of hermes that is downloaded
|
|
67
|
+
# To remove the PRODUCTION flag, we want to download the right version of hermes on the flight
|
|
68
|
+
# we do so in a pre-build script we invoke from the Xcode build pipeline
|
|
69
|
+
# We use this only for Apps created using the template. RNTester and Nightlies should not be used to build for Release.
|
|
70
|
+
# We ignore this if we provide a specific tarball: the assumption here is that if you are providing a tarball, is because you want to
|
|
71
|
+
# test something specific for that tarball.
|
|
72
|
+
if source_type == HermesEngineSourceType::DOWNLOAD_PREBUILD_RELEASE_TARBALL
|
|
73
|
+
spec.script_phase = {
|
|
74
|
+
:name => "[Hermes] Replace Hermes for the right configuration, if needed",
|
|
75
|
+
:execution_position => :before_compile,
|
|
76
|
+
:script => <<-EOS
|
|
77
|
+
. "$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh"
|
|
78
|
+
|
|
79
|
+
CONFIG="Release"
|
|
80
|
+
if echo $GCC_PREPROCESSOR_DEFINITIONS | grep -q "DEBUG=1"; then
|
|
81
|
+
CONFIG="Debug"
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
"$NODE_BINARY" "$REACT_NATIVE_PATH/sdks/hermes-engine/utils/replace_hermes_version.js" -c "$CONFIG" -r "#{version}" -p "$PODS_ROOT"
|
|
85
|
+
EOS
|
|
86
|
+
}
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
elsif HermesEngineSourceType::isFromSource(source_type) then
|
|
90
|
+
|
|
91
|
+
spec.subspec 'Hermes' do |ss|
|
|
92
|
+
ss.source_files = ''
|
|
93
|
+
ss.public_header_files = 'API/hermes/*.h'
|
|
94
|
+
ss.header_dir = 'hermes'
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
spec.subspec 'cdp' do |ss|
|
|
98
|
+
ss.source_files = ''
|
|
99
|
+
ss.public_header_files = 'API/hermes/cdp/*.h'
|
|
100
|
+
ss.header_dir = 'hermes/cdp'
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
spec.subspec 'inspector' do |ss|
|
|
104
|
+
ss.source_files = ''
|
|
105
|
+
ss.public_header_files = 'API/hermes/inspector/*.h'
|
|
106
|
+
ss.header_dir = 'hermes/inspector'
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
spec.subspec 'inspector_chrome' do |ss|
|
|
110
|
+
ss.source_files = ''
|
|
111
|
+
ss.public_header_files = 'API/hermes/inspector/chrome/*.h'
|
|
112
|
+
ss.header_dir = 'hermes/inspector/chrome'
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
spec.subspec 'Public' do |ss|
|
|
116
|
+
ss.source_files = ''
|
|
117
|
+
ss.public_header_files = 'public/hermes/Public/*.h'
|
|
118
|
+
ss.header_dir = 'hermes/Public'
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
hermesc_path = "${PODS_ROOT}/hermes-engine/build_host_hermesc"
|
|
122
|
+
|
|
123
|
+
if ENV.has_key?('HERMES_OVERRIDE_HERMESC_PATH') && File.exist?(ENV['HERMES_OVERRIDE_HERMESC_PATH']) then
|
|
124
|
+
hermesc_path = ENV['HERMES_OVERRIDE_HERMESC_PATH']
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
spec.user_target_xcconfig = {
|
|
128
|
+
'HERMES_CLI_PATH' => "#{hermesc_path}/bin/hermesc"
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
spec.prepare_command = ". '#{react_native_path}/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh'"
|
|
132
|
+
|
|
133
|
+
# This podspec is also run in CI to build Hermes without using Pod install
|
|
134
|
+
# and sometimes CI fails because `Pod::Executable` does not exist if it is not run with Pod Install.
|
|
135
|
+
if defined?(Pod::Executable.to_s)
|
|
136
|
+
CMAKE_BINARY = Pod::Executable::which!('cmake')
|
|
137
|
+
# NOTE: Script phases are sorted alphabetically inside Xcode project
|
|
138
|
+
spec.script_phases = [
|
|
139
|
+
{
|
|
140
|
+
:name => '[RN] [1] Build Hermesc',
|
|
141
|
+
:output_files => [
|
|
142
|
+
"#{hermesc_path}/ImportHermesc.cmake"
|
|
143
|
+
],
|
|
144
|
+
:script => <<-EOS
|
|
145
|
+
. "${REACT_NATIVE_PATH}/scripts/xcode/with-environment.sh"
|
|
146
|
+
export CMAKE_BINARY=${CMAKE_BINARY:-#{CMAKE_BINARY}}
|
|
147
|
+
. ${REACT_NATIVE_PATH}/sdks/hermes-engine/utils/build-hermesc-xcode.sh #{hermesc_path} ${REACT_NATIVE_PATH}/ReactCommon/jsi
|
|
148
|
+
EOS
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
:name => '[RN] [2] Build Hermes',
|
|
152
|
+
:input_files => ["#{hermesc_path}/ImportHermesc.cmake"],
|
|
153
|
+
:output_files => [
|
|
154
|
+
"${PODS_ROOT}/hermes-engine/build/iphonesimulator/API/hermes/hermes.framework/hermes"
|
|
155
|
+
],
|
|
156
|
+
:script => <<-EOS
|
|
157
|
+
. "${REACT_NATIVE_PATH}/scripts/xcode/with-environment.sh"
|
|
158
|
+
export CMAKE_BINARY=${CMAKE_BINARY:-#{CMAKE_BINARY}}
|
|
159
|
+
. ${REACT_NATIVE_PATH}/sdks/hermes-engine/utils/build-hermes-xcode.sh #{version} #{hermesc_path}/ImportHermesc.cmake ${REACT_NATIVE_PATH}/ReactCommon/jsi
|
|
160
|
+
EOS
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and 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
|
+
|
|
6
|
+
double_conversion_config = get_double_conversion_config()
|
|
7
|
+
double_conversion_git_url = double_conversion_config[:git]
|
|
8
|
+
|
|
9
|
+
Pod::Spec.new do |spec|
|
|
10
|
+
spec.name = 'DoubleConversion'
|
|
11
|
+
spec.version = '1.1.6'
|
|
12
|
+
spec.license = { :type => 'MIT' }
|
|
13
|
+
spec.homepage = 'https://github.com/google/double-conversion'
|
|
14
|
+
spec.summary = 'Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles'
|
|
15
|
+
spec.authors = 'Google'
|
|
16
|
+
spec.prepare_command = 'mv src double-conversion'
|
|
17
|
+
spec.source = { :git => double_conversion_git_url,
|
|
18
|
+
:tag => "v#{spec.version}" }
|
|
19
|
+
spec.module_name = 'DoubleConversion'
|
|
20
|
+
spec.header_dir = 'double-conversion'
|
|
21
|
+
spec.source_files = 'double-conversion/*.{h,cc}'
|
|
22
|
+
spec.compiler_flags = '-Wno-unreachable-code'
|
|
23
|
+
|
|
24
|
+
spec.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/DoubleConversion\"" }
|
|
25
|
+
|
|
26
|
+
spec.pod_target_xcconfig = {
|
|
27
|
+
"DEFINES_MODULE" => "YES",
|
|
28
|
+
"GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
# Pinning to the same version as React.podspec.
|
|
32
|
+
spec.platforms = min_supported_versions
|
|
33
|
+
|
|
34
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and 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
|
+
|
|
6
|
+
folly_config = get_folly_config()
|
|
7
|
+
folly_config_file = folly_config[:config_file]
|
|
8
|
+
folly_release_version = folly_config[:version]
|
|
9
|
+
folly_git_url = folly_config[:git]
|
|
10
|
+
|
|
11
|
+
Pod::Spec.new do |spec|
|
|
12
|
+
spec.name = 'RCT-Folly'
|
|
13
|
+
# Patched to v2 to address https://github.com/react-native-community/releases/issues/251
|
|
14
|
+
spec.version = folly_release_version
|
|
15
|
+
spec.license = { :type => 'Apache License, Version 2.0' }
|
|
16
|
+
spec.homepage = 'https://github.com/facebook/folly'
|
|
17
|
+
spec.summary = 'An open-source C++ library developed and used at Facebook.'
|
|
18
|
+
spec.authors = 'Facebook'
|
|
19
|
+
spec.source = { :git => folly_git_url,
|
|
20
|
+
:tag => "v#{folly_release_version}" }
|
|
21
|
+
spec.module_name = 'folly'
|
|
22
|
+
spec.prepare_command = "echo '#{folly_config_file.join("\n")}' > folly/folly-config.h"
|
|
23
|
+
spec.header_mappings_dir = '.'
|
|
24
|
+
spec.dependency "boost"
|
|
25
|
+
spec.dependency "DoubleConversion"
|
|
26
|
+
spec.dependency "glog"
|
|
27
|
+
spec.dependency "fast_float", "8.0.0"
|
|
28
|
+
spec.dependency "fmt", "11.0.2"
|
|
29
|
+
spec.compiler_flags = '-Wno-documentation -faligned-new'
|
|
30
|
+
spec.source_files = 'folly/String.cpp',
|
|
31
|
+
'folly/Conv.cpp',
|
|
32
|
+
'folly/Demangle.cpp',
|
|
33
|
+
'folly/FileUtil.cpp',
|
|
34
|
+
'folly/Format.cpp',
|
|
35
|
+
'folly/lang/SafeAssert.cpp',
|
|
36
|
+
'folly/lang/ToAscii.cpp',
|
|
37
|
+
'folly/ScopeGuard.cpp',
|
|
38
|
+
'folly/Unicode.cpp',
|
|
39
|
+
'folly/json/dynamic.cpp',
|
|
40
|
+
'folly/json/json.cpp',
|
|
41
|
+
'folly/json/json_pointer.cpp',
|
|
42
|
+
'folly/container/detail/F14Table.cpp',
|
|
43
|
+
'folly/detail/Demangle.cpp',
|
|
44
|
+
'folly/detail/FileUtilDetail.cpp',
|
|
45
|
+
'folly/detail/SplitStringSimd.cpp',
|
|
46
|
+
'folly/detail/StaticSingletonManager.cpp',
|
|
47
|
+
'folly/detail/UniqueInstance.cpp',
|
|
48
|
+
'folly/hash/SpookyHashV2.cpp',
|
|
49
|
+
'folly/lang/CString.cpp',
|
|
50
|
+
'folly/lang/Exception.cpp',
|
|
51
|
+
'folly/memory/ReentrantAllocator.cpp',
|
|
52
|
+
'folly/memory/detail/MallocImpl.cpp',
|
|
53
|
+
'folly/net/NetOps.cpp',
|
|
54
|
+
'folly/portability/SysUio.cpp',
|
|
55
|
+
'folly/synchronization/SanitizeThread.cpp',
|
|
56
|
+
'folly/system/AtFork.cpp',
|
|
57
|
+
'folly/system/ThreadId.cpp',
|
|
58
|
+
'folly/*.h',
|
|
59
|
+
'folly/algorithm/simd/*.h',
|
|
60
|
+
'folly/algorithm/simd/detail/*.h',
|
|
61
|
+
'folly/chrono/*.h',
|
|
62
|
+
'folly/container/*.h',
|
|
63
|
+
'folly/container/detail/*.h',
|
|
64
|
+
'folly/detail/*.h',
|
|
65
|
+
'folly/functional/*.h',
|
|
66
|
+
'folly/hash/*.h',
|
|
67
|
+
'folly/json/*.h',
|
|
68
|
+
'folly/lang/*.h',
|
|
69
|
+
'folly/memory/*.h',
|
|
70
|
+
'folly/memory/detail/*.h',
|
|
71
|
+
'folly/net/*.h',
|
|
72
|
+
'folly/net/detail/*.h',
|
|
73
|
+
'folly/portability/*.h',
|
|
74
|
+
'folly/system/*.h',
|
|
75
|
+
|
|
76
|
+
# workaround for https://github.com/facebook/react-native/issues/14326
|
|
77
|
+
spec.preserve_paths = 'folly/*.h',
|
|
78
|
+
'folly/algorithm/simd/*.h',
|
|
79
|
+
'folly/algorithm/simd/detail/*.h',
|
|
80
|
+
'folly/chrono/*.h',
|
|
81
|
+
'folly/container/*.h',
|
|
82
|
+
'folly/container/detail/*.h',
|
|
83
|
+
'folly/detail/*.h',
|
|
84
|
+
'folly/functional/*.h',
|
|
85
|
+
'folly/hash/*.h',
|
|
86
|
+
'folly/json/*.h',
|
|
87
|
+
'folly/lang/*.h',
|
|
88
|
+
'folly/memory/*.h',
|
|
89
|
+
'folly/memory/detail/*.h',
|
|
90
|
+
'folly/net/*.h',
|
|
91
|
+
'folly/net/detail/*.h',
|
|
92
|
+
'folly/portability/*.h',
|
|
93
|
+
'folly/system/*.h',
|
|
94
|
+
spec.libraries = "c++abi" # NOTE Apple-only: Keep c++abi here due to https://github.com/react-native-community/releases/issues/251
|
|
95
|
+
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
|
|
96
|
+
"DEFINES_MODULE" => "YES",
|
|
97
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
98
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fast_float/include\" \"$(PODS_ROOT)/fmt/include\"",
|
|
99
|
+
# In dynamic framework (use_frameworks!) mode, ignore the unused and undefined boost symbols when generating the library.
|
|
100
|
+
"OTHER_LDFLAGS" => "\"-Wl,-U,_jump_fcontext\" \"-Wl,-U,_make_fcontext\"",
|
|
101
|
+
"GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
# TODO: The boost spec should really be selecting these files so that dependents of Folly can also access the required headers.
|
|
105
|
+
spec.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"" }
|
|
106
|
+
|
|
107
|
+
spec.default_subspec = 'Default'
|
|
108
|
+
|
|
109
|
+
spec.resource_bundles = {'RCT-Folly_privacy' => 'RCT-Folly/PrivacyInfo.xcprivacy'}
|
|
110
|
+
|
|
111
|
+
spec.subspec 'Default' do
|
|
112
|
+
# no-op
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
spec.subspec 'Fabric' do |fabric|
|
|
116
|
+
fabric.source_files = 'folly/SharedMutex.cpp',
|
|
117
|
+
'folly/concurrency/CacheLocality.cpp',
|
|
118
|
+
'folly/detail/Futex.cpp',
|
|
119
|
+
'folly/synchronization/ParkingLot.cpp',
|
|
120
|
+
'folly/concurrency/CacheLocality.h',
|
|
121
|
+
'folly/synchronization/*.h',
|
|
122
|
+
'folly/system/ThreadId.h'
|
|
123
|
+
|
|
124
|
+
fabric.preserve_paths = 'folly/concurrency/CacheLocality.h',
|
|
125
|
+
'folly/synchronization/*.h',
|
|
126
|
+
'folly/system/ThreadId.h'
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Folly has issues when compiled with iOS 10 set as deployment target
|
|
130
|
+
# See https://github.com/facebook/folly/issues/1470 for details
|
|
131
|
+
spec.platforms = min_supported_versions
|
|
132
|
+
end
|
package/example/node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and 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
|
+
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
begin
|
|
9
|
+
react_native_path = File.dirname(Pod::Executable.execute_command('node', ['-p',
|
|
10
|
+
'require.resolve(
|
|
11
|
+
"react-native",
|
|
12
|
+
{paths: [process.argv[1]]},
|
|
13
|
+
)', __dir__]).strip
|
|
14
|
+
)
|
|
15
|
+
rescue => e
|
|
16
|
+
# Fallback to the parent directory if the above command fails (e.g when building locally in OOT Platform)
|
|
17
|
+
react_native_path = File.join(__dir__, "..", "..")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# package.json
|
|
21
|
+
package = JSON.parse(File.read(File.join(react_native_path, "package.json")))
|
|
22
|
+
version = package['version']
|
|
23
|
+
|
|
24
|
+
source = ReactNativeDependenciesUtils.resolve_podspec_source()
|
|
25
|
+
|
|
26
|
+
Pod::Spec.new do |spec|
|
|
27
|
+
spec.name = 'ReactNativeDependencies'
|
|
28
|
+
spec.version = version
|
|
29
|
+
spec.summary = 'React Native Dependencies'
|
|
30
|
+
spec.description = 'ReactNativeDependencies is a podspec that contains all the third-party dependencies of React Native.'
|
|
31
|
+
spec.homepage = 'https://github.com/facebook/react-native'
|
|
32
|
+
spec.license = package['license']
|
|
33
|
+
spec.authors = 'meta'
|
|
34
|
+
spec.platforms = min_supported_versions
|
|
35
|
+
spec.user_target_xcconfig = {
|
|
36
|
+
'WARNING_CFLAGS' => '-Wno-comma -Wno-shorten-64-to-32',
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
spec.source = source
|
|
40
|
+
spec.preserve_paths = '**/*.*'
|
|
41
|
+
spec.vendored_frameworks = 'framework/packages/react-native/ReactNativeDependencies.xcframework'
|
|
42
|
+
spec.header_mappings_dir = 'Headers'
|
|
43
|
+
spec.source_files = 'Headers/**/*.{h,hpp}'
|
|
44
|
+
|
|
45
|
+
# We need to make sure that the headers are copied to the right place - local tar.gz has a different structure
|
|
46
|
+
# than the one from the maven repo
|
|
47
|
+
spec.prepare_command = <<-CMD
|
|
48
|
+
CURRENT_PATH=$(pwd)
|
|
49
|
+
mkdir -p Headers
|
|
50
|
+
XCFRAMEWORK_PATH=$(find "$CURRENT_PATH" -type d -name "ReactNativeDependencies.xcframework")
|
|
51
|
+
HEADERS_PATH=$(find "$XCFRAMEWORK_PATH" -type d -name "Headers" | head -n 1)
|
|
52
|
+
|
|
53
|
+
# Check if XCFRAMEWORK_PATH is empty
|
|
54
|
+
if [ -z "$XCFRAMEWORK_PATH" ]; then
|
|
55
|
+
echo "ERROR: XCFRAMEWORK_PATH is empty."
|
|
56
|
+
exit 0
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# Check if HEADERS_PATH is empty
|
|
60
|
+
if [ -z "$HEADERS_PATH" ]; then
|
|
61
|
+
echo "ERROR: HEADERS_PATH is empty."
|
|
62
|
+
exit 0
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
cp -R "$HEADERS_PATH/" Headers
|
|
66
|
+
mkdir -p framework/packages/react-native
|
|
67
|
+
cp -R "$XCFRAMEWORK_PATH/../." framework/packages/react-native/
|
|
68
|
+
find "$XCFRAMEWORK_PATH/.." -type f -exec rm {} +
|
|
69
|
+
find "$CURRENT_PATH" -type d -empty -delete
|
|
70
|
+
CMD
|
|
71
|
+
|
|
72
|
+
# If we are passing a local tarball, we don't want to switch between Debug and Release
|
|
73
|
+
if !ENV["RCT_USE_LOCAL_RN_DEP"]
|
|
74
|
+
script_phase = {
|
|
75
|
+
:name => "[RNDeps] Replace React Native Dependencies for the right configuration, if needed",
|
|
76
|
+
:execution_position => :before_compile,
|
|
77
|
+
:script => <<-EOS
|
|
78
|
+
. "$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh"
|
|
79
|
+
|
|
80
|
+
CONFIG="Release"
|
|
81
|
+
if echo $GCC_PREPROCESSOR_DEFINITIONS | grep -q "DEBUG=1"; then
|
|
82
|
+
CONFIG="Debug"
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
"$NODE_BINARY" "$REACT_NATIVE_PATH/third-party-podspecs/replace_dependencies_version.js" -c "$CONFIG" -r "#{version}" -p "$PODS_ROOT"
|
|
86
|
+
EOS
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# :always_out_of_date is only available in CocoaPods 1.13.0 and later
|
|
91
|
+
if Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.13.0')
|
|
92
|
+
# always run the script without warning
|
|
93
|
+
script_phase[:always_out_of_date] = "1"
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
spec.script_phase = script_phase
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and 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
|
+
|
|
6
|
+
boost_config = get_boost_config()
|
|
7
|
+
boost_git_url = boost_config[:git]
|
|
8
|
+
|
|
9
|
+
Pod::Spec.new do |spec|
|
|
10
|
+
spec.name = 'boost'
|
|
11
|
+
spec.version = '1.84.0'
|
|
12
|
+
spec.license = { :type => 'Boost Software License', :file => "LICENSE_1_0.txt" }
|
|
13
|
+
spec.homepage = 'http://www.boost.org'
|
|
14
|
+
spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
|
|
15
|
+
spec.authors = 'Rene Rivera'
|
|
16
|
+
spec.source = { :git => boost_git_url,
|
|
17
|
+
:tag => "v1.84.0" }
|
|
18
|
+
|
|
19
|
+
# Pinning to the same version as React.podspec.
|
|
20
|
+
spec.platforms = min_supported_versions
|
|
21
|
+
spec.requires_arc = false
|
|
22
|
+
spec.source_files = 'boost/**/*.{hpp,cpp}'
|
|
23
|
+
|
|
24
|
+
spec.module_name = 'boost'
|
|
25
|
+
spec.header_dir = 'boost'
|
|
26
|
+
spec.preserve_path = 'boost'
|
|
27
|
+
spec.header_mappings_dir = 'boost/boost'
|
|
28
|
+
|
|
29
|
+
spec.resource_bundles = {'boost_privacy' => 'boost/PrivacyInfo.xcprivacy'}
|
|
30
|
+
|
|
31
|
+
spec.pod_target_xcconfig = {
|
|
32
|
+
"GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
|
|
33
|
+
}
|
|
34
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and 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
|
+
|
|
6
|
+
fast_float_config = get_fast_float_config()
|
|
7
|
+
fast_float_git_url = fast_float_config[:git]
|
|
8
|
+
|
|
9
|
+
Pod::Spec.new do |spec|
|
|
10
|
+
spec.name = "fast_float"
|
|
11
|
+
spec.version = "8.0.0"
|
|
12
|
+
spec.license = { :type => "MIT" }
|
|
13
|
+
spec.homepage = "https://github.com/fastfloat/fast_float"
|
|
14
|
+
spec.summary = "{fast_float} is an open-source number parsing library for C++. The library provides fast header-only implementations."
|
|
15
|
+
spec.authors = "The fast_float contributors"
|
|
16
|
+
spec.source = {
|
|
17
|
+
:git => fast_float_git_url,
|
|
18
|
+
:tag => "v8.0.0"
|
|
19
|
+
}
|
|
20
|
+
spec.pod_target_xcconfig = {
|
|
21
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
22
|
+
"GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
|
|
23
|
+
}
|
|
24
|
+
spec.platforms = min_supported_versions
|
|
25
|
+
spec.libraries = "c++"
|
|
26
|
+
spec.public_header_files = "include/fast_float/*.h"
|
|
27
|
+
spec.header_mappings_dir = "include"
|
|
28
|
+
spec.source_files = ["include/fast_float/*.h"]
|
|
29
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and 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
|
+
|
|
6
|
+
fmt_config = get_fmt_config()
|
|
7
|
+
fmt_git_url = fmt_config[:git]
|
|
8
|
+
|
|
9
|
+
Pod::Spec.new do |spec|
|
|
10
|
+
spec.name = "fmt"
|
|
11
|
+
spec.version = "11.0.2"
|
|
12
|
+
spec.license = { :type => "MIT" }
|
|
13
|
+
spec.homepage = "https://github.com/fmtlib/fmt"
|
|
14
|
+
spec.summary = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams."
|
|
15
|
+
spec.authors = "The fmt contributors"
|
|
16
|
+
spec.source = {
|
|
17
|
+
:git => fmt_git_url,
|
|
18
|
+
:tag => "11.0.2"
|
|
19
|
+
}
|
|
20
|
+
spec.pod_target_xcconfig = {
|
|
21
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
22
|
+
"GCC_WARN_INHIBIT_ALL_WARNINGS" => "YES" # Disable warnings because we don't control this library
|
|
23
|
+
}
|
|
24
|
+
spec.platforms = min_supported_versions
|
|
25
|
+
spec.libraries = "c++"
|
|
26
|
+
spec.public_header_files = "include/fmt/*.h"
|
|
27
|
+
spec.header_mappings_dir = "include"
|
|
28
|
+
spec.source_files = ["include/fmt/*.h", "src/format.cc"]
|
|
29
|
+
end
|