~mozillateam/firefox/firefox-beta.xenial

« back to all changes in this revision

Viewing changes to debian/build/rules.mk

  • Committer: Rico Tzschichholz
  • Date: 2022-12-04 18:04:07 UTC
  • Revision ID: ricotz@ubuntu.com-20221204180407-8vpdcat5o7d224a4
* Update generated uniffi-js on armhf and i386
  - debian/build/rules.mk
  - debian/patches/uniffi-js.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
# These normally come from autotools.mk, which we no longer include (because we
46
46
# don't want to run configure)
47
47
DEB_MAKE_INSTALL_TARGET :=
48
 
# Prevent some files from being cleaned to avoid build failures
49
 
DEB_CLEAN_EXCLUDE               := Cargo.toml.orig
50
48
# Don't save debug symbols in firefox-dbg (rely on pkg-create-dbgsym to create
51
49
# ddeb packages for us). This is needed as long as there is a firefox-dbg
52
50
# transitional package
105
103
MOZ_BUILD_PGO = 0
106
104
endif
107
105
 
108
 
LLVM_VERSIONS = 13 12 10 8
 
106
LLVM_VERSIONS = 13 12 11 10 8
109
107
DEB_LLVM_VERSION = $(firstword $(foreach llvm_version, $(LLVM_VERSIONS), \
110
108
        $(if $(shell which clang-$(llvm_version)), $(llvm_version))))
111
109
 
231
229
common-configure-impl:: debian/stamp-mach-configure
232
230
debian/stamp-mach-configure: cbindgen/bin/cbindgen dump_syms/bin/dump_syms
233
231
        $(CURDIR)/mach configure && $(CURDIR)/mach build-backend
 
232
ifneq (,$(filter arm64 armhf i386, $(DEB_HOST_ARCH)))
 
233
    # Conditionally patch the top-level Cargo.toml file to reduce the LTO to
 
234
    # "thin" on selected architectures (armhf and i386) to work around OOM
 
235
    # failures on Launchpad builders.
 
236
    # This is only one half of the workaround,
 
237
    # see also debian/patches/armhf-rustc-thin-lto.patch.
 
238
        cp Cargo.toml Cargo.toml.orig
 
239
        sed -i 's/\[profile.release\]/\[profile.release\]\nlto = "thin"/' Cargo.toml
 
240
endif
234
241
        touch $@
235
242
clean::
236
243
        rm -f debian/stamp-mach-configure
 
244
        if [ -f Cargo.toml.orig ]; then mv Cargo.toml.orig Cargo.toml; fi
237
245
 
238
246
cbindgen/bin/cbindgen: third_party/cbindgen/Cargo.toml
239
247
        export RUST_BACKTRACE=full; \
351
359
pre-build:: debian/config/locales.shipped $(pkgname_subst_files) $(appname_subst_files) mozconfig
352
360
        $(call cmp_auto_generated_file,debian/config/locales.shipped,refresh-supported-locales)
353
361
 
354
 
# Conditionally patch the top-level Cargo.toml file to reduce the LTO to "thin"
355
 
# on armhf to work around OOM failures on Launchpad builders. This is only one
356
 
# half of the workaround, see also debian/patches/armhf-rustc-thin-lto.patch.
357
 
ifneq (,$(filter arm64 armhf i386, $(DEB_HOST_ARCH)))
358
 
pre-build:: Cargo.toml.bak
359
 
Cargo.toml.bak: Cargo.toml
360
 
        cp $< $@
361
 
        sed -i 's/\[profile.release\]/\[profile.release\]\nlto = "thin"/' $<
 
362
# Conditionally patch the generated uniffi-js files.
 
363
# https://bugzilla.mozilla.org/show_bug.cgi?id=1803726
 
364
ifneq (,$(filter armhf i386, $(DEB_HOST_ARCH)))
 
365
pre-build:: stamp-uniffi-js
 
366
stamp-uniffi-js: debian/patches/uniffi-js.patch
 
367
        patch -p1 < $<
 
368
        touch $@
362
369
clean::
363
 
        if [ -f Cargo.toml.bak ]; then mv Cargo.toml.bak Cargo.toml; fi
 
370
        if [ -f stamp-uniffi-js ]; then patch -p1 -R < debian/patches/uniffi-js.patch; rm stamp-uniffi-js; fi
364
371
endif
365
372
 
366
373
EXTRACT_TARBALL = $(firstword $(shell TMPDIR=`mktemp -d`; tar -jxf $(1) -C $$TMPDIR > /dev/null 2>&1; echo $$TMPDIR/`ls $$TMPDIR/ | head -n1`))