11# !/usr/bin/make -f
22export DH_VERBOSE = 1
33
4+ AOT_SUPPORTED_ARCHS := amd64 arm
5+
46# Use DEB_BUILD_OPTIONS's parallel=n option (see Policy 4.9.1)
57ifneq (,$(findstring parallel,$(DEB_BUILD_OPTIONS ) ) )
68PARALLEL_JOBS := $(shell echo $(DEB_BUILD_OPTIONS ) | \
@@ -11,17 +13,21 @@ endif
1113
1214ifeq (amd64,$(DEB_HOST_ARCH_CPU ) )
1315BUILD_TYPE += ReleaseX64
16+ BUILD_TYPE_PRODUCT += ProductX64
1417ARCH += x64
1518else
1619ifeq (i386,$(DEB_HOST_ARCH_CPU ) )
1720BUILD_TYPE += ReleaseIA32
21+ BUILD_TYPE_PRODUCT += ProductIA32
1822ARCH += ia32
1923else
2024ifeq (arm,$(DEB_HOST_ARCH_CPU ) )
2125ifeq ($(DEB_BUILD_ARCH_CPU ) ,$(DEB_HOST_ARCH_CPU ) )
2226BUILD_TYPE += ReleaseARM
27+ BUILD_TYPE_PRODUCT += ProductARM
2328else
2429BUILD_TYPE += ReleaseXARM
30+ BUILD_TYPE_PRODUCT += ProductXARM
2531endif
2632ARCH += arm
2733else
3036endif
3137endif
3238
39+ # Only run AOT builds for supported archs.
40+ ifneq (,$(findstring $(DEB_HOST_ARCH_CPU ) ,$(AOT_SUPPORTED_ARCHS ) ) )
41+ AOT_BUILD_CMD := \
42+ python tools/build.py -v -m release -a $(ARCH ) $(TOOLCHAIN ) \
43+ copy_gen_kernel_snapshot copy_dart2aot; \
44+ python tools/build.py -v -m product -a $(ARCH ) $(TOOLCHAIN ) \
45+ copy_gen_snapshot copy_dartaotruntime; \
46+ mkdir -p out/$(BUILD_TYPE ) /dart-sdk/bin/utils; \
47+ cp out/$(BUILD_TYPE_PRODUCT ) /dart-sdk/bin/utils/gen_snapshot \
48+ out/$(BUILD_TYPE ) /dart-sdk/bin/utils/gen_snapshot; \
49+ cp out/$(BUILD_TYPE_PRODUCT ) /dart-sdk/bin/dartaotruntime \
50+ out/$(BUILD_TYPE ) /dart-sdk/bin/dartaotruntime
51+ else
52+ AOT_BUILD_CMD := # empty
53+ endif
54+
3355# Verbose?
3456ifeq (1,$(DH_VERBOSE ) )
3557BUILD_ARGS += V=1
@@ -52,6 +74,7 @@ override_dh_auto_configure:
5274override_dh_auto_build :
5375 cd dart; \
5476 python tools/build.py -v -m release -a $(ARCH ) $(TOOLCHAIN ) create_sdk; \
77+ $(AOT_BUILD_CMD ) ; \
5578 cd ..
5679
5780# Building the Dart SDK will already strip all binaries.
0 commit comments