Guest User

Untitled

a guest
Jan 16th, 2014
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. #!/bin/sh
  2. TARGET="mips-unknown-linux-gnu"
  3. CLFS="$1"
  4. SYSROOT="$CLFS/root"
  5. HOST="x86_64-pc-linux-gnu"
  6. LINUX_VERSION=2.6.30
  7. BINUTILS_VERSION=2.24
  8. GCC_VERSION=4.8.2
  9. EGLIB_VERSION=2.18-r24148
  10. unset CFLAGS
  11. unset CXXFLAGS
  12. check_success() {
  13. if [ $? -ne 0 ]
  14. then
  15. echo Failed
  16. exit 1
  17. fi
  18. echo Done
  19. }
  20. if [ "$2" = "get" ]
  21. then
  22. echo -n "Download sources..."
  23. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-$LINUX_VERSION.tar.bz2
  24. wget http://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS_VERSION.tar.gz
  25. wget http://ftp.gnu.org/gnu/gcc/gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.bz2
  26. echo -n "Extract archives..."
  27. tar -xjf linux-$LINUX_VERSION.tar.bz2
  28. tar -xf binutils-$BINUTILS_VERSION.tar.gz
  29. tar -xjf gcc-$GCC_VERSION.tar.bz2
  30. svn co http://www.eglibc.org/svn/trunk eglibc
  31. cd ./gcc-$GCC_VERSION/
  32. ./contrib/download_prerequisites
  33. cd ..
  34. check_success
  35. fi
  36. if [ "$2" = "clear" ]
  37. then
  38. rm -rfv $CLFS
  39. mkdir -p $SYSROOT
  40. check_success
  41. exit 1
  42. fi
  43. mkdir -p $SYSROOT
  44.  
  45. InstallKernelHeader()
  46. {
  47. echo -n "Install kernel headers..."
  48. cd linux-$LINUX_VERSION/
  49. make mrproper
  50. make ARCH=mips headers_check
  51. make ARCH=mips INSTALL_HDR_PATH=$SYSROOT/usr headers_install
  52. cd ..
  53. check_success
  54. }
  55. InstallBinutils()
  56. {
  57. echo -n "Install binutils..."
  58. mkdir mips-binutils
  59. cd mips-binutils
  60. rm -rf ./*
  61. ../binutils-$BINUTILS_VERSION/configure --prefix=$CLFS --target=$TARGET --with-sysroot=$SYSROOT --disable-nls --disable-static --disable-multilib --enable-plugins
  62. make
  63. check_success
  64. make install
  65. check_success
  66. cd ..
  67.  
  68. }
  69. InstallStaticGCC()
  70. {
  71. echo -n "Install static gcc..."
  72. mkdir mips-static-gcc
  73. cd mips-static-gcc
  74. rm -rf ./*
  75. ../gcc-$GCC_VERSION/configure --target=$TARGET --prefix=$CLFS --with-sysroot=$SYSROOT --disable-nls --disable-shared --without-headers --with-newlib --disable-decimal-float --disable-libgomp --disable-libmudflap --disable-libssp --disable-threads --disable-multilib --disable-libatomic --disable-libitm --disable-libsanitizer --disable-libquadmath --disable-target-libiberty --enable-languages=c --enable-checking=release
  76. make all-gcc
  77. check_success
  78. make all-target-libgcc
  79. check_success
  80. make install-gcc install-target-libgcc
  81. check_success
  82. cd ..
  83. }
  84. InstallEGLIB()
  85. {
  86. echo -n "Install eglibs header files..."
  87. mkdir mips-eglibs
  88. cd mips-eglibs
  89. rm -rf ./*
  90. BUILD_CC="gcc" \
  91. CC="$CLFS/bin/$TARGET-gcc" \
  92. AR="$CLFS/bin/$TARGET-ar" \
  93. RANLIB="$CLFS/bin/$TARGET-ranlib" \
  94. OPTION_EGLIBC_BSD=y ../eglibc/libc/configure \
  95. --prefix=/usr \
  96. --with-headers=$SYSROOT/usr/include \
  97. --build=$HOST \
  98. --host=$TARGET \
  99. --disable-profile --without-gd --without-cvs --enable-add-ons
  100.  
  101.  
  102. check_success
  103. make
  104. #check_success
  105. #make install install_root=$SYSROOT
  106. #check_success
  107. cd ..
  108.  
  109. }
  110. InstallFinallGCC()
  111. {
  112. echo -n "Install final gcc..."
  113. mkdir mips-final-gcc
  114. cd mips-final-gcc
  115. rm -rf ./*
  116. ../gcc-4.8.2/configure --prefix=$CLFS \
  117. --build=$HOST --target=$TARGET --host=$HOST \
  118. --with-sysroot=$SYSROOT --enable-shared --disable-static --enable-languages=c,c++ \
  119. --with-libs=$SYSROOT/lib \
  120. --enable-__cxa_atexit --enable-c99 --enable-long-long --enable-threads=posix \
  121. --disable-multilib \
  122. --enable-checking=release \
  123. --disable-nls \
  124. --enable-libstdcxx-time
  125. make AS_FOR_TARGET="$CLFS/bin/$TARGET-as" LD_FOR_TARGET="$CLFS/bin/$TARGET-ld" -j 4
  126. check_success
  127. make install
  128. check_success
  129. cd ..
  130. }
  131.  
  132. #InstallKernelHeader
  133. #InstallBinutils
  134. #InstallStaticGCC
  135. InstallEGLIB
  136. #InstallFinallGCC
Advertisement
Add Comment
Please, Sign In to add comment