File: rules

package info (click to toggle)
sccache 0.10.0-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,992 kB
  • sloc: sh: 358; cpp: 112; perl: 68; makefile: 35; ansic: 31
file content (54 lines) | stat: -rwxr-xr-x 1,717 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/make -f

# resolve DEB_HOST_ARCH
include /usr/share/dpkg/architecture.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
export DEB_CXXFLAGS_MAINT_APPEND  = -Wall -pedantic

# trust upstream optimization level unless explicitly disabled
ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
export DEB_CFLAGS_MAINT_STRIP=-O2
export DEB_CXXFLAGS_MAINT_STRIP=-O2
endif

# generate documentation unless nodoc requested
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
MANPAGES = debian/sccache.1
endif

# reduce risk of out-of-memory issues during build for weak arches
ifneq (,$(filter $(DEB_HOST_ARCH),armel armhf i386 mipsel riscv64))
export RUSTFLAGS += -C embed-bitcode=no -C lto=no -C linker-plugin-lto=no
endif

# Fails with error: Error executing cache write: Cannot write to read-only storage
TEST_READONLY = \
 test_rust_cargo_cmd_readonly_preemtive_block

# Fails with error: Couldn't open config file
TEST_NO_CONFIG = \
 test_gcp_arg_check \
 test_s3_invalid_args

%:
	dh $@

# ensure ccache is not in use during tests
# avoid optimization to not run out of memory
override_dh_auto_test:
	PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=$(CURDIR)/debian DEB_BUILD_OPTIONS=noopt dh_auto_test --buildsystem rust -- \
	 --no-fail-fast -- $(addprefix --skip ,$(TEST_READONLY) $(TEST_NO_CONFIG))

execute_after_dh_auto_install: $(MANPAGES)
	sed -e 's/%DEB_HOST_MULTIARCH%/$(DEB_HOST_MULTIARCH)/' \
	 debian/update-sccache-symlinks.in \
	 > debian/update-sccache-symlinks

# build manpages
debian/sccache.1: debian/%.1: debian/sccache/usr/bin/%
	help2man --section 1 --no-info \
		--name "a fast C/C++/Rust compiler cache" \
		--output $@ $< \
		|| { $< --help; false; }