diff options
Diffstat (limited to 'debian/rules.d')
32 files changed, 938 insertions, 1240 deletions
diff --git a/debian/rules.d/binary-ada.mk b/debian/rules.d/binary-ada.mk index d8bb3ee..6e7af67 100644 --- a/debian/rules.d/binary-ada.mk +++ b/debian/rules.d/binary-ada.mk @@ -3,7 +3,14 @@ ifeq ($(with_separate_gnat),yes) endif ifeq ($(with_libgnat),yes) - $(lib_binaries) += libgnat libgnatvsn libgnatprj + # During native builds, gnat-BV Depends: + # * libgnat, libgnatvsn because gnat1 is linked dynamically + # * libgnat because of the development symlink. + # During cross builds, gnat1 is linked statically. Only the latter remains. + $(lib_binaries) += libgnat + ifneq ($(DEB_CROSS),yes) + $(lib_binaries) += libgnatvsn + endif endif arch_binaries := $(arch_binaries) ada @@ -27,9 +34,6 @@ p_lgnat_dbg = libgnat-$(GNAT_VERSION)-dbg$(cross_lib_arch) p_lgnatvsn = libgnatvsn$(GNAT_VERSION)$(cross_lib_arch) p_lgnatvsn_dev = libgnatvsn$(GNAT_VERSION)-dev$(cross_lib_arch) p_lgnatvsn_dbg = libgnatvsn$(GNAT_VERSION)-dbg$(cross_lib_arch) -p_lgnatprj = libgnatprj$(GNAT_VERSION)$(cross_lib_arch) -p_lgnatprj_dev = libgnatprj$(GNAT_VERSION)-dev$(cross_lib_arch) -p_lgnatprj_dbg = libgnatprj$(GNAT_VERSION)-dbg$(cross_lib_arch) p_gnatd = $(p_gnat)-doc d_gbase = debian/$(p_gbase) @@ -38,8 +42,6 @@ d_gnatsjlj = debian/$(p_gnatsjlj) d_lgnat = debian/$(p_lgnat) d_lgnatvsn = debian/$(p_lgnatvsn) d_lgnatvsn_dev = debian/$(p_lgnatvsn_dev) -d_lgnatprj = debian/$(p_lgnatprj) -d_lgnatprj_dev = debian/$(p_lgnatprj_dev) d_gnatd = debian/$(p_gnatd) GNAT_TOOLS = gnat gnatbind gnatchop gnatclean gnatfind gnatkr gnatlink \ @@ -117,12 +119,13 @@ $(binary_stamp)-libgnat: $(install_stamp) fi; \ done; \ done - $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnat) -V '$(p_lgnat) (>= $(DEB_VERSION))' + $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnat) \ + -V '$(p_lgnat) (>= $(shell echo $(DEB_VERSION) | sed 's/-.*//'))' $(call cross_mangle_shlibs,$(p_lgnat)) ifneq (,$(filter $(build_type), build-native cross-build-native)) mkdir -p $(d_lgnat)/usr/share/lintian/overrides - cp -p debian/$(p_lgnat).overrides \ + echo package-name-doesnt-match-sonames > \ $(d_lgnat)/usr/share/lintian/overrides/$(p_lgnat) endif @@ -130,8 +133,9 @@ endif $(cross_shlibdeps) dh_shlibdeps -p$(p_lgnat) \ $(call shlibdirs_to_search, \ $(subst gnat-$(GNAT_SONAME),gcc$(GCC_SONAME),$(p_lgnat)) \ + $(subst gnat-$(GNAT_SONAME),atomic$(ATOMIC_SONAME),$(p_lgnat)) \ ,) \ - $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common) $(call cross_mangle_substvars,$(p_lgnat)) : # $(p_lgnat_dbg) @@ -141,35 +145,22 @@ endif trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) - $(binary_stamp)-libgnatvsn: $(install_stamp) : # $(p_lgnatvsn_dev) -ifneq (,$(filter $(build_type), build-native cross-build-native)) - $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) usr/lib/ada/adalib/gnatvsn - $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) usr/share/ada/adainclude/gnatvsn - dh_install -p$(p_lgnatvsn_dev) \ - debian/gnatvsn.gpr usr/share/ada/adainclude -else - mkdir -p $(d_lgnatvsn_dev)/$(gcc_lib_dir)/{adalib,adainclude}/gnatvsn - mv $(d)/usr/lib/ada/adalib/gnatvsn $(d_lgnatvsn_dev)/$(gcc_lib_dir)/adalib/. - mv $(d)/usr/share/ada/adainclude/gnatvsn $(d_lgnatvsn_dev)/$(gcc_lib_dir)/adainclude/. - dh_install -p$(p_lgnatvsn_dev) \ - debian/gnatvsn.gpr $(gcc_lib_dir)/adainclude -endif - $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) $(usr_lib)/libgnatvsn.a - dh_link -p$(p_lgnatvsn_dev) \ - $(usr_lib)/libgnatvsn.so.$(GNAT_VERSION) \ + dh_install -p$(p_lgnatvsn_dev) --autodest \ + $(usr_lib)/ada/adalib/gnatvsn \ + usr/share/ada/adainclude/gnatvsn \ + usr/share/gpr/gnatvsn.gpr usr/share/gpr/gnat_util.gpr \ + $(usr_lib)/libgnatvsn.a \ $(usr_lib)/libgnatvsn.so debian/dh_doclink -p$(p_lgnatvsn_dev) $(p_glbase) dh_strip -p$(p_lgnatvsn_dev) -X.a --keep-debug : # $(p_lgnatvsn) -ifneq (,$(filter $(build_type), build-native cross-build-native)) mkdir -p $(d_lgnatvsn)/usr/share/lintian/overrides - cp -p debian/$(p_lgnatvsn).overrides \ - $(d_lgnatvsn)/usr/share/lintian/overrides/$(p_lgnatvsn) -endif - $(dh_compat2) dh_movefiles -p$(p_lgnatvsn) $(usr_lib)/libgnatvsn.so.$(GNAT_VERSION) + echo missing-dependency-on-libc \ + > $(d_lgnatvsn)/usr/share/lintian/overrides/$(p_lgnatvsn) + dh_install -p$(p_lgnatvsn) --autodest $(usr_lib)/libgnatvsn.so.* debian/dh_doclink -p$(p_lgnatvsn) $(p_glbase) dh_strip -p$(p_lgnatvsn) --dbg-package=$(p_lgnatvsn_dbg) $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnatvsn) \ @@ -179,64 +170,17 @@ endif $(cross_shlibdeps) dh_shlibdeps -p$(p_lgnatvsn) \ $(call shlibdirs_to_search, \ $(subst gnatvsn$(GNAT_SONAME),gcc$(GCC_SONAME),$(p_lgnatvsn)) \ + $(subst gnatvsn$(GNAT_SONAME),atomic$(ATOMIC_SONAME),$(p_lgnatvsn)) \ $(subst gnatvsn$(GNAT_SONAME),gnat-$(GNAT_SONAME),$(p_lgnatvsn)) \ ,) \ - $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common) $(call cross_mangle_substvars,$(p_lgnatvsn)) : # $(p_lgnatvsn_dbg) debian/dh_doclink -p$(p_lgnatvsn_dbg) $(p_glbase) echo $(p_lgnatvsn) $(p_lgnatvsn_dev) $(p_lgnatvsn_dbg) >> debian/$(lib_binaries) - touch $@ -$(binary_stamp)-libgnatprj: $(install_stamp) - : # $(p_lgnatprj_dev) -ifneq (,$(filter $(build_type), build-native cross-build-native)) - $(dh_compat2) dh_movefiles -p$(p_lgnatprj_dev) usr/lib/ada/adalib/gnatprj - $(dh_compat2) dh_movefiles -p$(p_lgnatprj_dev) usr/share/ada/adainclude/gnatprj - dh_install -p$(p_lgnatprj_dev) \ - debian/gnatprj.gpr usr/share/ada/adainclude -else - mkdir -p $(d_lgnatprj_dev)/$(gcc_lib_dir)/{adalib,adainclude}/gnatvsn - mv $(d)/usr/lib/ada/adalib/gnatprj $(d_lgnatprj_dev)/$(gcc_lib_dir)/adalib/. - mv $(d)/usr/share/ada/adainclude/gnatprj $(d_lgnatprj_dev)/$(gcc_lib_dir)/adainclude/. - dh_install -p$(p_lgnatprj_dev) \ - debian/gnatprj.gpr $(gcc_lib_dir)/adainclude -endif - $(dh_compat2) dh_movefiles -p$(p_lgnatprj_dev) $(usr_lib)/libgnatprj.a - dh_link -p$(p_lgnatprj_dev) \ - $(usr_lib)/libgnatprj.so.$(GNAT_VERSION) \ - $(usr_lib)/libgnatprj.so - dh_strip -p$(p_lgnatprj_dev) -X.a --keep-debug - debian/dh_doclink -p$(p_lgnatprj_dev) $(p_glbase) - - : # $(p_lgnatprj) -ifneq (,$(filter $(build_type), build-native cross-build-native)) - mkdir -p $(d_lgnatprj)/usr/share/lintian/overrides - cp -p debian/$(p_lgnatprj).overrides \ - $(d_lgnatprj)/usr/share/lintian/overrides/$(p_lgnatprj) -endif - $(dh_compat2) dh_movefiles -p$(p_lgnatprj) $(usr_lib)/libgnatprj.so.$(GNAT_VERSION) - debian/dh_doclink -p$(p_lgnatprj) $(p_glbase) - dh_strip -p$(p_lgnatprj) --dbg-package=$(p_lgnatprj_dbg) - $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnatprj) \ - -V '$(p_lgnatprj) (>= $(DEB_VERSION))' - $(call cross_mangle_shlibs,$(p_lgnatprj)) - cat debian/$(p_lgnatprj)/DEBIAN/shlibs >> debian/shlibs.local - $(cross_shlibdeps) dh_shlibdeps -p$(p_lgnatprj) \ - $(call shlibdirs_to_search, \ - $(subst gnatprj$(GNAT_SONAME),gcc$(GCC_SONAME),$(p_lgnatprj)) \ - $(subst gnatprj$(GNAT_SONAME),gnat-$(GNAT_SONAME),$(p_lgnatprj)) \ - $(subst gnatprj$(GNAT_SONAME),gnatvsn$(GNAT_SONAME),$(p_lgnatprj)) \ - ,) \ - $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) - $(call cross_mangle_substvars,$(p_lgnatprj)) - - : # $(p_lgnatprj_dbg) - debian/dh_doclink -p$(p_lgnatprj_dbg) $(p_glbase) - - echo $(p_lgnatprj) $(p_lgnatprj_dev) $(p_lgnatprj_dbg) >> debian/$(lib_binaries) touch $@ $(binary_stamp)-ada: $(install_stamp) @@ -349,18 +293,27 @@ ifeq ($(unprefixed_names),yes) endif debian/dh_rmemptydirs -p$(p_gnat) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_gnat)/$(gcc_lexec_dir)/gnat1 +endif dh_strip -p$(p_gnat) find $(d_gnat) -name '*.ali' | xargs chmod 444 - $(cross_shlibdeps) dh_shlibdeps -p$(p_gnat) \ - $(call shlibdirs_to_search, \ - $(p_lgcc) $(p_lgnat) $(p_lgnatvsn) $(p_lgnatprj) \ - ,) + dh_shlibdeps -p$(p_gnat) + mkdir -p $(d_gnat)/usr/share/lintian/overrides + echo '$(p_gnat) binary: hardening-no-pie' \ + > $(d_gnat)/usr/share/lintian/overrides/$(p_gnat) +ifeq ($(GFDL_INVARIANT_FREE),yes) + echo '$(p_gnat) binary: binary-without-manpage' \ + >> $(d_gnat)/usr/share/lintian/overrides/$(p_gnat) +endif + echo $(p_gnat) >> debian/arch_binaries ifeq ($(with_gnatsjlj),yes) dh_strip -p$(p_gnatsjlj) find $(d_gnatsjlj) -name '*.ali' | xargs chmod 444 - $(cross_makeshlibs) dh_shlibdeps -p$(p_gnatsjlj) + dh_shlibdeps -p$(p_gnatsjlj) echo $(p_gnatsjlj) >> debian/arch_binaries endif diff --git a/debian/rules.d/binary-base.mk b/debian/rules.d/binary-base.mk index 56f9273..bac6087 100644 --- a/debian/rules.d/binary-base.mk +++ b/debian/rules.d/binary-base.mk @@ -23,23 +23,6 @@ $(binary_stamp)-base: $(install_dependencies) dh_installdirs -p$(p_base) \ $(gcc_lexec_dir) -ifneq ($(DEB_STAGE),rtlibs) - ln -sf $(BASE_VERSION) \ - $(d_base)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lib_dir)) - for link in $(additional_links); do \ - ln -sf $(BASE_VERSION) \ - $(d_base)/$$(dirname $(gcc_lib_dir))/$$link; \ - done - ifneq ($(gcc_lib_dir),$(gcc_lexec_dir)) - ln -sf $(BASE_VERSION) \ - $(d_base)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lexec_dir)) - for link in $(additional_links); do \ - ln -sf $(BASE_VERSION) \ - $(d_base)/$$(dirname $(gcc_lexec_dir))/$$link; \ - done - endif -endif - ifeq ($(with_base_only),yes) dh_installdocs -p$(p_base) debian/README.Debian else diff --git a/debian/rules.d/binary-brig.mk b/debian/rules.d/binary-brig.mk new file mode 100644 index 0000000..8278988 --- /dev/null +++ b/debian/rules.d/binary-brig.mk @@ -0,0 +1,79 @@ +ifneq ($(DEB_STAGE),rtlibs) +# ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf))) +# arch_binaries := $(arch_binaries) brig-multi +# endif + arch_binaries := $(arch_binaries) brig +endif + +p_brig = gccbrig$(pkg_ver)$(cross_bin_arch) +d_brig = debian/$(p_brig) + +p_brig_m= gccbrig$(pkg_ver)-multilib$(cross_bin_arch) +d_brig_m= debian/$(p_brig_m) + +dirs_brig = \ + $(docdir)/$(p_xbase)/BRIG \ + $(gcc_lexec_dir) + +files_brig = \ + $(PF)/bin/$(cmd_prefix)gccbrig$(pkg_ver) \ + $(gcc_lexec_dir)/brig1 + +$(binary_stamp)-brig: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_brig) + dh_installdirs -p$(p_brig) $(dirs_brig) + $(dh_compat2) dh_movefiles -p$(p_brig) $(files_brig) + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)gccbrig$(pkg_ver) \ + $(d_brig)/$(PF)/bin/gccbrig$(pkg_ver) +# ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl) +# ln -sf $(cmd_prefix)gccbrig$(pkg_ver).1 \ +# $(d_brig)/$(PF)/share/man/man1/gccbrig$(pkg_ver).1 +# endif +endif + cp -p $(srcdir)/gcc/brig/ChangeLog \ + $(d_brig)/$(docdir)/$(p_xbase)/BRIG/changelog.BRIG + + mkdir -p $(d_brig)/usr/share/lintian/overrides + echo '$(p_brig) binary: hardening-no-pie' \ + > $(d_brig)/usr/share/lintian/overrides/$(p_brig) +ifeq ($(GFDL_INVARIANT_FREE),yes) + echo '$(p_brig) binary: binary-without-manpage' \ + >> $(d_brig)/usr/share/lintian/overrides/$(p_brig) +endif + + debian/dh_doclink -p$(p_brig) $(p_xbase) + + debian/dh_rmemptydirs -p$(p_brig) + +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_brig)/$(gcc_lexec_dir)/brig1 +endif + dh_strip -p$(p_brig) \ + $(if $(unstripped_exe),-X/brig1) + dh_shlibdeps -p$(p_brig) + echo $(p_brig) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-brig-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_brig_m) + dh_installdirs -p$(p_brig_m) $(docdir) + + debian/dh_doclink -p$(p_brig_m) $(p_xbase) + + dh_strip -p$(p_brig_m) + dh_shlibdeps -p$(p_brig_m) + echo $(p_brig_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) diff --git a/debian/rules.d/binary-cpp.mk b/debian/rules.d/binary-cpp.mk index b38e42b..cbeeb26 100644 --- a/debian/rules.d/binary-cpp.mk +++ b/debian/rules.d/binary-cpp.mk @@ -15,8 +15,7 @@ dirs_cpp = \ files_cpp = \ $(PF)/bin/$(cmd_prefix)cpp$(pkg_ver) \ - $(gcc_lexec_dir)/cc1 \ - $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0} + $(gcc_lexec_dir)/cc1 ifneq ($(GFDL_INVARIANT_FREE),yes) files_cpp += \ @@ -42,8 +41,10 @@ ifeq ($(unprefixed_names),yes) endif endif -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_cpp)/usr/share/lintian/overrides + echo '$(p_cpp) binary: hardening-no-pie' \ + > $(d_cpp)/usr/share/lintian/overrides/$(p_cpp) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_cpp) binary: binary-without-manpage' \ >> $(d_cpp)/usr/share/lintian/overrides/$(p_cpp) endif @@ -51,9 +52,13 @@ endif debian/dh_doclink -p$(p_cpp) $(p_xbase) debian/dh_rmemptydirs -p$(p_cpp) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) $(d_cpp)/$(gcc_lexec_dir)/cc1 +endif dh_strip -p$(p_cpp) \ $(if $(unstripped_exe),-X/cc1) dh_shlibdeps -p$(p_cpp) + echo $(p_cpp) >> debian/arch_binaries trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) diff --git a/debian/rules.d/binary-cxx.mk b/debian/rules.d/binary-cxx.mk index 17a43c0..aaa3235 100644 --- a/debian/rules.d/binary-cxx.mk +++ b/debian/rules.d/binary-cxx.mk @@ -42,8 +42,10 @@ ifeq ($(unprefixed_names),yes) endif endif -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_cxx)/usr/share/lintian/overrides + echo '$(p_cxx) binary: hardening-no-pie' \ + > $(d_cxx)/usr/share/lintian/overrides/$(p_cxx) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_cxx) binary: binary-without-manpage' \ >> $(d_cxx)/usr/share/lintian/overrides/$(p_cxx) endif @@ -55,6 +57,10 @@ endif debian/dh_rmemptydirs -p$(p_cxx) dh_shlibdeps -p$(p_cxx) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_cxx)/$(gcc_lexec_dir)/cc1plus +endif dh_strip -p$(p_cxx) $(if $(unstripped_exe),-X/cc1plus) echo $(p_cxx) >> debian/arch_binaries diff --git a/debian/rules.d/binary-d.mk b/debian/rules.d/binary-d.mk index 434fcc6..d9f8e82 100644 --- a/debian/rules.d/binary-d.mk +++ b/debian/rules.d/binary-d.mk @@ -4,8 +4,10 @@ ifneq ($(DEB_STAGE),rtlibs) endif arch_binaries := $(arch_binaries) gdc - ifeq ($(with_libphobos),yes) + ifeq ($(with_libphobosdev),yes) $(lib_binaries) += libphobos-dev + endif + ifeq ($(with_libphobos),yes) $(lib_binaries) += libphobos endif @@ -77,7 +79,7 @@ endif files_gdc = \ $(PF)/bin/$(cmd_prefix)gdc$(pkg_ver) \ - $(gcc_lexec_dir)/cc1d + $(gcc_lexec_dir)/d21 ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl) files_gdc += \ $(PF)/share/man/man1/$(cmd_prefix)gdc$(pkg_ver).1 @@ -96,12 +98,12 @@ $(binary_stamp)-gdc: $(install_stamp) rm -rf $(d_gdc) dh_installdirs -p$(p_gdc) $(dirs_gdc) - dh_installdocs -p$(p_gdc) src/gcc/d/README + dh_installdocs -p$(p_gdc) dh_installchangelogs -p$(p_gdc) src/gcc/d/ChangeLog $(dh_compat2) dh_movefiles -p$(p_gdc) -X/zlib/ $(files_gdc) -ifeq ($(with_libphobos),yes) +ifeq ($(with_phobos),yes) mv $(d)/$(usr_lib)/libgphobos.spec $(d_gdc)/$(gcc_lib_dir)/ endif @@ -129,9 +131,18 @@ endif /$(docdir)/$(p_gcc)/README.Bugs \ /$(docdir)/$(p_gdc)/README.Bugs +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_gdc)/$(gcc_lexec_dir)/d21 +endif dh_strip -p$(p_gdc) \ - $(if $(unstripped_exe),-X/cc1d) + $(if $(unstripped_exe),-X/d21) dh_shlibdeps -p$(p_gdc) + + mkdir -p $(d_gdc)/usr/share/lintian/overrides + echo '$(p_gdc) binary: hardening-no-pie' \ + > $(d_gdc)/usr/share/lintian/overrides/$(p_gdc) + echo $(p_gdc) >> debian/arch_binaries find $(d_gdc) -type d -empty -delete @@ -181,6 +192,13 @@ define __do_libphobos ,$(2)) \ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) $(call cross_mangle_substvars,$(p_l)) + + $(if $(2), + mkdir -p $(d_l)/usr/share/lintian/overrides; \ + echo "$$pkgname binary: embedded-library" \ + >> $(d_l)/usr/share/lintian/overrides/$(p_l) + ) + dh_lintian -p$(p_l) echo $(p_l) $(p_d) >> debian/$(lib_binaries) diff --git a/debian/rules.d/binary-fixincl.mk b/debian/rules.d/binary-fixincl.mk deleted file mode 100644 index 08ea877..0000000 --- a/debian/rules.d/binary-fixincl.mk +++ /dev/null @@ -1,42 +0,0 @@ -arch_binaries := $(arch_binaries) fixincl - -p_fix = fixincludes -d_fix = debian/$(p_fix) - -dirs_fix = \ - $(docdir)/$(p_xbase)/fixincludes \ - $(PF)/share/man/man1 \ - $(PF)/bin \ - $(gcc_lexec_dir) \ - $(gcc_lib_dir) -files_fix = \ - $(gcc_lexec_dir)/install-tools \ - $(gcc_lib_dir)/install-tools - -# ---------------------------------------------------------------------- -$(binary_stamp)-fixincl: $(install_stamp) - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - rm -rf $(d_fix) - dh_installdirs -p$(p_fix) $(dirs_fix) - $(dh_compat2) dh_movefiles -p$(p_fix) $(files_fix) - -# $(IP) $(builddir)/gcc/fixinc/fixincl $(d_fix)/$(PF)/lib/fixincludes/ -# sed -e "s,^FIXINCL=\(.*\),FIXINCL=/$(PF)/lib/fixincludes/fixincl," \ -# $(builddir)/gcc/fixinc.sh \ -# > $(d_fix)/$(PF)/lib/fixincludes/fixinc.sh -# chmod 755 $(d_fix)/$(PF)/lib/fixincludes/fixinc.sh - $(IR) $(srcdir)/fixincludes/README \ - $(d_fix)/$(docdir)/$(p_xbase)/fixincludes - sed -e 's,@LIBEXECDIR@,$(gcc_lexec_dir),g' debian/fixincludes.in \ - > $(d_fix)/$(PF)/bin/fixincludes - chmod 755 $(d_fix)/$(PF)/bin/fixincludes - - debian/dh_doclink -p$(p_fix) $(p_xbase) - dh_strip -p$(p_fix) - dh_shlibdeps -p$(p_fix) - echo $(p_fix) >> debian/arch_binaries.epoch - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) diff --git a/debian/rules.d/binary-fortran.mk b/debian/rules.d/binary-fortran.mk index 4b603e4..8a04b51 100644 --- a/debian/rules.d/binary-fortran.mk +++ b/debian/rules.d/binary-fortran.mk @@ -122,12 +122,16 @@ define __do_libgfortran_dev mv $(install_stamp) $(install_stamp)-tmp rm -rf $(d_l) - dh_installdirs -p$(1) $(gcc_lib_dir$(2)) + dh_installdirs -p$(p_l) $(gcc_lib_dir$(2)) $(dh_compat2) dh_movefiles -p$(p_l) \ $(gcc_lib_dir$(2))/libcaf_single.a $(call install_gcc_lib,libgfortran,$(FORTRAN_SONAME),$(2),$(p_l)) + $(if $(2),, \ + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(gcc_lib_dir$(2))/include/ISO_Fortran_binding.h) + debian/dh_doclink -p$(p_l) $(p_lbase) debian/dh_rmemptydirs -p$(p_l) @@ -185,8 +189,10 @@ ifeq ($(unprefixed_names),yes) endif endif -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_g95)/usr/share/lintian/overrides + echo '$(p_g95) binary: hardening-no-pie' \ + > $(d_g95)/usr/share/lintian/overrides/$(p_g95) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_g95) binary: binary-without-manpage' \ >> $(d_g95)/usr/share/lintian/overrides/$(p_g95) endif @@ -197,6 +203,10 @@ endif $(d_g95)/$(docdir)/$(p_xbase)/fortran/changelog debian/dh_rmemptydirs -p$(p_g95) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_g95)/$(gcc_lexec_dir)/f951 +endif dh_strip -p$(p_g95) \ $(if $(unstripped_exe),-X/f951) dh_shlibdeps -p$(p_g95) diff --git a/debian/rules.d/binary-gcc.mk b/debian/rules.d/binary-gcc.mk index 25ddbd8..284e376 100644 --- a/debian/rules.d/binary-gcc.mk +++ b/debian/rules.d/binary-gcc.mk @@ -27,7 +27,7 @@ endif # but it becomes difficult to name all these files ... dirs_gcc = \ - $(docdir)/$(p_xbase)/{gcc,libssp,gomp,itm,quadmath,sanitizer,cilkrts,mpx} \ + $(docdir)/$(p_xbase)/{gcc,libssp,gomp,itm,quadmath,sanitizer} \ $(PF)/bin \ $(gcc_lexec_dir) \ $(gcc_lib_dir)/{include,include-fixed} \ @@ -44,9 +44,12 @@ files_gcc = \ ifeq ($(with_libcc1_plugin),yes) files_gcc += \ - $(gcc_lib_dir)/plugin/libcc1plugin.so{,.0,.0.0.0} + $(gcc_lib_dir)/plugin/libc[cp]1plugin.so{,.0,.0.0.0} endif +files_gcc += \ + $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0} + ifeq ($(DEB_STAGE),stage1) files_gcc += \ $(gcc_lib_dir)/include \ @@ -117,16 +120,6 @@ ifeq ($(with_asan),yes) cp -p $(srcdir)/libsanitizer/ChangeLog \ $(d_gcc)/$(docdir)/$(p_xbase)/sanitizer/changelog endif -ifeq ($(with_cilkrts),yes) - mv $(d)/$(usr_lib)/libcilkrts.spec $(d_gcc)/$(gcc_lib_dir)/ - cp -p $(srcdir)/libcilkrts/ChangeLog \ - $(d_gcc)/$(docdir)/$(p_xbase)/cilkrts/changelog -endif -ifeq ($(with_mpx),yes) - mv $(d)/$(usr_lib)/libmpx.spec $(d_gcc)/$(gcc_lib_dir)/ - cp -p $(srcdir)/libmpx/ChangeLog \ - $(d_gcc)/$(docdir)/$(p_xbase)/mpx/changelog -endif ifeq ($(with_cc1),yes) rm -f $(d)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libcc1.so dh_link -p$(p_gcc) \ @@ -175,13 +168,21 @@ endif true; \ fi -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_gcc)/usr/share/lintian/overrides + echo '$(p_gcc) binary: hardening-no-pie' \ + > $(d_gcc)/usr/share/lintian/overrides/$(p_gcc) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_gcc) binary: binary-without-manpage' \ >> $(d_gcc)/usr/share/lintian/overrides/$(p_gcc) endif debian/dh_rmemptydirs -p$(p_gcc) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_gcc)/$(gcc_lexec_dir)/lto1 \ + $(d_gcc)/$(gcc_lexec_dir)/lto-wrapper \ + $(d_gcc)/$(gcc_lexec_dir)/collect2 +endif dh_strip -p$(p_gcc) \ $(if $(unstripped_exe),-X/lto1) dh_shlibdeps -p$(p_gcc) @@ -227,6 +228,9 @@ $(binary_stamp)-gcc-plugindev: $(install_dependencies) debian/dh_rmemptydirs -p$(p_pld) dh_strip -p$(p_pld) dh_shlibdeps -p$(p_pld) + mkdir -p $(d_pld)/usr/share/lintian/overrides + echo '$(p_pld) binary: hardening-no-pie' \ + > $(d_pld)/usr/share/lintian/overrides/$(p_pld) echo $(p_pld) >> debian/arch_binaries trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) diff --git a/debian/rules.d/binary-go.mk b/debian/rules.d/binary-go.mk index c7e9e1d..9d30d68 100644 --- a/debian/rules.d/binary-go.mk +++ b/debian/rules.d/binary-go.mk @@ -1,18 +1,33 @@ ifeq ($(with_libgo),yes) $(lib_binaries) += libgo endif +ifeq ($(with_godev),yes) + $(lib_binaries) += libgo-dev +endif ifeq ($(with_lib64go),yes) $(lib_binaries) += lib64go endif +ifeq ($(with_lib64godev),yes) + $(lib_binaries) += lib64go-dev +endif ifeq ($(with_lib32go),yes) $(lib_binaries) += lib32go endif +ifeq ($(with_lib32godev),yes) + $(lib_binaries) += lib32go-dev +endif ifeq ($(with_libn32go),yes) $(lib_binaries) += libn32go endif +ifeq ($(with_libn32godev),yes) + $(lib_binaries) += libn32go-dev +endif ifeq ($(with_libx32go),yes) $(lib_binaries) += libx32go endif +ifeq ($(with_libx32godev),yes) + $(lib_binaries) += libx32go-dev +endif ifneq ($(DEB_STAGE),rtlibs) arch_binaries := $(arch_binaries) gccgo @@ -51,6 +66,7 @@ ifneq (,$(filter $(build_type), build-native cross-build-native)) files_go += \ $(PF)/bin/$(cmd_prefix){go,gofmt}$(pkg_ver) \ $(gcc_lexec_dir)/cgo \ + $(gcc_lexec_dir)/{buildid,test2json,vet} \ $(PF)/share/man/man1/$(cmd_prefix){go,gofmt}$(pkg_ver).1 endif @@ -102,7 +118,7 @@ ifeq ($(with_standalone_go),yes) endif # ---------------------------------------------------------------------- -define __do_gccgo +define __do_libgo dh_testdir dh_testroot mv $(install_stamp) $(install_stamp)-tmp @@ -110,7 +126,7 @@ define __do_gccgo rm -rf $(d_l) $(d_d) dh_installdirs -p$(p_l) $(usr_lib$(2)) $(dh_compat2) dh_movefiles -p$(p_l) \ - $(usr_lib$(2))/libgo.so.* $(usr_lib$(2))/go + $(usr_lib$(2))/libgo.so.* debian/dh_doclink -p$(p_l) $(p_lbase) debian/dh_doclink -p$(p_d) $(p_lbase) @@ -135,8 +151,6 @@ define __do_gccgo trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) endef -do_gccgo = $(call __do_gccgo,lib$(1)go$(GO_SONAME),$(1)) - define install_gccgo_lib mv $(d)/$(usr_lib$(3))/$(1).a debian/$(4)/$(gcc_lib_dir$(3))/ if [ -f $(d)/$(usr_lib$(3))/$(1)libbegin.a ]; then \ @@ -166,30 +180,65 @@ define __do_gccgo_libgcc ) endef -define do_go_dev - dh_installdirs -p$(2) $(gcc_lib_dir$(1)) - $(dh_compat2) dh_movefiles -p$(2) \ - $(gcc_lib_dir$(1))/{libgobegin,libnetgo}.a +define __do_libgo_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + dh_installdirs -p$(p_l) \ + $(gcc_lib_dir$(2)) \ + $(usr_lib$(2)) + mv $(d)/$(usr_lib$(2))/{libgobegin,libgolibbegin}.a \ + $(d)/$(gcc_lib_dir$(2))/ + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(gcc_lib_dir$(2))/{libgobegin,libgolibbegin}.a \ + $(usr_lib$(2))/go + $(call install_gccgo_lib,libgo,$(GO_SONAME),$(2),$(p_l)) + $(if $(filter yes, $(with_standalone_go)), \ - $(call install_gccgo_lib,libgomp,$(GOMP_SONAME),$(1),$(2))) - $(call install_gccgo_lib,libgo,$(GO_SONAME),$(1),$(2)) - $(call __do_gccgo_libgcc,$(1),$(2),$(gcc_lib_dir$(1)),$(d)/$(usr_lib$(1))) + $(call install_gccgo_lib,libgomp,$(GOMP_SONAME),$(2),$(p_l))) + $(call __do_gccgo_libgcc,$(2),$(p_l),$(gcc_lib_dir$(2)),$(d)/$(usr_lib$(2))) + + 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 + +do_libgo = $(call __do_libgo,lib$(1)go$(GO_SONAME),$(1)) +do_libgo_dev = $(call __do_libgo_dev,lib$(1)go-$(BASE_VERSION)-dev,$(1)) + # ---------------------------------------------------------------------- $(binary_stamp)-libgo: $(install_stamp) - $(call do_gccgo,) + $(call do_libgo,) $(binary_stamp)-lib64go: $(install_stamp) - $(call do_gccgo,64) + $(call do_libgo,64) $(binary_stamp)-lib32go: $(install_stamp) - $(call do_gccgo,32) + $(call do_libgo,32) $(binary_stamp)-libn32go: $(install_stamp) - $(call do_gccgo,n32) + $(call do_libgo,n32) $(binary_stamp)-libx32go: $(install_stamp) - $(call do_gccgo,x32) + $(call do_libgo,x32) + +$(binary_stamp)-libgo-dev: $(install_stamp) + $(call do_libgo_dev,) + +$(binary_stamp)-lib64go-dev: $(install_stamp) + $(call do_libgo_dev,64) + +$(binary_stamp)-lib32go-dev: $(install_stamp) + $(call do_libgo_dev,32) + +$(binary_stamp)-libx32go-dev: $(install_stamp) + $(call do_libgo_dev,x32) + +$(binary_stamp)-libn32go-dev: $(install_stamp) + $(call do_libgo_dev,n32) # ---------------------------------------------------------------------- $(binary_stamp)-gccgo: $(install_stamp) @@ -200,27 +249,6 @@ $(binary_stamp)-gccgo: $(install_stamp) rm -rf $(d_go) dh_installdirs -p$(p_go) $(dirs_go) - mv $(d)/$(usr_lib)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/ - if [ -f $(d)/$(usr_lib64)/libgobegin.a ]; then \ - mv $(d)/$(usr_lib64)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/64/; \ - fi - if [ -f $(d)/$(usr_lib32)/libgobegin.a ]; then \ - mv $(d)/$(usr_lib32)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/32/; \ - fi - if [ -f $(d)/$(usr_libn32)/libgobegin.a ]; then \ - mv $(d)/$(usr_libn32)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/n32/; \ - fi - if [ -f $(d)/$(usr_libx32)/libgobegin.a ]; then \ - mv $(d)/$(usr_libx32)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/x32/; \ - fi - - $(call do_go_dev,,$(p_go)) - $(dh_compat2) dh_movefiles -p$(p_go) $(files_go) ifneq (,$(findstring gccgo,$(PKGSOURCE))) @@ -268,8 +296,12 @@ ifeq ($(with_standalone_go),yes) endif endif -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_go)/usr/share/lintian/overrides + echo '$(p_go) binary: unstripped-binary-or-object' \ + > $(d_go)/usr/share/lintian/overrides/$(p_go) + echo '$(p_go) binary: hardening-no-pie' \ + >> $(d_go)/usr/share/lintian/overrides/$(p_go) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_go) binary: binary-without-manpage' \ >> $(d_go)/usr/share/lintian/overrides/$(p_go) endif @@ -280,8 +312,12 @@ endif # $(d_go)/$(docdir)/$(p_base)/go/changelog debian/dh_rmemptydirs -p$(p_go) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_go)/$(gcc_lexec_dir)/go1 +endif dh_strip -v -p$(p_go) -X/cgo -X/go$(pkg_ver) -X/gofmt$(pkg_ver) \ - $(if $(unstripped_exe),-X/go1) + -X/buildid -X/test2json -X/vet $(if $(unstripped_exe),-X/go1) dh_shlibdeps -p$(p_go) echo $(p_go) >> debian/arch_binaries @@ -296,8 +332,9 @@ $(binary_stamp)-gccgo-multi: $(install_stamp) rm -rf $(d_go_m) dh_installdirs -p$(p_go_m) $(docdir) - $(foreach flavour,$(flavours), \ - $(call do_go_dev,$(flavour),$(p_go_m))) + mkdir -p $(d_go_m)/usr/share/lintian/overrides + echo '$(p_go_m) binary: non-multi-arch-lib-dir' \ + > $(d_go_m)/usr/share/lintian/overrides/$(p_go_m) debian/dh_doclink -p$(p_go_m) $(p_xbase) debian/dh_rmemptydirs -p$(p_go_m) diff --git a/debian/rules.d/binary-hppa64.mk b/debian/rules.d/binary-hppa64.mk index 2dc9b33..36f91f5 100644 --- a/debian/rules.d/binary-hppa64.mk +++ b/debian/rules.d/binary-hppa64.mk @@ -20,6 +20,13 @@ $(binary_stamp)-hppa64: $(install_hppa64_stamp) debian/dh_doclink -p$(p_hppa64) $(p_xbase) debian/dh_rmemptydirs -p$(p_hppa64) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/cc1 \ + $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/collect2 \ + $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/lto-wrapper \ + $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/lto1 +endif dh_strip -p$(p_hppa64) -X.o -Xlibgcc.a -Xlibgcov.a dh_shlibdeps -p$(p_hppa64) diff --git a/debian/rules.d/binary-hsa.mk b/debian/rules.d/binary-hsa.mk new file mode 100644 index 0000000..8e96720 --- /dev/null +++ b/debian/rules.d/binary-hsa.mk @@ -0,0 +1,88 @@ +ifeq ($(with_offload_hsa),yes) + #arch_binaries := $(arch_binaries) hsa + ifeq ($(with_common_libs),yes) + arch_binaries := $(arch_binaries) hsa-plugin + endif +endif + +p_hsa = gcc$(pkg_ver)-offload-hsa +d_hsa = debian/$(p_hsa) + +p_pl_hsa = libgomp-plugin-hsa1 +d_pl_hsa = debian/$(p_pl_hsa) + +dirs_hsa = \ + $(docdir)/$(p_xbase)/ \ + $(PF)/bin \ + $(gcc_lexec_dir)/accel + +files_hsa = \ + $(PF)/bin/$(DEB_TARGET_GNU_TYPE)-accel-hsa-none-gcc$(pkg_ver) \ + $(gcc_lexec_dir)/accel/hsa-none + +# not needed: libs moved, headers not needed for lto1 +# $(PF)/hsa-none + +# are these needed? +# $(PF)/lib/gcc/hsa-none/$(versiondir)/{include,finclude,mgomp} + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_hsa += \ + $(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-accel-hsa-none-gcc$(pkg_ver).1 +endif + +$(binary_stamp)-hsa: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_hsa) + dh_installdirs -p$(p_hsa) $(dirs_hsa) + $(dh_compat2) dh_movefiles --sourcedir=$(d)-hsa -p$(p_hsa) \ + $(files_hsa) + + mkdir -p $(d_hsa)/usr/share/lintian/overrides + echo '$(p_hsa) binary: hardening-no-pie' \ + > $(d_hsa)/usr/share/lintian/overrides/$(p_hsa) +ifeq ($(GFDL_INVARIANT_FREE),yes) + echo '$(p_hsa) binary: binary-without-manpage' \ + >> $(d_hsa)/usr/share/lintian/overrides/$(p_hsa) +endif + + debian/dh_doclink -p$(p_hsa) $(p_xbase) + + debian/dh_rmemptydirs -p$(p_hsa) + +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_hsa)/$(gcc_lexec_dir)/accel/hsa-none/{collect2,lto1,lto-wrapper,mkoffload} +endif + dh_strip -p$(p_hsa) \ + $(if $(unstripped_exe),-X/lto1) + dh_shlibdeps -p$(p_hsa) + echo $(p_hsa) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-hsa-plugin: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_pl_hsa) + dh_installdirs -p$(p_pl_hsa) \ + $(docdir) \ + $(usr_lib) + $(dh_compat2) dh_movefiles -p$(p_pl_hsa) \ + $(usr_lib)/libgomp-plugin-hsa.so.* + + debian/dh_doclink -p$(p_pl_hsa) $(p_xbase) + debian/dh_rmemptydirs -p$(p_pl_hsa) + + dh_strip -p$(p_pl_hsa) + dh_makeshlibs -p$(p_pl_hsa) + dh_shlibdeps -p$(p_pl_hsa) + echo $(p_pl_hsa) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) diff --git a/debian/rules.d/binary-java.mk b/debian/rules.d/binary-java.mk deleted file mode 100644 index cc77c5a..0000000 --- a/debian/rules.d/binary-java.mk +++ /dev/null @@ -1,769 +0,0 @@ -ifeq ($(with_gcj_base_only),yes) - arch_binaries := $(arch_binaries) jbase -else -ifeq ($(with_separate_libgcj),yes) - ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) - arch_binaries := $(arch_binaries) jbase - endif -endif - -ifeq ($(with_libgcj),yes) - ifeq ($(with_java),yes) - arch_binaries := $(arch_binaries) java gcjjre - indep_binaries := $(indep_binaries) libgcjjar - endif - - ifeq ($(with_javadev),yes) - arch_binaries := $(arch_binaries) gcjjdk libgcjdev libgcjdbg - ifneq ($(DEB_CROSS),yes) - indep_binaries := $(indep_binaries) libgcjsrc - ifeq ($(with_libgcj_doc),yes) - indep_binaries := $(indep_binaries) libgcjdoc - endif - endif - endif -endif - -ifeq ($(with_gcj),yes) - arch_binaries := $(arch_binaries) gcj -endif -endif - -ifneq (,$(filter $(build_type), build-native cross-build-native)) - p_jbase = gcj$(pkg_ver)-base - ifeq ($(with_separate_libgcj)-$(with_standalone_gcj),no-no) - p_jbase = gcc$(pkg_ver)-base - endif -else - p_jbase = gcj$(pkg_ver)$(cross_bin_arch)-base - ifeq ($(with_separate_libgcj)-$(with_standalone_gcj),no-no) - p_jbase = gcc$(pkg_ver)$(cross_bin_arch)-base - endif -endif - -p_gcj = gcj$(pkg_ver)$(cross_bin_arch) -p_jdk = gcj$(pkg_ver)-jdk$(cross_bin_arch) -p_jrehl = gcj$(pkg_ver)-jre-headless$(cross_bin_arch) -p_jre = gcj$(pkg_ver)-jre$(cross_bin_arch) -p_jar = gcj$(pkg_ver)-jre-lib$(cross_bin_arch) -p_jsrc = gcj$(pkg_ver)-source -p_jlib = libgcj$(PKG_LIBGCJ_EXT)$(cross_lib_arch) -p_jdbg = libgcj$(PKG_GCJ_EXT)-dbg$(cross_lib_arch) -p_jlibx = libgcj$(PKG_LIBGCJ_EXT)-awt$(cross_lib_arch) -p_jgtk = libgcj$(PKG_GCJ_EXT)-awt-gtk$(cross_lib_arch) -p_jqt = libgcj$(PKG_GCJ_EXT)-awt-qt$(cross_lib_arch) -p_jdev = libgcj$(PKG_GCJ_EXT)-dev$(cross_lib_arch) -p_jdoc = libgcj-doc - -d_jbase = debian/$(p_jbase) -d_gcj = debian/$(p_gcj) -d_jdk = debian/$(p_jdk) -d_jrehl = debian/$(p_jrehl) -d_jar = debian/$(p_jar) -d_jsrc = debian/$(p_jsrc) -d_jlib = debian/$(p_jlib) -d_jdbg = debian/$(p_jdbg) -d_jlibx = debian/$(p_jlibx) -d_jgtk = debian/$(p_jgtk) -d_jqt = debian/$(p_jqt) -d_jdev = debian/$(p_jdev) -d_jdoc = debian/$(p_jdoc) -d_jre = debian/$(p_jre) - -GCJ_BASE_VERSION = $(BASE_VERSION) - -gcj_vlibdir = $(PF)/$(libdir)/gcj-$(BASE_VERSION)-$(GCJ_SONAME) - -jre_tools = java keytool orbd rmid rmiregistry tnameserv -jdk_tools = appletviewer jar jarsigner javac javadoc javah native2ascii rmic serialver - -dirs_gcj = \ - $(docdir)/$(p_jbase) \ - $(PF)/bin \ - $(PF)/share/man/man1 \ - $(gcc_lexec_dir) - -files_gcj = \ - $(PF)/bin/$(cmd_prefix)gcj$(pkg_ver) \ - $(gcc_lexec_dir)/{jc1,jvgenmain} - -# FIXME: this really should be included, or else the cross compiler -# can only be used to build libjava itself. -ifneq (,$(filter $(build_type), build-native cross-build-native)) - files_gcj += \ - $(PF)/$(libdir)/libgcj.spec -endif - -ifneq ($(GFDL_INVARIANT_FREE),yes) - files_gcj += \ - $(PF)/share/man/man1/$(cmd_prefix)gcj$(pkg_ver).1 -endif - -dirs_jdk = \ - $(docdir)/$(p_jbase) \ - $(PF)/bin \ - $(PF)/share/man/man1 \ - $(PF)/share/info \ - $(gcc_lexec_dir) \ - $(jvm_dir)/bin - -files_jdk = \ - $(PF)/bin/$(cmd_prefix){gappletviewer,gjdoc,gc-analyze,gjar,gjarsigner,gcjh,gjavah,gnative2ascii,grmic,gserialver,jv-convert,jcf-dump}$(pkg_ver) \ - $(PF)/share/man/man1/$(cmd_prefix){gappletviewer,gjdoc,gjar,gjarsigner,gcjh,gjavah,gnative2ascii,gserialver}$(pkg_ver).1 \ - $(gcc_lib_dir)/include/{jni.h,jni_md.h,jvmpi.h} \ - $(gcc_lib_dir)/include/{jawt.h,jawt_md.h} \ - $(gcc_lib_dir)/include/gcj/libgcj-config.h \ - $(PF)/$(libdir)/lib{gij,gcj,gcj-tools}.so \ - $(jvm_dir)/include \ - $(jvm_dir)/bin/{appletviewer,jar,jarsigner,javadoc,javah,native2ascii,rmic,serialver} \ - $(PF)/lib/jvm-exports - -ifneq ($(GFDL_INVARIANT_FREE),yes) - files_jdk += \ - $(PF)/share/info/gcj* \ - $(PF)/share/man/man1/$(cmd_prefix){gc-analyze,grmic,jv-convert,jcf-dump}$(pkg_ver).1 -endif - -dirs_jrehl = \ - $(docdir)/$(p_jbase) \ - $(PF)/bin \ - $(PF)/share/man/man1 \ - $(jvm_dir)/bin \ - $(jvm_dir)/jre/lib \ - $(jvm_dir)/lib \ - var/lib/gcj$(pkg_ver) - -files_jrehl = \ - $(PF)/bin/$(cmd_prefix){gij,gcj-dbtool,gorbd,grmid,grmiregistry,gkeytool,gtnameserv}$(pkg_ver) \ - $(PF)/share/man/man1/$(cmd_prefix){gorbd,grmid,grmiregistry,gkeytool,gtnameserv}$(pkg_ver).1 \ - $(jvm_dir)/jre/bin \ - $(jvm_dir)/bin/{java,keytool,orbd,rmid,rmiregistry,tnameserv} \ - $(jvm_dir)/jre/lib/rt.jar \ - $(jvm_dir)/jre/lib/$(java_cpu)/{client,server} \ - $(jvm_dir)/lib/tools.jar - -ifneq ($(GFDL_INVARIANT_FREE),yes) - files_jrehl += \ - $(PF)/share/man/man1/$(cmd_prefix){gij,gcj-dbtool}$(pkg_ver).1 -endif - -dirs_jre = \ - $(docdir)/$(p_jbase) \ - $(jvm_dir)/jre/lib/$(java_cpu) - -files_jre = \ - $(jvm_dir)/jre/lib/$(java_cpu)/libjawt.so - -dirs_jlib = \ - $(docdir)/$(p_jbase) \ - $(gcj_vlibdir) \ - $(PF)/$(libdir) \ - $(jvm_dir)/jre/lib - -files_jlib = \ - $(PF)/$(libdir)/libgij.so.* \ - $(PF)/$(libdir)/libgcj-tools.so.* \ - $(PF)/$(libdir)/libgcj.so.* \ - $(gcj_vlibdir)/libjvm.so \ - $(gcj_vlibdir)/libjavamath.so \ - $(jvm_dir)/jre/lib/security - -# $(gcj_vlibdir)/libgconfpeer.so - -ifeq ($(with_java_alsa),yes) - files_jlib += \ - $(gcj_vlibdir)/libgjsmalsa.so -endif - -dirs_jar = \ - $(PF)/share/java - -files_jar = \ - $(PF)/share/java/libgcj-$(BASE_VERSION).jar \ - $(PF)/share/java/libgcj-tools-$(BASE_VERSION).jar - -dirs_jlibx = \ - $(PF)/$(libdir) \ - $(gcj_vlibdir) \ - $(PF)/share/java - -files_jlibx = \ - $(gcj_vlibdir)/libjawt.so \ - $(gcj_vlibdir)/libgtkpeer.so - -#files_jgtk = \ -# $(gcj_vlibdir)/libgtkpeer.so -#files_jqt = \ -# $(gcj_vlibdir)/libqtpeer.so - -dirs_jdev = \ - $(PF)/{include,lib} \ - $(jvm_dir)/include - -files_jdev = \ - $(PF)/include/c++/$(BASE_VERSION)/{org,gcj,java,javax} \ - $(PF)/include/c++/$(BASE_VERSION)/gnu/{awt,classpath,gcj,java,javax} \ - $(PF)/$(libdir)/pkgconfig/libgcj-$(BASE_VERSION).pc \ - $(gcj_vlibdir)/lib*peer.so - -ifeq ($(with_static_java),yes) - files_jdev += \ - $(PF)/$(libdir)/libgij.a \ - $(PF)/$(libdir)/libgcj.a \ - $(PF)/$(libdir)/libgcj-tools.a -endif - -ifeq (,$(p_l64gcc)) - p_l64gcc = lib64gcc$(GCC_SONAME) - d_l64gcc = debian/$(p_l64gcc) -endif - -ifeq ($(with_standalone_gcj),yes) - - dirs_gcj += \ - $(gcc_lib_dir)/include \ - $(PF)/share/man/man1 - -# XXX: what about triarch mapping? - files_gcj += \ - $(PF)/bin/$(cmd_prefix){cpp,gcc,gcov}$(pkg_ver) \ - $(gcc_lexec_dir)/{collect2,lto1,lto-wrapper} \ - $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0} \ - $(gcc_lib_dir)/{libgcc*,libgcov.a,*.o} \ - $(header_files) \ - $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \ - && echo $(gcc_lib_dir)/SYSCALLS.c.X) - - ifneq ($(GFDL_INVARIANT_FREE),yes) - files_gcj += \ - $(PF)/share/man/man1/$(cmd_prefix){cpp,gcc,gcov}$(pkg_ver).1 - endif - - ifeq ($(biarch64),yes) - files_gcj += $(gcc_lib_dir)/$(biarch64subdir)/{libgcc*,libgcov.a,*.o} - endif - ifeq ($(biarch32),yes) - files_gcj += $(gcc_lib_dir)/$(biarch32subdir)/{libgcc*,*.o} - endif - ifeq ($(biarchn32),yes) - files_gcj += $(gcc_lib_dir)/$(biarchn32subdir)/{libgcc*,libgcov.a,*.o} - endif - ifeq ($(biarchx32),yes) - files_gcj += $(gcc_lib_dir)/$(biarchx32subdir)/{libgcc*,libgcov.a,*.o} - endif -endif - -# ---------------------------------------------------------------------- -$(binary_stamp)-jbase: $(install_dependencies) - dh_testdir - dh_testroot - rm -rf $(d_jbase) - dh_installdirs -p$(p_jbase) - dh_installdocs -p$(p_jbase) - dh_installchangelogs -p$(p_jbase) - dh_compress -p$(p_jbase) - dh_fixperms -p$(p_jbase) - dh_gencontrol -p$(p_jbase) -- -v$(DEB_VERSION) $(common_substvars) - dh_installdeb -p$(p_jbase) - dh_md5sums -p$(p_jbase) - dh_builddeb -p$(p_jbase) - touch $@ - -# ---------------------------------------------------------------------- -$(binary_stamp)-gcj: $(install_stamp) - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - rm -rf $(d_gcj) - dh_installdirs -p$(p_gcj) $(dirs_gcj) - - $(dh_compat2) dh_movefiles -p$(p_gcj) $(files_gcj) -ifneq (,$(filter $(build_type), build-native cross-build-native)) - mv $(d_gcj)/$(PF)/$(libdir)/libgcj.spec $(d_gcj)/$(gcc_lib_dir)/ -endif - -ifeq ($(with_external_ecj1),yes) - dh_link -p$(p_gcj) \ - /$(PF)/lib/$(DEB_HOST_MULTIARCH)/gcc/ecj1 /$(gcc_lexec_dir)/ecj1 -endif -ifeq ($(unprefixed_names),yes) - ln -sf $(cmd_prefix)gcj$(pkg_ver) \ - $(d_gcj)/$(PF)/bin/gcj$(pkg_ver) - ifneq ($(GFDL_INVARIANT_FREE),yes) - ln -sf $(cmd_prefix)gcj$(pkg_ver).1.gz \ - $(d_gcj)/$(PF)/share/man/man1/gcj$(pkg_ver).1.gz - endif -endif - -ifeq ($(GFDL_INVARIANT_FREE),yes) - mkdir -p $(d_gcj)/usr/share/lintian/overrides - echo '$(p_gcj) binary: binary-without-manpage' \ - >> $(d_gcj)/usr/share/lintian/overrides/$(p_gcj) -endif - - debian/dh_doclink -p$(p_gcj) $(p_jbase) - debian/dh_rmemptydirs -p$(p_gcj) - - dh_strip -p$(p_gcj) \ - $(if $(unstripped_exe),-X/jc1) - dh_shlibdeps -p$(p_gcj) -Xecj1 - echo $(p_gcj) >> debian/arch_binaries - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) - -# ---------------------------------------------------------------------- -$(binary_stamp)-libgcjjar: $(install_stamp) - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - dh_installdirs -p$(p_jar) $(dirs_jar) - $(dh_compat2) dh_movefiles -p$(p_jar) $(files_jar) - - ln -sf libgcj-$(BASE_VERSION).jar \ - $(d_jar)/$(PF)/share/java/libgcj-$(GCC_VERSION).jar - ln -sf libgcj-tools-$(BASE_VERSION).jar \ - $(d_jar)/$(PF)/share/java/libgcj-tools-$(GCC_VERSION).jar - debian/dh_doclink -p$(p_jar) $(p_jbase) - debian/dh_rmemptydirs -p$(p_jar) - echo $(p_jar) >> debian/indep_binaries - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) - -# ---------------------------------------------------------------------- -$(build_javasrc_stamp): $(build_stamp) - PATH=$(CURDIR)/bin:$$PATH \ - $(MAKE) -C $(buildlibdir)/libjava src.zip - touch $@ - -$(binary_stamp)-libgcjsrc: $(install_stamp) $(build_javasrc_stamp) - dh_testdir - dh_testroot - - dh_installdirs -p$(p_jsrc) $(PF)/share/java $(jvm_dir) - cp -p $(buildlibdir)/libjava/src.zip \ - $(d_jsrc)/$(PF)/share/java/libgcj-src-$(BASE_VERSION).zip - dh_link -p$(p_jsrc) \ - $(PF)/share/java/libgcj-src-$(BASE_VERSION).zip \ - $(jvm_dir)/src.zip - debian/dh_doclink -p$(p_jsrc) $(p_jbase) - debian/dh_rmemptydirs -p$(p_jsrc) - echo $(p_jsrc) >> debian/indep_binaries - - touch $@ - -# ---------------------------------------------------------------------- -libgcj_version = $$($(builddir)/gcc/xgcc -B$(builddir)/gcc/ --version \ - | sed -n '/^xgcc/s/[^)]*) *\(.*\)/\1/p' | sed 's/ \[[^[]*$$//') -libgcj_title = LibGCJ Classpath -libgcjhbox_href = http://gcc.gnu.org/java -libgcjhbox = <span class='logo'><a href='$(libgcjhbox_href)' target='_top'>$(title)</a> ($(libgcj_version)) - -$(build_javadoc_stamp): $(build_stamp) $(build_javasrc_stamp) - mkdir -p $(builddir)/java-src - cd $(builddir)/java-src && fastjar -xf $(buildlibdir)/libjava/src.zip - - mkdir -p $(builddir)/html - $(buildlibdir)/libjava/gjdoc \ - -licensetext \ - -use \ - -sourcepath "$(builddir)/java-src" \ - -encoding UTF-8 \ - -breakiterator \ - -linksource \ - -splitindex \ - -d $(builddir)/html \ - -doctitle "$(libgcj_title) $(libgcj_version)" \ - -windowtitle "$(libgcj_title) $(libgcj_version) Documentation" \ - -header "$(classpathbox)" \ - -footer "$(classpathbox)" \ - -subpackages gnu:java:javax:org - - touch $@ - -$(binary_stamp)-libgcjdoc: $(install_stamp) $(build_javadoc_stamp) - dh_testdir - dh_testroot - - dh_installdocs -p$(p_jdoc) - sed -i 's/gcc$(pkg_ver)-base/$(p_jbase)/' $(d_jdoc)/usr/share/doc-base/libgcj-doc - dh_installchangelogs -p$(p_jdoc) - mkdir -p $(d_jdoc)/usr/share/doc/$(p_jbase) - cp -al $(builddir)/html $(d_jdoc)/usr/share/doc/$(p_jbase)/api - ln -sf api $(d_jdoc)/usr/share/doc/$(p_jbase)/html - ln -sf ../$(p_jbase)/api $(d_jdoc)/usr/share/doc/$(p_jdoc)/api - ln -sf ../$(p_jbase)/html $(d_jdoc)/usr/share/doc/$(p_jdoc)/html - echo $(p_jdoc) >> debian/indep_binaries - - touch $@ - -# ---------------------------------------------------------------------- - -#peer_pkgs = -#ifneq (,$(findstring gtk, $(java_awt_peers))) -# peer_pkgs += -p$(p_jgtk) -#endif -#ifneq (,$(findstring qt, $(java_awt_peers))) -# peer_pkgs += -p$(p_jqt) -#endif - -$(binary_stamp)-java: $(install_stamp) - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - dh_installdirs -p$(p_jrehl) $(dirs_jrehl) - dh_installdirs -p$(p_jlib) $(dirs_jlib) - dh_installdirs -p$(p_jlibx) $(dirs_jlibx) - - $(dh_compat2) dh_movefiles -p$(p_jrehl) $(files_jrehl) - $(dh_compat2) dh_movefiles -p$(p_jlib) $(files_jlib) - $(dh_compat2) dh_movefiles -p$(p_jlibx) $(files_jlibx) -#ifneq (,$(findstring gtk, $(java_awt_peers))) -# $(dh_compat2) dh_movefiles -p$(p_jgtk) $(files_jgtk) -#endif -#ifneq (,$(findstring qt, $(java_awt_peers))) -# $(dh_compat2) dh_movefiles -p$(p_jqt) $(files_jqt) -#endif - -ifeq ($(unprefixed_names),yes) - for i in gij gcj-dbtool gorbd grmid grmiregistry gkeytool gtnameserv; do \ - ln -sf $(cmd_prefix)$$i$(pkg_ver) \ - $(d_jrehl)/$(PF)/bin/$$i$(pkg_ver); \ - done - for i in gorbd grmid grmiregistry gkeytool gtnameserv; do \ - ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \ - $(d_jrehl)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \ - done - ifneq ($(GFDL_INVARIANT_FREE),yes) - for i in gij gcj-dbtool; do \ - ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \ - $(d_jrehl)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \ - done - endif -endif - - dh_link -p$(p_jrehl) \ - $(jvm_dir) $(PF)/lib/jvm/java-gcj$(pkg_ver) \ - $(PF)/bin/$(cmd_prefix)gij$(pkg_ver) $(jvm_dir)/bin/gij \ - $(PF)/bin/$(cmd_prefix)gij$(pkg_ver) $(jvm_dir)/jre/bin/gij \ - $(PF)/bin/$(cmd_prefix)gcj-dbtool$(pkg_ver) $(jvm_dir)/bin/gcj-dbtool \ - $(PF)/bin/$(cmd_prefix)gcj-dbtool$(pkg_ver) $(jvm_dir)/jre/bin/gcj-dbtool \ - $(PF)/share/man/man1/$(cmd_prefix)gkeytool$(pkg_ver).1 $(jvm_dir)/man/man1/keytool.1 \ - $(PF)/share/man/man1/$(cmd_prefix)gorbd$(pkg_ver).1 $(jvm_dir)/man/man1/orbd.1 \ - $(PF)/share/man/man1/$(cmd_prefix)grmid$(pkg_ver).1 $(jvm_dir)/man/man1/rmid.1 \ - $(PF)/share/man/man1/$(cmd_prefix)grmiregistry$(pkg_ver).1 $(jvm_dir)/man/man1/rmiregistry.1 \ - $(PF)/share/man/man1/$(cmd_prefix)gtnameserv$(pkg_ver).1 $(jvm_dir)/man/man1/tnameserv.1 \ - -ifneq ($(GFDL_INVARIANT_FREE),yes) - dh_link -p$(p_jrehl) \ - $(PF)/share/man/man1/$(cmd_prefix)gij$(pkg_ver).1 $(jvm_dir)/man/man1/java.1 \ - $(PF)/share/man/man1/$(cmd_prefix)grmic$(pkg_ver).1 $(jvm_dir)/man/man1/rmiregistry.1 -endif - -ifneq ($(DEB_TARGET_ARCH_CPU),$(java_cpu)) - ln -sf $(java_cpu) $(d_jlib)/$(jvm_dir)/jre/lib/$(DEB_TARGET_ARCH_CPU) -endif - - dh_link -p$(p_jlib) \ - /etc/java/cacerts-gcj /$(jvm_dir)/jre/lib/cacerts \ - $(foreach i, jvm javamath, \ - /$(gcj_vlibdir)/lib$(i).so /$(jvm_dir)/lib/lib$(i).so) - - dh_link -p$(p_jlib) \ - /etc/java/security/classpath.security \ - /$(jvm_dir)/jre/lib/security/java.security - - dh_link -p$(p_jlibx) \ - $(foreach i, jawt, $(gcj_vlibdir)/lib$(i).so $(jvm_dir)/lib/lib$(i).so) - -ifeq ($(DEB_HOST_ARCH),hppa) - mv $(d_jrehl)/$(PF)/bin/$(cmd_prefix)gij$(pkg_ver) \ - $(d_jrehl)/$(PF)/bin/$(cmd_prefix)gij$(pkg_ver).bin - install -m755 debian/gij-hppa $(d_jrehl)/$(PF)/bin/$(cmd_prefix)gij$(pkg_ver) - ifeq ($(unprefixed_names),yes) - ln -sf $(cmd_prefix)gij$(pkg_ver) \ - $(d_jrehl)/$(PF)/bin/gij$(pkg_ver) - ln -sf $(cmd_prefix)gij$(pkg_ver).bin \ - $(d_jrehl)/$(PF)/bin/gij$(pkg_ver).bin - endif -endif - - ln -s ../libgcj.so.$(GCJ_SONAME) \ - $(d_jlib)/$(gcj_vlibdir)/libgcj_bc.so.1 - - : # provide .jinfo file - ( \ - echo 'name=$(jvm_name_short)'; \ - echo 'alias=java-gcj$(pkg_ver)'; \ - echo 'priority=$(priority)'; \ - echo 'section=main'; \ - echo ''; \ - for i in $(jre_tools); do \ - echo "jre $$i /$(jvm_dir)/jre/bin/$$i"; \ - done; \ - for i in $(jdk_tools); do \ - echo "jdk $$i /$(jvm_dir)/bin/$$i"; \ - done; \ - ) > $(d_jrehl)/usr/lib/jvm/.java-gcj$(pkg_ver).jinfo - -ifneq (,$(findstring gcj,$(p_jbase))) - cp -p $(srcdir)/libjava/{NEWS,README,THANKS} \ - $(d_jrehl)/usr/share/doc/$(p_jbase)/ -endif - debian/dh_doclink -p$(p_jrehl) $(p_jbase) - debian/dh_doclink -p$(p_jlib) $(p_jbase) - debian/dh_doclink -p$(p_jlibx) $(p_jbase) - -#ifneq (,$(findstring gtk, $(java_awt_peers))) -# debian/dh_doclink -p$(p_jgtk) $(p_jbase) -#endif -#ifneq (,$(findstring qt, $(java_awt_peers))) -# debian/dh_doclink -p$(p_jqt) $(p_jbase) -#endif - -ifeq ($(with_separate_libgcj),yes) - ifeq ($(PKGSOURCE),gcj-$(BASE_VERSION)) - ifeq ($(with_check),yes) - cp -p test-summary $(d_jrehl)/usr/share/doc/$(p_jbase)/test-summary - endif - endif -endif - debian/dh_rmemptydirs -p$(p_jrehl) - debian/dh_rmemptydirs -p$(p_jlib) - debian/dh_rmemptydirs -p$(p_jlibx) - - mkdir -p $(d_jrehl)/var/lib/gcj$(pkg_ver) - - dh_makeshlibs $(ldconfig_arg) -p$(p_jlib) -V '$(p_jlib) (>= $(DEB_GCJ_SOVERSION))' - echo "libgcj_bc 1 libgcj-bc (>= 4.2.2-1)" >> debian/$(p_jlib)/DEBIAN/shlibs - cat debian/$(p_jlib)/DEBIAN/shlibs >> debian/shlibs.local - - dh_makeshlibs $(ldconfig_arg) -p$(p_jlibx) -V '$(p_jlibx) (>= $(DEB_GCJ_SOVERSION))' - -#ifneq (,$(findstring gtk, $(java_awt_peers))) -# dh_makeshlibs $(ldconfig_arg) -p$(p_jgtk) -V '$(p_jgtk) (>= $(DEB_GCJ_SOVERSION))' -#endif -#ifneq (,$(findstring qt, $(java_awt_peers))) -# dh_makeshlibs $(ldconfig_arg) -p$(p_jqt) -V '$(p_jqt) (>= $(DEB_GCJ_SOVERSION))' -#endif - - dh_strip -X/bin/ --dbg-package=$(p_jdbg) \ - -p$(p_jrehl) -p$(p_jlib) -p$(p_jlibx) $(peer_pkgs) - rm -f $(d_jdbg)/$(gcc_lib_dir)/libgcj_bc.so - - mkdir -p $(d_jlib)/usr/share/lintian/overrides - cp -p debian/$(p_jlib).overrides \ - $(d_jlib)/usr/share/lintian/overrides/$(p_jlib) - mkdir -p $(d_jlibx)/usr/share/lintian/overrides - cp -p debian/$(p_jlibx).overrides \ - $(d_jlibx)/usr/share/lintian/overrides/$(p_jlibx) - mkdir -p $(d_jrehl)/usr/share/lintian/overrides - cp -p debian/$(p_jrehl).overrides \ - $(d_jrehl)/usr/share/lintian/overrides/$(p_jrehl) - -# the libstdc++ binary packages aren't built yet ... - echo 'libstdc++ $(CXX_SONAME) libstdc++$(CXX_SONAME) (>= $(DEB_STDCXX_SOVERSION))' \ - >> debian/shlibs.local - -[ -d $(d_l64gcc) ] && mv $(d_l64gcc) $(d_l64gcc).saved -ifeq ($(with_separate_libgcj)-$(with_standalone_gcj),yes-no) - dh_shlibdeps \ - -L$(p_jlib) \ - -l$(d_lib)/$(PF)/$(libdir):$(d_jlib)/$(PF)/$(libdir) \ - -p$(p_jrehl) -p$(p_jlib) -p$(p_jlibx) $(peer_pkgs) -else - dh_shlibdeps \ - -L$(p_lgcc) \ - -L$(p_jlib) \ - -l:$(d)/$(PF)/$(libdir):$(d_lib)/$(PF)/$(libdir):$(d_jlib)/$(PF)/$(libdir):$(d_lgcc)/lib \ - -p$(p_jrehl) -p$(p_jlib) -p$(p_jlibx) $(peer_pkgs) -endif - -[ -d $(d_l64gcc).saved ] && mv $(d_l64gcc).saved $(d_l64gcc) - sed -e 's/$(p_jlib)[^,]*//' -e 's/, *,/,/' debian/$(p_jlib).substvars \ - >> debian/$(p_jlib).substvars.tmp \ - && mv -f debian/$(p_jlib).substvars.tmp debian/$(p_jlib).substvars - rm -f debian/shlibs.local - - echo $(p_jrehl) $(p_jlib) $(p_jlibx) $(subst -p,,$(peer_pkgs)) >> debian/arch_binaries - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) - -# ---------------------------------------------------------------------- -$(binary_stamp)-gcjjdk: $(build_html_stamp) $(install_stamp) - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - rm -rf $(d_jdk) - dh_installdirs -p$(p_jdk) $(dirs_jdk) - -# mkdir -p $(d_jdk)/usr/share/lintian/overrides -# cp -p debian/$(p_jdk).overrides \ -# $(d_jdk)/usr/share/lintian/overrides/$(p_jdk) - cp -p $(srcdir)/gcc/java/ChangeLog \ - $(d_jdk)/usr/share/doc/$(p_jbase)/changelog.gcj - cp -p $(srcdir)/libjava/ChangeLog \ - $(d_jdk)/usr/share/doc/$(p_jbase)/changelog.libjava - -ifeq ($(with_standalone_gcj),yes) - rm -f $(d)/$(PF)/$(libdir)/libgcc_s.so - ln -sf /$(libdir)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so -endif - $(dh_compat2) dh_movefiles -p$(p_jdk) $(files_jdk) - - for i in libgij libgcj libgcj-tools; do \ - dh_link -p$(p_jdk) \ - /$(PF)/$(libdir)/$$i.so.$(GCJ_SONAME) /$(gcc_lib_dir)/$$i.so \ - /$(PF)/$(libdir)/$$i.so.$(GCJ_SONAME) /$(jvm_dir)/lib/$$i.so; \ - rm -f $(d_jdk)/$(PF)/$(libdir)/$$i.{la,so}; \ - done - - install -m755 debian/jdb.sh $(d_jdk)/$(jvm_dir)/bin/jdb - - install -m 755 $(d)/$(PF)/$(libdir)/libgcj_bc.so.1 \ - $(d_jdk)/$(gcc_lib_dir)/libgcj_bc.so - $(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) -shared -fpic -xc /dev/null \ - -o build/libgcj.so -Wl,-soname,libgcj.so.$(GCJ_SONAME) -nostdlib - $(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) -shared -fpic \ - $(srcdir)/libjava/libgcj_bc.c \ - -o $(d_jdk)/$(gcc_lib_dir)/libgcj_bc.so \ - -Wl,-soname,libgcj_bc.so.1 $(builddir)/libgcj.so -shared-libgcc - - dh_link -p$(p_jdk) \ - $(gcc_lib_dir)/include/gcj $(jvm_dir)/include/gcj \ - usr/bin/ecj $(jvm_dir)/bin/javac \ - usr/bin/fastjar $(jvm_dir)/bin/jar \ - $(PF)/share/man/man1/ecj.1.gz $(jvm_dir)/man/man1/javac.1.gz \ - $(PF)/share/man/man1/fastjar.1.gz $(jvm_dir)/man/man1/jar.1.gz - -ifeq ($(unprefixed_names),yes) - for i in gappletviewer gjdoc gc-analyze gjar gjarsigner gcjh gjavah gnative2ascii grmic gserialver jv-convert jcf-dump; do \ - ln -sf $(cmd_prefix)$$i$(pkg_ver) \ - $(d_jdk)/$(PF)/bin/$$i$(pkg_ver); \ - done - for i in gappletviewer gjdoc gjar gjarsigner gcjh gjavah gnative2ascii gserialver; do \ - ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \ - $(d_jdk)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \ - done - ifneq ($(GFDL_INVARIANT_FREE),yes) - for i in gc-analyze gnative2ascii grmic jv-convert jcf-dump; do \ - ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \ - $(d_jdk)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \ - done - endif -endif - - dh_link -p$(p_jdk) \ - $(PF)/bin/$(cmd_prefix)gcj$(pkg_ver) $(jvm_dir)/bin/gcj \ - $(PF)/share/man/man1/$(cmd_prefix)gjarsigner$(pkg_ver).1 $(jvm_dir)/man/man1/jarsigner.1 \ - $(PF)/share/man/man1/$(cmd_prefix)gjdoc$(pkg_ver).1 $(jvm_dir)/man/man1/javadoc.1 \ - $(PF)/share/man/man1/$(cmd_prefix)gjavah$(pkg_ver).1 $(jvm_dir)/man/man1/javah.1 \ - $(PF)/share/man/man1/$(cmd_prefix)gserialver$(pkg_ver).1 $(jvm_dir)/man/man1/serialver.1 \ - $(PF)/share/man/man1/$(cmd_prefix)gappletviewer$(pkg_ver).1 $(jvm_dir)/man/man1/appletviewer.1 - -ifneq ($(GFDL_INVARIANT_FREE),yes) - cp -p html/gcj.html $(d_jdk)/$(docdir)/$(p_jbase)/ -endif - debian/dh_doclink -p$(p_jdk) $(p_jbase) - - cp -p debian/FAQ.gcj $(d_jdk)/$(docdir)/$(p_jbase)/ - - cp -p debian/gcj-wrapper$(pkg_ver) \ - $(d_jdk)/$(PF)/bin/$(cmd_prefix)gcj-wrapper$(pkg_ver) - chmod 755 $(d_jdk)/$(PF)/bin/$(cmd_prefix)gcj-wrapper$(pkg_ver) - cp -p debian/gcj-wrapper$(pkg_ver).1 \ - $(d_jdk)/$(PF)/share/man/man1/$(cmd_prefix)gcj-wrapper$(pkg_ver).1 -ifeq ($(unprefixed_names),yes) - ln -sf $(cmd_prefix)gcj-wrapper$(pkg_ver) \ - $(d_jdk)/$(PF)/bin/gcj-wrapper$(pkg_ver) - ln -sf $(cmd_prefix)gcj-wrapper$(pkg_ver).1.gz \ - $(d_jdk)/$(PF)/share/man/man1/gcj-wrapper$(pkg_ver).1.gz -endif - - debian/dh_rmemptydirs -p$(p_jdk) - - dh_strip -p$(p_jdk) - dh_shlibdeps -p$(p_jdk) -l$(d_lib)/$(PF)/$(libdir):$(d_jlib)/$(PF)/lib -Xecj1 - echo $(p_jdk) >> debian/arch_binaries - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) - -# ---------------------------------------------------------------------- -$(binary_stamp)-libgcjdev: $(build_html_stamp) $(install_stamp) $(binary_stamp)-java - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - dh_installdirs -p$(p_jdev) $(dirs_jdev) - - $(dh_compat2) dh_movefiles -p$(p_jdev) $(files_jdev) - -ifeq ($(with_static_java),yes) - for i in libgij libgcj libgcj-tools; do \ - mv $(d_jdev)/$(PF)/$(libdir)/$$i.a $(d_jdev)/$(gcc_lib_dir)/; \ - done -endif - - ln -sf libgcj-$(BASE_VERSION).pc \ - $(d_jdev)/$(PF)/$(libdir)/pkgconfig/libgcj$(PKG_GCJ_EXT).pc - sed -i -e 's,-[IL][^ ]* *,,' \ - $(d_jdev)/$(PF)/$(libdir)/pkgconfig/libgcj-$(BASE_VERSION).pc - - debian/dh_doclink -p$(p_jdev) $(p_jbase) - - debian/dh_rmemptydirs -p$(p_jdev) - -# mkdir -p $(d_jdev)/usr/share/lintian/overrides -# cp -p debian/libgcj$(PKG_GCJ_EXT)-dev.overrides \ -# $(d_jdev)/usr/share/lintian/overrides/$(p_jdev) - - DH_COMPAT=5 dh_strip -p$(p_jdev) --dbg-package=$(p_jdbg) -ifeq ($(with_separate_libgcj)-$(with_standalone_gcj),yes-no) - dh_shlibdeps \ - -l$(d_lib)/$(PF)/$(libdir):$(d_jlib)/$(PF)/$(libdir) \ - -p$(p_jdev) -else - dh_shlibdeps \ - -L$(p_lgcc) \ - -l:$(d)/$(PF)/$(libdir):$(d_lib)/$(PF)/$(libdir):$(d_jlib)/$(PF)/$(libdir):$(d_lgcc)/lib \ - -p$(p_jdev) -endif - echo $(p_jdev) >> debian/arch_binaries - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) - -# ---------------------------------------------------------------------- -$(binary_stamp)-libgcjdbg: $(install_stamp) $(binary_stamp)-java $(binary_stamp)-libgcjdev $(binary_stamp)-gcjjre - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - debian/dh_doclink -p$(p_jdbg) $(p_jbase) - - for i in libgij libgcj libgcj-tools; do \ - if [ -f $(d_jdbg)/usr/lib/debug/usr/lib/$$i.so.$(GCJ_SONAME).0.0 ]; then \ - ln -sf $$i.so.$(GCJ_SONAME).0.0 \ - $(d_jdbg)/usr/lib/debug/usr/lib/$$i.so.$(GCJ_SONAME); \ - fi; \ - done -# ln -sf libgconfpeer.so.0.0.0 \ -# $(d_jdbg)/usr/lib/debug/$(gcj_vlibdir)/libgconfpeer.so.0 - echo $(p_jdbg) >> debian/arch_binaries - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) - -# ---------------------------------------------------------------------- -$(binary_stamp)-gcjjre: $(install_stamp) $(binary_stamp)-java - dh_testdir - dh_testroot - mv $(install_stamp) $(install_stamp)-tmp - - dh_installdirs -p$(p_jre) $(dirs_jre) - $(dh_compat2) dh_movefiles -p$(p_jre) $(files_jre) - - debian/dh_doclink -p$(p_jre) $(p_jbase) - DH_COMPAT=5 dh_strip -p$(p_jre) --dbg-package=$(p_jdbg) - echo $(p_jre) >> debian/arch_binaries - - trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) diff --git a/debian/rules.d/binary-libasan.mk b/debian/rules.d/binary-libasan.mk index 19d2db9..3646daf 100644 --- a/debian/rules.d/binary-libasan.mk +++ b/debian/rules.d/binary-libasan.mk @@ -34,11 +34,15 @@ define __do_asan mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi + $(if $(2), \ + mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \ + echo "$(p_l): symbols-file-contains-current-version-with-debian-revision" \ + >> debian/$(p_l)/usr/share/lintian/overrides/$(p_l)) dh_strip -p$(p_l) --dbg-package=$(p_d) - $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) || echo XXXXXXXXXXXXXX ERROR $(p_l) + $(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) \ + $(if $(ignshld),$(ignshld),-)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ $(call shlibdirs_to_search, \ $(subst asan$(ASAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \ $(subst asan$(ASAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \ diff --git a/debian/rules.d/binary-libcilkrts.mk b/debian/rules.d/binary-libcilkrts.mk deleted file mode 100644 index 806acbf..0000000 --- a/debian/rules.d/binary-libcilkrts.mk +++ /dev/null @@ -1,76 +0,0 @@ -$(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) diff --git a/debian/rules.d/binary-libgcc.mk b/debian/rules.d/binary-libgcc.mk index 69d9860..9038bc6 100644 --- a/debian/rules.d/binary-libgcc.mk +++ b/debian/rules.d/binary-libgcc.mk @@ -47,19 +47,24 @@ endif header_files = \ $(gcc_lib_dir)/include/std*.h \ $(shell for h in \ - README features.h arm_fp16.h arm_neon.h loongson.h \ + README features.h arm_fp16.h arm_neon.h arm_cmse.h loongson.h \ string.h spawn.h wchar.h math.h complex.h \ sys/nsctl/nsctl.h sys/feature_tests.h sys/int_const.h sys/int_limits.h \ - {cpuid,decfloat,float,iso646,limits,mm3dnow,mm_malloc}.h \ + {cpuid,decfloat,float,gcov,iso646,limits,mm3dnow,mm_malloc}.h \ {ppu_intrinsics,paired,spu2vmx,vec_types,si2vmx}.h \ {,a,b,e,i,n,p,s,t,w,x}mmintrin.h mmintrin-common.h \ {abm,adx,avx,avx2,bmi,bmi2,f16c,fma,fma4,fxsr,ia32,}intrin.h \ {lwp,lzcnt,popcnt,prfchw,rdseed,rtm,tbm,x86,xop,xsave{,opt},xtest,}intrin.h \ - {htm,htmxl,mwaitx,pku,sha,vec}intrin.h \ + {htm,htmxl,mwaitx,pku,sha,vaes,vec,sgx}intrin.h \ avx512{bw,er,cd,dq,f,ifma,ifmavl,pf,vlbw,vbmi,vldq,vbmivl,vl}intrin.h \ - {clflushopt,clwb,clzero,pcommit,xsavec,xsaves}intrin.h \ + avx512{4fmaps,4vnniw,bitalg,vnni,vnnivl,vpopcntdq,vpopcntdqvl}intrin.h \ + avx512vbmi{2,2vl}intrin.h \ + {movdir,pconfig,vpclmulqdq,wbnoinvd}intrin.h \ + {cet,clflushopt,clwb,clzero,gfni,pcommit,xsavec,xsaves}intrin.h \ {arm_acle,unwind-arm-common,s390intrin}.h \ - {cross-stdarg,syslimits,unwind,varargs}.h; \ + {cldemote,waitpkg}intrin.h \ + amo.h msa.h \ + {cet,cross-stdarg,syslimits,unwind,varargs}.h; \ do \ test -e $(d)/$(gcc_lib_dir)/include/$$h \ && echo $(gcc_lib_dir)/include/$$h; \ @@ -95,8 +100,12 @@ ifeq ($(DEB_TARGET_ARCH),m68k) header_files += $(gcc_lib_dir)/include/math-68881.h endif -ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),powerpc ppc64 ppc64el powerpcspe)) - header_files += $(gcc_lib_dir)/include/{altivec.h,ppc-asm.h,spe.h} +ifneq (,$(filter $(DEB_TARGET_ARCH),powerpc ppc64 ppc64el)) + header_files += $(gcc_lib_dir)/include/{altivec.h,ppc-asm.h} +endif + +ifeq ($(DEB_TARGET_ARCH),powerpcspe) + header_files += $(gcc_lib_dir)/include/{ppc-asm.h,spe.h} endif ifeq ($(DEB_TARGET_ARCH),tilegx) @@ -246,6 +255,7 @@ define __do_gcc_devels2 ) $(if $(1),,$(if $(filter yes, $(with_lsan)), $(call install_gcc_lib,liblsan,$(LSAN_SONAME),$(1),$(2)) + mv $(4)/liblsan_preinit.o debian/$(2)/$(3)/; )) $(if $(1),,$(if $(filter yes, $(with_tsan)), $(call install_gcc_lib,libtsan,$(TSAN_SONAME),$(1),$(2)) @@ -259,12 +269,6 @@ define __do_gcc_devels2 $(if $(filter yes, $(with_cilkrts)), $(call install_gcc_lib,libcilkrts,$(CILKRTS_SONAME),$(1),$(2)) ) - $(if $(filter yes, $(with_mpx)), - $(if $(filter x32, $(1)),, - $(call install_gcc_lib,libmpxwrappers,$(MPX_SONAME),$(1),$(2)) - $(call install_gcc_lib,libmpx,$(MPX_SONAME),$(1),$(2)) - ) - ) $(if $(filter yes, $(with_qmath)), $(call install_gcc_lib,libquadmath,$(QUADMATH_SONAME),$(1),$(2)) ) @@ -292,6 +296,11 @@ define __do_libgcc $(d_l)/$(libgcc_dir$(2))/. ) + $(if $(filter yes, $(with_internal_libunwind)), + mv $(d)/$(usr_lib$(2))/libunwind.* \ + $(d_l)/$(libgcc_dir$(2))/. + ) + debian/dh_doclink -p$(p_l) $(if $(3),$(3),$(p_lbase)) debian/dh_doclink -p$(p_d) $(if $(3),$(3),$(p_lbase)) debian/dh_rmemptydirs -p$(p_l) @@ -338,11 +347,7 @@ do_libgcc = $(call __do_libgcc,lib$(1)gcc$(GCC_SONAME),$(1),$(2)) # ---------------------------------------------------------------------- $(binary_stamp)-libgcc: $(install_dependencies) -ifeq ($(with_standalone_gcj),yes) - $(call do_libgcc,,$(p_jbase)) -else $(call do_libgcc,,) -endif $(binary_stamp)-lib64gcc: $(install_dependencies) $(call do_libgcc,64,) diff --git a/debian/rules.d/binary-libgccjit.mk b/debian/rules.d/binary-libgccjit.mk index c5839e7..df8f821 100644 --- a/debian/rules.d/binary-libgccjit.mk +++ b/debian/rules.d/binary-libgccjit.mk @@ -81,6 +81,8 @@ $(binary_stamp)-libgccjitdoc: $(install_jit_stamp) $(dh_compat2) dh_movefiles -p$(p_jitdoc) \ $(PF)/share/info/libgccjit* + cp -p $(srcdir)/gcc/jit/docs/_build/texinfo/*.png \ + $(d_jitdoc)/$(PF)/share/info/. debian/dh_doclink -p$(p_jitdoc) $(p_base) echo $(p_jitdoc) >> debian/indep_binaries diff --git a/debian/rules.d/binary-libgomp.mk b/debian/rules.d/binary-libgomp.mk index 5e2f4b3..08dd254 100644 --- a/debian/rules.d/binary-libgomp.mk +++ b/debian/rules.d/binary-libgomp.mk @@ -35,7 +35,8 @@ define __do_gomp $(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 gomp$(GOMP_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) + $(call shlibdirs_to_search,$(subst gomp$(GOMP_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) $(call cross_mangle_substvars,$(p_l)) echo $(p_l) $(p_d) >> debian/$(lib_binaries) diff --git a/debian/rules.d/binary-libhsail.mk b/debian/rules.d/binary-libhsail.mk new file mode 100644 index 0000000..ee1c033 --- /dev/null +++ b/debian/rules.d/binary-libhsail.mk @@ -0,0 +1,134 @@ +ifeq ($(with_libhsailrt),yes) + $(lib_binaries) += libhsail +endif +ifeq ($(with_brigdev),yes) + $(lib_binaries) += libhsail-dev +endif +#ifeq ($(with_lib64hsailrt),yes) +# $(lib_binaries) += lib64hsail +#endif +#ifeq ($(with_lib64hsailrtdev),yes) +# $(lib_binaries) += lib64hsail-dev +#endif +#ifeq ($(with_lib32hsailrt),yes) +# $(lib_binaries) += lib32hsail +#endif +#ifeq ($(with_lib32hsailrtdev),yes) +# $(lib_binaries) += lib32hsail-dev +#endif +#ifeq ($(with_libn32hsailrt),yes) +# $(lib_binaries) += libn32hsail +#endif +#ifeq ($(with_libn32hsailrtdev),yes) +# $(lib_binaries) += libn32hsail-dev +#endif +#ifeq ($(with_libx32hsailrt),yes) +# $(lib_binaries) += libx32hsail +#endif +#ifeq ($(with_libx32hsailrtdev),yes) +# $(lib_binaries) += libx32hsail-dev +#endif +#ifeq ($(with_libhfhsailrt),yes) +# $(lib_binaries) += libhfhsail +#endif +#ifeq ($(with_libhfhsailrtdev),yes) +# $(lib_binaries) += libhfhsail-dev +#endif +#ifeq ($(with_libsfhsailrt),yes) +# $(lib_binaries) += libsfhsail +#endif +#ifeq ($(with_libsfhsailrt-dev),yes) +# $(lib_binaries) += libsfhsail-dev +#endif + +define __do_hsail + 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))/libhsail-rt.so.* + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + ln -sf libhsail-rt.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 hsail-rt$(HSAIL_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(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 + +define __do_hsail_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + dh_installdirs -p$(p_l) \ + $(gcc_lib_dir$(2)) +# $(dh_compat2) dh_movefiles -p$(p_l) + + $(call install_gcc_lib,libhsail-rt,$(HSAIL_SONAME),$(2),$(p_l)) + + 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 + +# ---------------------------------------------------------------------- + +do_hsail = $(call __do_hsail,lib$(1)hsail-rt$(HSAIL_SONAME),$(1)) +do_hsail_dev = $(call __do_hsail_dev,lib$(1)hsail-rt-$(BASE_VERSION)-dev,$(1)) + +$(binary_stamp)-libhsail: $(install_stamp) + @echo XXXXXXXXXXXX XX $(HSAIL_SONAME) + $(call do_hsail,) + +$(binary_stamp)-lib64hsail: $(install_stamp) + $(call do_hsail,64) + +$(binary_stamp)-lib32hsail: $(install_stamp) + $(call do_hsail,32) + +$(binary_stamp)-libn32hsail: $(install_stamp) + $(call do_hsail,n32) + +$(binary_stamp)-libx32hsail: $(install_stamp) + $(call do_hsail,x32) + +$(binary_stamp)-libhfhsail: $(install_dependencies) + $(call do_hsail,hf) + +$(binary_stamp)-libsfhsail: $(install_dependencies) + $(call do_hsail,sf) + + +$(binary_stamp)-libhsail-dev: $(install_stamp) + $(call do_hsail_dev,) + +$(binary_stamp)-lib64hsail-dev: $(install_stamp) + $(call do_hsail_dev,64) + +$(binary_stamp)-lib32hsail-dev: $(install_stamp) + $(call do_hsail_dev,32) + +$(binary_stamp)-libx32hsail-dev: $(install_stamp) + $(call do_hsail_dev,x32) + +$(binary_stamp)-libn32hsail-dev: $(install_stamp) + $(call do_hsail_dev,n32) + +$(binary_stamp)-libhfhsail-dev: $(install_stamp) + $(call do_hsail_dev,hf) + +$(binary_stamp)-libsfhsail-dev: $(install_stamp) + $(call do_hsail_dev,sf) diff --git a/debian/rules.d/binary-libitm.mk b/debian/rules.d/binary-libitm.mk index cc69cc6..c25f52a 100644 --- a/debian/rules.d/binary-libitm.mk +++ b/debian/rules.d/binary-libitm.mk @@ -35,7 +35,8 @@ define __do_itm $(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,,$(2)) + $(call shlibdirs_to_search,,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) $(call cross_mangle_substvars,$(p_l)) echo $(p_l) $(p_d) >> debian/$(lib_binaries) diff --git a/debian/rules.d/binary-libmpx.mk b/debian/rules.d/binary-libmpx.mk deleted file mode 100644 index ddb7ddf..0000000 --- a/debian/rules.d/binary-libmpx.mk +++ /dev/null @@ -1,74 +0,0 @@ -$(lib_binaries) += libmpx -ifeq ($(with_lib64mpx),yes) - $(lib_binaries) += lib64mpx -endif -ifeq ($(with_lib32mpx),yes) - $(lib_binaries) += lib32mpx -endif -ifeq ($(with_libn32mpx),yes) - $(lib_binaries) += libn32mpx -endif -ifeq ($(with_libx32mpx),yes) - $(lib_binaries) += libx32mpx -endif -ifeq ($(with_libhfmpx),yes) - $(lib_binaries) += libhfmpx -endif -ifeq ($(with_libsfmpx),yes) - $(lib_binaries) += libsfmpx -endif - -define __do_mpx - 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))/libmpx.so.* \ - $(usr_lib$(2))/libmpxwrappers.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 libmpx.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 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_mpx = $(call __do_mpx,lib$(1)mpx$(MPX_SONAME),$(1)) - -$(binary_stamp)-libmpx: $(install_stamp) - $(call do_mpx,) - -$(binary_stamp)-lib64mpx: $(install_stamp) - $(call do_mpx,64) - -$(binary_stamp)-lib32mpx: $(install_stamp) - $(call do_mpx,32) - -$(binary_stamp)-libn32mpx: $(install_stamp) - $(call do_mpx,n32) - -$(binary_stamp)-libx32mpx: $(install_stamp) - $(call do_mpx,x32) - -$(binary_stamp)-libhfmpx: $(install_dependencies) - $(call do_mpx,hf) - -$(binary_stamp)-libsfmpx: $(install_dependencies) - $(call do_mpx,sf) diff --git a/debian/rules.d/binary-libobjc.mk b/debian/rules.d/binary-libobjc.mk index da8bffb..65c511c 100644 --- a/debian/rules.d/binary-libobjc.mk +++ b/debian/rules.d/binary-libobjc.mk @@ -66,6 +66,7 @@ define __do_libobjc debian/dh_doclink -p$(p_d) $(p_lbase) dh_strip -p$(p_l) --dbg-package=$(p_d) + rm -f debian/$(p_l).symbols $(if $(2), ln -sf libobjc.symbols debian/$(p_l).symbols , fgrep -v libobjc.symbols.gc debian/libobjc.symbols > debian/$(p_l).symbols @@ -75,7 +76,8 @@ define __do_libobjc 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 objc$(OBJC_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) + $(call shlibdirs_to_search,$(subst objc$(OBJC_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) $(call cross_mangle_substvars,$(p_l)) echo $(p_l) $(p_d) >> debian/$(lib_binaries) @@ -96,10 +98,11 @@ define __do_libobjc_dev $(call install_gcc_lib,libobjc,$(OBJC_SONAME),$(2),$(p_l)) $(if $(filter yes,$(with_objc_gc)), + $(if $(2),, dh_link -p$(p_l) \ /$(usr_lib$(2))/libobjc_gc.so.$(OBJC_SONAME) \ /$(gcc_lib_dir$(2))/libobjc_gc.so - ) + )) debian/dh_doclink -p$(p_l) $(p_lbase) echo $(p_l) >> debian/$(lib_binaries) diff --git a/debian/rules.d/binary-libquadmath.mk b/debian/rules.d/binary-libquadmath.mk index 93c4292..f15fb61 100644 --- a/debian/rules.d/binary-libquadmath.mk +++ b/debian/rules.d/binary-libquadmath.mk @@ -35,7 +35,8 @@ define __do_qmath $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) $(call cross_mangle_shlibs,$(p_l)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \ - $(call shlibdirs_to_search,,$(2)) + $(call shlibdirs_to_search,,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) $(call cross_mangle_substvars,$(p_l)) echo $(p_l) $(p_d) >> debian/$(lib_binaries) diff --git a/debian/rules.d/binary-libstdcxx.mk b/debian/rules.d/binary-libstdcxx.mk index 98257c6..995eb65 100644 --- a/debian/rules.d/binary-libstdcxx.mk +++ b/debian/rules.d/binary-libstdcxx.mk @@ -399,13 +399,7 @@ endif dh_link -p$(p_dev) \ /$(usr_lib)/libstdc++.so.$(CXX_SONAME) \ - /$(gcc_lib_dir)/libstdc++.so \ - /$(PFL)/include/c++/$(BASE_VERSION) /$(PFL)/include/c++/$(GCC_VERSION) -ifeq ($(with_multiarch_cxxheaders),yes) - dh_link -p$(p_dev) \ - /$(PFL)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION) \ - /$(PFL)/include/$(DEB_TARGET_MULTIARCH)/c++/$(GCC_VERSION) -endif + /$(gcc_lib_dir)/libstdc++.so debian/dh_doclink -p$(p_dev) $(p_lbase) debian/dh_doclink -p$(p_pic) $(p_lbase) diff --git a/debian/rules.d/binary-libtsan.mk b/debian/rules.d/binary-libtsan.mk index 03706e7..0320423 100644 --- a/debian/rules.d/binary-libtsan.mk +++ b/debian/rules.d/binary-libtsan.mk @@ -27,7 +27,9 @@ define __do_tsan rm -rf $(d_l) $(d_d) dh_installdirs -p$(p_l) $(usr_lib$(2)) - $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libtsan.so.* + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(usr_lib$(2))/libtsan.so.* \ + $(usr_lib$(2))/libtsan_preinit.o debian/dh_doclink -p$(p_l) $(p_lbase) debian/dh_doclink -p$(p_d) $(p_lbase) diff --git a/debian/rules.d/binary-m2.mk b/debian/rules.d/binary-m2.mk new file mode 100644 index 0000000..772855e --- /dev/null +++ b/debian/rules.d/binary-m2.mk @@ -0,0 +1,289 @@ +ifneq ($(DEB_STAGE),rtlibs) + ifeq (0,1) + ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchsf))) + arch_binaries := $(arch_binaries) gm2-multi + endif + endif + arch_binaries := $(arch_binaries) gm2 + + ifeq ($(with_m2dev),yes) + $(lib_binaries) += libgm2-dev + endif + ifeq ($(with_libgm2),yes) + $(lib_binaries) += libgm2 + endif + + ifeq (0,1) + ifeq ($(with_lib64gm2dev),yes) + $(lib_binaries) += lib64gm2-dev + endif + ifeq ($(with_lib32gm2dev),yes) + $(lib_binaries) += lib32gm2-dev + endif + ifeq ($(with_libn32gm2dev),yes) + $(lib_binaries) += libn32gm2-dev + endif + ifeq ($(with_libx32gm2dev),yes) + $(lib_binaries) += libx32gm2-dev + endif + ifeq ($(with_libhfgm2dev),yes) + $(lib_binaries) += libhfgm2-dev + endif + ifeq ($(with_libsfgm2dev),yes) + $(lib_binaries) += libsfgm2-dev + endif + + ifeq ($(with_lib64gm2),yes) + $(lib_binaries) += lib64gm2 + endif + ifeq ($(with_lib32gm2),yes) + $(lib_binaries) += lib32gm2 + endif + ifeq ($(with_libn32gm2),yes) + $(lib_binaries) += libn32gm2 + endif + ifeq ($(with_libx32gm2),yes) + $(lib_binaries) += libx32gm2 + endif + ifeq ($(with_libhfgm2),yes) + $(lib_binaries) += libhfgm2 + endif + ifeq ($(with_libsfgm2),yes) + $(lib_binaries) += libsfgm2 + endif + endif +endif + +p_gm2 = gm2$(pkg_ver)$(cross_bin_arch) +p_gm2_m = gm2$(pkg_ver)-multilib$(cross_bin_arch) +p_libgm2 = libgm2-$(GM2_SONAME) +p_libgm2dev = libgm2$(pkg_ver)-dev + +d_gm2 = debian/$(p_gm2) +d_gm2_m = debian/$(p_gm2_m) +d_libgm2 = debian/$(p_libgm2) +d_libgm2dev = debian/$(p_libgm2dev) + +dirs_gm2 = \ + $(PF)/bin \ + $(PF)/share/man/man1 \ + $(gcc_lexec_dir) \ + $(gcc_lexec_dir)/plugin +#ifneq ($(DEB_CROSS),yes) +# dirs_gm2 += \ +# $(gm2_include_dir) +#endif + +files_gm2 = \ + $(PF)/bin/$(cmd_prefix)gm2$(pkg_ver) \ + $(gcc_lexec_dir)/plugin/m2rte.so \ + $(gcc_lexec_dir)/{cc1gm2,gm2l,gm2lcc,gm2lgen,gm2lorder,gm2m} +ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl) + files_gm2 += \ + $(PF)/share/man/man1/$(cmd_prefix)gm2$(pkg_ver).1 +endif + +dirs_libgm2 = \ + $(PF)/lib \ + $(gm2_include_dir) \ + $(gcc_lib_dir) + +$(binary_stamp)-gm2: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_gm2) + dh_installdirs -p$(p_gm2) $(dirs_gm2) + + dh_installdocs -p$(p_gm2) + dh_installchangelogs -p$(p_gm2) src/gcc/gm2/ChangeLog + + $(dh_compat2) dh_movefiles -p$(p_gm2) $(files_gm2) + +ifeq ($(unprefixed_names),yes) + ln -sf $(cmd_prefix)gm2$(pkg_ver) \ + $(d_gm2)/$(PF)/bin/gm2$(pkg_ver) + ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl) + ln -sf $(cmd_prefix)gm2$(pkg_ver).1 \ + $(d_gm2)/$(PF)/share/man/man1/gm2$(pkg_ver).1 + endif +endif + + dh_link -p$(p_gm2) \ + /$(docdir)/$(p_gcc)/README.Bugs \ + /$(docdir)/$(p_gm2)/README.Bugs + +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_gm2)/$(gcc_lexec_dir)/{cc1gm2,gm2l,gm2lcc,gm2lgen,gm2lorder} +endif + dh_strip -p$(p_gm2) \ + $(if $(unstripped_exe),-X/cc1gm2 -X/gm2) + dh_shlibdeps -p$(p_gm2) + + mkdir -p $(d_gm2)/usr/share/lintian/overrides + echo '$(p_gm2) binary: hardening-no-pie' \ + > $(d_gm2)/usr/share/lintian/overrides/$(p_gm2) + + echo $(p_gm2) >> debian/arch_binaries + + find $(d_gm2) -type d -empty -delete + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +$(binary_stamp)-gm2-multi: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_gm2_m) + dh_installdirs -p$(p_gm2_m) $(docdir) + + debian/dh_doclink -p$(p_gm2_m) $(p_xbase) + + dh_strip -p$(p_gm2_m) + dh_shlibdeps -p$(p_gm2_m) + echo $(p_gm2_m) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +define __do_libgm2 + 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))/libgm2.so.* \ + $(usr_lib$(2))/libcor.so.* \ + $(usr_lib$(2))/libiso.so.* \ + $(usr_lib$(2))/liblog.so.* \ + $(usr_lib$(2))/libmin.so.* \ + $(usr_lib$(2))/libulm.so.* + + $(if $(filter $(build_type), build-cross cross-build-cross), \ + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(usr_lib$(2))/libpth.so.* \ + ) + + debian/dh_doclink -p$(p_l) $(p_lbase) + debian/dh_doclink -p$(p_d) $(p_lbase) + + dh_strip -p$(p_l) --dbg-package=$(p_d) + : ln -sf libgm2.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 gm2-$(GM2_SONAME),gcc$(GCC_SONAME),$(p_l)) \ + ,$(2)) \ + $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2)) + $(call cross_mangle_substvars,$(p_l)) + + $(if $(2), + mkdir -p $(d_l)/usr/share/lintian/overrides; \ + echo "$$pkgname binary: embedded-library" \ + >> $(d_l)/usr/share/lintian/overrides/$(p_l) + ) + + dh_lintian -p$(p_l) + echo $(p_l) $(p_d) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +# install_gm2_lib(lib,soname,flavour,package,subdir) +define install_gm2_lib + mkdir -p debian/$(4)/$(gcc_lib_dir$(3))/$(5) + mv $(d)/$(usr_lib$(3))/$(1)*.a debian/$(4)/$(gcc_lib_dir$(3))/$(5)/. + rm -f $(d)/$(usr_lib$(3))/$(1)*.{la,so} + dh_link -p$(4) \ + /$(usr_lib$(3))/$(1).so.$(2) /$(gcc_lib_dir$(3))/$(5)/$(1).so + +endef + +define __do_libgm2_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_gm2_lib,libgm2,$(GM2_SONAME),$(2),$(p_l),m2/pim) + $(call install_gm2_lib,libcor,$(GM2_SONAME),$(2),$(p_l),m2/cor) + $(call install_gm2_lib,libiso,$(GM2_SONAME),$(2),$(p_l),m2/iso) + $(call install_gm2_lib,liblog,$(GM2_SONAME),$(2),$(p_l),m2/log) + $(call install_gm2_lib,libmin,$(GM2_SONAME),$(2),$(p_l),m2/min) + $(call install_gm2_lib,libulm,$(GM2_SONAME),$(2),$(p_l),m2/ulm) + + $(if $(filter $(build_type), build-cross cross-build-cross), \ + $(call install_gcc_lib,libpth,0,$(2),$(p_l)) + ) + + $(if $(2),, + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(gcc_lexec_dir)/m2 + ) + + : # included in gm2 package + rm -f $(d_l)/$(gm2_include_dir)/__entrypoint.di + + debian/dh_doclink -p$(p_l) \ + $(if $(filter yes,$(with_separate_gm2)),$(p_gm2),$(p_lbase)) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) +endef + +do_libgm2 = $(call __do_libgm2,lib$(1)gm2-$(GM2_SONAME),$(1)) +do_libgm2_dev = $(call __do_libgm2_dev,lib$(1)gm2-$(BASE_VERSION)-dev,$(1)) + +$(binary_stamp)-libgm2: $(install_stamp) + $(call do_libgm2,) + +$(binary_stamp)-lib64gm2: $(install_stamp) + $(call do_libgm2,64) + +$(binary_stamp)-lib32gm2: $(install_stamp) + $(call do_libgm2,32) + +$(binary_stamp)-libn32gm2: $(install_stamp) + $(call do_libgm2,n32) + +$(binary_stamp)-libx32gm2: $(install_stamp) + $(call do_libgm2,x32) + +$(binary_stamp)-libhfgm2: $(install_stamp) + $(call do_libgm2,hf) + +$(binary_stamp)-libsfgm2: $(install_stamp) + $(call do_libgm2,sf) + + +$(binary_stamp)-libgm2-dev: $(install_stamp) + $(call do_libgm2_dev,) + +$(binary_stamp)-lib64gm2-dev: $(install_stamp) + $(call do_libgm2_dev,64) + +$(binary_stamp)-lib32gm2-dev: $(install_stamp) + $(call do_libgm2_dev,32) + +$(binary_stamp)-libx32gm2-dev: $(install_stamp) + $(call do_libgm2_dev,x32) + +$(binary_stamp)-libn32gm2-dev: $(install_stamp) + $(call do_libgm2_dev,n32) + +$(binary_stamp)-libhfgm2-dev: $(install_stamp) + $(call do_libgm2_dev,hf) + +$(binary_stamp)-libsfgm2-dev: $(install_stamp) + $(call do_libgm2_dev,sf) diff --git a/debian/rules.d/binary-nvptx.mk b/debian/rules.d/binary-nvptx.mk new file mode 100644 index 0000000..ebce8fe --- /dev/null +++ b/debian/rules.d/binary-nvptx.mk @@ -0,0 +1,88 @@ +ifeq ($(with_offload_nvptx),yes) + arch_binaries := $(arch_binaries) nvptx + ifeq ($(with_common_libs),yes) + arch_binaries := $(arch_binaries) nvptx-plugin + endif +endif + +p_nvptx = gcc$(pkg_ver)-offload-nvptx +d_nvptx = debian/$(p_nvptx) + +p_pl_nvptx = libgomp-plugin-nvptx1 +d_pl_nvptx = debian/$(p_pl_nvptx) + +dirs_nvptx = \ + $(docdir)/$(p_xbase)/ \ + $(PF)/bin \ + $(gcc_lexec_dir)/accel + +files_nvptx = \ + $(PF)/bin/$(DEB_TARGET_GNU_TYPE)-accel-nvptx-none-gcc$(pkg_ver) \ + $(gcc_lexec_dir)/accel/nvptx-none + +# not needed: libs moved, headers not needed for lto1 +# $(PF)/nvptx-none + +# are these needed? +# $(PF)/lib/gcc/nvptx-none/$(versiondir)/{include,finclude,mgomp} + +ifneq ($(GFDL_INVARIANT_FREE),yes) + files_nvptx += \ + $(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-accel-nvptx-none-gcc$(pkg_ver).1 +endif + +$(binary_stamp)-nvptx: $(install_stamp) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_nvptx) + dh_installdirs -p$(p_nvptx) $(dirs_nvptx) + $(dh_compat2) dh_movefiles --sourcedir=$(d)-nvptx -p$(p_nvptx) \ + $(files_nvptx) + + mkdir -p $(d_nvptx)/usr/share/lintian/overrides + echo '$(p_nvptx) binary: hardening-no-pie' \ + > $(d_nvptx)/usr/share/lintian/overrides/$(p_nvptx) +ifeq ($(GFDL_INVARIANT_FREE),yes) + echo '$(p_nvptx) binary: binary-without-manpage' \ + >> $(d_nvptx)/usr/share/lintian/overrides/$(p_nvptx) +endif + + debian/dh_doclink -p$(p_nvptx) $(p_xbase) + + debian/dh_rmemptydirs -p$(p_nvptx) + +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_nvptx)/$(gcc_lexec_dir)/accel/nvptx-none/{collect2,lto1,lto-wrapper,mkoffload} +endif + dh_strip -p$(p_nvptx) \ + $(if $(unstripped_exe),-X/lto1) + dh_shlibdeps -p$(p_nvptx) + echo $(p_nvptx) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) + +# ---------------------------------------------------------------------- +$(binary_stamp)-nvptx-plugin: $(install_dependencies) + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_pl_nvptx) + dh_installdirs -p$(p_pl_nvptx) \ + $(docdir) \ + $(usr_lib) + $(dh_compat2) dh_movefiles -p$(p_pl_nvptx) \ + $(usr_lib)/libgomp-plugin-nvptx.so.* + + debian/dh_doclink -p$(p_pl_nvptx) $(p_xbase) + debian/dh_rmemptydirs -p$(p_pl_nvptx) + + dh_strip -p$(p_pl_nvptx) + dh_makeshlibs -p$(p_pl_nvptx) + dh_shlibdeps -p$(p_pl_nvptx) + echo $(p_pl_nvptx) >> debian/arch_binaries + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) diff --git a/debian/rules.d/binary-objc.mk b/debian/rules.d/binary-objc.mk index 2fb1794..b5cd216 100644 --- a/debian/rules.d/binary-objc.mk +++ b/debian/rules.d/binary-objc.mk @@ -33,8 +33,10 @@ $(binary_stamp)-objc: $(install_stamp) cp -p $(srcdir)/libobjc/ChangeLog \ $(d_objc)/$(docdir)/$(p_xbase)/ObjC/changelog.libobjc -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_objc)/usr/share/lintian/overrides + echo '$(p_objc) binary: hardening-no-pie' \ + > $(d_objc)/usr/share/lintian/overrides/$(p_objc) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_objc) binary: binary-without-manpage' \ >> $(d_objc)/usr/share/lintian/overrides/$(p_objc) endif @@ -43,6 +45,10 @@ endif debian/dh_rmemptydirs -p$(p_objc) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_objc)/$(gcc_lexec_dir)/cc1obj +endif dh_strip -p$(p_objc) \ $(if $(unstripped_exe),-X/cc1obj) dh_shlibdeps -p$(p_objc) diff --git a/debian/rules.d/binary-objcxx.mk b/debian/rules.d/binary-objcxx.mk index a37de91..4f6d8e1 100644 --- a/debian/rules.d/binary-objcxx.mk +++ b/debian/rules.d/binary-objcxx.mk @@ -31,14 +31,20 @@ $(binary_stamp)-objcxx: $(install_stamp) cp -p $(srcdir)/gcc/objcp/ChangeLog \ $(d_objcx)/$(docdir)/$(p_xbase)/Obj-C++/changelog -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_objcx)/usr/share/lintian/overrides + echo '$(p_objcx) binary: hardening-no-pie' \ + > $(d_objcx)/usr/share/lintian/overrides/$(p_objcx) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_objcx) binary: binary-without-manpage' \ >> $(d_objcx)/usr/share/lintian/overrides/$(p_objcx) endif debian/dh_rmemptydirs -p$(p_objcx) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_objcx)/$(gcc_lexec_dir)/cc1objplus +endif dh_strip -p$(p_objcx) \ $(if $(unstripped_exe),-X/cc1objplus) dh_shlibdeps -p$(p_objcx) diff --git a/debian/rules.d/binary-snapshot.mk b/debian/rules.d/binary-snapshot.mk index 72f6c74..3382417 100644 --- a/debian/rules.d/binary-snapshot.mk +++ b/debian/rules.d/binary-snapshot.mk @@ -21,41 +21,8 @@ ifeq ($(with_hppa64),yes) snapshot_depends = binutils-hppa64 endif -$(stampdir)/ecj_binaries: $(install_snap_stamp) - mkdir -p $(builddir)/aot/jar $(builddir)/aot/bin - cp $(ecj_jar) $(builddir)/aot/jar/ecj-standalone.jar - zip -d $(builddir)/aot/jar/ecj-standalone.jar \ - 'org/eclipse/jdt/core/JDTCompilerAdapter*' - - cd $(builddir)/aot/jar \ - && fastjar xf ecj-standalone.jar \ - && find -name '*.rsc' -o -name '*.properties' \ - | fastjar -c -@ - -f ../resources.jar - rm -rf $(builddir)/aot/jar/META-INF $(builddir)/aot/jar/org - $(d)/$(PF)/bin/gcj \ - -c -O2 -g -fPIC -fjni -findirect-dispatch \ - -o $(builddir)/aot/bin/resources.o $(builddir)/aot/resources.jar - - cp $(srcdir)/libjava/contrib/classfile.py $(builddir)/aot/ - cp $(buildlibdir)/libjava/contrib/*.py $(builddir)/aot/ - grep -v '^sys.path.insert' $(buildlibdir)/libjava/contrib/aot-compile \ - > $(builddir)/aot/aot-compile - chmod 755 $(builddir)/aot/aot-compile - patch -p1 < debian/patches/aotcompile.diff - LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(CURDIR)/$(d)/$(PF)/lib \ - RPATH=-Wl,-rpath,/$(PF)/lib \ - PYTHONPATH=$(builddir)/aot \ - python $(builddir)/aot/aot-compile \ - --gcj=$(CURDIR)/$(d)/$(PF)/bin/gcj \ - --dbtool=$(CURDIR)/$(d)/$(PF)/bin/gcj-dbtool \ - --makeflags="$(NJOBS)" \ - --ldflags="$(LDFLAGS)" \ - $(builddir)/aot/jar $(builddir)/aot/bin - touch $@ - # ---------------------------------------------------------------------- -$(binary_stamp)-snapshot: $(install_snap_stamp) \ - $(if $(filter $(with_ecj),yes),$(stampdir)/ecj_binaries) +$(binary_stamp)-snapshot: $(install_snap_stamp) dh_testdir dh_testroot mv $(install_snap_stamp) $(install_snap_stamp)-tmp @@ -83,43 +50,6 @@ $(binary_stamp)-snapshot: $(install_snap_stamp) \ fi rm -rf $(d_snap)/$(PF)/lib/nof -ifeq ($(with_java),yes) - mv $(d)/usr/lib/jvm $(d_snap)/usr/lib/ - - dh_link -p$(p_snap) \ - $(gcc_lib_dir)/include/gcj $(jvm_dir)/include/gcj \ - usr/bin/ecj $(jvm_dir)/bin/javac - - ifneq ($(DEB_TARGET_ARCH_CPU),$(java_cpu)) - ln -sf $(java_cpu) $(d_snap)/$(jvm_dir)/jre/lib/$(DEB_TARGET_ARCH_CPU) - endif - ifeq ($(with_ecj),yes) - install -m755 $(builddir)/aot/bin/javac $(d_snap)/$(jvm_dir)/bin/javac - install -m755 $(builddir)/aot/bin/ecj1 $(d_snap)/$(gcc_lexec_dir)/ecj1 - - ifeq (./,$(dir $(ecj_jar))) - install -m 644 $(ecj_jar) $(d_snap)/$(jvm_dir)/lib/ecj.jar - else - dh_link -p$(p_snap) \ - $(ecj_jar) $(jvm_dir)/lib/ecj.jar - endif - endif - - : # provide .jinfo file - ( \ - echo 'name=$(jvm_name_short)'; \ - echo 'alias=java-gcj$(pkg_ver)'; \ - echo 'priority=$(priority)'; \ - echo 'section=main'; \ - echo ''; \ - for i in $(jre_tools); do \ - echo "jre $$i /$(jvm_dir)/jre/bin/$$i"; \ - done; \ - for i in $(jdk_tools); do \ - echo "jdk $$i /$(jvm_dir)/bin/$$i"; \ - done; \ - ) > $(d_snap)/usr/lib/jvm/.java-gcj$(pkg_ver)-snap.jinfo -endif ifeq ($(with_ada),yes FIXME: apply our ada patches) dh_link -p$(p_snap) \ @@ -182,9 +112,13 @@ endif $(d_snap)/$(docdir)/$(p_snap)/ dh_installchangelogs -p$(p_snap) ifeq ($(DEB_TARGET_ARCH),hppa) +# dh_dwz -p$(p_snap) -Xdebug -X/cgo -Xbin/go -Xbin/gofmt \ +# $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i))) dh_strip -p$(p_snap) -Xdebug -X.o -X.a -X/cgo -Xbin/go -Xbin/gofmt \ $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i))) else +# dh_dwz -p$(p_snap) -Xdebug -X/cgo -Xbin/go -Xbin/gofmt \ +# $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i))) dh_strip -p$(p_snap) -Xdebug -X/cgo -Xbin/go -Xbin/gofmt \ $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i))) endif @@ -204,17 +138,14 @@ endif echo 'libobjc $(OBJC_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ echo 'libgfortran $(FORTRAN_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ echo 'libffi $(FFI_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ - echo 'libgcj $(GCJ_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ - echo 'libgcj-tools $(GCJ_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ - echo 'libgij $(GCJ_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ - echo 'libgcj_bc 1 ${p_snap} (>= $(DEB_VERSION))'; \ + echo 'libgo $(GO_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ echo 'libgomp $(GOMP_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \ echo 'libgnat-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \ echo 'libgnarl-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \ ) > debian/shlibs.local $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) \ - dh_shlibdeps -p$(p_snap) -l$(CURDIR)/$(d_snap)/$(PF)/lib:$(CURDIR)/$(d_snap)/$(PF)/$(if $(filter $(DEB_TARGET_ARCH),amd64 ppc64),lib32,lib64):/usr/$(DEB_TARGET_GNU_TYPE)/lib -Xlibgcj-tools + dh_shlibdeps -p$(p_snap) -l$(CURDIR)/$(d_snap)/$(PF)/lib:$(CURDIR)/$(d_snap)/$(PF)/$(if $(filter $(DEB_TARGET_ARCH),amd64 ppc64),lib32,lib64):/usr/$(DEB_TARGET_GNU_TYPE)/lib -sed -i -e 's/$(p_snap)[^,]*, //g' debian/$(p_snap).substvars ifeq ($(with_multiarch_lib),yes) diff --git a/debian/rules.d/binary-softfloat.mk b/debian/rules.d/binary-softfloat.mk index 1699326..6badfcc 100644 --- a/debian/rules.d/binary-softfloat.mk +++ b/debian/rules.d/binary-softfloat.mk @@ -24,7 +24,7 @@ $(binary_stamp)-softfloat: $(install_stamp) mv $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp.a \ $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp_nonshared.a debian/dh_doclink -p$(p_softfloat) $(p_xbase) - dh_strip -p$(p_softfloat) -Xlibgcj.a + dh_strip -p$(p_softfloat) dh_shlibdeps -p$(p_softfloat) echo $(p_softfloat) >> debian/arch_binaries diff --git a/debian/rules.d/binary-source.mk b/debian/rules.d/binary-source.mk index 7bc3f44..9844826 100644 --- a/debian/rules.d/binary-source.mk +++ b/debian/rules.d/binary-source.mk @@ -15,11 +15,12 @@ $(binary_stamp)-gcc-source: $(install_stamp) dh_installchangelogs -p$(p_source) dh_install -p$(p_source) $(gcc_tarball) usr/src/gcc$(pkg_ver) -ifneq (,$(gdc_tarball)) - dh_install -p$(p_source) $(gdc_tarball) usr/src/gcc$(pkg_ver) +ifneq (,$(m2_tarball)) + dh_install -p$(p_source) $(m2_tarball) usr/src/gcc$(pkg_ver) endif tar cf - $$(find './debian' -mindepth 1 \( \ -name .svn -prune -o \ + -path './debian/.debhelper' -prune -o \ -path './debian/gcc-*' -type d -prune -o \ -path './debian/cpp-*' -type d -prune -o \ -path './debian/*fortran*' -type d -prune -o \ @@ -38,6 +39,7 @@ endif | tar -x -C $(d_source)/usr/src/gcc$(pkg_ver) -f - # FIXME: Remove generated files find $(d_source)/usr/src/gcc$(pkg_ver) -name '*.debhelper.log' -o -name .svn | xargs rm -rf + rm -f $(d_source)/usr/src/gcc$(pkg_ver)/debian/patches/series touch $(d_source)/usr/src/gcc$(pkg_ver)/debian/rules.parameters |