Merge "Migrate ring to monorepo." into main
diff --git a/Android.bp b/Android.bp
index fdf384c..96beb97 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,643 +1 @@
-// This file is generated by cargo_embargo.
-// Do not modify this file after the first "rust_*" or "genrule" module
-// because the changes will be overridden on upgrade.
-// Content before the first "rust_*" or "genrule" module is preserved.
-
-package {
- default_applicable_licenses: ["external_rust_crates_ring_license"],
-}
-
-// Added automatically by a large-scale-change that took the approach of
-// 'apply every license found to every target'. While this makes sure we respect
-// every license restriction, it may not be entirely correct.
-//
-// e.g. GPL in an MIT project might only apply to the contrib/ directory.
-//
-// Please consider splitting the single license below into multiple licenses,
-// taking care not to lose any license_kind information, and overriding the
-// default license using the 'licenses: [...]' property on targets as needed.
-//
-// For unused files, consider creating a 'fileGroup' with "//visibility:private"
-// to attach the license to, and including a comment whether the files may be
-// used in the current project.
-// See: http://go/android-license-faq
-license {
- name: "external_rust_crates_ring_license",
- visibility: [":__subpackages__"],
- license_kinds: [
- "SPDX-license-identifier-BSD",
- "SPDX-license-identifier-ISC",
- "SPDX-license-identifier-MIT",
- "SPDX-license-identifier-OpenSSL",
- "legacy_unencumbered",
- ],
- license_text: [
- "LICENSE",
- ],
-}
-
-rust_library {
- name: "libring",
- host_supported: true,
- crate_name: "ring",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "src/lib.rs",
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libspin",
- "libuntrusted",
- ],
- whole_static_libs: [
- "libring-core",
- "libring-test",
- ],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
- product_available: true,
- vendor_available: true,
- min_sdk_version: "29",
-}
-
-rust_test {
- name: "ring_test_src_lib",
- host_supported: true,
- crate_name: "ring",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "src/lib.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libspin",
- "libuntrusted",
- ],
- whole_static_libs: [
- "libring-core",
- "libring-test",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_aead_tests",
- host_supported: true,
- crate_name: "aead_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/aead_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_agreement_tests",
- host_supported: true,
- crate_name: "agreement_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/agreement_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_constant_time_tests",
- host_supported: true,
- crate_name: "constant_time_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/constant_time_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_digest_tests",
- host_supported: true,
- crate_name: "digest_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/digest_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_ecdsa_tests",
- host_supported: true,
- crate_name: "ecdsa_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/ecdsa_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_ed25519_tests",
- host_supported: true,
- crate_name: "ed25519_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/ed25519_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_hkdf_tests",
- host_supported: true,
- crate_name: "hkdf_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/hkdf_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_hmac_tests",
- host_supported: true,
- crate_name: "hmac_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/hmac_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_pbkdf2_tests",
- host_supported: true,
- crate_name: "pbkdf2_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/pbkdf2_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_quic_tests",
- host_supported: true,
- crate_name: "quic_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/quic_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_rand_tests",
- host_supported: true,
- crate_name: "rand_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/rand_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_rsa_tests",
- host_supported: true,
- crate_name: "rsa_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/rsa_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_test {
- name: "ring_test_tests_signature_tests",
- host_supported: true,
- crate_name: "signature_tests",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "tests/signature_tests.rs",
- test_suites: ["general-tests"],
- auto_gen_config: true,
- test_options: {
- unit_test: false,
- },
- edition: "2018",
- features: [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std",
- ],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libring",
- "libspin",
- "libuntrusted",
- ],
-}
-
-rust_library_rlib {
- name: "libring_nostd",
- crate_name: "ring",
- cargo_env_compat: true,
- cargo_pkg_version: "0.17.0-alpha.11",
- crate_root: "src/lib.rs",
- edition: "2018",
- features: ["once_cell"],
- rustlibs: [
- "liblibc",
- "libonce_cell",
- "libspin_nostd",
- "libuntrusted",
- ],
- whole_static_libs: [
- "libring-core",
- "libring-test",
- ],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
- prefer_rlib: true,
- no_stdlibs: true,
- stdlibs: [
- "libcompiler_builtins.rust_sysroot",
- "libcore.rust_sysroot",
- ],
- product_available: true,
- vendor_available: true,
- min_sdk_version: "29",
-}
-
-cc_library_static {
- name: "libring-core",
- host_supported: true,
- srcs: [
- "crypto/cpu-intel.c",
- "crypto/fipsmodule/aes/aes_nohw.c",
- "crypto/crypto.c",
- "crypto/poly1305/poly1305.c",
- "crypto/poly1305/poly1305_vec.c",
- "crypto/curve25519/curve25519.c",
- "crypto/fipsmodule/ec/ecp_nistz.c",
- "crypto/fipsmodule/ec/gfp_p256.c",
- "crypto/fipsmodule/ec/gfp_p384.c",
- "crypto/fipsmodule/ec/p256.c",
- "crypto/fipsmodule/rsa/padding.c",
- "crypto/limbs/limbs.c",
- "crypto/mem.c",
- "crypto/fipsmodule/bn/montgomery.c",
- "crypto/fipsmodule/bn/montgomery_inv.c",
- ],
-
- arch: {
- arm: {
- srcs: [
- "crypto/poly1305/poly1305_arm.c",
- "crypto/poly1305/poly1305_arm_asm.S",
- "pregenerated/armv4-mont-linux32.S",
- "crypto/curve25519/asm/x25519-asm-arm.S",
- "pregenerated/sha256-armv4-linux32.S",
- "pregenerated/sha512-armv4-linux32.S",
- "pregenerated/aesv8-armx-linux32.S",
- "pregenerated/bsaes-armv7-linux32.S",
- "pregenerated/ghashv8-armx-linux32.S",
- "pregenerated/vpaes-armv7-linux32.S",
- "pregenerated/ghash-armv4-linux32.S",
- "pregenerated/chacha-armv4-linux32.S",
- ],
- },
- arm64: {
- srcs: [
- "pregenerated/aesv8-armx-linux64.S",
- "pregenerated/armv8-mont-linux64.S",
- "pregenerated/chacha-armv8-linux64.S",
- "pregenerated/ghash-neon-armv8-linux64.S",
- "pregenerated/ghashv8-armx-linux64.S",
- "pregenerated/sha256-armv8-linux64.S",
- "pregenerated/sha512-armv8-linux64.S",
- "pregenerated/vpaes-armv8-linux64.S",
- ],
- },
- x86: {
- srcs: [
- "pregenerated/aesni-x86-elf.S",
- "pregenerated/chacha-x86-elf.S",
- "pregenerated/ghash-x86-elf.S",
- "pregenerated/vpaes-x86-elf.S",
- "pregenerated/x86-mont-elf.S",
- ],
- },
- x86_64: {
- srcs: [
- "crypto/fipsmodule/ec/p256-x86_64.c",
- "pregenerated/aesni-gcm-x86_64-elf.S",
- "pregenerated/aesni-x86_64-elf.S",
- "pregenerated/chacha-x86_64-elf.S",
- "pregenerated/chacha20_poly1305_x86_64-elf.S",
- "pregenerated/ghash-x86_64-elf.S",
- "pregenerated/p256-x86_64-asm-elf.S",
- "pregenerated/sha256-x86_64-elf.S",
- "pregenerated/sha512-x86_64-elf.S",
- "pregenerated/vpaes-x86_64-elf.S",
- "pregenerated/x86_64-mont5-elf.S",
- "pregenerated/x86_64-mont-elf.S",
- ],
- },
- riscv64: {
- cflags: ["-DOPENSSL_NO_ASM"],
- },
- },
-
- cflags: [
- "-O3",
- "-Wno-error",
- "-fPIC",
- "-fdata-sections",
- "-ffunction-sections",
- "-fno-omit-frame-pointer",
- "-fno-strict-aliasing",
- "-fstack-protector",
- "-fvisibility=hidden",
- "-DNDEBUG",
- ],
- local_include_dirs: ["include"],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
- vendor_available: true,
- product_available: true,
- min_sdk_version: "29",
-
- // b/336916369: This library gets linked into a rust rlib. Disable LTO
- // until cross-language lto is supported.
- lto: {
- never: true,
- },
-}
-
-cc_library_static {
- name: "libring-test",
- host_supported: true,
- srcs: [
- "crypto/constant_time_test.c",
- ],
- local_include_dirs: ["include"],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
- vendor_available: true,
- product_available: true,
- min_sdk_version: "29",
-
- // b/336916369: This library gets linked into a rust rlib. Disable LTO
- // until cross-language lto is supported.
- lto: {
- never: true,
- },
-}
+// This crate has been migrated to external/rust/android-crates-io.
diff --git a/TEST_MAPPING b/TEST_MAPPING
deleted file mode 100644
index d53283e..0000000
--- a/TEST_MAPPING
+++ /dev/null
@@ -1,108 +0,0 @@
-// Generated by update_crate_tests.py for tests that depend on this crate.
-{
- "imports": [
- {
- "path": "external/rust/crates/quiche"
- },
- {
- "path": "external/rust/crates/webpki"
- },
- {
- "path": "packages/modules/DnsResolver"
- }
- ],
- "postsubmit": [
- {
- "name": "ring_test_src_lib",
- "options": [
- {
- "test-timeout": "100000"
- }
- ]
- },
- {
- "name": "ring_test_tests_digest_tests",
- "options": [
- {
- "test-timeout": "600000"
- }
- ]
- }
- ],
- "presubmit": [
- {
- "name": "ring_test_tests_aead_tests"
- },
- {
- "name": "ring_test_tests_agreement_tests"
- },
- {
- "name": "ring_test_tests_constant_time_tests"
- },
- {
- "name": "ring_test_tests_ecdsa_tests"
- },
- {
- "name": "ring_test_tests_ed25519_tests"
- },
- {
- "name": "ring_test_tests_hkdf_tests"
- },
- {
- "name": "ring_test_tests_hmac_tests"
- },
- {
- "name": "ring_test_tests_pbkdf2_tests"
- },
- {
- "name": "ring_test_tests_quic_tests"
- },
- {
- "name": "ring_test_tests_rand_tests"
- },
- {
- "name": "ring_test_tests_rsa_tests"
- },
- {
- "name": "ring_test_tests_signature_tests"
- }
- ],
- "presubmit-rust": [
- {
- "name": "ring_test_tests_aead_tests"
- },
- {
- "name": "ring_test_tests_agreement_tests"
- },
- {
- "name": "ring_test_tests_constant_time_tests"
- },
- {
- "name": "ring_test_tests_ecdsa_tests"
- },
- {
- "name": "ring_test_tests_ed25519_tests"
- },
- {
- "name": "ring_test_tests_hkdf_tests"
- },
- {
- "name": "ring_test_tests_hmac_tests"
- },
- {
- "name": "ring_test_tests_pbkdf2_tests"
- },
- {
- "name": "ring_test_tests_quic_tests"
- },
- {
- "name": "ring_test_tests_rand_tests"
- },
- {
- "name": "ring_test_tests_rsa_tests"
- },
- {
- "name": "ring_test_tests_signature_tests"
- }
- ]
-}
diff --git a/cargo2android_cc.bp b/cargo2android_cc.bp
deleted file mode 100644
index e8749a9..0000000
--- a/cargo2android_cc.bp
+++ /dev/null
@@ -1,117 +0,0 @@
-cc_library_static {
- name: "libring-core",
- host_supported: true,
- srcs: [
- "crypto/cpu-intel.c",
- "crypto/fipsmodule/aes/aes_nohw.c",
- "crypto/crypto.c",
- "crypto/poly1305/poly1305.c",
- "crypto/poly1305/poly1305_vec.c",
- "crypto/curve25519/curve25519.c",
- "crypto/fipsmodule/ec/ecp_nistz.c",
- "crypto/fipsmodule/ec/gfp_p256.c",
- "crypto/fipsmodule/ec/gfp_p384.c",
- "crypto/fipsmodule/ec/p256.c",
- "crypto/fipsmodule/rsa/padding.c",
- "crypto/limbs/limbs.c",
- "crypto/mem.c",
- "crypto/fipsmodule/bn/montgomery.c",
- "crypto/fipsmodule/bn/montgomery_inv.c",
- ],
-
- arch: {
- arm: {
- srcs: [
- "crypto/poly1305/poly1305_arm.c",
- "crypto/poly1305/poly1305_arm_asm.S",
- "pregenerated/armv4-mont-linux32.S",
- "crypto/curve25519/asm/x25519-asm-arm.S",
- "pregenerated/sha256-armv4-linux32.S",
- "pregenerated/sha512-armv4-linux32.S",
- "pregenerated/aesv8-armx-linux32.S",
- "pregenerated/bsaes-armv7-linux32.S",
- "pregenerated/ghashv8-armx-linux32.S",
- "pregenerated/vpaes-armv7-linux32.S",
- "pregenerated/ghash-armv4-linux32.S",
- "pregenerated/chacha-armv4-linux32.S",
- ],
- },
- arm64: {
- srcs: [
- "pregenerated/aesv8-armx-linux64.S",
- "pregenerated/armv8-mont-linux64.S",
- "pregenerated/chacha-armv8-linux64.S",
- "pregenerated/ghash-neon-armv8-linux64.S",
- "pregenerated/ghashv8-armx-linux64.S",
- "pregenerated/sha256-armv8-linux64.S",
- "pregenerated/sha512-armv8-linux64.S",
- "pregenerated/vpaes-armv8-linux64.S",
- ],
- },
- x86: {
- srcs: [
- "pregenerated/aesni-x86-elf.S",
- "pregenerated/chacha-x86-elf.S",
- "pregenerated/ghash-x86-elf.S",
- "pregenerated/vpaes-x86-elf.S",
- "pregenerated/x86-mont-elf.S",
- ],
- },
- x86_64: {
- srcs: [
- "crypto/fipsmodule/ec/p256-x86_64.c",
- "pregenerated/aesni-gcm-x86_64-elf.S",
- "pregenerated/aesni-x86_64-elf.S",
- "pregenerated/chacha-x86_64-elf.S",
- "pregenerated/chacha20_poly1305_x86_64-elf.S",
- "pregenerated/ghash-x86_64-elf.S",
- "pregenerated/p256-x86_64-asm-elf.S",
- "pregenerated/sha256-x86_64-elf.S",
- "pregenerated/sha512-x86_64-elf.S",
- "pregenerated/vpaes-x86_64-elf.S",
- "pregenerated/x86_64-mont5-elf.S",
- "pregenerated/x86_64-mont-elf.S",
- ],
- },
- riscv64: {
- cflags: ["-DOPENSSL_NO_ASM"],
- },
- },
-
- cflags: [
- "-O3",
- "-Wno-error",
- "-fPIC",
- "-fdata-sections",
- "-ffunction-sections",
- "-fno-omit-frame-pointer",
- "-fno-strict-aliasing",
- "-fstack-protector",
- "-fvisibility=hidden",
- "-DNDEBUG",
- ],
- local_include_dirs: ["include"],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
- vendor_available: true,
- product_available: true,
- min_sdk_version: "29",
-}
-
-cc_library_static {
- name: "libring-test",
- host_supported: true,
- srcs: [
- "crypto/constant_time_test.c",
- ],
- local_include_dirs: ["include"],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
- vendor_available: true,
- product_available: true,
- min_sdk_version: "29",
-}
diff --git a/cargo_embargo.json b/cargo_embargo.json
deleted file mode 100644
index c906203..0000000
--- a/cargo_embargo.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "apex_available": [
- "//apex_available:platform",
- "com.android.resolv"
- ],
- "min_sdk_version": "29",
- "package": {
- "ring": {
- "add_toplevel_block": "cargo2android_cc.bp",
- "no_presubmit": true,
- "whole_static_libs": [
- "libring-core",
- "libring-test"
- ],
- "patch": "patches/Android.bp.patch"
- }
- },
- "variants": [
- {
- "features": [
- "alloc",
- "default",
- "dev_urandom_fallback",
- "once_cell",
- "std"
- ],
- "module_name_overrides": {
- "libring_core_0_17_0_alpha_11_": "libring-core",
- "libring_core_0_17_0_alpha_11_test": "libring-test"
- },
- "tests": true
- },
- {
- "features": [
- "once_cell"
- ],
- "module_name_overrides": {
- "libring_core_0_17_0_alpha_11_": "libring-core",
- "libring_core_0_17_0_alpha_11_test": "libring-test",
- "libring": "libring_nostd",
- "libspin": "libspin_nostd"
- },
- "package": {
- "ring": {
- "force_rlib": true,
- "host_supported": false,
- "no_std": true
- }
- }
- }
- ]
-}