Package: gdb-6.3 Version: 6.3-6 Serverity: wishlist Tags: patch Could you please apply the following patch? This patch is enable to build cross-gdb. (m32r-linux-gnu-gdb .etc)
diff -ur ../../org/gdb-6.3/debian/control.in ./control.in --- ../../org/gdb-6.3/debian/control.in 2005-12-09 12:13:27.000000000 +0900 +++ ./control.in 2005-12-15 14:25:26.000000000 +0900 @@ -5,7 +5,7 @@ Standards-Version: 3.5.3 Build-Depends: autoconf, libtool, texinfo (>= 4.7-2.2), tetex-bin, libncurses5-dev, libreadline4-dev (>= 4.2a-1), bison, gettext, debhelper (>= 4.1.46), dejagnu, gcj [!mips !mipsel], gobjc, mig [EMAIL PROTECTED]@], cdbs (>= 0.4.17), quilt (>= 0.30-1), libkvm-dev [EMAIL PROTECTED]@], type-handling (>= 0.2.1), libunwind7-dev [ia64], flex | flex-old -Package: gdb +Package: [EMAIL PROTECTED]@ Architecture: any Section: devel Depends: ${shlibs:Depends} diff -ur ../../org/gdb-6.3/debian/rules ./rules --- ../../org/gdb-6.3/debian/rules 2005-12-09 12:13:27.000000000 +0900 +++ ./rules 2005-12-15 14:25:26.000000000 +0900 @@ -22,6 +22,54 @@ DEB_HOST_GNU_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +# allow debian/target to be used instead of GDB_TARGET - this was requested +# by toolchain-source maintainer +ifndef GDB_TARGET +DEBIAN_TARGET_FILE := $(strip $(shell cat debian/target 2>/dev/null)) +ifneq ($(DEBIAN_TARGET_FILE),) +GDB_TARGET := $(DEBIAN_TARGET_FILE) +endif +endif + +DEB_TARGET_ARCH := $(shell dpkg-architecture -f \ + -a$(GCC_TARGET) -qDEB_HOST_ARCH 2>/dev/null) +DEB_TARGET_GNU_CPU := $(shell dpkg-architecture -f \ + -a$(DEB_TARGET_ARCH) -qDEB_HOST_GNU_CPU 2>/dev/null) +DEB_TARGET_GNU_SYSTEM := $(shell dpkg-architecture -f \ + -a$(DEB_TARGET_ARCH) -qDEB_HOST_GNU_SYSTEM 2>/dev/null) +DEB_TARGET_GNU_TYPE := $(shell dpkg-architecture -f \ + -a$(DEB_TARGET_ARCH) -qDEB_HOST_GNU_TYPE 2>/dev/null) + +# --------------------------------------------------------------------------- +# which binary packages are built? + +# cross compiler support. If GCC_TARGET is set, then it's the architecture +# we build for. + +ifeq ($(DEB_TARGET_ARCH),) +$(error GCC_TARGET value "$(GCC_TARGET)" is not a valid Debian architecture) +endif + +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_TARGET_GNU_TYPE)) + DEB_CROSS = yes + # TP: Target Prefix. Used primarily as a prefix for cross tool + # names (e.g. powerpc-linux-gcc). + # TS: Target Suffix. Used primarily at the end of cross compiler + # package names (e.g. gcc-powerpc). + # LS: Library Suffix. Used primarily at the end of cross compiler + # library package names (e.g. libgcc-powerpc-cross). + DEB_TARGET_ALIAS ?= $(DEB_TARGET_GNU_TYPE) + TP = $(DEB_TARGET_GNU_TYPE)- + TS = -$(DEB_TARGET_ALIAS) + LS = -$(DEB_TARGET_ARCH)-cross +endif + +ifeq ($(DEB_CROSS),yes) + TARGET_ALIAS := $(DEB_TARGET_ALIAS) +else + TARGET_ALIAS := $(DEB_TARGET_GNU_TYPE) +endif + run_tests := yes run_thread_tests := yes @@ -37,6 +85,14 @@ arch_config_args := --with-libunwind endif +ifeq ($(DEB_CROSS),yes) + run_tests := no + + arch_config_args += \ + --program-prefix=$(TARGET_ALIAS)- \ + --target=$(TARGET_ALIAS) +endif + INSTALL = $(install) export INSTALL @@ -56,7 +112,7 @@ # This should probably be common-post-build-arch, but that runs during # install, under fakeroot, in CDBS 0.4.21. -build/gdb:: check-stamp +build/gdb$(TS):: check-stamp $(MAKE) -C objdir/gdb/doc refcard.dvi refcard.ps check-stamp: @@ -86,35 +142,45 @@ rm -f check-stamp -binary-post-install/gdb :: - if [ -x debian/gdb/usr/bin/run ]; then \ - mv debian/gdb/usr/bin/run \ - debian/gdb/usr/bin/$(DEB_HOST_GNU_TYPE)-run; \ - mv debian/gdb/usr/share/man/man1/run.1 \ - debian/gdb/usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-run.1; \ +binary-post-install/gdb$(TS) :: + if [ -x debian/gdb$(TS)/usr/bin/run ]; then \ + mv debian/gdb$(TS)/usr/bin/run \ + debian/gdb$(TS)/usr/bin/$(DEB_TARGET_GNU_TYPE)-run; \ + mv debian/gdb$(TS)/usr/share/man/man1/run.1 \ + debian/gdb$(TS)/usr/share/man/man1/$(DEB_TARGET_GNU_TYPE)-run.1; \ fi ifeq ($(run_tests),yes) - install -d debian/gdb/usr/share/doc/gdb + install -d debian/gdb$(TS)/usr/share/doc/$(TP)gdb install -m 644 objdir/check.log \ - debian/gdb/usr/share/doc/gdb/check.log + debian/gdb$(TS)/usr/share/doc/$(TP)gdb/$(TP)check.log endif - rm -rf debian/gdb/usr/include \ - debian/gdb/usr/lib/lib*.* \ - debian/gdb/usr/share/info/annotate.info* \ - debian/gdb/usr/share/info/bfd.info* \ - debian/gdb/usr/share/info/configure.info* \ - debian/gdb/usr/share/info/mmalloc.info* \ - debian/gdb/usr/share/info/standards.info* \ - debian/gdb/usr/share/locale + rm -rf debian/gdb$(TS)/usr/include \ + debian/gdb$(TS)/usr/lib/lib*.* \ + debian/gdb$(TS)/usr/share/info/annotate.info* \ + debian/gdb$(TS)/usr/share/info/bfd.info* \ + debian/gdb$(TS)/usr/share/info/configure.info* \ + debian/gdb$(TS)/usr/share/info/mmalloc.info* \ + debian/gdb$(TS)/usr/share/info/standards.info* \ + debian/gdb$(TS)/usr/share/locale + +ifeq ($(DEB_CROSS),yes) + mv debian/gdb$(TS)/usr/share/info/gdb.info \ + debian/gdb$(TS)/usr/share/info/$(TP)gdb.info + mv debian/gdb$(TS)/usr/share/info/gdbint.info \ + debian/gdb$(TS)/usr/share/info/$(TP)gdbint.info + mv debian/gdb$(TS)/usr/share/info/stabs.info \ + debian/gdb$(TS)/usr/share/info/$(TP)stabs.info +endif debian/control:: debian/control.in cat debian/control.in \ | sed "s/@kfreebsd@/`type-handling any kfreebsd-gnu`/g" \ | sed "s/@gnu@/`type-handling any gnu`/g" \ + | sed "s/@TS@/$(TS)/g" \ > debian/control -DEB_INSTALL_DOCS_gdb = gdb/NEWS gdb/README gdb/doc/refcard.tex \ +DEB_INSTALL_DOCS_gdb$(TS) = gdb/NEWS gdb/README gdb/doc/refcard.tex \ objdir/gdb/doc/refcard.dvi objdir/gdb/doc/refcard.ps -DEB_INSTALL_CHANGELOGS_gdb = gdb/ChangeLog +DEB_INSTALL_CHANGELOGS_gdb$(TS) = gdb/ChangeLog