Import a bunch of ARM64-related changes from Debian

(cherry picked from commit 27f3659f9d5752f4f0afab171129b6b4632e3eba)


Former-commit-id: 234925b3a1f6972f3244dbf6d6b5021faae15fa9
This commit is contained in:
Jo Shields 2016-06-02 14:02:31 +01:00
parent 96fa8d2825
commit 76fe9f5628
4 changed files with 28 additions and 17 deletions

View File

@ -1 +1 @@
95f5a76a28188971229864340b710b84c39f9d0a 74c85a5156569d90c2b8be475a3838bcb3b4970d

View File

@ -1,12 +1,4 @@
DEB_MONO_ARCHS = amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 powerpc ppc64 ppc64el s390x DEB_MONO_BOEHM_ARCHS = amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 ppc64 ppc64el s390x
# grep defined mono/metadata/sgen-archdep.h DEB_MONO_ARCHS = $(DEB_MONO_BOEHM_ARCHS) arm64
#if defined(MONO_CROSS_COMPILE)
#elif defined(TARGET_X86)
#elif defined(TARGET_AMD64)
#elif defined(TARGET_POWERPC)
#elif defined(TARGET_ARM)
#elif defined(__mips__)
#elif defined(__s390x__)
#elif defined(__sparc__)
# SGen is default now - Every arch is expected to support it
DEB_MONO_SGEN_ARCHS = $(DEB_MONO_ARCHS) DEB_MONO_SGEN_ARCHS = $(DEB_MONO_ARCHS)

View File

@ -1,5 +1,4 @@
debian/tmp/usr/bin/mprof-report debian/tmp/usr/bin/mprof-report
debian/tmp/usr/bin/pedump
debian/tmp/usr/bin/peverify debian/tmp/usr/bin/peverify
debian/tmp/usr/bin/monodis /usr/bin/ debian/tmp/usr/bin/monodis /usr/bin/
debian/tmp/usr/bin/mono-find-provides debian/tmp/usr/bin/mono-find-provides

28
debian/rules vendored
View File

@ -40,10 +40,6 @@ endif
ifeq ($(DEB_BUILD_ARCH), armel) ifeq ($(DEB_BUILD_ARCH), armel)
CONF_FLAGS += --with-fpu=NONE CONF_FLAGS += --with-fpu=NONE
endif endif
ifeq ($(DEB_BUILD_ARCH), powerpc)
# libgc with parallel mark FTBFS on ppc
CONF_FLAGS += --disable-parallel-mark
endif
ifneq (,$(findstring $(DEB_BUILD_ARCH),$(DEB_MONO_SGEN_ARCHS))) ifneq (,$(findstring $(DEB_BUILD_ARCH),$(DEB_MONO_SGEN_ARCHS)))
CONF_FLAGS += --with-sgen=yes CONF_FLAGS += --with-sgen=yes
@ -51,6 +47,13 @@ else
CONF_FLAGS += --with-sgen=no CONF_FLAGS += --with-sgen=no
endif endif
ifeq ($(DEB_BUILD_ARCH), arm64)
MONO_BOEHM_TEST = true
CONF_FLAGS += --disable-boehm
SKIP_LIBGC = true
endif
DPKG_EXPORT_BUILDFLAGS = 1 DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk include /usr/share/dpkg/buildflags.mk
@ -88,7 +91,9 @@ build: build-stamp
build-stamp: configure-stamp build-stamp: configure-stamp
dh_testdir dh_testdir
cd eglib && $(MAKE) $(EGLIB_MAKE_FLAGS) cd eglib && $(MAKE) $(EGLIB_MAKE_FLAGS)
ifndef SKIP_LIBGC
cd libgc && $(MAKE) $(LIBGC_MAKE_FLAGS) cd libgc && $(MAKE) $(LIBGC_MAKE_FLAGS)
endif
cd mono && $(MAKE) $(MONO_MAKE_FLAGS) cd mono && $(MAKE) $(MONO_MAKE_FLAGS)
LC_ALL=C $(MAKE) $(MAKE_FLAGS) EXTERNAL_MCS=false EXTERNAL_MONO=false LC_ALL=C $(MAKE) $(MAKE_FLAGS) EXTERNAL_MCS=false EXTERNAL_MONO=false
@ -290,10 +295,20 @@ binary-arch: build-stamp install-stamp
install -D -m 644 -o root -g root debian/cli.binfmt \ install -D -m 644 -o root -g root debian/cli.binfmt \
debian/mono-runtime/usr/share/binfmts/cli debian/mono-runtime/usr/share/binfmts/cli
ifdef SKIP_LIBGC
ln -s libmonosgen-2.0.a debian/tmp/usr/lib/libmono-2.0.a
ln -s libmonosgen-2.0.so debian/tmp/usr/lib/libmono-2.0.so
ln -s libmonosgen-2.0.so.1 debian/tmp/usr/lib/libmono-2.0.so.1
ln -s libmonosgen-2.0.so.1.0.0 debian/tmp/usr/lib/libmono-2.0.so.1.0.0
endif
dh_install -s dh_install -s
ifndef SKIP_LIBGC
install -m 644 debian/tmp/usr/bin/pedump debian/mono-utils/usr/bin/
endif
dh_link -s dh_link -s
dh_installchangelogs -s -X ChangeLog dh_installchangelogs -s -X ChangeLog
dh_installchangelogs -pmono-runtime dh_installchangelogs -pmono-runtime
dh_installchangelogs -pmono-jay $(CURDIR)/mcs/jay/ChangeLog
dh_installdocs -s dh_installdocs -s
dh_installman -s dh_installman -s
dh_installexamples -s dh_installexamples -s
@ -305,10 +320,14 @@ binary-arch: build-stamp install-stamp
dh_compress -s -Xskeleton.cs dh_compress -s -Xskeleton.cs
dh_fixperms -s dh_fixperms -s
ifndef SKIP_LIBGC
dpkg-gensymbols -plibmonoboehm-2.0-1 -edebian/tmp/usr/lib/libmonoboehm-2.0.so.1 -c4 dpkg-gensymbols -plibmonoboehm-2.0-1 -edebian/tmp/usr/lib/libmonoboehm-2.0.so.1 -c4
endif
dpkg-gensymbols -plibmonosgen-2.0-1 -edebian/tmp/usr/lib/libmonosgen-2.0.so.1 -c4 dpkg-gensymbols -plibmonosgen-2.0-1 -edebian/tmp/usr/lib/libmonosgen-2.0.so.1 -c4
dh_makeshlibs -s -V dh_makeshlibs -s -V
ifndef SKIP_LIBGC
dh_makeshlibs -plibmonoboehm-2.0-1 -V 'libmonoboehm-2.0-1 (>= $(UPVERSION))' dh_makeshlibs -plibmonoboehm-2.0-1 -V 'libmonoboehm-2.0-1 (>= $(UPVERSION))'
endif
dh_makeshlibs -plibmonosgen-2.0-1 -V 'libmonosgen-2.0-1 (>= $(UPVERSION))' dh_makeshlibs -plibmonosgen-2.0-1 -V 'libmonosgen-2.0-1 (>= $(UPVERSION))'
dh_installdeb -s dh_installdeb -s
dh_shlibdeps -s -Xlibmono-profiler-cov -ldebian/libmonoboehm-2.0-1/usr/lib -ldebian/libmonosgen-2.0-1/usr/lib dh_shlibdeps -s -Xlibmono-profiler-cov -ldebian/libmonoboehm-2.0-1/usr/lib -ldebian/libmonosgen-2.0-1/usr/lib
@ -340,6 +359,7 @@ get-orig-source:
rm -rf $(TARBALL_DIR)/external/Lucene.Net/lib/ rm -rf $(TARBALL_DIR)/external/Lucene.Net/lib/
find $(TARBALL_DIR) -name "*.dll" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete find $(TARBALL_DIR) -name "*.dll" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete
find $(TARBALL_DIR) -name "*.exe" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete find $(TARBALL_DIR) -name "*.exe" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete
find $(TARBALL_DIR) -name "*.chm" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete
find $(TARBALL_DIR)/external/ -name ".git" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete find $(TARBALL_DIR)/external/ -name ".git" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete
mv $(TARBALL_DIR) $(TARBALL_DIR)+dfsg mv $(TARBALL_DIR) $(TARBALL_DIR)+dfsg
tar -czf $(DEB_SOURCE_NAME)_$(UPVERSION)+dfsg.orig.tar.gz $(TARBALL_DIR)+dfsg tar -czf $(DEB_SOURCE_NAME)_$(UPVERSION)+dfsg.orig.tar.gz $(TARBALL_DIR)+dfsg