mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: Within the `hermes-engine.podspec` contained in the RN repo (at `react-native/main/sdks/hermes-engine/`), there's a bit of logic that triggers `./utils/build-ios-framework.sh` and `./utils/build-mac-framework.sh` . The issue is that we all thought that that `./utils/build-ios-framework.sh` would invoke the React native version of the scripts (since the podspec file lives right next to the `utils` folder) but, in reality, it doesn't. It just so happens that the Hermes repo has a root level `utils` folder which is (you guessed it) where the Hermes variation of those build scripts live. So, when running the pod install command in a react-native project (build from source), it will go and download the hermes source code (since the `source[:git]` gets set) but then it will use the **hermes** variation of the `build-*.sh` scripts. [Read more here](https://github.com/facebook/react-native/pull/34513#issuecomment-1248286691). This PR is taking kudo's proposed [patch here](https://github.com/reactwg/react-native-new-architecture/discussions/68#discussioncomment-3654191) - props for the fix go to him. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [iOS] [Fixed] - Change hermes logic in build scripts for Apple to use the correct files Pull Request resolved: https://github.com/facebook/react-native/pull/34710 Test Plan: Tested by kudo in his work, and in my PR locally - [see here](https://github.com/facebook/react-native/pull/34513#issuecomment-1249431302). Reviewed By: cortinico Differential Revision: D39647057 Pulled By: cipolleschi fbshipit-source-id: 6520e248801a307ca2f8886a3853dd1ff4af193d
18 lines
668 B
Bash
Executable File
18 lines
668 B
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
# shellcheck source=xplat/js/react-native-github/sdks/hermes-engine/utils/build-apple-framework.sh
|
|
CURR_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
|
|
. "${CURR_SCRIPT_DIR}/build-apple-framework.sh"
|
|
|
|
if [ ! -d destroot/Library/Frameworks/macosx/hermes.framework ]; then
|
|
mac_deployment_target=$(get_mac_deployment_target)
|
|
|
|
build_apple_framework "macosx" "x86_64;arm64" "$mac_deployment_target"
|
|
else
|
|
echo "Skipping; Clean \"destroot\" to rebuild".
|
|
fi
|