more refactoring, and a script to try to build curses and nano

This commit is contained in:
wolfwood
2011-10-04 21:01:58 -04:00
parent 234bc9cb08
commit 7fcbd3b40b
22 changed files with 202 additions and 135 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
build build
local local
xomb-local
*.tar *.tar

View File

@@ -29,56 +29,7 @@ mkdir -p mpc-obj
# --- Fetch and extract each package --- # --- Fetch and extract each package ---
source ../scripts/fetchandpatch.sh
setphase "FETCH BINUTILS"
wget $WFLAGS http://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VER}.tar.bz2
tar -xf binutils-${BINUTILS_VER}.tar.bz2
setphase "FETCH GCC"
wget $WFLAGS http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-core-${GCC_VER}.tar.gz
tar -xf gcc-core-${GCC_VER}.tar.gz
wget $WFLAGS http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-g++-${GCC_VER}.tar.gz
tar -xf gcc-g++-${GCC_VER}.tar.gz
wget $WFLAGS http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-fortran-${GCC_VER}.tar.gz
tar -xf gcc-fortran-${GCC_VER}.tar.gz
setphase "FETCH GMP"
wget $WFLAGS http://ftp.gnu.org/gnu/gmp/gmp-${GMP_VER}.tar.gz
tar -xf gmp-${GMP_VER}.tar.gz
setphase "FETCH MPFR"
wget $WFLAGS http://ftp.gnu.org/gnu/mpfr/mpfr-${MPFR_VER}.tar.gz
tar -xf mpfr-${MPFR_VER}.tar.gz
setphase "FETCH MPC"
wget $WFLAGS http://www.multiprecision.org/mpc/download/mpc-${MPC_VER}.tar.gz
tar -xf mpc-${MPC_VER}.tar.gz
setphase "FETCH NEWLIB"
wget $WFLAGS ftp://sources.redhat.com/pub/newlib/newlib-${NEWLIB_VER}.tar.gz
tar -xf newlib-${NEWLIB_VER}.tar.gz
# --- Patch and push new code into each package ---
# Fix patches with osname
#PERLCMD="s/{{OSNAME}}/${OSNAME}/g"
#perl -pi -e $PERLCMD *.patch
#perl -pi -e $PERLCMD gcc-files/gcc/config/os.h
setphase "PATCH BINUTILS"
patch -p0 -d binutils-${BINUTILS_VER} < ../binutils.patch || exit
cp ../binutils-files/ld/emulparams/os_x86_64.sh binutils-${BINUTILS_VER}/ld/emulparams/${OSNAME}_x86_64.sh
setphase "PATCH GCC"
patch -p0 -d gcc-${GCC_VER} < ../gcc.patch || exit
cp ../gcc-files/gcc/config/os.h gcc-${GCC_VER}/gcc/config/${OSNAME}.h
setphase "PATCH NEWLIB"
patch -p0 -d newlib-${NEWLIB_VER} < ../newlib.patch || exit
mkdir -p newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}
cp -r ../newlib-files/* newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}/.
cp ../newlib-files/vanilla-syscalls.c newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}/syscalls.c
# --- Compile all packages --- # --- Compile all packages ---

62
devtools.sh Executable file
View File

@@ -0,0 +1,62 @@
source scripts/functions.sh
# --- Variables ---
source scripts/nativevars.sh
# --- Directory creation ---
mkdir -p build
mkdir -p $PREFIX
cd build
setphase "MAKE OBJECT DIRECTORIES"
mkdir -p ncurses-obj
mkdir -p slang-obj
mkdir -p nano-obj
NANO_VER=2.3.1
SLANG_VER=2.2.4
NCURSES_VER=5.9
setphase "FETCH NANO"
wget $WFLAGS http://www.nano-editor.org/dist/v2.3/nano-2.3.1.tar.gz
tar -xf nano-2.3.1.tar.gz
setphase FETCH SLANG
wget $WFLAGS ftp://space.mit.edu/pub/davis/slang/v2.2/slang-$SLANG_VER.tar.gz
tar -xf slang-$SLANG_VER.tar.gz
setphase FETCH NCURSES
wget $WFLAGS http://ftp.gnu.org/pub/gnu/ncurses/ncurses-$NCURSES_VER.tar.gz
tar -xf ncurses-$NCURSES_VER.tar.gz
doPatch nano
doPatch slang
doPatch ncurses
setphase "COMPILE NCURSES"
cd ncurses-obj
../ncurses-$NCURSES_VER/configure $CROSSCONFIG --disable-shared ||exit
make || exit
make install || exit
cd ..
#setphase "COMPILE SLANG"
#cd slang-$SLANG_VER
#./configure $CROSSCONFIG --disable-shared ||exit
#make || exit
#make install || exit
#cd ..
setphase "COMPILE NANO"
cd nano-obj
../nano-$NANO_VER/configure $CROSSCONFIG --disable-shared ||exit
#--with-slang
make || exit
make install || exit
cd ..

View File

@@ -3,73 +3,7 @@ source scripts/functions.sh
# --- Variables --- # --- Variables ---
source scripts/config.sh source scripts/nativevars.sh
PREFIX=`pwd`/${OSNAME}-local
CROSSCONFIG="--prefix=${PREFIX} --host=${TARGET} --bindir=${PREFIX}/binaries --sysconfdir=${PREFIX}/config --libdir=${PREFIX}/lib --includedir=${PREFIX}/include"
if [ $CLEAN -eq 1 ]; then
rm -rf $PREFIX build/*/
fi
XOMBPATH=`pwd`/../xomb
CROSSPATH=`pwd`/local
if [ ! -d $XOMBPATH ]; then
XOMBPATH=`pwd`/../xomb
fi
if [ ! -f $XOMBPATH/app/build/elf.ld ]; then
echo "cannot find xomb $XOMBPATH"
exit
fi
#export LIBS="-l:drt0.a -l:syscall.a -l:mindrt.a"
export SHAREDLDFLAGS="-T$XOMBPATH/app/build/elf.ld"
# -L$XOMBPATH/user/c/lib -L$XOMBPATH/runtimes/mindrt"
export LDFLAGS="-static $SHAREDLDFLAGS -L$CROSSPATH/$TARGET"
export CPPFLAGS="-I$CROSSPATH/$TARGET/include/c++ -I$CROSSPATH/$TARGET/include/c++/$GCC_VER"
export CFLAGS="-static -O2 $CPPFLAGS"
export CXXFLAGS="$CFLAGS"
# -lsupc++ -lstdc++ -L$CROSSPATH/$TARGET"\
export CC=$TARGET-gcc
export CXX=$TARGET-g++
export AR=$TARGET-ar
export AS=$TARGET-as
#DLLTOOL
export LD=$TARGET-ld
#LIPO
export NM=$TARGET-nm
export RANLIB=$TARGET-ranlib
export STRIP=$TARGET-strip
#WINDRES
#WINDMC
export OBJCOPY=$TARGET-objcopy
export OBJDUMP=$TARGET-objdump
export CC_FOR_TARGET=$TARGET-gcc
export CXX_FOR_TARGET=$TARGET-g++
export AR_FOR_TARGET=$TARGET-ar
export AS_FOR_TARGET=$TARGET-as
#DLLTOOL
export LD_FOR_TARGET=$TARGET-ld
#LIPO
export NM_FOR_TARGET=$TARGET-nm
export RANLIB_FOR_TARGET=$TARGET-ranlib
export STRIP_FOR_TARGET=$TARGET-strip
#WINDRES
#WINDMC
export OBJCOPY_FOR_TARGET=$TARGET-objcopy
export OBJDUMP_FOR_TARGET=$TARGET-objdump
# --- Directory creation --- # --- Directory creation ---
@@ -90,8 +24,10 @@ mkdir -p ppl-obj
mkdir -p cloog-obj mkdir -p cloog-obj
fi fi
# --- Fetch and extract each package ---
source ../scripts/fetchandpatch.sh source ../scripts/fetchandpatch.sh
# --- Compile all packages --- # --- Compile all packages ---
# relevant thread for building static bin utils (and dealing with ppl :) # relevant thread for building static bin utils (and dealing with ppl :)

11
patches/bash.patch Normal file
View File

@@ -0,0 +1,11 @@
diff -rupN ../bash-pristine/support/config.sub ./support/config.sub
--- ../bash-pristine/support/config.sub 2011-10-01 17:40:20.889050108 -0400
+++ ./support/config.sub 2011-10-01 17:41:05.095714117 -0400
@@ -1247,6 +1247,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
+ | -xomb* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \

11
patches/nano.patch Normal file
View File

@@ -0,0 +1,11 @@
diff -rupN ../../nano-2.3.1/config.sub ./config.sub
--- ../../nano-2.3.1/config.sub 2011-10-04 16:11:16.241753413 -0400
+++ ./config.sub 2011-10-04 16:12:16.275083131 -0400
@@ -1284,6 +1284,7 @@ case $os in
| -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
+ | -xomb* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \

11
patches/ncurses.patch Normal file
View File

@@ -0,0 +1,11 @@
diff -rupN ../../ncurses-5.9/config.sub ./config.sub
--- ../../ncurses-5.9/config.sub 2011-10-04 16:33:36.655006083 -0400
+++ ./config.sub 2011-10-04 16:35:33.041665748 -0400
@@ -1306,6 +1306,7 @@ case $os in
| -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
+ | -xomb* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \

11
patches/slang.patch Normal file
View File

@@ -0,0 +1,11 @@
diff -rupN ../../slang-2.2.4/autoconf/config.sub ./autoconf/config.sub
--- ../../slang-2.2.4/autoconf/config.sub 2011-10-04 16:21:38.511715949 -0400
+++ ./autoconf/config.sub 2011-10-04 16:22:31.498379427 -0400
@@ -1290,6 +1290,7 @@ case $os in
| -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
+ | -xomb* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \

View File

@@ -48,33 +48,23 @@ fi
# diff -rupN # diff -rupN
setphase "PATCH BINUTILS" doPatch binutils
patch -p0 -d binutils-${BINUTILS_VER} < ../binutils.patch || exit
cp ../binutils-files/ld/emulparams/os_x86_64.sh binutils-${BINUTILS_VER}/ld/emulparams/${OSNAME}_x86_64.sh cp ../binutils-files/ld/emulparams/os_x86_64.sh binutils-${BINUTILS_VER}/ld/emulparams/${OSNAME}_x86_64.sh
setphase "PATCH GMP" setphase "PATCH GMP"
patch -p1 -d gmp-${GMP_VER} < ../gmp.patch || exit patch -p1 -d gmp-${GMP_VER} < ../patches/gmp.patch || exit
setphase "PATCH MPFR"
patch -p0 -d mpfr-${MPFR_VER} < ../mpfr.patch || exit
setphase "PATCH MPC"
patch -p0 -d mpc-${MPC_VER} < ../mpc.patch || exit
doPatch mpfr
doPatch mpc
if [ $EXTRAS -eq 1 ]; then if [ $EXTRAS -eq 1 ]; then
setphase "PATCH PPL" doPatch ppl
patch -p0 -d ppl-${PPL_VER} < ../ppl.patch || exit doPatch cloog
setphase "PATCH CLOOG"
patch -p0 -d cloog-${CLOOG_VER} < ../cloog.patch || exit
fi fi
setphase "PATCH GCC" doPatch gcc
patch -p0 -d gcc-${GCC_VER} < ../gcc.patch || exit
cp ../gcc-files/gcc/config/os.h gcc-${GCC_VER}/gcc/config/${OSNAME}.h cp ../gcc-files/gcc/config/os.h gcc-${GCC_VER}/gcc/config/${OSNAME}.h
setphase "PATCH NEWLIB" doPatch newlib
patch -p0 -d newlib-${NEWLIB_VER} < ../newlib.patch || exit
mkdir -p newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME} mkdir -p newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}
cp -r ../newlib-files/* newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}/. cp -r ../newlib-files/* newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}/.
cp ../newlib-files/vanilla-syscalls.c newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}/syscalls.c cp ../newlib-files/vanilla-syscalls.c newlib-${NEWLIB_VER}/newlib/libc/sys/${OSNAME}/syscalls.c

View File

@@ -9,6 +9,7 @@ function setphase {
} }
# --- Argument processing --- # --- Argument processing ---
#prcessArgs {
NOTEST=1 NOTEST=1
EXTRAS=1 EXTRAS=1
CLEAN=0 CLEAN=0
@@ -19,5 +20,20 @@ for arg in $@; do
--extras) EXTRA=1;; --extras) EXTRA=1;;
esac esac
done done
#}
# --- patching ---
function toUpper {
UPPER=`echo $1 | tr '[:lower:]' '[:upper:]'`
}
function doPatch {
toUpper $1
setphase "PATCH $UPPER"
local VERSION=${UPPER}_VER
eval VER=\${$VERSION}
patch -p0 -d $1-$VER < ../patches/$1.patch || exit
}

67
scripts/nativevars.sh Normal file
View File

@@ -0,0 +1,67 @@
source scripts/config.sh
PREFIX=`pwd`/${OSNAME}-local
CROSSCONFIG="--prefix=${PREFIX} --host=${TARGET} --bindir=${PREFIX}/binaries --sysconfdir=${PREFIX}/config --libdir=${PREFIX}/lib --includedir=${PREFIX}/include"
if [ $CLEAN -eq 1 ]; then
rm -rf $PREFIX build/*/
fi
XOMBPATH=`pwd`/../xomb
CROSSPATH=`pwd`/local
if [ ! -d $XOMBPATH ]; then
XOMBPATH=`pwd`/../xomb
fi
if [ ! -f $XOMBPATH/app/build/elf.ld ]; then
echo "cannot find xomb $XOMBPATH"
exit
fi
#export LIBS="-l:drt0.a -l:syscall.a -l:mindrt.a"
export SHAREDLDFLAGS="-T$XOMBPATH/app/build/elf.ld"
# -L$XOMBPATH/user/c/lib -L$XOMBPATH/runtimes/mindrt"
export LDFLAGS="-static $SHAREDLDFLAGS -L$CROSSPATH/$TARGET"
export CPPFLAGS="-I$CROSSPATH/$TARGET/include/c++ -I$CROSSPATH/$TARGET/include/c++/$GCC_VER"
export CFLAGS="-static -O2 $CPPFLAGS"
export CXXFLAGS="$CFLAGS"
# -lsupc++ -lstdc++ -L$CROSSPATH/$TARGET"\
export CC=$TARGET-gcc
export CXX=$TARGET-g++
export AR=$TARGET-ar
export AS=$TARGET-as
#DLLTOOL
export LD=$TARGET-ld
#LIPO
export NM=$TARGET-nm
export RANLIB=$TARGET-ranlib
export STRIP=$TARGET-strip
#WINDRES
#WINDMC
export OBJCOPY=$TARGET-objcopy
export OBJDUMP=$TARGET-objdump
export CC_FOR_TARGET=$TARGET-gcc
export CXX_FOR_TARGET=$TARGET-g++
export AR_FOR_TARGET=$TARGET-ar
export AS_FOR_TARGET=$TARGET-as
#DLLTOOL
export LD_FOR_TARGET=$TARGET-ld
#LIPO
export NM_FOR_TARGET=$TARGET-nm
export RANLIB_FOR_TARGET=$TARGET-ranlib
export STRIP_FOR_TARGET=$TARGET-strip
#WINDRES
#WINDMC
export OBJCOPY_FOR_TARGET=$TARGET-objcopy
export OBJDUMP_FOR_TARGET=$TARGET-objdump