On Thu, Mar 15, 2007 at 11:00:20PM +1100, Trent Buck wrote: > On Thu, Mar 15, 2007 at 07:16:09AM +0100, Lionel Elie Mamane wrote: >> On Thu, Mar 15, 2007 at 07:28:49AM +1100, Trent Buck wrote: >> >>> The attached patch makes scsh 0.6.7 compile on the amd64 platform, >>> using 32-bit libraries. >> >> Indeed I expect that unconditionally adding -m32 to CFLAGS breaks >> other platforms. > > The following is a similar patch for Scheme48 that adds -m32 > conditionally. [...]
Here's the exact changes needed to add support for AMD64 to scsh-0.6, and *nothing* else. It was generated by debdiff; apply thusly: apt-get source scsh-0.6 cd scsh-0.6-0.6.7/ patch -p1 <../just-add-amd64.patch dpkg-buildpackage It adds the appropriate build dependencies to control.in and control.
$ debdiff scsh-0.6_0.6.7-4.dsc scsh-0.6_0.6.7-5.dsc diff -u scsh-0.6-0.6.7/debian/rules scsh-0.6-0.6.7/debian/rules --- scsh-0.6-0.6.7/debian/rules +++ scsh-0.6-0.6.7/debian/rules @@ -18,6 +18,11 @@ INSTALL_PROGRAM += -s endif +## Magic to support the amd64 architecture via its 32-bit layer. +ifeq (amd64,$(DEB_HOST_ARCH)) +CFLAGS += -m32 +endif + export CFLAGS # export DH_VERBOSE=1 diff -u scsh-0.6-0.6.7/debian/control scsh-0.6-0.6.7/debian/control --- scsh-0.6-0.6.7/debian/control +++ scsh-0.6-0.6.7/debian/control @@ -4,10 +4,10 @@ Maintainer: Scheme48 Maintainers Task Force <[EMAIL PROTECTED]> Uploaders: Lionel Elie Mamane <[EMAIL PROTECTED]>, Jorgen Schäfer <[EMAIL PROTECTED]> Standards-Version: 3.7.2 -Build-Depends: debhelper (>= 4), libelfg0-dev, type-handling +Build-Depends: debhelper (>= 4), libelfg0-dev, type-handling, libc6-dev-i386 [darwin-amd64 freebsd-amd64 hurd-amd64 kfreebsd-amd64 knetbsd-amd64 amd64 netbsd-amd64 openbsd-amd64 solaris-amd64], ia32-libs [darwin-amd64 freebsd-amd64 hurd-amd64 kfreebsd-amd64 knetbsd-amd64 amd64 netbsd-amd64 openbsd-amd64 solaris-amd64], gcc-multilib [darwin-amd64 freebsd-amd64 hurd-amd64 kfreebsd-amd64 knetbsd-amd64 amd64 netbsd-amd64 openbsd-amd64 solaris-amd64] Package: scsh-0.6 -Architecture: darwin-arm freebsd-arm hurd-arm kfreebsd-arm knetbsd-arm arm netbsd-arm openbsd-arm solaris-arm darwin-armeb freebsd-armeb hurd-armeb kfreebsd-armeb knetbsd-armeb armeb netbsd-armeb openbsd-armeb solaris-armeb armel darwin-hppa freebsd-hppa hurd-hppa kfreebsd-hppa knetbsd-hppa hppa netbsd-hppa openbsd-hppa solaris-hppa darwin-i386 freebsd-i386 hurd-i386 kfreebsd-i386 knetbsd-i386 i386 netbsd-i386 openbsd-i386 solaris-i386 darwin-m32r freebsd-m32r hurd-m32r kfreebsd-m32r knetbsd-m32r m32r netbsd-m32r openbsd-m32r solaris-m32r darwin-m68k freebsd-m68k hurd-m68k kfreebsd-m68k knetbsd-m68k m68k netbsd-m68k openbsd-m68k solaris-m68k darwin-mips freebsd-mips hurd-mips kfreebsd-mips knetbsd-mips mips netbsd-mips openbsd-mips solaris-mips darwin-mipsel freebsd-mipsel hurd-mipsel kfreebsd-mipsel knetbsd-mipsel mipsel netbsd-mipsel openbsd-mipsel solaris-mipsel darwin-powerpc freebsd-powerpc hurd-powerpc kfreebsd-powerpc knetbsd-powerpc powerpc netbsd-powerpc openbsd-powerpc solaris-powerpc darwin-s390 freebsd-s390 hurd-s390 kfreebsd-s390 knetbsd-s390 s390 netbsd-s390 openbsd-s390 solaris-s390 darwin-sh3 freebsd-sh3 hurd-sh3 kfreebsd-sh3 knetbsd-sh3 sh3 netbsd-sh3 openbsd-sh3 solaris-sh3 darwin-sh3eb freebsd-sh3eb hurd-sh3eb kfreebsd-sh3eb knetbsd-sh3eb sh3eb netbsd-sh3eb openbsd-sh3eb solaris-sh3eb darwin-sh4 freebsd-sh4 hurd-sh4 kfreebsd-sh4 knetbsd-sh4 sh4 netbsd-sh4 openbsd-sh4 solaris-sh4 darwin-sh4eb freebsd-sh4eb hurd-sh4eb kfreebsd-sh4eb knetbsd-sh4eb sh4eb netbsd-sh4eb openbsd-sh4eb solaris-sh4eb darwin-sparc freebsd-sparc hurd-sparc kfreebsd-sparc knetbsd-sparc sparc netbsd-sparc openbsd-sparc solaris-sparc +Architecture: darwin-amd64 freebsd-amd64 hurd-amd64 kfreebsd-amd64 knetbsd-amd64 amd64 netbsd-amd64 openbsd-amd64 solaris-amd64 darwin-arm freebsd-arm hurd-arm kfreebsd-arm knetbsd-arm arm netbsd-arm openbsd-arm solaris-arm darwin-armeb freebsd-armeb hurd-armeb kfreebsd-armeb knetbsd-armeb armeb netbsd-armeb openbsd-armeb solaris-armeb armel darwin-hppa freebsd-hppa hurd-hppa kfreebsd-hppa knetbsd-hppa hppa netbsd-hppa openbsd-hppa solaris-hppa darwin-i386 freebsd-i386 hurd-i386 kfreebsd-i386 knetbsd-i386 i386 netbsd-i386 openbsd-i386 solaris-i386 darwin-m32r freebsd-m32r hurd-m32r kfreebsd-m32r knetbsd-m32r m32r netbsd-m32r openbsd-m32r solaris-m32r darwin-m68k freebsd-m68k hurd-m68k kfreebsd-m68k knetbsd-m68k m68k netbsd-m68k openbsd-m68k solaris-m68k darwin-mips freebsd-mips hurd-mips kfreebsd-mips knetbsd-mips mips netbsd-mips openbsd-mips solaris-mips darwin-mipsel freebsd-mipsel hurd-mipsel kfreebsd-mipsel knetbsd-mipsel mipsel netbsd-mipsel openbsd-mipsel solaris-mipsel darwin-powerpc freebsd-powerpc hurd-powerpc kfreebsd-powerpc knetbsd-powerpc powerpc netbsd-powerpc openbsd-powerpc solaris-powerpc darwin-s390 freebsd-s390 hurd-s390 kfreebsd-s390 knetbsd-s390 s390 netbsd-s390 openbsd-s390 solaris-s390 darwin-sh3 freebsd-sh3 hurd-sh3 kfreebsd-sh3 knetbsd-sh3 sh3 netbsd-sh3 openbsd-sh3 solaris-sh3 darwin-sh3eb freebsd-sh3eb hurd-sh3eb kfreebsd-sh3eb knetbsd-sh3eb sh3eb netbsd-sh3eb openbsd-sh3eb solaris-sh3eb darwin-sh4 freebsd-sh4 hurd-sh4 kfreebsd-sh4 knetbsd-sh4 sh4 netbsd-sh4 openbsd-sh4 solaris-sh4 darwin-sh4eb freebsd-sh4eb hurd-sh4eb kfreebsd-sh4eb knetbsd-sh4eb sh4eb netbsd-sh4eb openbsd-sh4eb solaris-sh4eb darwin-sparc freebsd-sparc hurd-sparc kfreebsd-sparc knetbsd-sparc sparc netbsd-sparc openbsd-sparc solaris-sparc Depends: ${shlibs:Depends}, scsh-common-0.6 (= ${source:Version}) Replaces: scsh (<= 0.6.6-3) Conflicts: scsh (<= 0.6.6-3) diff -u scsh-0.6-0.6.7/debian/control.in scsh-0.6-0.6.7/debian/control.in --- scsh-0.6-0.6.7/debian/control.in +++ scsh-0.6-0.6.7/debian/control.in @@ -4,10 +4,10 @@ Maintainer: Scheme48 Maintainers Task Force <[EMAIL PROTECTED]> Uploaders: Lionel Elie Mamane <[EMAIL PROTECTED]>, Jorgen Schäfer <[EMAIL PROTECTED]> Standards-Version: 3.7.2 -Build-Depends: debhelper (>= 4), libelfg0-dev, type-handling +Build-Depends: debhelper (>= 4), libelfg0-dev, type-handling, libc6-dev-i386 [darwin-amd64 freebsd-amd64 hurd-amd64 kfreebsd-amd64 knetbsd-amd64 amd64 netbsd-amd64 openbsd-amd64 solaris-amd64], ia32-libs [darwin-amd64 freebsd-amd64 hurd-amd64 kfreebsd-amd64 knetbsd-amd64 amd64 netbsd-amd64 openbsd-amd64 solaris-amd64], gcc-multilib [darwin-amd64 freebsd-amd64 hurd-amd64 kfreebsd-amd64 knetbsd-amd64 amd64 netbsd-amd64 openbsd-amd64 solaris-amd64] Package: scsh-0.6 -Cpu: i386,arm,armel,armeb,hppa,m32r,m68k,mips,mipsel,powerpc,s390,sh3,sh3eb,sh4,sh4eb,sparc +Cpu: i386,arm,armel,armeb,hppa,m32r,m68k,mips,mipsel,powerpc,s390,sh3,sh3eb,sh4,sh4eb,sparc,amd64 System: any Depends: ${shlibs:Depends}, scsh-common-0.6 (= ${source:Version}) Replaces: scsh (<= 0.6.6-3) diff -u scsh-0.6-0.6.7/debian/changelog scsh-0.6-0.6.7/debian/changelog --- scsh-0.6-0.6.7/debian/changelog +++ scsh-0.6-0.6.7/debian/changelog @@ -1,3 +1,9 @@ +scsh-0.6 (0.6.7-5) unstable; urgency=low + + * Add amd64 support via -m32 kludge (Closes: #414931). + + -- Trent W. Buck <[EMAIL PROTECTED]> Mon, 14 Jan 2008 05:40:05 +1100 + scsh-0.6 (0.6.7-4) unstable; urgency=low * Add armel and armeb to supported CPU ABI list.
signature.asc
Description: Digital signature