check-reqs.sh 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/bin/bash
  2. RET=0
  3. if ! which python3 >/dev/null; then
  4. echo "python3 is required to run build tools - 3.6 is recommended as it is needed to cross-compile itself"
  5. RET=1
  6. fi
  7. if ! which genext2fs >/dev/null; then
  8. echo "genext2fs is needed to build ramdisk images"
  9. RET=1
  10. else
  11. if [ -z "$(genext2fs --help 2>&1 | grep -- "block-size")" ]; then
  12. echo "genext2fs must support the -B (--block-size) argument; try building with Debian patches"
  13. RET=1
  14. fi
  15. fi
  16. if ! which mkfs.fat >/dev/null; then
  17. echo "mkfs.fat is required (and should be in your PATH) to build EFI file systems"
  18. RET=1
  19. fi
  20. if ! which mcopy >/dev/null; then
  21. echo "mtools is required to build FAT images for EFI / hybrid ISOs"
  22. RET=1
  23. fi
  24. if ! which xorriso >/dev/null; then
  25. echo "xorriso is required to build ISO CD images"
  26. RET=1
  27. fi
  28. if ! which yasm >/dev/null; then
  29. echo "yasm is required to build some assembly sources"
  30. RET=1
  31. fi
  32. if ! which autoconf >/dev/null; then
  33. echo "autoconf is required to build GCC cross-compiler"
  34. RET=1
  35. fi
  36. if ! which automake >/dev/null; then
  37. echo "automake is required to build GCC cross-compiler"
  38. RET=1
  39. fi
  40. if ! which wget >/dev/null; then
  41. echo "wget is required to build GCC cross-compiler"
  42. RET=1
  43. fi
  44. if [ ! -e /usr/lib32/crt0-efi-ia32.o ]; then
  45. echo "gnu-efi is required to build EFI loaders"
  46. RET=1
  47. fi
  48. if ! cpp <(echo "#include \"gmp.h\"") >/dev/null 2>/dev/null; then
  49. echo "GMP headers are required to build GCC cross-compiler"
  50. RET=1
  51. fi
  52. if ! cpp <(echo "#include \"mpfr.h\"") >/dev/null 2>/dev/null; then
  53. echo "MPFR headers are required to build GCC cross-compiler"
  54. RET=1
  55. fi
  56. if ! cpp <(echo "#include \"mpfr.h\"") >/dev/null 2>/dev/null; then
  57. echo "MPFR headers are required to build GCC cross-compiler"
  58. RET=1
  59. fi
  60. if ! cpp <(echo "#include \"mpc.h\"") >/dev/null 2>/dev/null; then
  61. echo "MPC headers are required to build GCC cross-compiler"
  62. RET=1
  63. fi
  64. exit $RET