View Single Post
Posts: 838 | Thanked: 3,384 times | Joined on Mar 2009
#34
Deb-packages for armel-maemo5, bintutils 2.22 and gcc 4.6
http://cc.oulu.fi/~rantalai/fremantle/

Install binutils:
Code:
dpkg -i binutils_2.22-5_armel.deb
Install gcc:
Code:
dpkg -i cpp-4.6_4.6.1-maemo4_armel.deb g++-4.6_4.6.1-maemo4_armel.deb gcc-4.6_4.6.1-maemo4_armel.deb gcc-4.6-base_4.6.1-maemo4_armel.deb gcc-4.6-locales_4.6.1-maemo4_all.deb gcc-4.6-plugin-dev_4.6.1-maemo4_armel.deb libgomp1_4.6.1-maemo4_armel.deb libmudflap0_4.6.1-maemo4_armel.deb libstdc++6_4.6.1-maemo4_armel.deb libgcc1_4.6.1-maemo4_armel.deb libstdc++6-4.6-dev_4.6.1-maemo4_armel.deb
Symlink gcc is still pointing to gcc-4.2 (and g++ to g++-4.2). Use e.g. CC=gcc-4.6 or tune symlinks
-----------------
How is binutils made:
Code:
wget http://ftp.de.debian.org/debian/pool/main/b/binutils/binutils_2.22.orig.tar.gz
wget http://ftp.de.debian.org/debian/pool/main/b/binutils/binutils_2.22-5.diff.gz
gunzip binutils_2.22-5.diff.gz
tar xvf binutils_2.22.orig.tar.gz
patch -p0 < binutils_2.22-5.diff
rm binutils_2.22-5.diff  binutils_2.22.orig.tar.gz
cd binutils-2.22/
chmod a+x debian/rules 

#package without gold
sed -i 's/with_gold = yes/with_gold = no/g' debian/rules

#tar: unrecognized option `--xz'
sed -i 's/--xz/-z/g' debian/rules
sed -i 's/.tar.xz/.tar.gz/g' debian/rules

#we don't have autoconf 2.64, but it is not needed
#change 'control' and 'control.in', because autobuilder checks 'control' before parsing 'control.in'
sed -i 's/autoconf (>= 2.64)/autoconf/g' debian/control.in
sed -i 's/autoconf (>= 2.64)/autoconf/g' debian/control

#I'm using bison-2.4 (just minor detail)
sed -i 's/bison/bison | bison-2.4/g' debian/control.in
sed -i 's/bison/bison | bison-2.4/g' debian/control

sb2 -eR dpkg-buildpackage
-------------
How is gcc made:

Code:
#new binutils installed
wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6_4.6.1-9ubuntu3.diff.gz
wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6_4.6.1.orig.tar.gz
gunzip gcc-4.6_4.6.1-9ubuntu3.diff.gz
tar xvf gcc-4.6_4.6.1.orig.tar.gz
patch -p0 < gcc-4.6_4.6.1-9ubuntu3.diff 
cd gcc-4.6-4.6.1.orig/
chmod a+x debian/rules

#change distrelease
sed -i 's/:= sid/:= fremantle/g' debian/rules.defs

#no multiarch
sed -i 's/with_multiarch_lib := yes/with_multiarch_lib := no/g' debian/rules.defs 
sed -i 's/multiarch_stage1 := yes/multiarch_stage1 := no/g' debian/rules.defs 

#do not use gcc-4.4
sed -i 's/gcc-4.4/gcc/g' debian/rules2

#lower some build dependencies
sed -i 's/AUTO_BUILD_DEP += autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12),/AUTO_BUILD_DEP += autoconf, automake (>= 1:1.10), automake (<< 1:1.12),/g' debian/rules.conf

sed -i 's/make (>= 3.81)/make (>= 3.81) | make-3.81/g' debian/control.m4
sed -i 's/bison (>= 1:2.3)/bison (>= 1:2.3) | bison-2.4/g' debian/control.m4
sed -i 's/g++-4.4/g++/g' debian/control.m4

#lower versions of documentation tools (and drop gsfonts-x11)
sed -i 's/doxygen (>= 1.7.2)/doxygen (>= 1.5.1)/g' debian/rules.conf
sed -i 's/gsfonts-x11, //g' debian/rules.conf

#lower some dependency-libraries
sed -i 's/GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~),/GMP_BUILD_DEP = libgmp3-dev,/g' debian/rules.conf
sed -i 's/MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~),/MPFR_BUILD_DEP = libmpfr-dev,/g' debian/rules.conf
sed -i 's/libelfg0-dev (>= 0.8.12),/libelfg0-dev,/g' debian/rules.conf


#remove multilib
sed -i 's/GCC_MULTILIB_BUILD_DEP = g++-multilib \[\$(multilib_archs)\]/GCC_MULTILIB_BUILD_DEP =/g' debian/rules.conf



#version (extras-devel repository already has some version, so this would be bigger)
sed -i 's/9ubuntu3/maemo4/g' debian/changelog

#regenerate control-file for autobuilder. Can give errors, but doesn't harm. (might be useless step when building locally)
sb2 -eR  make -f debian/rules.conf control-file 

sb2 -eR dpkg-buildpackage

Last edited by AapoRantalainen; 2012-05-23 at 14:49. Reason: instructions edited
 

The Following 8 Users Say Thank You to AapoRantalainen For This Useful Post: