diff --git a/debian/control.REMOVED.git-id b/debian/control.REMOVED.git-id index 3f844015b9..acaf2e9366 100644 --- a/debian/control.REMOVED.git-id +++ b/debian/control.REMOVED.git-id @@ -1 +1 @@ -95f5a76a28188971229864340b710b84c39f9d0a \ No newline at end of file +74c85a5156569d90c2b8be475a3838bcb3b4970d \ No newline at end of file diff --git a/debian/mono-archs.make b/debian/mono-archs.make index 47c90c3030..5e3b2d29f7 100644 --- a/debian/mono-archs.make +++ b/debian/mono-archs.make @@ -1,12 +1,4 @@ -DEB_MONO_ARCHS = amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 powerpc ppc64 ppc64el s390x -# grep defined mono/metadata/sgen-archdep.h -#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_BOEHM_ARCHS = amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 ppc64 ppc64el s390x +DEB_MONO_ARCHS = $(DEB_MONO_BOEHM_ARCHS) arm64 DEB_MONO_SGEN_ARCHS = $(DEB_MONO_ARCHS) + diff --git a/debian/mono-utils.install b/debian/mono-utils.install index 49f3aec58e..ec5be9a77d 100644 --- a/debian/mono-utils.install +++ b/debian/mono-utils.install @@ -1,5 +1,4 @@ debian/tmp/usr/bin/mprof-report -debian/tmp/usr/bin/pedump debian/tmp/usr/bin/peverify debian/tmp/usr/bin/monodis /usr/bin/ debian/tmp/usr/bin/mono-find-provides diff --git a/debian/rules b/debian/rules index 902b190053..2a42b3bcce 100755 --- a/debian/rules +++ b/debian/rules @@ -40,10 +40,6 @@ endif ifeq ($(DEB_BUILD_ARCH), armel) CONF_FLAGS += --with-fpu=NONE 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))) CONF_FLAGS += --with-sgen=yes @@ -51,6 +47,13 @@ else CONF_FLAGS += --with-sgen=no endif +ifeq ($(DEB_BUILD_ARCH), arm64) + MONO_BOEHM_TEST = true + CONF_FLAGS += --disable-boehm + SKIP_LIBGC = true +endif + + DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk @@ -88,7 +91,9 @@ build: build-stamp build-stamp: configure-stamp dh_testdir cd eglib && $(MAKE) $(EGLIB_MAKE_FLAGS) +ifndef SKIP_LIBGC cd libgc && $(MAKE) $(LIBGC_MAKE_FLAGS) +endif cd mono && $(MAKE) $(MONO_MAKE_FLAGS) 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 \ 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 +ifndef SKIP_LIBGC + install -m 644 debian/tmp/usr/bin/pedump debian/mono-utils/usr/bin/ +endif dh_link -s dh_installchangelogs -s -X ChangeLog dh_installchangelogs -pmono-runtime + dh_installchangelogs -pmono-jay $(CURDIR)/mcs/jay/ChangeLog dh_installdocs -s dh_installman -s dh_installexamples -s @@ -305,10 +320,14 @@ binary-arch: build-stamp install-stamp dh_compress -s -Xskeleton.cs dh_fixperms -s +ifndef SKIP_LIBGC 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 dh_makeshlibs -s -V +ifndef SKIP_LIBGC 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_installdeb -s 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/ 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 "*.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 mv $(TARBALL_DIR) $(TARBALL_DIR)+dfsg tar -czf $(DEB_SOURCE_NAME)_$(UPVERSION)+dfsg.orig.tar.gz $(TARBALL_DIR)+dfsg