From 6ba5a410a072917e5af23bedf9ba64c5254f9799 Mon Sep 17 00:00:00 2001 From: Pritesh Nandgaonkar Date: Tue, 6 Apr 2021 06:01:41 -0700 Subject: [PATCH] Update glog and doubleconversion which uses xcframework (#2153) Summary: This PR updates the Glog and DoubleConversion deps. Now the deps are shipped with precompiled xcframework. It will speed up our build time a bit. The definition can be found [here for glog](https://github.com/priteshrnandgaonkar/glog/tree/update-0.3.5) and [here for double-conversion](https://github.com/priteshrnandgaonkar/double-conversion/) There has been improvements in time. I will try to precompile folly to improve the timings significantly. ## Changelog - Updated the Glog and DoubleConversion deps to the precompiled xcframework one - Updated the sample app's Podfile.lock Pull Request resolved: https://github.com/facebook/flipper/pull/2153 Test Plan: - CI should be green - Verified that sample app builds. Reviewed By: mweststrate Differential Revision: D27560567 Pulled By: priteshrnandgaonkar fbshipit-source-id: ba295cbe84bb9d5ed6bd6ab17bd1cf5ea22f3cee --- .github/workflows/iOS-dependent-pod-lint.yml | 24 +------ iOS/Podspecs/Flipper-DoubleConversion.podspec | 22 ------- iOS/Podspecs/Flipper-Glog.podspec | 38 ----------- iOS/Podspecs/scripts/ios-configure-glog.sh | 63 ------------------- iOS/Sample/Podfile.lock | 8 +-- iOS/SampleSwift/Podfile.lock | 8 +-- iOS/Tutorial/Podfile.lock | 10 +-- 7 files changed, 14 insertions(+), 159 deletions(-) delete mode 100644 iOS/Podspecs/Flipper-DoubleConversion.podspec delete mode 100644 iOS/Podspecs/Flipper-Glog.podspec delete mode 100644 iOS/Podspecs/scripts/ios-configure-glog.sh diff --git a/.github/workflows/iOS-dependent-pod-lint.yml b/.github/workflows/iOS-dependent-pod-lint.yml index 02536c225..ccfe1a65c 100644 --- a/.github/workflows/iOS-dependent-pod-lint.yml +++ b/.github/workflows/iOS-dependent-pod-lint.yml @@ -8,18 +8,6 @@ on: - "iOS/Podspecs/**" jobs: - lint-flipper_doubleconversion_pod: - runs-on: macos-latest - defaults: - run: - working-directory: iOS/Podspecs - steps: - - uses: actions/checkout@v2 - - name: Install Dependences - run: pod repo update - - name: Lint DoubleConversion - run: pod spec lint Flipper-DoubleConversion.podspec --use-libraries --allow-warnings --verbose --skip-import-validation - lint-flipper_folly_pod: runs-on: macos-latest defaults: @@ -31,17 +19,6 @@ jobs: run: pod repo update - name: Lint Folly run: pod spec lint Flipper-Folly.podspec --use-libraries --allow-warnings --verbose --skip-import-validation - lint-flipper_glog_pod: - runs-on: macos-latest - defaults: - run: - working-directory: iOS/Podspecs - steps: - - uses: actions/checkout@v2 - - name: Install Dependences - run: pod repo update - - name: Lint Glog - run: pod spec lint Flipper-Glog.podspec --use-libraries --allow-warnings --verbose --skip-import-validation lint-flipper_peertalk_pod: runs-on: macos-latest @@ -54,6 +31,7 @@ jobs: run: pod repo update - name: Lint Peertalk run: pod spec lint Flipper-PeerTalk.podspec --use-libraries --allow-warnings --verbose --skip-import-validation + lint-flipper_rsocket_pod: runs-on: macos-latest defaults: diff --git a/iOS/Podspecs/Flipper-DoubleConversion.podspec b/iOS/Podspecs/Flipper-DoubleConversion.podspec deleted file mode 100644 index 19257bc28..000000000 --- a/iOS/Podspecs/Flipper-DoubleConversion.podspec +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. - -Pod::Spec.new do |spec| - spec.name = 'Flipper-DoubleConversion' - spec.version = '1.1.7' - spec.license = { :type => 'MIT' } - spec.homepage = 'https://github.com/google/double-conversion' - spec.summary = 'Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles' - spec.authors = 'Google' - spec.prepare_command = 'mv src double-conversion' - spec.source = { :git => 'https://github.com/google/double-conversion.git', - :tag => "v1.1.6" } - spec.module_name = 'DoubleConversion' - spec.header_dir = 'double-conversion' - spec.source_files = 'double-conversion/*.{h,cc}' - spec.compiler_flags = '-Wno-unreachable-code' - spec.platforms = { :ios => "8.0", :tvos => "8.0" } - -end diff --git a/iOS/Podspecs/Flipper-Glog.podspec b/iOS/Podspecs/Flipper-Glog.podspec deleted file mode 100644 index b3053d8b4..000000000 --- a/iOS/Podspecs/Flipper-Glog.podspec +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. - -Pod::Spec.new do |spec| - spec.name = 'Flipper-Glog' - spec.version = '0.3.6' - spec.license = { :type => 'Google', :file => 'COPYING' } - spec.homepage = 'https://github.com/google/glog' - spec.summary = 'Google logging module' - spec.authors = 'Google' - - spec.prepare_command = File.read("./scripts/ios-configure-glog.sh") - spec.source = { :git => 'https://github.com/google/glog.git', - :tag => "v0.3.5" } - spec.module_name = 'glog' - spec.header_dir = 'glog' - spec.source_files = 'src/glog/*.h', - 'src/demangle.cc', - 'src/logging.cc', - 'src/raw_logging.cc', - 'src/signalhandler.cc', - 'src/symbolize.cc', - 'src/utilities.cc', - 'src/vlog_is_on.cc' - # workaround for https://github.com/facebook/react-native/issues/14326 - spec.preserve_paths = 'src/*.h', - 'src/base/*.h' - spec.exclude_files = "src/windows/**/*" - spec.libraries = "stdc++" - spec.compiler_flags = '-Wno-shorten-64-to-32' - spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO", - "HEADER_SEARCH_PATHS" => "$(PODS_TARGET_SRCROOT)/src" } - - spec.platforms = { :ios => "8.0", :tvos => "8.0" } - -end diff --git a/iOS/Podspecs/scripts/ios-configure-glog.sh b/iOS/Podspecs/scripts/ios-configure-glog.sh deleted file mode 100644 index 4450d3016..000000000 --- a/iOS/Podspecs/scripts/ios-configure-glog.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash -# Copyright (c) Facebook, Inc. and its 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="armv7" - fi -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 - -./configure --host arm-apple-darwin - -# Fix build for tvOS -cat << EOF >> src/config.h -/* Add in so we have Apple Target Conditionals */ -#ifdef __APPLE__ -#include -#include -#endif -/* Special configuration for AppleTVOS */ -#if TARGET_OS_TV -#undef HAVE_SYSCALL_H -#undef HAVE_SYS_SYSCALL_H -#undef OS_MACOSX -#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/" diff --git a/iOS/Sample/Podfile.lock b/iOS/Sample/Podfile.lock index cd84a35ce..d839d88b3 100644 --- a/iOS/Sample/Podfile.lock +++ b/iOS/Sample/Podfile.lock @@ -7,14 +7,14 @@ PODS: - Flipper (0.83.0): - Flipper-Folly (~> 2.5) - Flipper-RSocket (~> 1.3) - - Flipper-DoubleConversion (1.1.7) + - Flipper-DoubleConversion (3.1.7) - Flipper-Folly (2.5.1): - boost-for-react-native - Flipper-DoubleConversion - Flipper-Glog - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.180) - - Flipper-Glog (0.3.6) + - Flipper-Glog (0.3.8) - Flipper-PeerTalk (0.0.4) - Flipper-RSocket (1.3.1): - Flipper-Folly (~> 2.5) @@ -123,9 +123,9 @@ SPEC CHECKSUMS: CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 ComponentKit: c34da1ab3515cf18db68a4ba22c6599568d1de74 Flipper: b0aa213451d3d7b676af949f207dc8018e6594a7 - Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 + Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c Flipper-Folly: f7a3caafbd74bda4827954fd7a6e000e36355489 - Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-Glog: 565852920d7e9c3417be83353e6973e684ce2f48 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: 127954abe8b162fcaf68d2134d34dc2bd7076154 FlipperKit: 22f9df8eb83cb3dbeda3e0bd7f594aa2542adfc8 diff --git a/iOS/SampleSwift/Podfile.lock b/iOS/SampleSwift/Podfile.lock index 7223cb2bd..f30a5d9b5 100644 --- a/iOS/SampleSwift/Podfile.lock +++ b/iOS/SampleSwift/Podfile.lock @@ -7,14 +7,14 @@ PODS: - Flipper (0.83.0): - Flipper-Folly (~> 2.5) - Flipper-RSocket (~> 1.3) - - Flipper-DoubleConversion (1.1.7) + - Flipper-DoubleConversion (3.1.7) - Flipper-Folly (2.5.1): - boost-for-react-native - Flipper-DoubleConversion - Flipper-Glog - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.180) - - Flipper-Glog (0.3.6) + - Flipper-Glog (0.3.8) - Flipper-PeerTalk (0.0.4) - Flipper-RSocket (1.3.1): - Flipper-Folly (~> 2.5) @@ -120,9 +120,9 @@ SPEC CHECKSUMS: CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 ComponentKit: c34da1ab3515cf18db68a4ba22c6599568d1de74 Flipper: b0aa213451d3d7b676af949f207dc8018e6594a7 - Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 + Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c Flipper-Folly: f7a3caafbd74bda4827954fd7a6e000e36355489 - Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-Glog: 565852920d7e9c3417be83353e6973e684ce2f48 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: 127954abe8b162fcaf68d2134d34dc2bd7076154 FlipperKit: 22f9df8eb83cb3dbeda3e0bd7f594aa2542adfc8 diff --git a/iOS/Tutorial/Podfile.lock b/iOS/Tutorial/Podfile.lock index a7d8e1089..7452d769b 100644 --- a/iOS/Tutorial/Podfile.lock +++ b/iOS/Tutorial/Podfile.lock @@ -7,14 +7,14 @@ PODS: - Flipper (0.83.0): - Flipper-Folly (~> 2.5) - Flipper-RSocket (~> 1.3) - - Flipper-DoubleConversion (1.1.7) + - Flipper-DoubleConversion (3.1.7) - Flipper-Folly (2.5.1): - boost-for-react-native - Flipper-DoubleConversion - Flipper-Glog - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.180) - - Flipper-Glog (0.3.6) + - Flipper-Glog (0.3.7) - Flipper-PeerTalk (0.0.4) - Flipper-RSocket (1.3.1): - Flipper-Folly (~> 2.5) @@ -103,9 +103,9 @@ SPEC CHECKSUMS: CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 ComponentKit: c34da1ab3515cf18db68a4ba22c6599568d1de74 Flipper: b0aa213451d3d7b676af949f207dc8018e6594a7 - Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 + Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c Flipper-Folly: f7a3caafbd74bda4827954fd7a6e000e36355489 - Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-Glog: 93294aae064daf7f7e2b6e9d41a13fab9388f227 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: 127954abe8b162fcaf68d2134d34dc2bd7076154 FlipperKit: 22f9df8eb83cb3dbeda3e0bd7f594aa2542adfc8 @@ -115,6 +115,6 @@ SPEC CHECKSUMS: Yoga: cff67a400f6b74dc38eb0bad4f156673d9aa980c YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: c727350949b010875a794c4cb3b9e3519a7276f3 +PODFILE CHECKSUM: e9ad693aeb079876464003d71844bf0cac1eddb8 COCOAPODS: 1.10.1