Magellan Linux

Annotation of /trunk/toolchain/toolchain-libstdc++/toolchain-libstdc++-3.4.3-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (hide annotations) (download)
Mon Jul 4 00:41:38 2005 UTC (18 years, 11 months ago) by niro
File size: 2794 byte(s)
new toolchain create utilities and smages

1 niro 153 # $Header: /home/cvsd/magellan-cvs/magellan-src/toolchain/toolchain-libstdc++/toolchain-libstdc++-3.4.3-r3.smage2,v 1.1 2005-07-04 00:41:38 niro Exp $
2    
3     PNAME="toolchain-libstdc++"
4     PVER="3.4.3"
5     PBUILD="r3"
6    
7     SRCFILE="gcc-${PVER}.tar.bz2"
8     SRCDIR="${BUILDDIR}/gcc-${PVER}"
9    
10     # languages to build into gcc
11     MyLanguages=c,c++
12    
13     SRC_URI=(
14     mirror://gcc/${SRCFILE}
15     mirror://gcc/gcc-${PVER}-no_fixincludes-1.patch
16     mirror://gcc/gcc-${PVER}-linkonce-1.patch
17     mirror://gcc/gcc-${PVER}-fix_configure_for_target_native-1.patch
18     mirror://gcc/gcc-${PVER}-magellan-version.patch
19     )
20    
21     # need: libstdc++ to run, tcsh to compile ada
22     # compile time: unkown (Athlon XP 1900+, 512mb DDR400)
23    
24     ## global toolchain var ##
25     # export CFLAGS, CHOST, TOOLCHAIN_PREFIX
26     export CFLAGS="-mtune=i486 -Os -pipe"
27     export CXXFLAGS="${CFLAGS}"
28     export TOOLCHAIN_PREFIX="/tools"
29    
30     zapmost() {
31     local rootdir
32     rootdir="${1}/"
33     [ ! -e "$rootdir" ] && echo "zapmost: $rootdir not found; skipping..." && return 1
34     install -d ${BUILDDIR}/zap
35     local dirs
36     shift
37     local x
38     for x in ${*}
39     do
40     if [ "${x##*/}" = "${x}" ]
41     then
42     #one deep
43     mv ${rootdir}${x} ${BUILDDIR}/zap
44     else
45     #more than one deep; create intermediate directories
46     dirs=${x%/*}
47     install -d ${BUILDDIR}/zap/${dirs}
48     mv ${rootdir}${x} ${BUILDDIR}/zap/${x}
49     fi
50     done
51     rm -rf ${rootdir}*
52     mv ${BUILDDIR}/zap/* ${rootdir}
53     }
54    
55    
56     src_prepare() {
57     munpack ${SRCFILE} || die
58     cd ${SRCDIR}
59    
60     mpatch -Np1 gcc-${PVER}-no_fixincludes-1.patch || die
61     mpatch -Np1 gcc-${PVER}-linkonce-1.patch || die
62     mpatch -Np1 gcc-${PVER}-fix_configure_for_target_native-1.patch || die
63     mpatch -Np0 gcc-${PVER}-magellan-version.patch || die
64    
65     # suppress installation of libiberty, as we will be
66     # using the one from binutils
67     sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in || die
68    
69     mkdir ${SRCDIR}/build || die
70     cd ${SRCDIR}/build
71     }
72    
73     src_compile() {
74     cd ${SRCDIR}/build
75    
76     ../configure \
77     --host=${CHOST} \
78     --prefix=${TOOLCHAIN_PREFIX} \
79     --enable-shared \
80     --enable-threads=posix \
81     --enable-__cxa_atexit \
82     --enable-clocale=gnu \
83     --disable-checking \
84     --disable-libunwind-exceptions \
85     --with-system-zlib \
86     --enable-long-long \
87     --enable-cstdio=stdio \
88     --enable-languages=${MyLanguages} \
89     --disable-libstdcxx-pch \
90     || die
91    
92     # bootstrap-lean seems to be broken
93     # gcc does not like MAKEOPTS >= -j1
94     make bootstrap || die
95     }
96    
97     src_install() {
98     cd ${SRCDIR}/build
99     install -d ${BINDIR}/lib || die
100    
101     make DESTDIR=${BINDIR} install || die
102    
103     # deletes everything excluding libgcc_s and libstdc++
104     zapmost ${BINDIR}${TOOLCHAIN_PREFIX}/lib libgcc_s*.* libstdc++*.* || die
105    
106     # other not needed
107     rm -rf ${BINDIR}${TOOLCHAIN_PREFIX}/lib || die
108     rm -rf ${BINDIR}${TOOLCHAIN_PREFIX}/usr/{bin,include,share} || die
109     rm -rf ${BINDIR}${TOOLCHAIN_PREFIX}/usr/libexec || die
110     }