315 lines
8.3 KiB
Makefile
315 lines
8.3 KiB
Makefile
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)
|