mirror of
https://github.com/dart-lang/sdk
synced 2024-09-19 15:21:31 +00:00
0cada76a06
Bug: https://github.com/dart-lang/sdk/issues/38834 Change-Id: Iff1247186271643ea557a0aaec1e6b8438676c59 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121706 Auto-Submit: Clement Skau <cskau@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
94 lines
2.4 KiB
Makefile
Executable file
94 lines
2.4 KiB
Makefile
Executable file
#!/usr/bin/make -f
|
|
export DH_VERBOSE = 1
|
|
|
|
AOT_SUPPORTED_ARCHS := amd64 arm
|
|
|
|
# Use DEB_BUILD_OPTIONS's parallel=n option (see Policy 4.9.1)
|
|
ifneq (,$(findstring parallel,$(DEB_BUILD_OPTIONS)))
|
|
PARALLEL_JOBS := $(shell echo $(DEB_BUILD_OPTIONS) | \
|
|
sed -e 's/.*parallel=\([0-9]\+\).*/\1/')
|
|
else
|
|
PARALLEL_JOBS := 1
|
|
endif
|
|
|
|
ifeq (amd64,$(DEB_HOST_ARCH_CPU))
|
|
BUILD_TYPE += ReleaseX64
|
|
BUILD_TYPE_PRODUCT += ProductX64
|
|
ARCH += x64
|
|
else
|
|
ifeq (i386,$(DEB_HOST_ARCH_CPU))
|
|
BUILD_TYPE += ReleaseIA32
|
|
BUILD_TYPE_PRODUCT += ProductIA32
|
|
ARCH += ia32
|
|
else
|
|
ifeq (arm,$(DEB_HOST_ARCH_CPU))
|
|
ifeq ($(DEB_BUILD_ARCH_CPU),$(DEB_HOST_ARCH_CPU))
|
|
BUILD_TYPE += ReleaseARM
|
|
BUILD_TYPE_PRODUCT += ProductARM
|
|
else
|
|
BUILD_TYPE += ReleaseXARM
|
|
BUILD_TYPE_PRODUCT += ProductXARM
|
|
endif
|
|
ARCH += arm
|
|
else
|
|
$(error unsupported target arch '$(DEB_HOST_ARCH_CPU)')
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# Only run AOT builds for supported archs.
|
|
ifneq (,$(findstring $(DEB_HOST_ARCH_CPU),$(AOT_SUPPORTED_ARCHS)))
|
|
AOT_BUILD_CMD := \
|
|
python tools/build.py -v -m release -a $(ARCH) $(TOOLCHAIN) \
|
|
copy_gen_kernel_snapshot; \
|
|
python tools/build.py -v -m product -a $(ARCH) $(TOOLCHAIN) \
|
|
copy_gen_snapshot copy_dartaotruntime; \
|
|
mkdir -p out/$(BUILD_TYPE)/dart-sdk/bin/utils; \
|
|
cp out/$(BUILD_TYPE_PRODUCT)/dart-sdk/bin/utils/gen_snapshot \
|
|
out/$(BUILD_TYPE)/dart-sdk/bin/utils/gen_snapshot; \
|
|
cp out/$(BUILD_TYPE_PRODUCT)/dart-sdk/bin/dartaotruntime \
|
|
out/$(BUILD_TYPE)/dart-sdk/bin/dartaotruntime
|
|
else
|
|
AOT_BUILD_CMD := # empty
|
|
endif
|
|
|
|
# Verbose?
|
|
ifeq (1,$(DH_VERBOSE))
|
|
BUILD_ARGS += V=1
|
|
endif
|
|
|
|
%:
|
|
dh $@
|
|
|
|
override_dh_auto_clean:
|
|
echo $(DEB_BUILD_OPTIONS)
|
|
rm -fr dart/out dart/Makefile
|
|
find . -name *.tmp -execdir rm -f {} \;
|
|
find . -name *.pyc -execdir rm -f {} \;
|
|
find . -name *.mk -execdir rm -f {} \;
|
|
find . -name *.Makefile -execdir rm -f {} \;
|
|
|
|
override_dh_auto_configure:
|
|
python dart/tools/generate_buildfiles.py
|
|
|
|
override_dh_auto_build:
|
|
cd dart; \
|
|
python tools/build.py -v -m release -a $(ARCH) $(TOOLCHAIN) create_sdk; \
|
|
$(AOT_BUILD_CMD); \
|
|
cd ..
|
|
|
|
# Building the Dart SDK will already strip all binaries.
|
|
override_dh_strip:
|
|
|
|
# This override allows us to ignore spurious missing library errors when
|
|
# cross-compiling.
|
|
override_dh_shlibdeps:
|
|
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
|
|
|
|
override_dh_auto_install:
|
|
mkdir -p debian/tmp/out
|
|
cp -R dart/out/$(BUILD_TYPE)/dart-sdk debian/tmp/out
|
|
mv debian/tmp/out/dart-sdk debian/tmp/out/dart
|
|
dh_install
|
|
dh_link
|