Anpassung an neue Version. Einarbeitung der neuesten LFS version.

gcc ist jetzt von gmp und mpfr abhängig. xz sind neue pack tools, die
effizienter sein sollen als bzip2 und gzip.


git-svn-id: svn://svn.compuextreme.de/Viitor/V962/ViitorMake@4557 504e572c-2e33-0410-9681-be2bf7408885
This commit is contained in:
kueller 2009-03-26 07:46:49 +00:00
parent 4c47ff4d8a
commit 2df7a37f55
15 changed files with 456 additions and 43 deletions

View File

@ -83,7 +83,6 @@
SRCPATH=Base/System
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
(( MKPKG = $MKPKG | 128 ))
premk() {
cat >config.cache <<"EOF"

View File

@ -86,13 +86,10 @@ SRCPATH=Base/Utilities
(( MKPKG = $MKPKG | 128 ))
premk() {
SrcPatch $MAKEDIR/binutils* $LFSSOURCE/$SRCPATH/binutils-*-posix*.patch*
SrcPatch $MAKEDIR/binutils* $LFSSOURCE/$SRCPATH/binutils-*-genscripts*.patch*
SrcPatch $MAKEDIR/binutils* $LFSSOURCE/$SRCPATH/binutils-*-branch_update-3*
SrcPatch $MAKEDIR/binutils* $LFSSOURCE/$SRCPATH/binutils-*-posix-*.patch*
SrcPatch $MAKEDIR/binutils* $LFSSOURCE/$SRCPATH/binutils-*-genscripts_multilib-*.patch*
SrcPatch $MAKEDIR/binutils* $LFSSOURCE/$SRCPATH/binutils-*-branch_update-*.patch
if [ ${MK64BIT} == "true" ]; then
BUILDOPTIONS="-m64"
fi
mkdir ../build-binutils
cd ../build-binutils
}
@ -100,16 +97,18 @@ premk() {
mk() {
if [ ${MK64BIT} == "true" ]; then
LIBDIR=lib64
ADDOPTIONS="--with-lib-path=/tools/lib64:/tools/lib"
else
LIBDIR=lib
ADDOPTIONS="--with-lib-path=/tools/lib"
fi
CC="${CC} ${BUILDOPTIONS}" \
../binutils*/configure --host=$TARGET \
--target=$TARGET \
--build=$HOSTSYS \
--prefix=/tools \
--libdir=/tools/$LIBDIR
--with-lib-path=/tools/lib \
--libdir=/tools/$LIBDIR \
$ADDOPTIONS \
--disable-nls \
--enable-shared \
--enable-64-bit-bfd

View File

@ -80,7 +80,6 @@
SRCPATH=Base/Utilities
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
(( MKPKG = $MKPKG | 128 ))
premk() {
echo "Nothing to do for premk()"

View File

@ -80,20 +80,19 @@
SRCPATH=Base/System
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
(( MKPKG = $MKPKG | 128 ))
premk() {
# SrcPatch $MAKEDIR/coreutils* $LFSSOURCE/$SRCPATH/coreutils-6.11-suppress_uptime_kill_su-1.patch*
SrcPatch $MAKEDIR/coreutils* $LFSSOURCE/$SRCPATH/coreutils-6.11-uname-1.patch*
sed -i "s/futimens/gl_&/" $(grep -lr futimens *)
cp -v src/Makefile.in{,.orig}
sed -e "/binPROGRAMS_INSTALL=/s:./ginstall:install:" src/Makefile.in.orig > src/Makefile.in
echo "fu_cv_sys_stat_statfs2_bsize=yes" >config.cache
}
mk() {
CC="${CC} ${BUILDOPTIONS}" \
./configure --host=$TARGET \
--build=$HOSTSYS \
--prefix=/tools
touch man/touch.1
--prefix=/tools \
--cache-file=config.cache
make -j $NUMCPU
make -j $NUMCPU install
}

View File

@ -87,21 +87,27 @@ premk() {
cp -v configure{,.orig}
sed -e "/libdir=.*\/lib/s@/lib@/lib64@g" configure.orig >configure
fi
mkdir ../build-e2fsprogs
cd ../build-e2fsprogs
}
mk() {
CC="${CC} ${BUILDOPTIONS}" \
./configure --host=$TARGET \
--build=$HOSTSYS \
../e2fsprogs*/configure --host=$TARGET \
--prefix=/tools \
--enable-elf-shlibs \
--disable-evms \
--with-cc="${CC} ${BUILDOPTIONS}" \
--with-linker=${LD}
make -j $NUMCPU libs
make -j $NUMCPU
make -j $NUMCPU install
make -j $NUMCPU install-libs
}
postmk() {
echo "Nothing to to for postmk()"
if [ ! -d $LFS/sbin ]; then
mkdir -p $LFS/sbin
fi
ln -sv /tools/sbin/{fsck.ext2,fsck.ext3,e2fsck} ${LFS}/sbin
cd ..
rm -r build-e2fsprogs
}

View File

@ -82,14 +82,16 @@ SRCPATH=Base/Utilities
(( MKPKG = $MKPKG | 16 ))
premk() {
echo "Nothing to do for premk()"
echo "gl_cv_func_wcwidth_works=yes" > config.cache
echo "ac_cv_func_fnmatch_gnu=yes" >> config.cache
}
mk() {
CC="${CC} ${BUILDOPTIONS}" \
./configure --host=$TARGET \
--build=$HOSTSYS \
--prefix=/tools
--prefix=/tools \
--cache-file=config.cache
make -j $NUMCPU
make -j $NUMCPU install
}

View File

@ -83,20 +83,12 @@ SRCPATH=Base/Development
(( MKPKG = $MKPKG | 128 ))
premk() {
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-branch_update-2.patch*
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-PR31490-1.patch*
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-specs-1.patch*
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-posix-1.patch*
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-cross_search_paths-1.patch*
cp -v gcc/cppdefault.c{,.orig}
sed -e '/#define STANDARD_INCLUDE_DIR/s@"/usr/include/"@0@g' \
gcc/cppdefault.c.orig >gcc/cppdefault.c
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-branch_update-*.patch*
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-specs-*.patch*
SrcPatch $MAKEDIR/gcc* $LFSSOURCE/$SRCPATH/gcc-*-posix-*.patch*
cp -v gcc/Makefile.in{,.orig}
sed -e 's@\(^NATIVE_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g' \
gcc/Makefile.in.orig >gcc/Makefile.in
cp -v gcc/Makefile.in{,.orig2}
sed -e "/MULTILIBS/s@\$(GCC_FOR_TARGET)@/cross-tools/bin/${CC}@g" \
gcc/Makefile.in.orig2 >gcc/Makefile.in
mkdir ../build-gcc
cd ../build-gcc
}
@ -104,7 +96,6 @@ premk() {
mk() {
if [ "$MK64BIT" == "true" ]; then
ADDCONFIGURE="--libdir=/tools/lib64"
BUILDOPTIONS="-m64"
fi
CC="${CC} ${BUILDOPTIONS}" \
CXX="${CXX} ${BUILDOPTIONS}" \
@ -127,7 +118,7 @@ mk() {
}
postmk() {
ln -sv gcc /tools/bin/cc
#ln -sv gcc /tools/bin/cc
cd ../gcc*
rm -r ../build-gcc
}

113
BaseBuild/toolchain/gmp Normal file
View File

@ -0,0 +1,113 @@
#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.tramp-bbs.de:/opt/cvs zur Verfügung gestellt
#
#Lage dieser Datei im Archiv: $HeadURL: svn://www.compuextreme.de/Viitor/V962/ViitorMake/BaseBuild/Basesys/gmp $
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version
#2 of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#See the GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not write to the Free Software Foundation,
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#Dies ist ein Module zur Verwendung mit genpkg. Die Erzeugung eines
#Viitor Linux Packetes wird über die Funktionen premk, mk und postmk
#gesteuert. premk() dient zur Vorbereitung des Sourcecodes. Hier können
#diverse Änderungen am sourcecode (mit awk/sed usw.) vorgenommen werden
#mk() umfasst die source Konfiguration und das Übersetzten des source
#codes. Auch die Installation muß von mk erledigt werden. Hier gild dass
#die Installation immer nach $TMPROOT erfolgen soll (meisst kann das mit
#"make DESTDIR=$TMPROOT install" angestossen werden). postmk kann
#vor der packeterstellung noch einiges am installationtree ändern. postmk
#läuft nachdem die Packetabhängigkeiten erstellt wurden.
#Das Verhalten von genpkg kann über die Variable MKPKG gesteuert werden.
#Hier müssen FLAGS zur Steuerung gesetzt werden. Folgende Flags werden
#erkannt:
#
# 1 : Package Erzeugung erzwingen. Packet wird, auch wenn es schon
# vorhanden ist, ohne weitere rückfragen neu Erzeugt.
# 2 : Package Installation erzwingen. Installpkg wird mit -f aufgerufen.
# Das bewirkt, das installpkg keine rückfragen bei der installation
# Stellt, und das packet in jedemfall (neu) installiert.
# 4 : Sourcepacket nicht nach MAKEDIR entpacken. Ist dieses Flag gesetzt
# muss sich das Module selber um das Entpacken der sourcedateien kümmern.
# vor allem wichtig bei Packeten, für die es keine source.tgz gibt
# (z.B. aus dem CVS generierte Packete).
# 8 : Erstellung des Packetes aus $TMPROOT wird unterdrückt. Dies ist bei
# manchen Sonderfällen möglich - wenn sich z.B. der Packetnamen nicht
# aus dem Namen des sourcearchives ableiten lässt. Packet sollte in
# so einem Fall in der postmk() Funktion erstellt werden.
# 16 : Packet wird nicht installiert. Bei Packeten wie tar oder bash kann
# die installation mittelst installpkg probleme machen.
# 32 : Dependics File so erzeugen, das die Abhängigkeiten bei der installation
# erfüllt sein müssen. installpkg bricht in so einem fall bei fehlenden
# packeten die installation ab, und gibt nicht "nur" warnmeldungen aus.
# Wichtig bei packeten mit postinstallroutine, die software aus dem
# frisch installierten Packet verwendet (wie z.B. postgresql)
# 64 : sourcetree aufräumen nach packeterstellung unterbinden.
#
#Module zur Erstellung des Packetes: gmp
#Quelle der Source Archive: ftp://ftp.gnu.org/gnu/gmp
#Kurzbeschreibung:
#Gnu Math Library. Library mit hochgenauen und vor allem
#performanten mathematischen Funktionen
#
#Letzte Änderung von: $Author: kueller $
#Datum der letzten Änderung: $Date: 2008-05-02 13:13:24 +0000 (Fr, 02 Mai 2008) $
#Version der Datei: $Revision: 4220 $
#
#Pfad zum Basis-Sourcetree :
SRCPATH=Base/lib
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
#Wenn das usgepackte Verzeichnis vom Paketnamen unterschiedlich ist
#SRCDIR=<PFAD>
premk() {
echo "Nothing to do for premk()"
}
mk() {
if [ $MK64BIT == "true" ]; then
LIBDIR=lib64
else
LIBDIR=lib
fi
CC="${CC} ${BUILDOPTIONS}" \
CXX="${CXX} ${BUILDOPTIONS}" \
sed -i "s/ac_compiler -V/ac_compiler -v/" configure
./configure --build=$HOSTSYS \
--host=$TARGET \
--prefix=/tools \
--libdir=/tools/$LIBDIR \
--enable-cxx \
--enable-mpbsd
CheckError "Configurescript failed !" 1
# Make-Optionen eintragen
make -j $NUMCPU
CheckError "Makeprocess failed !" 1
# Make install Optionen eintragen
make -j $NUMCPU install
CheckError "Make install process failed !" 1
}
postmk() {
echo "Nothing to do for postmk()"
}

89
BaseBuild/toolchain/m4 Normal file
View File

@ -0,0 +1,89 @@
#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.tramp-bbs.de:/opt/cvs zur Verfügung gestellt
#
#Lage dieser Datei im Archiv: $HeadURL: svn://www.compuextreme.de/Viitor/V962/ViitorMake/BaseBuild/Basesys/m4 $
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version
#2 of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#See the GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not write to the Free Software Foundation,
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#Dies ist ein Module zur Verwendung mit genpkg. Die Erzeugung eines
#Viitor Linux Packetes wird über die Funktionen premk, mk und postmk
#gesteuert. premk() dient zur Vorbereitung des Sourcecodes. Hier können
#diverse Änderungen am sourcecode (mit awk/sed usw.) vorgenommen werden
#mk() umfasst die source Konfiguration und das Übersetzten des source
#codes. Auch die Installation muß von mk erledigt werden. Hier gild dass
#die Installation immer nach $TMPROOT erfolgen soll (meisst kann das mit
#"make DESTDIR=$TMPROOT install" angestossen werden). postmk kann
#vor der packeterstellung noch einiges am installationtree ändern. postmk
#läuft nachdem die Packetabhängigkeiten erstellt wurden.
#Das Verhalten von genpkg kann über die Variable MKPKG gesteuert werden.
#Hier müssen FLAGS zur Steuerung gesetzt werden. Folgende Flags werden
#erkannt:
#
# 1 : Package Erzeugung erzwingen. Packet wird, auch wenn es schon
# vorhanden ist, ohne weitere rückfragen neu Erzeugt.
# 2 : Package Installation erzwingen. Installpkg wird mit -f aufgerufen.
# Das bewirkt, das installpkg keine rückfragen bei der installation
# Stellt, und das packet in jedemfall (neu) installiert.
# 4 : Sourcepacket nicht nach MAKEDIR entpacken. Ist dieses Flag gesetzt
# muss sich das Module selber um das Entpacken der sourcedateien kümmern.
# vor allem wichtig bei Packeten, für die es keine source.tgz gibt
# (z.B. aus dem CVS generierte Packete).
# 8 : Erstellung des Packetes aus $TMPROOT wird unterdrückt. Dies ist bei
# manchen Sonderfällen möglich - wenn sich z.B. der Packetnamen nicht
# aus dem Namen des sourcearchives ableiten lässt. Packet sollte in
# so einem Fall in der postmk() Funktion erstellt werden.
# 16 : Packet wird nicht installiert. Bei Packeten wie tar oder bash kann
# die installation mittelst installpkg probleme machen.
# 32 : Dependics File so erzeugen, das die Abhängigkeiten bei der installation
# erfüllt sein müssen. installpkg bricht in so einem fall bei fehlenden
# packeten die installation ab, und gibt nicht "nur" warnmeldungen aus.
# Wichtig bei packeten mit postinstallroutine, die software aus dem
# frisch installierten Packet verwendet (wie z.B. postgresql)
# 64 : sourcetree aufräumen nach packeterstellung unterbinden.
#
#Module zur Erstellung des Packetes: m4
#Quelle der Source Archive: ftp://ftp.gnu.org/gnu/m4
#Kurzbeschreibung:
#Die m4 Macrosprache wird oft zur Automatisierten, vereinfachten, Erstellung
#von Konfigurationen benötigt
#
#Letzte Änderung von: $Author: kueller $
#Datum der letzten Änderung: $Date: 2008-05-02 13:13:24 +0000 (Fr, 02 Mai 2008) $
#Version der Datei: $Revision: 4220 $
#
SRCPATH=Base/Development
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
premk() {
echo "Nothing to do for premk()"
}
mk() {
CC="${CC} ${BUILDOPTIONS}" \
./configure --build=$HOSTSYS \
--host=$TARGET \
--prefix=/tools
make -j $NUMCPU
make -j $NUMCPU install
}
postmk() {
echo "Nothing to do for postmk()"
}

110
BaseBuild/toolchain/mpfr Normal file
View File

@ -0,0 +1,110 @@
#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.tramp-bbs.de:/opt/cvs zur Verfügung gestellt
#
#Lage dieser Datei im Archiv: $HeadURL: svn://www.compuextreme.de/Viitor/V962/ViitorMake/BaseBuild/Basesys/gmp $
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version
#2 of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#See the GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not write to the Free Software Foundation,
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#Dies ist ein Module zur Verwendung mit genpkg. Die Erzeugung eines
#Viitor Linux Packetes wird über die Funktionen premk, mk und postmk
#gesteuert. premk() dient zur Vorbereitung des Sourcecodes. Hier können
#diverse Änderungen am sourcecode (mit awk/sed usw.) vorgenommen werden
#mk() umfasst die source Konfiguration und das Übersetzten des source
#codes. Auch die Installation muß von mk erledigt werden. Hier gild dass
#die Installation immer nach $TMPROOT erfolgen soll (meisst kann das mit
#"make DESTDIR=$TMPROOT install" angestossen werden). postmk kann
#vor der packeterstellung noch einiges am installationtree ändern. postmk
#läuft nachdem die Packetabhängigkeiten erstellt wurden.
#Das Verhalten von genpkg kann über die Variable MKPKG gesteuert werden.
#Hier müssen FLAGS zur Steuerung gesetzt werden. Folgende Flags werden
#erkannt:
#
# 1 : Package Erzeugung erzwingen. Packet wird, auch wenn es schon
# vorhanden ist, ohne weitere rückfragen neu Erzeugt.
# 2 : Package Installation erzwingen. Installpkg wird mit -f aufgerufen.
# Das bewirkt, das installpkg keine rückfragen bei der installation
# Stellt, und das packet in jedemfall (neu) installiert.
# 4 : Sourcepacket nicht nach MAKEDIR entpacken. Ist dieses Flag gesetzt
# muss sich das Module selber um das Entpacken der sourcedateien kümmern.
# vor allem wichtig bei Packeten, für die es keine source.tgz gibt
# (z.B. aus dem CVS generierte Packete).
# 8 : Erstellung des Packetes aus $TMPROOT wird unterdrückt. Dies ist bei
# manchen Sonderfällen möglich - wenn sich z.B. der Packetnamen nicht
# aus dem Namen des sourcearchives ableiten lässt. Packet sollte in
# so einem Fall in der postmk() Funktion erstellt werden.
# 16 : Packet wird nicht installiert. Bei Packeten wie tar oder bash kann
# die installation mittelst installpkg probleme machen.
# 32 : Dependics File so erzeugen, das die Abhängigkeiten bei der installation
# erfüllt sein müssen. installpkg bricht in so einem fall bei fehlenden
# packeten die installation ab, und gibt nicht "nur" warnmeldungen aus.
# Wichtig bei packeten mit postinstallroutine, die software aus dem
# frisch installierten Packet verwendet (wie z.B. postgresql)
# 64 : sourcetree aufräumen nach packeterstellung unterbinden.
#
#Module zur Erstellung des Packetes: mpfr
#Quelle der Source Archive: http://www.mpfr.og
#Kurzbeschreibung:
#Library zur hochperformanten floating Point Berechnung mit korrekter Rundung
#
#Letzte Änderung von: $Author: kueller $
#Datum der letzten Änderung: $Date: 2008-05-02 13:13:24 +0000 (Fr, 02 Mai 2008) $
#Version der Datei: $Revision: 4220 $
#
#Pfad zum Basis-Sourcetree :
SRCPATH=Base/lib
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
#Wenn das usgepackte Verzeichnis vom Paketnamen unterschiedlich ist
#SRCDIR=<PFAD>
premk() {
echo "Nothing to do for premk()"
}
mk() {
if [ $MK64BIT == "true" ]; then
LIBDIR=lib64
else
LIBDIR=lib
fi
CC="${CC} ${BUILDOPTIONS}" \
CXX="${CC} ${BUILDOPTIONS}" \
./configure --host=$TARGET \
--build=$HOSTSYS \
--prefix=/cross-tools \
--libdir=/tools/$LIBDIR \
--enable-shared \
CheckError "Configurescript failed !" 1
# Make-Optionen eintragen
make -j $NUMCPU
CheckError "Makeprocess failed !" 1
# Make install Optionen eintragen
make -j $NUMCPU install
CheckError "Make install process failed !" 1
}
postmk() {
cp *.h /tools/include
}

View File

@ -92,7 +92,7 @@ mk() {
--prefix=/tools
make -j $NUMCPU tools/gnulib/lib
make -j $NUMCPU tools
make -j $NUMCPU
make -j $NUMCPU
make -j $NUMCPU install
}

View File

@ -1,3 +1,6 @@
16 toolchain/gmp
16 toolchain/mpfr
16 toolchain/zlib
16 toolchain/binutils
16 toolchain/gcc
17 toolchain/ncurses
@ -6,17 +9,18 @@
16 toolchain/coreutils
16 toolchain/diffutils
16 toolchain/findutils
16 toolchain/zlib
16 toolchain/file
16 toolchain/gawk
16 toolchain/gettext
16 toolchain/grep
16 toolchain/gzip
16 toolchain/m4
16 toolchain/make
16 toolchain/patch
16 toolchain/sed
16 toolchain/tar
16 toolchain/texinfo
16 toolchain/xz
16 toolchain/e2fsprogs
16 toolchain/util-linux-ng
16 toolchain/ViitorMake

View File

@ -80,7 +80,6 @@
SRCPATH=Base/System
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
(( MKPKG = $MKPKG | 128 ))
premk() {
echo "Nothing to do for premk()"
@ -91,11 +90,11 @@ mk() {
./configure --build=$HOSTSYS \
--host=$TARGET \
--prefix=/tools
make -j $NUMCPU ARCH="" CPU="" -C disk-utils mkfs.minix fsck.minix
make -j $NUMCPU ARCH="" CPU="" -C disk-utils mkswap
make -j $NUMCPU ARCH="" CPU="" -C mount mount umount
make -j $NUMCPU ARCH="" CPU="" -C text-utils more
cp -v mount/{,u}mount text-utils/more /tools/bin
cp -v disk-utils/{fsck,mkfs}.minix /tools/sbin
cp -v disk-utils/mkswap /tools/sbin
}
postmk() {

103
BaseBuild/toolchain/xz Normal file
View File

@ -0,0 +1,103 @@
#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.compuextreme.de:/Data/cvs zur Verfügung gestellt
#
#Lage dieser Datei im Archiv: $HeadURL: svn://www.compuextreme.de/Viitor/V962/ViitorMake/BaseBuild/toolchain/grep $
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version
#2 of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#See the GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not write to the Free Software Foundation,
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#Dies ist ein Module zur Verwendung mit genpkg. Die Erzeugung eines
#Viitor Linux Packetes wird über die Funktionen premk, mk und postmk
#gesteuert. premk() dient zur Vorbereitung des Sourcecodes. Hier können
#diverse Änderungen am sourcecode (mit awk/sed usw.) vorgenommen werden
#mk() umfasst die source Konfiguration und das Übersetzten des source
#codes. Auch die Installation muß von mk erledigt werden. Hier gild dass
#die Installation immer nach $TMPROOT erfolgen soll (meisst kann das mit
#"make DESTDIR=$TMPROOT install" angestossen werden). postmk kann
#vor der packeterstellung noch einiges am installationtree ändern. postmk
#läuft nachdem die Packetabhängigkeiten erstellt wurden.
#Das Verhalten von genpkg kann über die Variable MKPKG gesteuert werden.
#Hier müssen FLAGS zur Steuerung gesetzt werden. Folgende Flags werden
#erkannt:
#
# 1 : Package Erzeugung erzwingen. Packet wird, auch wenn es schon
# vorhanden ist, ohne weitere rückfragen neu Erzeugt.
# 2 : Package Installation erzwingen. Installpkg wird mit -f aufgerufen.
# Das bewirkt, das installpkg keine rückfragen bei der installation
# Stellt, und das packet in jedemfall (neu) installiert.
# 4 : Sourcepacket nicht nach MAKEDIR entpacken. Ist dieses Flag gesetzt
# muss sich das Module selber um das Entpacken der sourcedateien kümmern.
# vor allem wichtig bei Packeten, für die es keine source.tgz gibt
# (z.B. aus dem CVS generierte Packete).
# 8 : Erstellung des Packetes aus $TMPROOT wird unterdrückt. Dies ist bei
# manchen Sonderfällen möglich - wenn sich z.B. der Packetnamen nicht
# aus dem Namen des sourcearchives ableiten lässt. Packet sollte in
# so einem Fall in der postmk() Funktion erstellt werden.
# 16 : Packet wird nicht installiert. Bei Packeten wie tar oder bash kann
# die installation mittelst installpkg probleme machen.
# 32 : Dependics File so erzeugen, das die Abhängigkeiten bei der installation
# erfüllt sein müssen. installpkg bricht in so einem fall bei fehlenden
# packeten die installation ab, und gibt nicht "nur" warnmeldungen aus.
# Wichtig bei packeten mit postinstallroutine, die software aus dem
# frisch installierten Packet verwendet (wie z.B. postgresql)
# 64 : sourcetree aufräumen nach packeterstellung unterbinden.
# 128 : Patches zu den Sourcen nicht einspielen - Module muss sich darum
# kümmern
#Module zur Erstellung des Packetes:
#Quelle der Source Archive:
#Kurzbeschreibung:
#
#
#Letzte Änderung von: $Author: kueller $
#Datum der letzten Änderung: $Date: 2008-05-02 11:00:40 +0000 (Fr, 02 Mai 2008) $
#Version der Datei: $Revision: 4218 $
#
#$Log$
#Revision 1.2 2006/08/16 12:58:34 kueller
#Umstellung CFLAGS -> BUILDOPTIONS. Macht ein saubereres optimieren des
#Systems moeglich
#
#Revision 1.1 2006/08/13 13:15:39 kueller
#Toolchain Module zum Build von CrossViitor Linux
#
#
SRCPATH=Base/Utilities
(( MKPKG = $MKPKG | 8 ))
(( MKPKG = $MKPKG | 16 ))
premk() {
echo "Nothing to do for premk()"
}
mk() {
if [ $MK64BIT == "true" ]; then
ADDOPTIONS="--libdir=/tools/lib64"
fi
CC="${CC} ${BUILDOPTIONS}" \
./configure --host=$TARGET \
--build=$HOSTSYS \
$ADDOPTIONS \
--prefix=/tools
make -j $NUMCPU
make -j $NUMCPU install
}
postmk() {
echo "Nothing to to for postmk()"
}

View File

@ -96,8 +96,8 @@ mk() {
if [ "$MK64BIT" == "true" ]; then
ADDOPTIONS="--libdir=/tools/lib64"
fi
CC="gcc ${BUILDOPTIONS}" \
CXX="g++ ${BUILDOPTIONS}" \
CC="${CC} ${BUILDOPTIONS}" \
CXX="${CXX} ${BUILDOPTIONS}" \
./configure --prefix=/tools \
$ADDOPTIONS \
--shared