-
-
Save logicalparadox/6985601 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HOST=x86_64-unknown-linux-gnu | |
#TARGET=mips-unknown-linux-gnu | |
#CROSS_TOOL=$HOME/tmp/mips-2013.05/bin | |
#CXX=mips-linux-gnu-g++ | |
#CXXFLAGS="-shared -fPIC -mips32r2 -msoft-float -mabi=32" | |
#LLCFLAGS="-march=mips -mcpu=mips32r2 -soft-float -mattr=+mips32r2,+o32 -relocation-model=pic -disable-fp-elim -segmented-stacks" | |
TARGET=arm-unknown-linux-gnueabihf | |
CROSS_TOOL=$HOME/tmp/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin | |
CXX=arm-linux-gnueabihf-g++ | |
CXXFLAGS="-shared -fPIC" | |
LLCFLAGS="-march=arm -mcpu=arm1176jzf-s -float-abi=hard -relocation-model=pic -disable-fp-elim -segmented-stacks -arm-enable-ehabi -arm-enable-ehabi-descriptors" | |
RUST_SRC=$HOME/src/rust-git | |
RUST_BUILD=$RUST_SRC/b | |
RUST_LIB=$RUST_BUILD/$HOST/stage2/lib/rustc | |
LLVM_TOOL=$RUST_BUILD/llvm/$HOST/Release+Asserts/bin | |
export PATH=$RUST_BUILD/$HOST/stage2/bin:$CROSS_TOOL:$LLVM_TOOL:$PATH | |
rustc --target=$TARGET --cfg stage2 --emit-llvm $RUST_SRC/src/libstd/std.rs -o $RUST_BUILD/libstd.bc | |
llc $LLCFLAGS $RUST_BUILD/libstd.bc -o $RUST_BUILD/libstd.s | |
$CXX $CXXFLAGS $RUST_BUILD/libstd.s -o $RUST_BUILD/libstd.so -L$RUST_BUILD -lrustrt -pthread -ldl -lrt -lmorestack | |
yes|cp $RUST_BUILD/libstd.so $RUST_LIB/$TARGET/lib/`find $RUST_LIB/$HOST/lib -name libstd-*.so -exec basename {} \;` | |
rustc --target=$TARGET --cfg stage2 --emit-llvm $RUST_SRC/src/libextra/extra.rs -o $RUST_BUILD/libextra.bc | |
llc $LLCFLAGS $RUST_BUILD/libextra.bc -o $RUST_BUILD/libextra.s | |
$CXX $CXXFLAGS $RUST_BUILD/libextra.s -o $RUST_BUILD/libextra.so -L$RUST_BUILD -lstd -lmorestack | |
yes|cp $RUST_BUILD/libextra.so $RUST_LIB/$TARGET/lib/`find $RUST_LIB/$HOST/lib -name libextra-*.so -exec basename {} \;` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HOST=x86_64-unknown-linux-gnu | |
#TARGET=mips-unknown-linux-gnu | |
#CROSS_TOOL=$HOME/tmp/mips-2013.05/bin | |
#CXX=mips-linux-gnu-g++ | |
#AR=mips-linux-gnu-ar | |
#CXXFLAGS="-c -fPIC -mips32r2 -msoft-float -mabi=32" | |
TARGET=arm-unknown-linux-gnueabihf | |
CROSS_TOOL=$HOME/tmp/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin | |
CXX=arm-linux-gnueabihf-g++ | |
AR=arm-linux-gnueabihf-ar | |
CXXFLAGS="-c -fPIC" | |
ARCH=`echo $TARGET|cut -d - -f 1` | |
RUST_SRC=$HOME/src/rust-git | |
RUST_BUILD=$RUST_SRC/b | |
export PATH=$RUST_BUILD/$HOST/stage2/bin:$CROSS_TOOL:$PATH | |
RT_SRC_ARCH=$RUST_SRC/src/rt/arch/$ARCH | |
RT_BUILD=$RUST_BUILD/rt/$TARGET/stage2 | |
RT_BUILD_ARCH=$RT_BUILD/arch/$ARCH | |
$CXX $CXXFLAGS $RT_SRC_ARCH/ccall.S -o $RT_BUILD_ARCH/ccall.o | |
$CXX $CXXFLAGS $RT_SRC_ARCH/_context.S -o $RT_BUILD_ARCH/_context.o | |
$CXX $CXXFLAGS $RT_SRC_ARCH/record_sp.S -o $RT_BUILD_ARCH/record_sp.o | |
$CXX $CXXFLAGS $RT_SRC_ARCH/morestack.S -o $RT_BUILD_ARCH/morestack.o | |
$AR rcs $RUST_BUILD/libmorestack.a $RT_BUILD_ARCH/morestack.o | |
make -C $RUST_BUILD `echo $RT_BUILD|sed "s,$RUST_BUILD/,,"`/librustrt.so VERBOSE=1 -j4 | |
yes|cp $RT_BUILD/librustrt.so $RUST_BUILD |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HOST=x86_64-unknown-linux-gnu | |
#TARGET=mips-unknown-linux-gnu | |
#CROSS_TOOL=$HOME/tmp/mips-2013.05/bin | |
#CXX=mips-linux-gnu-g++ | |
#CXXFLAGS="-fPIC -mips32r2 -msoft-float -mabi=32" | |
#LLCFLAGS="-march=mips -mcpu=mips32r2 -soft-float -mattr=+mips32r2,+o32 -relocation-model=pic -disable-fp-elim -segmented-stacks" | |
TARGET=arm-unknown-linux-gnueabihf | |
CROSS_TOOL=$HOME/tmp/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin | |
CXX=arm-linux-gnueabihf-g++ | |
CXXFLAGS="-fPIC" | |
LLCFLAGS="-march=arm -mcpu=arm1176jzf-s -float-abi=hard -relocation-model=pic -disable-fp-elim -segmented-stacks -arm-enable-ehabi -arm-enable-ehabi-descriptors" | |
RUST_SRC=$HOME/src/rust-git | |
RUST_BUILD=$RUST_SRC/b | |
LLVM_TOOL=$RUST_BUILD/llvm/$HOST/Release+Asserts/bin | |
ROOTFS=/mnt/rpi | |
CP="sudo cp" | |
export PATH=$RUST_BUILD/$HOST/stage2/bin:$CROSS_TOOL:$LLVM_TOOL:$PATH | |
#sh rt.sh | |
#sh lib.sh | |
#yes|$CP $RUST_BUILD/librustrt.so $RUST_BUILD/libstd.so $RUST_BUILD/libextra.so $ROOTFS/usr/lib/ | |
TEST_SRC=$RUST_BUILD/test.rs | |
#TEST_SRC="--cfg stage2 --test $RUST_SRC/src/libstd/std.rs" | |
#TEST_SRC="--cfg stage2 --test $RUST_SRC/src/libextra/extra.rs" | |
rustc --target=$TARGET --emit-llvm $TEST_SRC -o $RUST_BUILD/test.bc | |
llc $LLCFLAGS $RUST_BUILD/test.bc -o $RUST_BUILD/test.s | |
$CXX $CXXFLAGS $RUST_BUILD/test.s -L$RUST_BUILD -lextra -lstd -lrustrt -lpthread -lmorestack -lrt -ldl | |
yes|$CP $RUST_BUILD/a.out $ROOTFS/root/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment