mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-22 12:54:20 +08:00
Merge pull request #11 from ids1024/toolchain
Recipes for gcc, binutils, newlib
This commit is contained in:
commit
4f1aeff1ec
7
cook.sh
7
cook.sh
@ -62,7 +62,12 @@ function op {
|
||||
then
|
||||
if [ ! -d source ]
|
||||
then
|
||||
git clone --recursive "$GIT" source
|
||||
if [ -n "$BRANCH" ]
|
||||
then
|
||||
git clone --recursive "$GIT" -b "$BRANCH" source
|
||||
else
|
||||
git clone --recursive "$GIT" source
|
||||
fi
|
||||
fi
|
||||
|
||||
pushd source > /dev/null
|
||||
|
||||
60
recipes/gcc/recipe.sh
Normal file
60
recipes/gcc/recipe.sh
Normal file
@ -0,0 +1,60 @@
|
||||
GIT=https://github.com/redox-os/gcc.git
|
||||
BRANCH=redox
|
||||
|
||||
HOST=x86_64-elf-redox
|
||||
export AR="${HOST}-ar"
|
||||
export AS="${HOST}-as"
|
||||
export CC="${HOST}-gcc"
|
||||
export CXX="${HOST}-g++"
|
||||
export LD="${HOST}-ld"
|
||||
export NM="${HOST}-nm"
|
||||
export OBJCOPY="${HOST}-objcopy"
|
||||
export OBJDUMP="${HOST}-objdump"
|
||||
export RANLIB="${HOST}-ranlib"
|
||||
export READELF="${HOST}-readelf"
|
||||
export STRIP="${HOST}-strip"
|
||||
|
||||
function recipe_version {
|
||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_update {
|
||||
echo "skipping update"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_build {
|
||||
./contrib/download_prerequisites
|
||||
cp config.sub gmp/config.sub
|
||||
cp config.sub isl/config.sub
|
||||
cp config.sub mpfr/config.sub
|
||||
cp -f config.sub mpc/config.sub
|
||||
pushd libstdc++-v3
|
||||
autoconf2.64
|
||||
popd
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
../configure --host=${HOST} --target=${HOST} --prefix=/ --enable-static --disable-shared --disable-dlopen --disable-nls --enable-languages=c --without-headers
|
||||
make all-gcc all-target-libgcc
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_test {
|
||||
echo "skipping test"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_clean {
|
||||
cd build
|
||||
make clean
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_stage {
|
||||
dest="$(realpath $1)"
|
||||
cd build
|
||||
make DESTDIR="$dest" install-gcc install-target-libgcc
|
||||
return 1
|
||||
}
|
||||
50
recipes/gnu-binutils/recipe.sh
Normal file
50
recipes/gnu-binutils/recipe.sh
Normal file
@ -0,0 +1,50 @@
|
||||
GIT=https://github.com/redox-os/binutils-gdb.git
|
||||
|
||||
HOST=x86_64-elf-redox
|
||||
export AR="${HOST}-ar"
|
||||
export AS="${HOST}-as"
|
||||
export CC="${HOST}-gcc"
|
||||
export CXX="${HOST}-g++"
|
||||
export LD="${HOST}-ld"
|
||||
export NM="${HOST}-nm"
|
||||
export OBJCOPY="${HOST}-objcopy"
|
||||
export OBJDUMP="${HOST}-objdump"
|
||||
export RANLIB="${HOST}-ranlib"
|
||||
export READELF="${HOST}-readelf"
|
||||
export STRIP="${HOST}-strip"
|
||||
|
||||
function recipe_version {
|
||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_update {
|
||||
echo "skipping update"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_build {
|
||||
mkdir build
|
||||
cd build
|
||||
../configure --host=${HOST} --target=${HOST} --prefix=/ --with-sysroot=/usr/x86_64-elf-redox --disable-gdb --disable-nls --disable-werror
|
||||
make
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_test {
|
||||
echo "skipping test"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_clean {
|
||||
cd build
|
||||
make clean
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_stage {
|
||||
dest="$(realpath $1)"
|
||||
cd build
|
||||
make DESTDIR="$dest" install
|
||||
return 1
|
||||
}
|
||||
59
recipes/newlib/recipe.sh
Normal file
59
recipes/newlib/recipe.sh
Normal file
@ -0,0 +1,59 @@
|
||||
GIT=https://github.com/redox-os/newlib.git
|
||||
BRANCH=redox
|
||||
|
||||
CC=
|
||||
|
||||
HOST=x86_64-elf-redox
|
||||
|
||||
function recipe_version {
|
||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_update {
|
||||
echo "skipping update"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_build {
|
||||
pushd newlib/libc/sys
|
||||
aclocal-1.11 -I ../..
|
||||
autoconf
|
||||
automake-1.11 --cygnus Makefile
|
||||
popd
|
||||
|
||||
pushd newlib/libc/sys/redox
|
||||
aclocal-1.11 -I ../../..
|
||||
autoconf
|
||||
automake-1.11 --cygnus Makefile
|
||||
popd
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
../configure --target="${HOST}" --prefix=/
|
||||
make
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_test {
|
||||
echo "skipping test"
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_clean {
|
||||
cd build
|
||||
make clean
|
||||
return 1
|
||||
}
|
||||
|
||||
function recipe_stage {
|
||||
dest="$(realpath $1)"
|
||||
cd build
|
||||
make DESTDIR="$dest" install
|
||||
cd "$dest"
|
||||
mv x86_64-elf-redox/* ./
|
||||
rmdir x86_64-elf-redox
|
||||
return 1
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user