build.sh 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. ##################################################################
  3. ## ##
  4. ## SPDX-License-Identifier: GPL-2.0-or-later ##
  5. ## ##
  6. ## Copyright (C) 2018-2022 Starfive Technology ##
  7. ## ##
  8. ##################################################################
  9. set -e
  10. CURDIR=$(cd `dirname $0`; pwd)
  11. cd $CURDIR
  12. ##################################################################
  13. ## Extract and patch ispsdk
  14. function apply_patch {
  15. local i
  16. local srcdir="${1}"
  17. local patchdir="${2}"
  18. for i in `cd $patchdir; ls -d *.patch 2> /dev/null` ; do
  19. echo "Applying $patchdir/$i "
  20. cat $patchdir/$i | patch -g0 -p1 -E --no-backup-if-mismatch -d $srcdir -t -N
  21. if [ $? != 0 ] ; then
  22. echo "Patch failed! Please fix $patchdir/$i!"
  23. exit 1
  24. fi
  25. done
  26. }
  27. rm -rf ispsdk
  28. tar xf ispsdk_v2.8.0.tar.xz
  29. apply_patch ./ispsdk ./patch
  30. ##################################################################
  31. ## Build and Install the ispsdk
  32. FILE_PATH=$CURDIR/ispsdk
  33. # It is ok to disable the LINUX_KERNEL_BUILD_DIR actually
  34. # LINUX_KERNEL_BUILD_DIR=/lib/modules/`uname -r`/build
  35. ARCH=riscv
  36. CROSS_COMPILE=/usr/bin/
  37. DRM_INCLUDE_DIR=/usr/local/include/libdrm
  38. rm -rf ${FILE_PATH}/build ${CURDIR}/install
  39. mkdir -p ${FILE_PATH}/build ${CURDIR}/install
  40. echo "Build DDK for Embedded Linux system on RISC-V platform..."
  41. cd ${FILE_PATH}/build
  42. cmake ${FILE_PATH}/DDKSource \
  43. -DRUN_PLATFORM="RISCV" \
  44. -DCROSS_COMPILE=$CROSS_COMPILE \
  45. -DDRM_INCLUDE_DIR=${DRM_INCLUDE_DIR} \
  46. -DCI_LOG_LEVEL=4 \
  47. -DARCH_RISCV="Y" \
  48. -DCMAKE_INSTALL_PREFIX=${CURDIR}/install
  49. make -j$(nproc)
  50. make install
  51. cd ${CURDIR}
  52. ##################################################################