summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules132
1 files changed, 107 insertions, 25 deletions
diff --git a/debian/rules b/debian/rules
index 0bebccf..386391a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -84,6 +84,8 @@ ifeq ($(src_name),binutils)
same_source = yes
CROSS_ARCHS ?= s390x ppc64el powerpc arm64 armhf armel mips mipsel
CROSS_ARCHS += alpha hppa m68k mips64 mips64el powerpcspe ppc64 sh4 sparc64
+ CROSS_ARCHS += mipsn32 mipsn32el
+ #CROSS_ARCHS += mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
#CROSS_ARCHS += kfreebsd-amd64 kfreebsd-i386 hurd-i386
else
# binutils-ports ...
@@ -114,6 +116,16 @@ HOST_ARCHS_ppc64 = amd64 i386 x32 ppc64el
HOST_ARCHS_sh4 = amd64 i386 x32
HOST_ARCHS_sparc64 = amd64 i386 x32
+HOST_ARCHS_mipsn32 = amd64 i386 x32
+HOST_ARCHS_mipsn32el = amd64 i386 x32
+
+HOST_ARCHS_mipsr6 = amd64 i386 x32
+HOST_ARCHS_mipsr6el = amd64 i386 x32
+HOST_ARCHS_mipsn32r6 = amd64 i386 x32
+HOST_ARCHS_mipsn32r6el = amd64 i386 x32
+HOST_ARCHS_mips64r6 = amd64 i386 x32
+HOST_ARCHS_mips64r6el = amd64 i386 x32
+
HOST_ARCHS_kfreebsd-amd64 = amd64 i386 x32
HOST_ARCHS_kfreebsd-i386 = amd64 i386 x32
HOST_ARCHS_hurd-i386 = amd64 i386 x32
@@ -179,7 +191,8 @@ SHELL = /bin/bash
gold_targets = \
amd64 arm64 armel armhf i386 \
mips mipsel mipsn32 mipsn32el mips64 mips64el \
- powerpc powerpcspe ppc64 ppc64el \
+ mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el \
+ powerpc powerpcspe ppc64 ppc64el sparc sparc64 \
x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386
ifneq (,$(filter $(DEB_HOST_ARCH), $(gold_targets)))
@@ -192,6 +205,8 @@ with_multiarch := yes
CC = gcc
CXX = g++
CFLAGS = -g -O2
+CXXFLAGS = -g -O2
+LDFLAGS =
STRIP = strip --remove-section=.comment --remove-section=.note
CROSS :=
ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
@@ -264,6 +279,9 @@ endif
ifneq (,$(findstring nocross,$(DEB_BUILD_OPTIONS)))
with_cross = disabled in DEB_BUILD_OPTIONS
endif
+ifneq (,$(findstring nohppa,$(DEB_BUILD_OPTIONS)))
+ with_hppa64 = disabled in DEB_BUILD_OPTIONS
+endif
# PF is the installation prefix for the package without the leading slash.
# It's "usr" for gcc releases, so use this if not explicitly set
@@ -343,7 +361,25 @@ DEB_TARGET_MULTIARCH32_mips64 = mips-linux-gnu
DEB_TARGET_MULTIARCHN32_mips64 = mips64-linux-gnuabin32
DEB_TARGET_MULTIARCH32_mips64el = mipsel-linux-gnu
-DEB_TARGET_MULTIARCHN32_mipselel = mips64el-linux-gnuabin32
+DEB_TARGET_MULTIARCHN32_mips64el = mips64el-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH64_mipsr6 = mipsisa64r6-linux-gnuabi64
+DEB_TARGET_MULTIARCHN32_mipsr6 = mipsisa64r6-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH64_mipsr6el = mipsisa64r6el-linux-gnuabi64
+DEB_TARGET_MULTIARCHN32_mipsr6el = mipsisa64r6el-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH64_mipsn32r6 = mipsisa64r6-linux-gnuabi64
+DEB_TARGET_MULTIARCH32_mipsn32r6 = mipsisa32r6-linux-gnu
+
+DEB_TARGET_MULTIARCH64_mipsn32r6el = mipsisa64r6el-linux-gnuabi64
+DEB_TARGET_MULTIARCH32_mipsn32r6el = mipsisa32r6el-linux-gnu
+
+DEB_TARGET_MULTIARCH32_mips64r6 = mipsisa32r6-linux-gnu
+DEB_TARGET_MULTIARCHN32_mips64r6 = mipsisa64r6-linux-gnuabin32
+
+DEB_TARGET_MULTIARCH32_mips64r6el = mipsisa32r6el-linux-gnu
+DEB_TARGET_MULTIARCHN32_mips64r6el = mipsisa64r6el-linux-gnuabin32
DEB_TARGET_MULTIARCH32_arm64 = aarch64_ilp32-linux-gnu
@@ -397,6 +433,18 @@ CONFARGS_TARGET_mips64 = --enable-targets=mips64-linux-gnuabin32,mips-linux-gnu
CONFARGS_TARGET_mips64el = --enable-targets=mips64el-linux-gnuabin32,mipsel-linux-gnu
+CONFARGS_TARGET_mipsr6 = --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa64r6-linux-gnuabin32
+
+CONFARGS_TARGET_mipsr6el = --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa64r6el-linux-gnuabin32
+
+CONFARGS_TARGET_mipsn32r6 = --enable-targets=mipsisa64r6-linux-gnuabi64,mipsisa32r6-linux-gnu
+
+CONFARGS_TARGET_mipsn32r6el = --enable-targets=mipsisa64r6el-linux-gnuabi64,mipsisa32r6el-linux-gnu
+
+CONFARGS_TARGET_mips64r6 = --enable-targets=mipsisa64r6-linux-gnuabin32,mipsisa32r6-linux-gnu
+
+CONFARGS_TARGET_mips64r6el = --enable-targets=mipsisa64r6el-linux-gnuabin32,mipsisa32r6el-linux-gnu
+
CONFARGS_TARGET_aarch64 = --enable-targets=aarch64_be-linux-gnu
with_check := yes
@@ -477,6 +525,8 @@ stamps/control: debian/control.in $(if $(TARGET),debian/control.cross.in) $(if $
ifneq (,$(TARGET))
sed "s/@dpkg_dev@/$(DPKG_DEV)/;/^$$/ q" < debian/control.in > debian/control
sed -e "s/@target@/$$(echo -n $(TARGET) | sed s/_/-/g)/" \
+ -e "s/@host_archs@/any/" \
+ -e 's/@binutils_alt_triplet@//' \
< debian/control.cross.in >> debian/control
else
sed -e 's/@dpkg_dev@/$(DPKG_DEV)/' \
@@ -526,7 +576,7 @@ endif
rm -rf stamps/configure-single builddir-single
mkdir builddir-single
- cd builddir-single && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" \
+ cd builddir-single && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" \
$(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \
../configure --with-sysroot=/ $(SINGLE_CONFARGS)
$(MAKE) -C builddir-single configure-host
@@ -591,15 +641,22 @@ multiarch_targets = \
m68k-rtems \
mips-linux-gnu \
mipsel-linux-gnu \
+ mips64-linux-gnuabin32 \
+ mips64el-linux-gnuabin32 \
mips64-linux-gnu \
mips64el-linux-gnu \
+ mipsisa32r6-linux-gnu \
+ mipsisa32r6el-linux-gnu \
+ mipsisa64r6-linux-gnuabin32 \
+ mipsisa64r6el-linux-gnuabin32 \
+ mipsisa64r6-linux-gnuabi64 \
+ mipsisa64r6el-linux-gnuabi64 \
powerpc-linux-gnu \
powerpc64-linux-gnu \
powerpc64le-linux-gnu \
s390-linux-gnu \
s390x-linux-gnu \
sh-linux-gnu \
- sh64-linux-gnu \
sparc-linux-gnu \
sparc64-linux-gnu \
x86_64-linux-gnu \
@@ -619,7 +676,7 @@ stamps/configure-multi: stamps/patch
builddir-multi
mkdir builddir-multi
cd builddir-multi \
- && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" \
+ && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" \
$(call SET_MULTIARCH_ENV,$(DEB_HOST_ARCH)) \
../configure $(CONFARGS) \
--with-sysroot=/ \
@@ -660,7 +717,7 @@ stamps/configure.%: stamps/patch
$(CROSS_CONFARGS) \
$(CONFARGS_TARGET_$(*)) \
--with-sysroot=/ \
- $(if $(filter $*, $(gold_targets)),--enable-ld=default --enable-gold) \
+ $(if $(filter $*, $(gold_targets)),--enable-ld=default --enable-gold,--disable-gold) \
--target=$(CROSS_GNU_TYPE)
touch $@
@@ -671,7 +728,8 @@ stamps/build.%: stamps/configure.%
$(call SET_MULTIARCH_ENV,$*) \
$(MAKE) -C builddir-$* $(NJOBS) \
CFLAGS="$(CFLAGS)" \
- LDFLAGS="-Wl,-z,relro"
+ CXXFLAGS="$(CXXFLAGS)" \
+ LDFLAGS="$(LDFLAGS) -Wl,-z,relro"
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
ifeq ($(with_check),yes)
-env MAKE="$(MAKE) VERSION=$(VERSION)-$*" \
@@ -721,6 +779,9 @@ stamps/install.%: stamps/build.% $(if $(CROSS),debian/strip.cross)
: # no spu toolchain
rm -f $(D_CROSS)/$(PF)/bin/*embedspu
+ : # Remove windows related manpages
+ rm -f $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-{dlltool,nlmconv,windmc,windres}.1
+
: # symlink man pages
mv $(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.1 \
$(D_CROSS)/$(PF)/share/man/man1/$(CROSS_GNU_TYPE)-ld.bfd.1
@@ -780,7 +841,7 @@ stamps/configure-hppa64: stamps/patch
builddir-hppa64
mkdir builddir-hppa64
cd builddir-hppa64 \
- && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" ../configure \
+ && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ../configure \
$(filter-out --enable-targets=%, $(CONFARGS)) \
--target=hppa64-linux-gnu
$(MAKE) -C builddir-hppa64 configure-host
@@ -869,7 +930,10 @@ stamps/install: checkroot stamps/build $(install_stamps) $(if $(CROSS),debian/st
: # install binutils and -dev stuff
env MAKE="$(MAKE) VERSION=$(SINGLE_VERSION)" \
$(MAKE) -C builddir-single \
- CFLAGS="$(CFLAGS)" prefix=$(pwd)/$(d_bin)/$(PF) \
+ CFLAGS="$(CFLAGS)" \
+ CXXFLAGS="$(CXXFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" \
+ prefix=$(pwd)/$(d_bin)/$(PF) \
mandir=$(pwd)/$(d_bin)/$(PF)/share/man \
infodir=$(pwd)/$(d_doc)/$(PF)/share/info install
@@ -886,6 +950,8 @@ ifeq ($(with_multiarch),yes)
env MAKE="$(MAKE) VERSION=$(MULTI_VERSION)" \
$(MAKE) -C builddir-multi \
CFLAGS="$(CFLAGS)" \
+ CXXFLAGS="$(CXXFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" \
prefix=$(pwd)/$(d_mul)/$(PF) \
mandir=$(pwd)/$(d_mul)/$(PF)/share/man \
infodir=$(pwd)/$(d_doc)/$(PF)/share/info install
@@ -918,7 +984,7 @@ endif
: # *sigh*, bugs.debian.org/213524
rm -f $(d_doc)/$(PF)/share/info/dir*
-ifneq (,$(filter $(DEB_HOST_ARCH),powerpc ppc64 ppc64el))
+ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe ppc64 ppc64el))
rm -f $(d_bin)/$(PF)/bin/embedspu
endif
@@ -943,7 +1009,7 @@ ifeq ($(with_multiarch),yes)
rm -f $(d_mul)/$(PF)/bin/ld.bfd
rm -f $(d_mul)/$(PF)/bin/ld.gold
- ifneq (,$(filter $(DEB_HOST_ARCH),powerpc ppc64 ppc64el))
+ ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe ppc64 ppc64el))
rm -f $(d_mul)/$(PF)/bin/embedspu
endif
@@ -1066,7 +1132,7 @@ endif
$(d_bin)/$(PF)/share/man/man1/ld.bfd.1
ln -sf ld.bfd $(d_bin)/$(PF)/bin/ld
ln -sf $(DEB_HOST_GNU_TYPE)-ld.bfd $(d_bin)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-ld
- ln -sf ld.bfd.1.fz $(d_bin)/$(PF)/share/man/man1/ld.1.gz
+ ln -sf ld.bfd.1.gz $(d_bin)/$(PF)/share/man/man1/ld.1.gz
ln -sf $(DEB_HOST_GNU_TYPE)-ld.bfd.1.gz $(d_bin)/$(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-ld.1.gz
ifeq ($(with_gold),yes)
ln -s ld.gold $(d_bin)/$(PF)/bin/gold
@@ -1105,6 +1171,16 @@ endif
mv $(d_bin)/$(PF)/share/man/man1/$$i.1 $(d_bin)/$(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-$$i.1; \
ln -sf $(DEB_HOST_GNU_TYPE)-$$i.1.gz $(d_bin)/$(PF)/share/man/man1/$$i.1.gz; \
done
+ifeq ($(with_multiarch),yes)
+ @echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXxx
+ for i in \
+ addr2line ar gprof \
+ nm objcopy objdump ranlib readelf size strings strip; \
+ do \
+ mv $(d_mul)/$(PF)/bin/$$i $(d_mul)/$(PF)/bin/$(DEB_HOST_GNU_TYPE)-$$i; \
+ done
+ rm -f $(d_mul)/$(PF)/bin/embedspu
+endif
ifneq (,$(filter $(DEB_HOST_ARCH),i386 kfreebsd-i386 hurd-i386))
# temporary i586-* symlinks for stretch/sid
@@ -1157,6 +1233,8 @@ stamps/install-hppa64: checkroot stamps/build-hppa64 $(if $(CROSS),debian/strip.
env MAKE="$(MAKE) VERSION=$(HPPA64_VERSION)" \
$(MAKE) -C builddir-hppa64 \
CFLAGS="$(CFLAGS)" \
+ CXXFLAGS="$(CXXFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" \
prefix=$(pwd)/$(d_hppa64)/$(PF)/ \
mandir=$(pwd)/$(d_hppa64)/$(PF)/share/man \
infodir=$(pwd)/$(d_hppa64)/$(PF)/share/info install
@@ -1290,7 +1368,7 @@ binary.%: stamps/install.% install
ifeq ($(with_check),yes)
: # remove user and date from test-summary for reproducible builds
- sed -i -e '/Test Run By/d' test-summary-$*
+ sed -i -e '/Test Run By/Id' test-summary-$*
$(install_file) test-summary-$* \
$(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/test-summary
gzip -9nf $(D_CROSS)/$(PF)/share/doc/$(P_CROSS)/test-summary
@@ -1317,8 +1395,7 @@ endif
-e 's/@ARCH@/$*/g' \
-e "s/@PKG@/$(P_CROSS)/g" \
debian/binutils-cross.shlibs.in > $(D_CROSS)/DEBIAN/shlibs
- $(install_script) debian/binutils.postinst $(D_CROSS)/DEBIAN/postinst
- $(install_script) debian/binutils.postrm $(D_CROSS)/DEBIAN/postrm
+ $(install_file) debian/binutils.triggers $(D_CROSS)/DEBIAN/triggers
rm -f debian/substvars
dpkg-shlibdeps $(D_CROSS)/$(PF)/bin/*
@@ -1378,6 +1455,8 @@ else
-e "s/@DEB_NVER@/$$nver/g" \
-e "s/@DATE_EXT@/$$date_ext/g" \
-e 's/@DEB_ARCH@/$(DEB_HOST_ARCH)/g' \
+ -e 's/@DEB_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
+ -e 's/@DEB_TRIPLET@/$(DEB_HOST_GNU_TYPE)/g' \
-e "s/@dpkg_dev@/$(DPKG_DEV)/" \
$$i > $${i%*.in}; \
case "$$i" in *.post*|*.pre*) chmod 755 $${i%*.in}; esac; \
@@ -1409,10 +1488,9 @@ ifeq ($(with_hppa64),yes)
$(d_hppa64)/$(PF)/share/lintian/overrides/$(p_hppa64)
endif
- : # install maintainer scrtips
+ : # install maintainer scripts
$(install_dir) $(d_bin)/DEBIAN
- $(install_script) debian/binutils.postinst $(d_bin)/DEBIAN/postinst
- $(install_script) debian/binutils.postrm $(d_bin)/DEBIAN/postrm
+ $(install_file) debian/binutils.triggers $(d_bin)/DEBIAN/triggers
$(install_file) debian/binutils.shlibs $(d_bin)/DEBIAN/shlibs
$(install_dir) $(d_dev)/DEBIAN
@@ -1424,13 +1502,13 @@ ifeq ($(with_multiarch),yes)
$(install_script) debian/binutils-multiarch.prerm $(d_mul)/DEBIAN/prerm
$(install_script) debian/binutils-multiarch.postrm $(d_mul)/DEBIAN/postrm
$(install_file) debian/binutils-multiarch.shlibs $(d_mul)/DEBIAN/shlibs
+ $(install_file) debian/binutils.triggers $(d_mul)/DEBIAN/triggers
$(install_dir) $(d_mdev)/DEBIAN
endif
ifeq ($(with_hppa64),yes)
$(install_dir) $(d_hppa64)/DEBIAN
- $(install_script) debian/$(p_hppa64).postinst $(d_hppa64)/DEBIAN/postinst
- $(install_script) debian/$(p_hppa64).postrm $(d_hppa64)/DEBIAN/postrm
+ $(install_file) debian/binutils.triggers $(d_hppa64)/DEBIAN/triggers
$(install_file) debian/$(p_hppa64).shlibs $(d_hppa64)/DEBIAN/shlibs
endif
@@ -1455,7 +1533,7 @@ endif
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
ifeq ($(with_check),yes)
: # remove user and date from test-summary for reproducible builds
- sed -i -e '/Test Run By/d' $(pwd)/test-summary
+ sed -i -e '/Test Run By/Id' $(pwd)/test-summary
$(install_file) $(pwd)/test-summary $(d_bin)/$(PF)/share/doc/$(p_bin)/
endif
endif
@@ -1585,7 +1663,7 @@ stamps/configure-cross: stamps/patch
rm -rf stamps/configure-cross builddir-$(TARGET)
mkdir builddir-$(TARGET)
cd builddir-$(TARGET) \
- && env CC="$(CC)" CXX="$(CXX)" ../configure \
+ && env CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ../configure \
$(CONFARGS) \
--target=$(TARGET)
touch $@
@@ -1594,7 +1672,8 @@ stamps/build-cross: stamps/configure-cross
$(checkdir)
test "" != "$(TARGET)"
env MAKE="$(MAKE) VERSION=$(VERSION)-$(DEB_TARGET_ARCH)" \
- $(MAKE) -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)"
+ $(MAKE) -C builddir-$(TARGET) $(NJOBS) \
+ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)"
touch $@
stamps/install-cross: stamps/build-cross
@@ -1624,13 +1703,15 @@ stamps/install-cross: stamps/build-cross
stamps/configure-host-cross: stamps/configure-cross
$(checkdir)
test "" != "$(TARGET)"
- $(MAKE) configure-host -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)"
+ $(MAKE) configure-host -C builddir-$(TARGET) $(NJOBS) \
+ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)"
touch $@
stamps/build-static-cross: stamps/configure-host-cross
$(checkdir)
test "" != "$(TARGET)"
- $(MAKE) -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)" LDFLAGS="-all-static"
+ $(MAKE) -C builddir-$(TARGET) $(NJOBS) \
+ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS) -all-static"
touch $@
stamps/install-static-cross: stamps/build-static-cross stamps/install-cross
@@ -1664,6 +1745,7 @@ endef
endif
remove-gfdl-files:
+ rm -rf .git* .cvs* gdb libdecnumber readline sim
ifeq ($(GFDL_INVARIANT_FREE),yes)
for i in $(gfdl_toplevel_texinfo_files); do \
if [ -f $$i ]; then \