0025-CrossCompile-fixes.patch 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. diff --git a/CrossCompile.sh b/CrossCompile.sh
  2. index cb6c0ae..c068ea1 100755
  3. --- a/CrossCompile.sh
  4. +++ b/CrossCompile.sh
  5. @@ -3,9 +3,53 @@
  6. #
  7. WRKDIR=`pwd`
  8. -CMDDIR=`dirname $0`
  9. +CMDDIR=`dirname \`readlink -f $0\``
  10. cd $CMDDIR
  11. +#=== Asssign GNU_TARGET_NAME from .config
  12. +_ARCH=`grep BR2_ARCH\= .config | awk -F\= -F\" '{print $2}'`
  13. +_TARGET_VENDOR=`grep BR2_TOOLCHAIN_BUILDROOT_VENDOR\= .config | awk -F\= -F\" '{print $2}'`
  14. +
  15. +# -- get target os
  16. +_BR2_BINFMT_FLAT=`grep BR2_BINFMT_FLAT\= .config | awk -F\= '{print $2}'`
  17. +if [ "$_BR2_BINFMT_FLAT" = "y" ]; then
  18. + _TARGET_OS="uclinux"
  19. + else
  20. + _TARGET_OS="linux"
  21. +fi
  22. +
  23. +# -- get libc
  24. +_BR2_TOOLCHAIN_USES_UCLIBC=`grep BR2_TOOLCHAIN_USES_UCLIBC\= .config | awk -F\= '{print $2}'`
  25. +_BR2_TOOLCHAIN_USES_MUSL=`grep BR2_TOOLCHAIN_USES_MUSL\= .config | awk -F\= '{print $2}'`
  26. +
  27. +if [ "$_BR2_TOOLCHAIN_USES_UCLIBC" = "y" ]; then
  28. + _LIBC="uclibc"
  29. + else
  30. + if [ "$_BR2_TOOLCHAIN_USES_MUSL" = "y" ]; then
  31. + _LIBC="musl"
  32. + else
  33. + _LIBC="gnu"
  34. + fi
  35. +fi
  36. +
  37. +# -- ABI
  38. +_BR2_arm=`grep BR2_arm\= .config | awk -F\= '{print $2}'`
  39. +_BR2_armeb=`grep BR2_armeb\= .config | awk -F\= '{print $2}'`
  40. +_BR2_ARM_EABIHF=`grep BR2_ARM_EABIHF\= .config | awk -F\= '{print $2}'`
  41. +if [ "$_BR2_arm" = "y" ] || [ "$_BR2_armeb" = "y" ]; then
  42. + if [ "$_LIBC" = "uclibc" ]; then
  43. + _ABI="gnueabi"
  44. + else
  45. + _ABI="eabi"
  46. + fi
  47. + if [ "$_BR2_ARM_EABIHF" = "y" ]; then
  48. + _ABI="${_ABI}hf"
  49. + fi
  50. +fi
  51. +
  52. +_GNU_TARGET_NAME="${_ARCH}-${_TARGET_VENDOR}-${_TARGET_OS}-${_LIBC}${_ABI}"
  53. +#===============================================================
  54. +
  55. TOOLCHAIN=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`
  56. echo $TOOLCHAIN
  57. @@ -17,12 +61,14 @@ fi
  58. export PATH=$PATH:$SYSROOT
  59. -export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
  60. +export CROSS_COMPILE="${_GNU_TARGET_NAME}-"
  61. export CROSS=${CROSS_COMPILE}
  62. +
  63. export ARCH=arm
  64. -export KERNELDIR=`pwd`/output/build/linux-7f280334068b7c875ade51f8f3921ab311f0c824
  65. +_KERNELDIR=`grep BR2_LINUX_KERNEL_VERSION\= .config | awk -F\= -F\" '{print $2}'`
  66. +export KERNELDIR=${CMDDIR}/output/build/linux-${_KERNELDIR}
  67. export BB_KERNEL_SOURCES=$KERNELDIR
  68. -export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/arm-buildroot-linux-gnueabihf/sysroot
  69. +export SYSROOTARM=`grep BR2_HOST_DIR .config | awk -F\= -F\" '{print $2}'`/usr/${_GNU_TARGET_NAME}/sysroot
  70. export CC_FULLPATH="${SYSROOT}/${CROSS_COMPILE}"
  71. export CC=${CROSS_COMPILE}gcc
  72. export CXX=${CROSS_COMPILE}g++