-
-
Save ValeryVerkhoturov/8deb315812a9f9f45b15d115132b2e65 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[!] /bin/bash -c | |
set -e | |
#!/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. | |
set -e | |
PLATFORM_NAME="${PLATFORM_NAME:-iphoneos}" | |
CURRENT_ARCH="${CURRENT_ARCH}" | |
if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then | |
# Xcode 10 beta sets CURRENT_ARCH to "undefined_arch", this leads to incorrect linker arg. | |
# it's better to rely on platform name as fallback because architecture differs between simulator and device | |
if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then | |
CURRENT_ARCH="x86_64" | |
else | |
CURRENT_ARCH="arm64" | |
fi | |
fi | |
# @lint-ignore-every TXT2 Tab Literal | |
if [ "$CURRENT_ARCH" == "arm64" ]; then | |
cat <<\EOF >>fix_glog_0.3.5_apple_silicon.patch | |
diff --git a/config.sub b/config.sub | |
index 1761d8b..43fa2e8 100755 | |
--- a/config.sub | |
+++ b/config.sub | |
@@ -1096,6 +1096,9 @@ case $basic_machine in | |
basic_machine=z8k-unknown | |
os=-sim | |
;; | |
+ arm64-*) | |
+ basic_machine=$(echo $basic_machine | sed 's/arm64/aarch64/') | |
+ ;; | |
none) | |
basic_machine=none-none | |
os=-none | |
EOF | |
patch -p1 config.sub fix_glog_0.3.5_apple_silicon.patch | |
fi | |
export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)" | |
export CXX="$CC" | |
# Remove automake symlink if it exists | |
if [ -h "test-driver" ]; then | |
rm test-driver | |
fi | |
# Manually disable gflags include to fix issue https://github.com/facebook/react-native/issues/28446 | |
sed -i.bak -e 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in && rm src/glog/logging.h.in.bak | |
sed -i.bak -e 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in && rm src/config.h.in.bak | |
./configure --host arm-apple-darwin | |
cat << EOF >> src/config.h | |
/* Add in so we have Apple Target Conditionals */ | |
#ifdef __APPLE__ | |
#include <TargetConditionals.h> | |
#include <Availability.h> | |
#endif | |
/* Special configuration for ucontext */ | |
#undef HAVE_UCONTEXT_H | |
#undef PC_FROM_UCONTEXT | |
#if defined(__x86_64__) | |
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip | |
#elif defined(__i386__) | |
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip | |
#endif | |
EOF | |
# Prepare exported header include | |
EXPORTED_INCLUDE_DIR="exported/glog" | |
mkdir -p exported/glog | |
cp -f src/glog/log_severity.h "$EXPORTED_INCLUDE_DIR/" | |
cp -f src/glog/logging.h "$EXPORTED_INCLUDE_DIR/" | |
cp -f src/glog/raw_logging.h "$EXPORTED_INCLUDE_DIR/" | |
cp -f src/glog/stl_logging.h "$EXPORTED_INCLUDE_DIR/" | |
cp -f src/glog/vlog_is_on.h "$EXPORTED_INCLUDE_DIR/" | |
patching file config.sub | |
checking for a BSD-compatible install... /usr/bin/install -c | |
checking whether build environment is sane... yes | |
checking for arm-apple-darwin-strip... no | |
checking for strip... strip | |
checking for a thread-safe mkdir -p... ./install-sh -c -d | |
checking for gawk... no | |
checking for mawk... no | |
checking for nawk... no | |
checking for awk... awk | |
checking whether make sets $(MAKE)... yes | |
checking whether make supports nested variables... yes | |
checking for arm-apple-darwin-gcc... /Library/Developer/CommandLineTools/usr/bin/cc -arch arm64 -isysroot | |
checking whether the C compiler works... no | |
xcrun: error: SDK "iphoneos" cannot be located | |
xcrun: error: SDK "iphoneos" cannot be located | |
xcrun: error: Failed to open property list '/Users/valerijverhoturov/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-04b94/iphoneos/SDKSettings.plist' | |
xcrun: error: SDK "iphoneos" cannot be located | |
xcrun: error: SDK "iphoneos" cannot be located | |
xcrun: error: unable to lookup item 'Path' in SDK 'iphoneos' | |
/Users/valerijverhoturov/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-04b94/missing: Unknown `--is-lightweight' option | |
Try `/Users/valerijverhoturov/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-04b94/missing --help' for more information | |
configure: WARNING: 'missing' script is too old or missing | |
configure: error: in `/Users/valerijverhoturov/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-04b94': | |
configure: error: C compiler cannot create executables | |
See `config.log' for more details |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment