mirror of
https://github.com/xomboverlord/buildtools.git
synced 2026-01-11 10:16:38 +01:00
more refactoring, and a script to try to build curses and nano
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
build
|
||||
local
|
||||
xomb-local
|
||||
*.tar
|
||||
|
||||
51
build.sh
51
build.sh
@@ -29,56 +29,7 @@ mkdir -p mpc-obj
|
||||
|
||||
|
||||
# --- Fetch and extract each package ---
|
||||
|
||||
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
|
||||
source ../scripts/fetchandpatch.sh
|
||||
|
||||
|
||||
# --- Compile all packages ---
|
||||
|
||||
62
devtools.sh
Executable file
62
devtools.sh
Executable 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 ..
|
||||
@@ -3,73 +3,7 @@ source scripts/functions.sh
|
||||
|
||||
# --- Variables ---
|
||||
|
||||
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
|
||||
source scripts/nativevars.sh
|
||||
|
||||
|
||||
# --- Directory creation ---
|
||||
@@ -90,8 +24,10 @@ mkdir -p ppl-obj
|
||||
mkdir -p cloog-obj
|
||||
fi
|
||||
|
||||
# --- Fetch and extract each package ---
|
||||
source ../scripts/fetchandpatch.sh
|
||||
|
||||
|
||||
# --- Compile all packages ---
|
||||
|
||||
# relevant thread for building static bin utils (and dealing with ppl :)
|
||||
|
||||
11
patches/bash.patch
Normal file
11
patches/bash.patch
Normal 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
11
patches/nano.patch
Normal 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
11
patches/ncurses.patch
Normal 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
11
patches/slang.patch
Normal 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* \
|
||||
@@ -48,33 +48,23 @@ fi
|
||||
# diff -rupN
|
||||
|
||||
|
||||
setphase "PATCH BINUTILS"
|
||||
patch -p0 -d binutils-${BINUTILS_VER} < ../binutils.patch || exit
|
||||
doPatch binutils
|
||||
cp ../binutils-files/ld/emulparams/os_x86_64.sh binutils-${BINUTILS_VER}/ld/emulparams/${OSNAME}_x86_64.sh
|
||||
|
||||
setphase "PATCH GMP"
|
||||
patch -p1 -d gmp-${GMP_VER} < ../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
|
||||
patch -p1 -d gmp-${GMP_VER} < ../patches/gmp.patch || exit
|
||||
|
||||
doPatch mpfr
|
||||
doPatch mpc
|
||||
if [ $EXTRAS -eq 1 ]; then
|
||||
setphase "PATCH PPL"
|
||||
patch -p0 -d ppl-${PPL_VER} < ../ppl.patch || exit
|
||||
|
||||
setphase "PATCH CLOOG"
|
||||
patch -p0 -d cloog-${CLOOG_VER} < ../cloog.patch || exit
|
||||
doPatch ppl
|
||||
doPatch cloog
|
||||
fi
|
||||
|
||||
setphase "PATCH GCC"
|
||||
patch -p0 -d gcc-${GCC_VER} < ../gcc.patch || exit
|
||||
doPatch gcc
|
||||
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
|
||||
doPatch newlib
|
||||
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
|
||||
|
||||
@@ -9,6 +9,7 @@ function setphase {
|
||||
}
|
||||
|
||||
# --- Argument processing ---
|
||||
#prcessArgs {
|
||||
NOTEST=1
|
||||
EXTRAS=1
|
||||
CLEAN=0
|
||||
@@ -19,5 +20,20 @@ for arg in $@; do
|
||||
--extras) EXTRA=1;;
|
||||
esac
|
||||
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
67
scripts/nativevars.sh
Normal 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
|
||||
Reference in New Issue
Block a user