| ################################################################################ |
| # |
| # host-flutter-sdk-bin |
| # |
| ################################################################################ |
| |
| FLUTTER_SDK_BIN_VERSION = 3.19.5 |
| FLUTTER_SDK_BIN_SITE = https://storage.googleapis.com/flutter_infra_release/releases/stable/linux |
| FLUTTER_SDK_BIN_SOURCE = flutter_linux_$(FLUTTER_SDK_BIN_VERSION)-stable.tar.xz |
| FLUTTER_SDK_BIN_LICENSE = BSD-3-Clause |
| FLUTTER_SDK_BIN_LICENSE_FILES = LICENSE |
| |
| HOST_FLUTTER_SDK_BIN_SDK = $(HOST_DIR)/share/flutter/sdk |
| HOST_FLUTTER_SDK_BIN_DART_SDK = $(HOST_FLUTTER_SDK_BIN_SDK)/bin/cache/dart-sdk |
| HOST_FLUTTER_SDK_BIN_SDK_ENGINE = $(HOST_FLUTTER_SDK_BIN_SDK)/bin/cache/artifacts/engine |
| |
| # We must set the home directory to the sdk directory or else flutter will |
| # place .dart, .dart-sdk, and .flutter in ~/. |
| HOST_FLUTTER_SDK_BIN_ENV = \ |
| HOME=$(HOST_FLUTTER_SDK_BIN_SDK) \ |
| PATH=$(BR_PATH):$(HOST_FLUTTER_SDK_BIN_SDK):$(HOST_FLUTTER_SDK_BIN_SDK)/bin \ |
| PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE) |
| |
| # The following config options must be ran one at a time. |
| HOST_FLUTTER_SDK_BIN_CONF_OPTS = \ |
| --clear-features \ |
| --no-analytics \ |
| --disable-analytics \ |
| --enable-custom-devices \ |
| --enable-linux-desktop \ |
| --no-enable-android \ |
| --no-enable-fuchsia \ |
| --no-enable-ios \ |
| --no-enable-macos-desktop \ |
| --no-enable-windows-desktop |
| |
| define HOST_FLUTTER_SDK_BIN_CONFIGURE_CMDS |
| $(foreach i,$(HOST_FLUTTER_SDK_BIN_CONF_OPTS), |
| $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/flutter config $(i); \ |
| ) |
| $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/dart --disable-analytics |
| endef |
| |
| define HOST_FLUTTER_SDK_BIN_BUILD_CMDS |
| mkdir -p $(HOST_FLUTTER_SDK_BIN_SDK) |
| cd $(@D) && \ |
| $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/flutter precache; |
| endef |
| |
| define HOST_FLUTTER_SDK_BIN_INSTALL_CMDS |
| cp -rpdT $(@D)/. $(HOST_FLUTTER_SDK_BIN_SDK)/ |
| endef |
| |
| ifeq ($(FLUTTER_ENGINE_RUNTIME_MODE_PROFILE),y) |
| HOST_FLUTTER_SDK_BIN_PROFILE_FLAGS = --track-widget-creation |
| HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = false |
| HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk |
| HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = true |
| else ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) |
| HOST_FLUTTER_SDK_BIN_DEBUG_FLAGS = --enable-asserts |
| HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = false |
| HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk |
| HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = false |
| else |
| HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = true |
| HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk_product |
| HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = false |
| endif |
| |
| # The Order matters.Taken from: |
| # https://github.com/meta-flutter/meta-flutter/blob/kirkstone/classes/flutter-app.inc |
| HOST_FLUTTER_SDK_BIN_DART_ARGS = \ |
| --verbose \ |
| --disable-analytics \ |
| --disable-dart-dev $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/linux-x64/frontend_server.dart.snapshot \ |
| --sdk-root $(HOST_FLUTTER_SDK_BIN_SDK_ROOT) \ |
| --target=flutter \ |
| --no-print-incremental-dependencies \ |
| -Ddart.vm.profile=$(HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE) \ |
| -Ddart.vm.product=$(HOST_FLUTTER_SDK_BIN_SDK_PRODUCT) \ |
| $(HOST_FLUTTER_SDK_BIN_DEBUG_FLAGS) \ |
| $(HOST_FLUTTER_SDK_BIN_PROFILE_FLAGS) \ |
| --aot \ |
| --tfa \ |
| --target-os linux \ |
| --packages .dart_tool/package_config.json \ |
| --output-dill .dart_tool/flutter_build/*/app.dill \ |
| --depfile .dart_tool/flutter_build/*/kernel_snapshot.d |
| |
| # Helper wrapper to run flutter when building flutter applications. |
| HOST_FLUTTER_SDK_BIN_FLUTTER = \ |
| $(HOST_FLUTTER_SDK_BIN_ENV) \ |
| $(HOST_FLUTTER_SDK_BIN_SDK)/bin/flutter |
| |
| # Helper wrapper to run dart when building flutter applications. |
| HOST_FLUTTER_SDK_BIN_DART_BIN = \ |
| $(HOST_FLUTTER_SDK_BIN_ENV) \ |
| $(HOST_FLUTTER_SDK_BIN_DART_SDK)/bin/dart \ |
| $(HOST_FLUTTER_SDK_BIN_DART_ARGS) |
| |
| $(eval $(host-generic-package)) |
| |
| # For target packages to locate said pub-cache |
| FLUTTER_SDK_BIN_PUB_CACHE = $(DL_DIR)/br-flutter-pub-cache |