[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Cross-compiling for arm



Hello,

I just tried cross-compiling apt-0.3.19 on x86 for arm. I ran across a
few problems:

- There's no entry for arm in buildlib/sizetable
- The configure.in code for actually extracting the info from
  sizetable is broken (doesn't like tabs in sizetable)
- The package does not build because dh_installdocs is called with
  wildcard command line arguments, and they don't match anything

The attached patch addresses all of these - however, the last one is
"fixed" just by ignoring the error (adding "-" in front of the command
in debian/rules).

I'm actually preparing a binary NMU of apt for arm - are the missing
files important? (They're in CVS, I presume?)

Cheers,

  Richard

-- 
  __   _
  |_) /|  Richard Atterer
  | \/¯|  http://atterer.net
  ¯ ´` ¯
#! /bin/sh
patch -p0 -i $0 $*
exit 0

--- ./configure.in.orig
+++ ./configure.in	Mon Feb 19 22:33:07 2001
@@ -112,24 +112,24 @@
 dnl Cross compilers can either get a real C library or preload the cache
 dnl with their size values.
 changequote(,)
-archline="`grep \"^$archset\" $srcdir/buildlib/sizetable | cut -f 2- -d ' '`"
-if test "x$archline" != "x"; then
+archline="`grep ^$archset: $srcdir/buildlib/sizetable`"
+if test "$archline"; then
    changequote([,])
    set $archline
-   if test "$1" = "little"; then
+   if test "$2" = "little"; then
       ac_cv_c_bigendian=no
    else
       ac_cv_c_bigendian=yes
    fi
-   size_char=$2
-   size_int=$3
-   size_short=$4
-   size_long=$5
+   size_char=$3
+   size_int=$4
+   size_short=$5
+   size_long=$6
 fi
 
 dnl I wonder what AC_C_BIGENDIAN does if you cross compile...
 if test "$cross_compiling" = "yes" -a "x$archline" = "x"; then
-  AC_MSG_ERROR(When cross compiling, architecture must be present in sizetable)
+  AC_MSG_ERROR([When cross compiling, architecture must be present in buildlib/sizetable])
 fi
 AC_C_BIGENDIAN
    
--- ./buildlib/sizetable.orig
+++ ./buildlib/sizetable	Mon Feb 19 22:33:07 2001
@@ -8,13 +8,14 @@
 # <apt@packages.debian.org>.
 #
 # This is used primarily for the MD5 algorithm.
-# The format is:-
-# CPU ':' 	endian	sizeof: char, int, short, long
-i386:	little	1 4 2 4
-alpha:  little  1 4 2 8
-sparc:  big     1 4 2 4
-m68k:   big     1 4 2 4
-powerpc: big    1 4 2 4
-mips:  big      1 4 2 4
-mipsel: little  1 4 2 4
-hppa:   big     1 4 2 4
+# The format is:-       sizeof:
+# CPU ':' 	endian	char	int	short	long
+alpha:		little	1	4	2	8
+arm:		little	1	4	2	4
+hppa:		big	1	4	2	4
+i386:		little	1	4	2	4
+m68k:		big	1	4	2	4
+mips:		big	1	4	2	4
+mipsel:		little	1	4	2	4
+powerpc:	big	1	4	2	4
+sparc:		big	1	4	2	4
--- ./debian/rules.orig
+++ ./debian/rules	Mon Feb 19 22:48:14 2001
@@ -83,7 +83,7 @@
 #
 # libapt-pkg-doc install
 #	
-	dh_installdocs -p$@ $(BLD)/docs/cache* $(BLD)/docs/design* $(BLD)/docs/dpkg-tech* \
+	-dh_installdocs -p$@ $(BLD)/docs/cache* $(BLD)/docs/design* $(BLD)/docs/dpkg-tech* \
                             $(BLD)/docs/files* $(BLD)/docs/method*
 			    
 	-cp -a debian/libapt-pkg-doc.dhelp debian/libapt-pkg-doc/usr/doc/libapt-pkg-doc/.dhelp
@@ -129,7 +129,7 @@
 	cp $(BLD)/scripts/dselect/* debian/tmp/usr/lib/dpkg/methods/apt/
 
 	# Copy the guides
-	dh_installdocs -p$@ $(BLD)/docs/guide.text $(BLD)/docs/guide.html \
+	-dh_installdocs -p$@ $(BLD)/docs/guide.text $(BLD)/docs/guide.html \
 	               $(BLD)/docs/offline.text $(BLD)/docs/offline.html
 	
 	# One or the other..

Attachment: pgpnJlVfQfyQz.pgp
Description: PGP signature


Reply to: