arm-glibc: initial release.
[crux-arm-cross-compiler.git] / arm-glibc / Pkgfile
1 # Description: The GNU C library for the ARM cross compiler
2 # URL:         http://www.gnu.org/software/libc/
3 # Depends on:  arm-gcc-interim
4
5 name=arm-glibc
6 version=2.10.1
7 release=1
8 source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.bz2
9         http://ftp.gnu.org/gnu/glibc/glibc-ports-$version.tar.bz2 
10         http://crux.nu/~tilman/arm-kernel-headers-2.6.33.tar.xz)
11
12 build() {
13     # install kernel headers
14     mkdir -p $PKG/usr/armv5tel-softfloat-linux-gnueabi
15     cp -r arm-kernel-headers-2.6.33/include \
16         $PKG/usr/armv5tel-softfloat-linux-gnueabi
17     chown root:root $PKG/usr/armv5tel-softfloat-linux-gnueabi
18
19     mv glibc-ports-$version glibc-$version/ports
20
21     sed -e 's/-lgcc_eh//g' -i glibc-$version/Makeconfig
22
23     mkdir build
24     cd build
25
26     cat >config.cache<<EOF
27 libc_cv_forced_unwind=yes
28 libc_cv_c_cleanup=yes
29 libc_cv_gnu89_inline=yes
30 EOF
31
32     unset CFLAGS
33     unset CXXFLAGS
34
35     BUILD_CC=gcc CC=armv5tel-softfloat-linux-gnueabi-gcc \
36     AR=armv5tel-softfloat-linux-gnueabi-ar \
37     RANLIB=armv5tel-softfloat-linux-gnueabi-ranlib \
38     ../glibc-$version/configure \
39         --prefix=/usr/armv5tel-softfloat-linux-gnueabi \
40         --libexecdir=/usr/armv5tel-softfloat-linux-gnueabi/lib \
41         --build=i686-cross-linux-gnu \
42         --host=armv5tel-softfloat-linux-gnueabi \
43         --with-headers=$PKG/usr/armv5tel-softfloat-linux-gnueabi/include \
44         --with-tls \
45         --enable-kernel=2.6.33 \
46         --enable-add-ons \
47         --disable-profile \
48         --without-gd \
49         --with-fp=no \
50         --with-__thread \
51         --cache-file=config.cache
52
53     make
54     make install_root=$PKG install
55
56     rm -rf $PKG/usr/armv5tel-softfloat-linux-gnueabi/share/{info,locale}
57
58     # I _think_ these aren't needed :)
59     rm -rf $PKG/usr/armv5tel-softfloat-linux-gnueabi/share/{i18n,zoneinfo}
60     rmdir $PKG/usr/armv5tel-softfloat-linux-gnueabi/share
61     rm -rf $PKG/usr/armv5tel-softfloat-linux-gnueabi/{etc,bin,sbin}
62     rm -rf $PKG/usr/armv5tel-softfloat-linux-gnueabi/lib/gconv
63
64     # Strip libraries. We cannot let pkgmk do this; the system's strip
65     # program cannot handle ARM binaries.
66     armv5tel-softfloat-linux-gnueabi-strip --strip-debug \
67         $PKG/usr/armv5tel-softfloat-linux-gnueabi/lib/*.a
68
69     find $PKG/usr/armv5tel-softfloat-linux-gnueabi/lib \
70         -name "*.so" ! -name libc.so ! -name libpthread.so | xargs \
71              armv5tel-softfloat-linux-gnueabi-strip
72 }