141 lines
3.8 KiB
Ruby
141 lines
3.8 KiB
Ruby
|
# 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.
|
||
|
|
||
|
# Helper object to wrap the invocation of sysctl
|
||
|
# This makes it easier to mock the behaviour in tests
|
||
|
class SysctlChecker
|
||
|
def call_sysctl_arm64
|
||
|
return `/usr/sbin/sysctl -n hw.optional.arm64 2>&1`.to_i
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Helper class that is used to easily send commands to Xcodebuild
|
||
|
# And that can be subclassed for testing purposes.
|
||
|
class Xcodebuild
|
||
|
def self.version
|
||
|
`xcodebuild -version`
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Helper object to wrap system properties like RUBY_PLATFORM
|
||
|
# This makes it easier to mock the behaviour in tests
|
||
|
class Environment
|
||
|
def ruby_platform
|
||
|
return RUBY_PLATFORM
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class Finder
|
||
|
def self.find_codegen_file(path)
|
||
|
js_files = '-name "Native*.js" -or -name "*NativeComponent.js"'
|
||
|
ts_files = '-name "Native*.ts" -or -name "*NativeComponent.ts"'
|
||
|
return `find #{path} -type f \\( #{js_files} -or #{ts_files} \\)`.split("\n").sort()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
module Helpers
|
||
|
class Constants
|
||
|
@@boost_config = {
|
||
|
:git => "https://github.com/react-native-community/boost-for-react-native",
|
||
|
:compiler_flags => '-Wno-documentation'
|
||
|
}
|
||
|
|
||
|
@@socket_rocket_config = {
|
||
|
:version => '0.7.1'
|
||
|
}
|
||
|
|
||
|
@@folly_config = {
|
||
|
:version => '2024.11.18.00',
|
||
|
:git => 'https://github.com/facebook/folly.git',
|
||
|
:compiler_flags => '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -Wno-comma -Wno-shorten-64-to-32',
|
||
|
:dep_name => 'RCT-Folly/Fabric'
|
||
|
}
|
||
|
|
||
|
@@fast_float_config = {
|
||
|
:git => "https://github.com/fastfloat/fast_float.git",
|
||
|
}
|
||
|
|
||
|
@@fmt_config = {
|
||
|
:git => "https://github.com/fmtlib/fmt.git",
|
||
|
}
|
||
|
|
||
|
@@glog_config = {
|
||
|
:git => "https://github.com/google/glog.git",
|
||
|
}
|
||
|
|
||
|
@@double_conversion_config = {
|
||
|
:git => "https://github.com/google/double-conversion.git",
|
||
|
}
|
||
|
|
||
|
def self.min_ios_version_supported
|
||
|
return '15.1'
|
||
|
end
|
||
|
|
||
|
def self.min_xcode_version_supported
|
||
|
return '15.1'
|
||
|
end
|
||
|
|
||
|
def self.folly_config
|
||
|
return @@folly_config
|
||
|
end
|
||
|
|
||
|
def self.set_folly_config(new_folly_config)
|
||
|
@@folly_config.update(new_folly_config)
|
||
|
end
|
||
|
|
||
|
def self.boost_config
|
||
|
return @@boost_config
|
||
|
end
|
||
|
|
||
|
def self.set_boost_config(new_boost_config)
|
||
|
@@boost_config.update(new_boost_config)
|
||
|
end
|
||
|
|
||
|
def self.socket_rocket_config
|
||
|
return @@socket_rocket_config
|
||
|
end
|
||
|
|
||
|
def self.set_socket_rocket_config(new_socket_rocket_config)
|
||
|
@@socket_rocket_config.update(new_socket_rocket_config)
|
||
|
end
|
||
|
|
||
|
def self.fast_float_config
|
||
|
return @@fast_float_config
|
||
|
end
|
||
|
|
||
|
def self.set_fast_float_config(new_fast_float_config)
|
||
|
@@fast_float_config.update(new_fast_float_config)
|
||
|
end
|
||
|
|
||
|
def self.fmt_config
|
||
|
return @@fmt_config
|
||
|
end
|
||
|
|
||
|
def self.set_fmt_config(new_fmt_config)
|
||
|
@@fmt_config.update(new_fmt_config)
|
||
|
end
|
||
|
|
||
|
def self.glog_config
|
||
|
return @@glog_config
|
||
|
end
|
||
|
|
||
|
def self.set_glog_config(new_glog_config)
|
||
|
@@glog_config.update(new_glog_config)
|
||
|
end
|
||
|
|
||
|
def self.double_conversion_config
|
||
|
return @@double_conversion_config
|
||
|
end
|
||
|
|
||
|
def self.set_double_conversion_config(new_double_conversion_config)
|
||
|
@@double_conversion_config.update(new_double_conversion_config)
|
||
|
end
|
||
|
|
||
|
def self.cxx_language_standard
|
||
|
return "c++20"
|
||
|
end
|
||
|
end
|
||
|
end
|