flutter-sdk-bin.mk 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. ################################################################################
  2. #
  3. # host-flutter-sdk-bin
  4. #
  5. ################################################################################
  6. FLUTTER_SDK_BIN_VERSION = 3.29.2
  7. FLUTTER_SDK_BIN_SITE = https://storage.googleapis.com/flutter_infra_release/releases/stable/linux
  8. FLUTTER_SDK_BIN_SOURCE = flutter_linux_$(FLUTTER_SDK_BIN_VERSION)-stable.tar.xz
  9. FLUTTER_SDK_BIN_LICENSE = BSD-3-Clause
  10. FLUTTER_SDK_BIN_LICENSE_FILES = LICENSE
  11. HOST_FLUTTER_SDK_BIN_SDK = $(HOST_DIR)/share/flutter/sdk
  12. HOST_FLUTTER_SDK_BIN_DART_SDK = $(HOST_FLUTTER_SDK_BIN_SDK)/bin/cache/dart-sdk
  13. HOST_FLUTTER_SDK_BIN_SDK_ENGINE = $(HOST_FLUTTER_SDK_BIN_SDK)/bin/cache/artifacts/engine
  14. # We must set the home directory to the sdk directory or else flutter will
  15. # place .dart, .dart-sdk, and .flutter in ~/.
  16. HOST_FLUTTER_SDK_BIN_ENV = \
  17. HOME=$(HOST_FLUTTER_SDK_BIN_SDK) \
  18. PATH=$(BR_PATH):$(HOST_FLUTTER_SDK_BIN_SDK):$(HOST_FLUTTER_SDK_BIN_SDK)/bin \
  19. PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE)
  20. # The following config options must be ran one at a time.
  21. HOST_FLUTTER_SDK_BIN_CONF_OPTS = \
  22. --clear-features \
  23. --no-analytics \
  24. --disable-analytics \
  25. --enable-custom-devices \
  26. --enable-linux-desktop \
  27. --no-enable-android \
  28. --no-enable-fuchsia \
  29. --no-enable-ios \
  30. --no-enable-macos-desktop \
  31. --no-enable-windows-desktop
  32. define HOST_FLUTTER_SDK_BIN_CONFIGURE_CMDS
  33. $(foreach i,$(HOST_FLUTTER_SDK_BIN_CONF_OPTS),
  34. $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/flutter config $(i); \
  35. )
  36. $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/dart --disable-analytics
  37. endef
  38. define HOST_FLUTTER_SDK_BIN_BUILD_CMDS
  39. mkdir -p $(HOST_FLUTTER_SDK_BIN_SDK)
  40. cd $(@D) && \
  41. $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/flutter precache;
  42. endef
  43. define HOST_FLUTTER_SDK_BIN_INSTALL_CMDS
  44. cp -rpdT $(@D)/. $(HOST_FLUTTER_SDK_BIN_SDK)/
  45. endef
  46. ifeq ($(FLUTTER_ENGINE_RUNTIME_MODE_PROFILE),y)
  47. HOST_FLUTTER_SDK_BIN_PROFILE_FLAGS = --track-widget-creation
  48. HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = false
  49. HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk
  50. HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = true
  51. else ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y)
  52. HOST_FLUTTER_SDK_BIN_DEBUG_FLAGS = --enable-asserts
  53. HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = false
  54. HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk
  55. HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = false
  56. else
  57. HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = true
  58. HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk_product
  59. HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = false
  60. endif
  61. # The Order matters.Taken from:
  62. # https://github.com/meta-flutter/meta-flutter/blob/scarthgap/conf/include/common.inc
  63. HOST_FLUTTER_SDK_BIN_DART_ARGS = \
  64. --verbose \
  65. --disable-analytics \
  66. --disable-dart-dev $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/linux-x64/frontend_server_aot.dart.snapshot \
  67. --sdk-root $(HOST_FLUTTER_SDK_BIN_SDK_ROOT) \
  68. --target=flutter \
  69. --no-print-incremental-dependencies \
  70. -Ddart.vm.profile=$(HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE) \
  71. -Ddart.vm.product=$(HOST_FLUTTER_SDK_BIN_SDK_PRODUCT) \
  72. $(HOST_FLUTTER_SDK_BIN_DEBUG_FLAGS) \
  73. $(HOST_FLUTTER_SDK_BIN_PROFILE_FLAGS) \
  74. --aot \
  75. --tfa \
  76. --target-os linux \
  77. --packages .dart_tool/package_config.json \
  78. --output-dill .dart_tool/flutter_build/*/app.dill \
  79. --depfile .dart_tool/flutter_build/*/kernel_snapshot_program.d
  80. # Helper wrapper to run flutter when building flutter applications.
  81. HOST_FLUTTER_SDK_BIN_FLUTTER = \
  82. $(HOST_FLUTTER_SDK_BIN_ENV) \
  83. $(HOST_FLUTTER_SDK_BIN_SDK)/bin/flutter
  84. # Helper wrapper to run dart when building flutter applications.
  85. HOST_FLUTTER_SDK_BIN_DART_BIN = \
  86. $(HOST_FLUTTER_SDK_BIN_ENV) \
  87. $(HOST_FLUTTER_SDK_BIN_DART_SDK)/bin/dartaotruntime \
  88. $(HOST_FLUTTER_SDK_BIN_DART_ARGS)
  89. $(eval $(host-generic-package))
  90. # For target packages to locate said pub-cache
  91. FLUTTER_SDK_BIN_PUB_CACHE = $(DL_DIR)/br-flutter-pub-cache