initial import from Debian
version: 14.3.0-5 commit: bee30ab0fff2fd6af94c62376c8aa4221bb831e0
This commit is contained in:
314
debian/rules.d/binary-d.mk
vendored
Normal file
314
debian/rules.d/binary-d.mk
vendored
Normal file
@@ -0,0 +1,314 @@
|
||||
ifneq ($(DEB_STAGE),rtlibs)
|
||||
ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32)))
|
||||
arch_binaries := $(arch_binaries) gdc-multi
|
||||
endif
|
||||
arch_binaries := $(arch_binaries) gdc-nat gdc-host
|
||||
ifeq ($(unprefixed_names),yes)
|
||||
arch_binaries := $(arch_binaries) gdc
|
||||
indep_binaries := $(indep_binaries) gdc-build
|
||||
endif
|
||||
|
||||
ifeq ($(with_libphobosdev),yes)
|
||||
$(lib_binaries) += libphobos-dev
|
||||
endif
|
||||
ifeq ($(with_libphobos),yes)
|
||||
$(lib_binaries) += libphobos
|
||||
endif
|
||||
|
||||
ifeq ($(with_lib64phobosdev),yes)
|
||||
$(lib_binaries) += lib64phobos-dev
|
||||
endif
|
||||
ifeq ($(with_lib32phobosdev),yes)
|
||||
$(lib_binaries) += lib32phobos-dev
|
||||
endif
|
||||
ifeq ($(with_libn32phobosdev),yes)
|
||||
$(lib_binaries) += libn32phobos-dev
|
||||
endif
|
||||
ifeq ($(with_libx32phobosdev),yes)
|
||||
$(lib_binaries) += libx32phobos-dev
|
||||
endif
|
||||
|
||||
ifeq ($(with_lib64phobos),yes)
|
||||
$(lib_binaries) += lib64phobos
|
||||
endif
|
||||
ifeq ($(with_lib32phobos),yes)
|
||||
$(lib_binaries) += lib32phobos
|
||||
endif
|
||||
ifeq ($(with_libn32phobos),yes)
|
||||
$(lib_binaries) += libn32phobos
|
||||
endif
|
||||
ifeq ($(with_libx32phobos),yes)
|
||||
$(lib_binaries) += libx32phobos
|
||||
endif
|
||||
endif
|
||||
|
||||
p_gdc_n = gdc$(pkg_ver)-$(subst _,-,$(TARGET_ALIAS))
|
||||
p_gdc_h = gdc$(pkg_ver)-for-host
|
||||
p_gdc_b = gdc$(pkg_ver)-for-build
|
||||
p_gdc = gdc$(pkg_ver)
|
||||
p_gdc_m = gdc$(pkg_ver)-multilib$(cross_bin_arch)
|
||||
p_libphobos = libgphobos$(GPHOBOS_SONAME)
|
||||
p_libphobosdev = libgphobos$(pkg_ver)-dev
|
||||
|
||||
d_gdc_n = debian/$(p_gdc_n)
|
||||
d_gdc_h = debian/$(p_gdc_h)
|
||||
d_gdc_b = debian/$(p_gdc_b)
|
||||
d_gdc = debian/$(p_gdc)
|
||||
d_gdc_m = debian/$(p_gdc_m)
|
||||
d_libphobos = debian/$(p_libphobos)
|
||||
d_libphobosdev = debian/$(p_libphobosdev)
|
||||
|
||||
ifeq ($(DEB_CROSS),yes)
|
||||
gdc_include_dir := $(gcc_lib_dir)/include/d
|
||||
else
|
||||
gdc_include_dir := $(PF)/include/d/$(BASE_VERSION)
|
||||
endif
|
||||
# FIXME: always here?
|
||||
gdc_include_dir := $(gcc_lib_dir)/include/d
|
||||
|
||||
dirs_gdc_n = \
|
||||
$(PF)/bin \
|
||||
$(PF)/share/man/man1 \
|
||||
$(gcc_lib_dir) \
|
||||
$(gcc_lexec_dir) \
|
||||
usr/share/lintian/overrides
|
||||
|
||||
dirs_gdc = \
|
||||
$(PF)/bin \
|
||||
$(PF)/share/man/man1
|
||||
|
||||
ifneq ($(DEB_CROSS),yes)
|
||||
dirs_gdc_n += \
|
||||
$(gdc_include_dir)
|
||||
endif
|
||||
|
||||
files_gdc_n = \
|
||||
$(PF)/bin/$(cmd_prefix)gdc$(pkg_ver) \
|
||||
$(gcc_lexec_dir)/d21
|
||||
ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl)
|
||||
files_gdc_n += \
|
||||
$(PF)/share/man/man1/$(cmd_prefix)gdc$(pkg_ver).1
|
||||
endif
|
||||
|
||||
dirs_libphobos = \
|
||||
$(PF)/lib \
|
||||
$(gdc_include_dir) \
|
||||
$(gcc_lib_dir)
|
||||
|
||||
$(binary_stamp)-gdc-nat: $(install_stamp)
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
mv $(install_stamp) $(install_stamp)-tmp
|
||||
|
||||
rm -rf $(d_gdc_n)
|
||||
dh_installdirs -p$(p_gdc_n) $(dirs_gdc_n)
|
||||
|
||||
debian/dh_doclink -p$(p_gdc_n) $(p_xbase)
|
||||
|
||||
$(dh_compat2) dh_movefiles -p$(p_gdc_n) -X/zlib/ $(files_gdc_n)
|
||||
|
||||
ifeq ($(with_phobos),yes)
|
||||
mv $(d)/$(usr_lib)/libgphobos.spec $(d_gdc_n)/$(gcc_lib_dir)/
|
||||
endif
|
||||
|
||||
# FIXME: __entrypoint.di needs to go into a libgdc-dev Multi-Arch: same package
|
||||
## # Always needed by gdc.
|
||||
## mkdir -p $(d_gdc_n)/$(gdc_include_dir)
|
||||
## cp $(srcdir)/libphobos/libdruntime/__entrypoint.di \
|
||||
## $(d_gdc_n)/$(gdc_include_dir)/.
|
||||
#ifneq ($(DEB_CROSS),yes)
|
||||
# dh_link -p$(p_gdc_n) \
|
||||
# /$(gdc_include_dir) \
|
||||
# /$(dir $(gdc_include_dir))/$(GCC_VERSION)
|
||||
#endif
|
||||
|
||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
|
||||
$(DWZ) \
|
||||
$(d_gdc_n)/$(gcc_lexec_dir)/d21
|
||||
endif
|
||||
dh_strip -p$(p_gdc_n) \
|
||||
$(if $(unstripped_exe),-X/d21)
|
||||
dh_shlibdeps -p$(p_gdc_n)
|
||||
|
||||
echo '$(p_gdc_n) binary: hardening-no-pie' \
|
||||
> $(d_gdc_n)/usr/share/lintian/overrides/$(p_gdc_n)
|
||||
|
||||
echo $(p_gdc_n) >> debian/arch_binaries
|
||||
|
||||
find $(d_gdc_n) -type d -empty -delete
|
||||
|
||||
trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
|
||||
|
||||
$(binary_stamp)-gdc-host: $(install_stamp)
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
mv $(install_stamp) $(install_stamp)-tmp
|
||||
rm -rf $(d_gdc_h)
|
||||
debian/dh_doclink -p$(p_gdc_h) $(p_xbase)
|
||||
echo $(p_gdc_h) >> debian/arch_binaries
|
||||
trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
|
||||
|
||||
$(binary_stamp)-gdc-build: $(install_stamp)
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
mv $(install_stamp) $(install_stamp)-tmp
|
||||
rm -rf $(d_gdc_b)
|
||||
debian/dh_doclink -p$(p_gdc_b) $(p_cpp_b)
|
||||
echo $(p_gdc_b) >> debian/indep_binaries
|
||||
trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
|
||||
|
||||
$(binary_stamp)-gdc: $(install_stamp)
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
mv $(install_stamp) $(install_stamp)-tmp
|
||||
|
||||
rm -rf $(d_gdc)
|
||||
dh_installdirs -p$(p_gdc) $(dirs_gdc)
|
||||
|
||||
dh_installdocs -p$(p_gdc)
|
||||
dh_installchangelogs -p$(p_gdc) src/gcc/d/ChangeLog
|
||||
|
||||
ln -sf $(cmd_prefix)gdc$(pkg_ver) \
|
||||
$(d_gdc)/$(PF)/bin/gdc$(pkg_ver)
|
||||
ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl)
|
||||
ln -sf $(cmd_prefix)gdc$(pkg_ver).1.gz \
|
||||
$(d_gdc)/$(PF)/share/man/man1/gdc$(pkg_ver).1.gz
|
||||
endif
|
||||
|
||||
dh_link -p$(p_gdc) \
|
||||
/$(docdir)/$(p_xbase)/README.Bugs \
|
||||
/$(docdir)/$(p_gdc)/README.Bugs
|
||||
|
||||
echo $(p_gdc) >> debian/arch_binaries
|
||||
|
||||
find $(d_gdc) -type d -empty -delete
|
||||
|
||||
trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
|
||||
|
||||
$(binary_stamp)-gdc-multi: $(install_stamp)
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
mv $(install_stamp) $(install_stamp)-tmp
|
||||
|
||||
rm -rf $(d_gdc_m)
|
||||
dh_installdirs -p$(p_gdc_m) $(docdir)
|
||||
|
||||
debian/dh_doclink -p$(p_gdc_m) $(p_xbase)
|
||||
|
||||
dh_strip -p$(p_gdc_m)
|
||||
dh_shlibdeps -p$(p_gdc_m)
|
||||
echo $(p_gdc_m) >> debian/arch_binaries
|
||||
|
||||
trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
|
||||
|
||||
define __do_libphobos
|
||||
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))/libgphobos.so.* \
|
||||
$(usr_lib$(2))/libgdruntime.so.*
|
||||
|
||||
debian/dh_doclink -p$(p_l) $(p_lbase)
|
||||
$(if $(with_dbg),debian/dh_doclink -p$(p_d) $(p_lbase))
|
||||
|
||||
$(call do_strip_lib_dbg, $(p_l), $(p_d), $(v_dbg),,)
|
||||
ln -sf libgphobos.symbols debian/$(p_l).symbols
|
||||
$(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \
|
||||
-- -a$(call mlib_to_arch,$(2)) || echo XXXXXXXXXXX ERROR $(p_l)
|
||||
rm -f debian/$(p_l).symbols
|
||||
$(call cross_mangle_shlibs,$(p_l))
|
||||
$(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
|
||||
$(call shlibdirs_to_search, \
|
||||
$(subst gphobos$(GPHOBOS_SONAME),gcc-s$(GCC_SONAME),$(p_l)) \
|
||||
,$(2)) \
|
||||
$(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
|
||||
$(call cross_mangle_substvars,$(p_l))
|
||||
|
||||
mkdir -p $(d_l)/usr/share/lintian/overrides; \
|
||||
$(if $(filter $(DEB_TARGET_ARCH), amd64),
|
||||
$(if $(2),
|
||||
echo "$(p_l) binary: symbols-file-contains-current-version-with-debian-revision" \
|
||||
>> $(d_l)/usr/share/lintian/overrides/$(p_l)
|
||||
)
|
||||
,
|
||||
echo "$(p_l) binary: symbols-file-contains-current-version-with-debian-revision" \
|
||||
>> $(d_l)/usr/share/lintian/overrides/$(p_l)
|
||||
)
|
||||
$(if $(2),
|
||||
echo "$(p_l) binary: embedded-library" \
|
||||
>> $(d_l)/usr/share/lintian/overrides/$(p_l)
|
||||
)
|
||||
|
||||
dh_lintian -p$(p_l)
|
||||
echo $(p_l) $(if $(with_dbg), $(p_d)) >> debian/$(lib_binaries)
|
||||
|
||||
trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
|
||||
endef
|
||||
|
||||
define __do_libphobos_dev
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
mv $(install_stamp) $(install_stamp)-tmp
|
||||
|
||||
rm -rf $(d_l)
|
||||
dh_installdirs -p$(p_l) \
|
||||
$(gcc_lib_dir$(2))
|
||||
|
||||
$(call install_gcc_lib,libgdruntime,$(GDRUNTIME_SONAME),$(2),$(p_l))
|
||||
$(call install_gcc_lib,libgphobos,$(GPHOBOS_SONAME),$(2),$(p_l))
|
||||
|
||||
$(if $(2),,
|
||||
$(dh_compat2) dh_movefiles -p$(p_l) \
|
||||
$(gdc_include_dir)
|
||||
)
|
||||
|
||||
## : # included in gdc package
|
||||
## rm -f $(d_l)/$(gdc_include_dir)/__entrypoint.di
|
||||
|
||||
debian/dh_doclink -p$(p_l) $(p_lbase)
|
||||
echo $(p_l) >> debian/$(lib_binaries)
|
||||
|
||||
trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
|
||||
endef
|
||||
|
||||
# don't put this as a comment within define/endef
|
||||
# $(call install_gcc_lib,libphobos,$(PHOBOS_SONAME),$(2),$(p_l))
|
||||
|
||||
do_libphobos = $(call __do_libphobos,lib$(1)gphobos$(GPHOBOS_SONAME),$(1))
|
||||
do_libphobos_dev = $(call __do_libphobos_dev,lib$(1)gphobos-$(BASE_VERSION)-dev,$(1))
|
||||
|
||||
$(binary_stamp)-libphobos: $(install_stamp)
|
||||
$(call do_libphobos,)
|
||||
|
||||
$(binary_stamp)-lib64phobos: $(install_stamp)
|
||||
$(call do_libphobos,64)
|
||||
|
||||
$(binary_stamp)-lib32phobos: $(install_stamp)
|
||||
$(call do_libphobos,32)
|
||||
|
||||
$(binary_stamp)-libn32phobos: $(install_stamp)
|
||||
$(call do_libphobos,n32)
|
||||
|
||||
$(binary_stamp)-libx32phobos: $(install_stamp)
|
||||
$(call do_libphobos,x32)
|
||||
|
||||
|
||||
$(binary_stamp)-libphobos-dev: $(install_stamp)
|
||||
$(call do_libphobos_dev,)
|
||||
|
||||
$(binary_stamp)-lib64phobos-dev: $(install_stamp)
|
||||
$(call do_libphobos_dev,64)
|
||||
|
||||
$(binary_stamp)-lib32phobos-dev: $(install_stamp)
|
||||
$(call do_libphobos_dev,32)
|
||||
|
||||
$(binary_stamp)-libx32phobos-dev: $(install_stamp)
|
||||
$(call do_libphobos_dev,x32)
|
||||
|
||||
$(binary_stamp)-libn32phobos-dev: $(install_stamp)
|
||||
$(call do_libphobos_dev,n32)
|
Reference in New Issue
Block a user