diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 0eb483199..c95c41ef7 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -1,13 +1,22 @@ [profile.release] -lto = "thin" -opt-level = "z" -codegen-units = 1 -panic = "abort" +lto = true +opt-level = "z" # Optimize for size. +codegen-units = 1 # Reduce Parallel Code Generation Units to Increase Optimization +panic = "abort" # Abort on panic, as unwinding code does require extra binary size rpath = true -strip = "symbols" -[profile.min] +[profile.frb] inherits = "release" +strip = true # Automatically strip symbols from the binary. +opt-level = 3 +lto = "thin" +debug = 0 +split-debuginfo = "unpacked" +incremental = false + +[profile.frb-min] +inherits = "frb" +opt-level = "z" # Optimize for size. lto = true [workspace] diff --git a/lib/ls-sdk-flutter/melos.yaml b/lib/ls-sdk-flutter/melos.yaml index 4f93c1a57..3b3a1af0a 100644 --- a/lib/ls-sdk-flutter/melos.yaml +++ b/lib/ls-sdk-flutter/melos.yaml @@ -23,10 +23,10 @@ scripts: melos run build-other # the only time 'melos run build-*' is called is to prepare - # for distribution, so use the 'min' profile. - build-apple: dart scripts/build_apple.dart --profile min - build-android: bash scripts/build-android.sh --profile min - build-other: dart scripts/build_other.dart --profile min + # for distribution, so use the 'frb-min' profile. + build-apple: dart scripts/build_apple.dart --profile frb-min + build-android: bash scripts/build-android.sh --profile frb-min + build-other: dart scripts/build_other.dart --profile frb-min # Platform-specific builds, mainly for testing build-ios: dart scripts/build_apple.dart --ios @@ -34,7 +34,7 @@ scripts: build-other-local: dart scripts/build_other.dart --local test: - cargo build --package ls-sdk --release && + cargo build --package ls-sdk --profile=frb && melos run test-dart && melos run test-flutter diff --git a/lib/ls-sdk-flutter/scripts/build_apple.dart b/lib/ls-sdk-flutter/scripts/build_apple.dart index 18dd26edb..980f81fc2 100755 --- a/lib/ls-sdk-flutter/scripts/build_apple.dart +++ b/lib/ls-sdk-flutter/scripts/build_apple.dart @@ -71,7 +71,7 @@ Future mainImpl(List args) async { for (final target in targets) { print(' Building target $target'); await run('rustup target add $target'); - await run('cargo build --target=$target $profileArg'); + await run('cargo build --target=$target $profileArg'); } await run('mkdir -p mac-lipo ios-sim-lipo'); diff --git a/lib/ls-sdk-flutter/scripts/build_other.dart b/lib/ls-sdk-flutter/scripts/build_other.dart index 4eb438a13..b5653c472 100755 --- a/lib/ls-sdk-flutter/scripts/build_other.dart +++ b/lib/ls-sdk-flutter/scripts/build_other.dart @@ -28,7 +28,7 @@ Future mainImpl(List args) async { profileArg = '--profile=dev'; } else { profile = 'release'; - profileArg = '--release'; + profileArg = '--profile=frb'; } // -- Begin --