From 80ccbdcfa01f4a64a5043699d9b15bf5a97c59c1 Mon Sep 17 00:00:00 2001 From: ericlewis Date: Fri, 15 Mar 2019 11:27:26 -0700 Subject: [PATCH] TurboModules: add podspec (#23927) Summary: Add's a podspec to allow linking / building turbomodules. [iOS] [Added] - podspec for turbomodules Pull Request resolved: https://github.com/facebook/react-native/pull/23927 Reviewed By: mdvacca, RSNara Differential Revision: D14474598 Pulled By: fkgozali fbshipit-source-id: afafce0f0af31469a3ef91616575b3b0f36055bc --- RNTester/Podfile | 3 ++ .../core/React-turbomodule-core.podspec | 47 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 ReactCommon/turbomodule/core/React-turbomodule-core.podspec diff --git a/RNTester/Podfile b/RNTester/Podfile index 6677fa793..ec5fe7841 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -31,6 +31,9 @@ target 'RNTester' do pod 'React-jsinspector', :path => '../ReactCommon/jsinspector' pod 'yoga', :path => '../ReactCommon/yoga' + # Uncomment to enable TurboModule + # pod 'React-turbomodule-core', :path => '../ReactCommon/turbomodule/core' + # Third party deps podspec link pod 'DoubleConversion', :podspec => '../third-party-podspecs/DoubleConversion.podspec' pod 'glog', :podspec => '../third-party-podspecs/glog.podspec' diff --git a/ReactCommon/turbomodule/core/React-turbomodule-core.podspec b/ReactCommon/turbomodule/core/React-turbomodule-core.podspec new file mode 100644 index 000000000..8fea5aa26 --- /dev/null +++ b/ReactCommon/turbomodule/core/React-turbomodule-core.podspec @@ -0,0 +1,47 @@ +# coding: utf-8 +# 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. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in. + source[:commit] = `git rev-parse HEAD`.strip +else + source[:tag] = "v#{version}" +end + +folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' +folly_version = '2018.10.22.00' +boost_compiler_flags = '-Wno-documentation' + +Pod::Spec.new do |s| + s.name = "React-turbomodule-core" + s.version = version + s.summary = "-" # TODO + s.homepage = "http://facebook.github.io/react-native/" + s.license = package["license"] + s.author = "Facebook, Inc. and its affiliates" + s.platforms = { :ios => "9.0", :tvos => "9.2" } + s.source = source + s.source_files = "*.{cpp,h}" + s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/Folly\"" } + s.header_dir = "jsireact" + + s.dependency "React-Core", version + s.dependency "React-cxxreact", version + s.dependency "React-jsi", version + s.dependency "Folly", folly_version + + s.subspec "core-ios" do |ss| + ss.source_files = "platform/ios/*.{mm,cpp,h}" + ss.header_dir = "React" + end +end