007-modifications-CrossCompile-Toolchain.patch 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. diff --git a/CrossCompile.sh b/CrossCompile.sh
  2. index cd87200..a94e25a 100755
  3. --- a/CrossCompile.sh
  4. +++ b/CrossCompile.sh
  5. @@ -6,29 +6,83 @@ WRKDIR=`pwd`
  6. CMDDIR=`dirname $0`
  7. cd $CMDDIR
  8. +#=== Asssign GNU_TARGET_NAME from .config
  9. +_ARCH=`grep BR2_ARCH\= .config | awk -F\= -F\" '{print $2}'`
  10. +_TARGET_VENDOR=`grep BR2_TOOLCHAIN_BUILDROOT_VENDOR\= .config | awk -F\= -F\" '{print $2}'`
  11. +
  12. +# -- get target os
  13. +_BR2_BINFMT_FLAT=`grep BR2_BINFMT_FLAT\= .config | awk -F\= '{print $2}'`
  14. +if [ "$_BR2_BINFMT_FLAT" = "y" ]; then
  15. + _TARGET_OS="uclinux"
  16. + else
  17. + _TARGET_OS="linux"
  18. +fi
  19. +
  20. +# -- get libc
  21. +_BR2_TOOLCHAIN_USES_UCLIBC=`grep BR2_TOOLCHAIN_USES_UCLIBC\= .config | awk -F\= '{print $2}'`
  22. +_BR2_TOOLCHAIN_USES_MUSL=`grep BR2_TOOLCHAIN_USES_MUSL\= .config | awk -F\= '{print $2}'`
  23. +
  24. +if [ "$_BR2_TOOLCHAIN_USES_UCLIBC" = "y" ]; then
  25. + _LIBC="uclibc"
  26. + else
  27. + if [ "$_BR2_TOOLCHAIN_USES_MUSL" = "y" ]; then
  28. + _LIBC="musl"
  29. + else
  30. + _LIBC="gnu"
  31. + fi
  32. +fi
  33. +
  34. +# -- ABI
  35. +_BR2_arm=`grep BR2_arm\= .config | awk -F\= '{print $2}'`
  36. +_BR2_armeb=`grep BR2_armeb\= .config | awk -F\= '{print $2}'`
  37. +_BR2_ARM_EABIHF=`grep BR2_ARM_EABIHF\= .config | awk -F\= '{print $2}'`
  38. +if [ "$_BR2_arm" = "y" ] || [ "$_BR2_armeb" = "y" ]; then
  39. + if [ "$_LIBC" = "uclibc" ]; then
  40. + _ABI="gnueabi"
  41. + else
  42. + _ABI="eabi"
  43. + fi
  44. + if [ "$_BR2_ARM_EABIHF" = "y" ]; then
  45. + _ABI="${_ABI}hf"
  46. + fi
  47. +fi
  48. +
  49. +_GNU_TARGET_NAME="${_ARCH}-${_TARGET_VENDOR}-${_TARGET_OS}-${_LIBC}${_ABI}"
  50. +#===============================================================
  51. +
  52. TOOLCHAIN=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`
  53. echo $TOOLCHAIN
  54. if [[ $TOOLCHAIN = *\$\(BASE_DIR\)* ]]; then
  55. - export SYSROOTBIN=`readlink -f $CMDDIR`/output/host/usr/bin/
  56. + export SYSROOT=`readlink -f $CMDDIR`/output/host/usr/bin/
  57. else
  58. - export SYSROOTBIN=$TOOLCHAIN/usr/bin
  59. + export SYSROOT=$TOOLCHAIN/usr/bin
  60. fi
  61. -export PATH=$PATH:$SYSROOTBIN
  62. +export PATH=$PATH:$SYSROOT
  63. +
  64. +export CROSS_COMPILE="${_GNU_TARGET_NAME}-"
  65. +export CROSS=${CROSS_COMPILE}
  66. -export CROSS_COMPILE=i586-buildroot-linux-gnu-
  67. -export CROSS=$CROSS_COMPILE
  68. -export ARCH=i586
  69. -export KERNELDIR=`pwd`/output/build/linux-linux-4.4.y
  70. +export ARCH=arm
  71. +_KERNELDIR=`grep BR2_LINUX_KERNEL_VERSION\= .config | awk -F\= -F\" '{print $2}'`
  72. +export KERNELDIR=${CMDDIR}/output/build/linux-${_KERNELDIR}
  73. export BB_KERNEL_SOURCES=$KERNELDIR
  74. -export SYSROOT=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/i586-buildroot-linux-gnu/sysroot
  75. -export CC_FULLPATH="${SYSROOTBIN}${CROSS_COMPILE}"
  76. +export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/${_GNU_TARGET_NAME}/sysroot
  77. +export CC_FULLPATH="${SYSROOT}/${CROSS_COMPILE}"
  78. export CC=${CROSS_COMPILE}gcc
  79. export CXX=${CROSS_COMPILE}g++
  80. +#--- gnupru
  81. +export PASM=pasm
  82. +##export PSYSROOT=/home/ru/pru/pru-gcc/bin
  83. +export PSYSROOT=/opt/GfA/PRU-ICSS/bin/pru-gcc/bin
  84. +export PATH=$PSYSROOT:$PATH
  85. +
  86. +export PCROSS_COMPILE=pru-
  87. +export PARCH=pru
  88. +
  89. cd $WRKDIR
  90. -echo $CROSS_COMPILE
  91. if [ $# -eq "0" ]
  92. then
  93. PROMPT_COMMAND='PS1="\[\033[0;31m\]CROSS CC:\[\033[0;32m\]$PS1";unset PROMPT_COMMAND' bash ; reset