From 2df7a37f55291457b59b1f7a19109ae3e83e5a25 Mon Sep 17 00:00:00 2001 From: kueller Date: Thu, 26 Mar 2009 07:46:49 +0000 Subject: [PATCH] =?UTF-8?q?Anpassung=20an=20neue=20Version.=20Einarbeitung?= =?UTF-8?q?=20der=20neuesten=20LFS=20version.=20gcc=20ist=20jetzt=20von=20?= =?UTF-8?q?gmp=20und=20mpfr=20abh=C3=A4ngig.=20xz=20sind=20neue=20pack=20t?= =?UTF-8?q?ools,=20die=20effizienter=20sein=20sollen=20als=20bzip2=20und?= =?UTF-8?q?=20gzip.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.compuextreme.de/Viitor/V962/ViitorMake@4557 504e572c-2e33-0410-9681-be2bf7408885 --- BaseBuild/toolchain/bash | 1 - BaseBuild/toolchain/binutils | 15 ++-- BaseBuild/toolchain/bzip2 | 1 - BaseBuild/toolchain/coreutils | 11 ++- BaseBuild/toolchain/e2fsprogs | 16 +++-- BaseBuild/toolchain/findutils | 6 +- BaseBuild/toolchain/gcc | 17 ++--- BaseBuild/toolchain/gmp | 113 ++++++++++++++++++++++++++++++ BaseBuild/toolchain/m4 | 89 +++++++++++++++++++++++ BaseBuild/toolchain/mpfr | 110 +++++++++++++++++++++++++++++ BaseBuild/toolchain/texinfo | 2 +- BaseBuild/toolchain/toolchain.dmk | 6 +- BaseBuild/toolchain/util-linux-ng | 5 +- BaseBuild/toolchain/xz | 103 +++++++++++++++++++++++++++ BaseBuild/toolchain/zlib | 4 +- 15 files changed, 456 insertions(+), 43 deletions(-) create mode 100644 BaseBuild/toolchain/gmp create mode 100644 BaseBuild/toolchain/m4 create mode 100644 BaseBuild/toolchain/mpfr create mode 100644 BaseBuild/toolchain/xz diff --git a/BaseBuild/toolchain/bash b/BaseBuild/toolchain/bash index e1f4e0b..ccb5e5b 100644 --- a/BaseBuild/toolchain/bash +++ b/BaseBuild/toolchain/bash @@ -83,7 +83,6 @@ SRCPATH=Base/System (( MKPKG = $MKPKG | 8 )) (( MKPKG = $MKPKG | 16 )) -(( MKPKG = $MKPKG | 128 )) premk() { cat >config.cache <<"EOF" diff --git a/BaseBuild/toolchain/binutils b/BaseBuild/toolchain/binutils index 6bc6a09..1666724 100644 --- a/BaseBuild/toolchain/binutils +++ b/BaseBuild/toolchain/binutils @@ -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 diff --git a/BaseBuild/toolchain/bzip2 b/BaseBuild/toolchain/bzip2 index 648a338..08e873c 100644 --- a/BaseBuild/toolchain/bzip2 +++ b/BaseBuild/toolchain/bzip2 @@ -80,7 +80,6 @@ SRCPATH=Base/Utilities (( MKPKG = $MKPKG | 8 )) (( MKPKG = $MKPKG | 16 )) -(( MKPKG = $MKPKG | 128 )) premk() { echo "Nothing to do for premk()" diff --git a/BaseBuild/toolchain/coreutils b/BaseBuild/toolchain/coreutils index 6ef9f06..cae8d5a 100644 --- a/BaseBuild/toolchain/coreutils +++ b/BaseBuild/toolchain/coreutils @@ -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 } diff --git a/BaseBuild/toolchain/e2fsprogs b/BaseBuild/toolchain/e2fsprogs index 6bcbd02..25cb97d 100644 --- a/BaseBuild/toolchain/e2fsprogs +++ b/BaseBuild/toolchain/e2fsprogs @@ -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 } diff --git a/BaseBuild/toolchain/findutils b/BaseBuild/toolchain/findutils index 8d3469b..34d5f54 100644 --- a/BaseBuild/toolchain/findutils +++ b/BaseBuild/toolchain/findutils @@ -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 } diff --git a/BaseBuild/toolchain/gcc b/BaseBuild/toolchain/gcc index dace18f..857077e 100644 --- a/BaseBuild/toolchain/gcc +++ b/BaseBuild/toolchain/gcc @@ -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 } diff --git a/BaseBuild/toolchain/gmp b/BaseBuild/toolchain/gmp new file mode 100644 index 0000000..fb1358a --- /dev/null +++ b/BaseBuild/toolchain/gmp @@ -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= + + +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()" +} diff --git a/BaseBuild/toolchain/m4 b/BaseBuild/toolchain/m4 new file mode 100644 index 0000000..6765ac9 --- /dev/null +++ b/BaseBuild/toolchain/m4 @@ -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()" +} diff --git a/BaseBuild/toolchain/mpfr b/BaseBuild/toolchain/mpfr new file mode 100644 index 0000000..8cfb882 --- /dev/null +++ b/BaseBuild/toolchain/mpfr @@ -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= + + +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 +} diff --git a/BaseBuild/toolchain/texinfo b/BaseBuild/toolchain/texinfo index df68ea0..dc0a24e 100644 --- a/BaseBuild/toolchain/texinfo +++ b/BaseBuild/toolchain/texinfo @@ -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 } diff --git a/BaseBuild/toolchain/toolchain.dmk b/BaseBuild/toolchain/toolchain.dmk index 24e4f0e..a7ef36a 100644 --- a/BaseBuild/toolchain/toolchain.dmk +++ b/BaseBuild/toolchain/toolchain.dmk @@ -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 diff --git a/BaseBuild/toolchain/util-linux-ng b/BaseBuild/toolchain/util-linux-ng index ef7c26d..a37f711 100644 --- a/BaseBuild/toolchain/util-linux-ng +++ b/BaseBuild/toolchain/util-linux-ng @@ -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() { diff --git a/BaseBuild/toolchain/xz b/BaseBuild/toolchain/xz new file mode 100644 index 0000000..f41b7f1 --- /dev/null +++ b/BaseBuild/toolchain/xz @@ -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()" +} diff --git a/BaseBuild/toolchain/zlib b/BaseBuild/toolchain/zlib index 76513c9..ebd8fbc 100644 --- a/BaseBuild/toolchain/zlib +++ b/BaseBuild/toolchain/zlib @@ -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