summaryrefslogtreecommitdiff
path: root/debian/rules.d/binary-libcilkrts.mk
blob: 806acbf4c935532b58fb989482d6eb8907dd16cc (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
$(lib_binaries)  += libcilkrts
ifeq ($(with_lib64cilkrts),yes)
  $(lib_binaries)  += lib64cilkrts
endif
ifeq ($(with_lib32cilkrts),yes)
  $(lib_binaries)	+= lib32cilkrts
endif
ifeq ($(with_libn32cilkrts),yes)
  $(lib_binaries)	+= libn32cilkrts
endif
ifeq ($(with_libx32cilkrts),yes)
  $(lib_binaries)	+= libx32cilkrts
endif
ifeq ($(with_libhfcilkrts),yes)
  $(lib_binaries)	+= libhfcilkrts
endif
ifeq ($(with_libsfcilkrts),yes)
  $(lib_binaries)	+= libsfcilkrts
endif

define __do_cilkrts
	dh_testdir
	dh_testroot
	mv $(install_stamp) $(install_stamp)-tmp

	rm -rf $(d_l) $(d_d)
	dh_installdirs -p$(p_l) $(usr_lib$(2))
	$(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libcilkrts.so.*

	debian/dh_doclink -p$(p_l) $(p_lbase)
	debian/dh_doclink -p$(p_d) $(p_lbase)

	if [ -f debian/$(p_l).overrides ]; then \
		mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
		cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
	fi

	dh_strip -p$(p_l) --dbg-package=$(p_d)
	ln -sf libcilkrts.symbols debian/$(p_l).symbols
	$(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
	$(call cross_mangle_shlibs,$(p_l))
	$(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
		$(call shlibdirs_to_search, \
			$(subst cilkrts$(CILKRTS_SONAME),gcc$(GCC_SONAME),$(p_l)) \
			$(subst cilkrts$(CILKRTS_SONAME),stdc++$(CXX_SONAME),$(p_l)) \
		,$(2))
	$(call cross_mangle_substvars,$(p_l))
	echo $(p_l) $(p_d) >> debian/$(lib_binaries)

	trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
endef

# ----------------------------------------------------------------------

do_cilkrts = $(call __do_cilkrts,lib$(1)cilkrts$(CILKRTS_SONAME),$(1))

$(binary_stamp)-libcilkrts: $(install_stamp)
	$(call do_cilkrts,)

$(binary_stamp)-lib64cilkrts: $(install_stamp)
	$(call do_cilkrts,64)

$(binary_stamp)-lib32cilkrts: $(install_stamp)
	$(call do_cilkrts,32)

$(binary_stamp)-libn32cilkrts: $(install_stamp)
	$(call do_cilkrts,n32)

$(binary_stamp)-libx32cilkrts: $(install_stamp)
	$(call do_cilkrts,x32)

$(binary_stamp)-libhfcilkrts: $(install_dependencies)
	$(call do_cilkrts,hf)

$(binary_stamp)-libsfcilkrts: $(install_dependencies)
	$(call do_cilkrts,sf)