configure 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/sh
  2. QEMU_EXECUTABLES="qemu-system-i386 qemu-system-x86_64"
  3. GDB_EXECUTABLES="gdb x86_64-elf-gdb"
  4. event() {
  5. printf "$1... "
  6. }
  7. event "finding qemu"
  8. for item in $QEMU_EXECUTABLES; do
  9. if $item --version > /dev/null 2>&1; then
  10. QEMU="$item"
  11. break
  12. fi
  13. done
  14. if [ "$QEMU" = "" ]; then
  15. echo "failed"
  16. exit 1
  17. fi
  18. echo "$QEMU"
  19. event "finding gdb"
  20. for item in $GDB_EXECUTABLES; do
  21. if $item --version > /dev/null 2>&1; then
  22. GDB="$item"
  23. break
  24. fi
  25. done
  26. if [ "$GDB" = "" ]; then
  27. echo "failed"
  28. exit 1
  29. fi
  30. echo "$GDB"
  31. event "checking os type"
  32. OS=`uname`
  33. case "$OS" in
  34. "Linux")
  35. echo "Linux"
  36. QEMU_ACCEL='-enable-kvm'
  37. ;;
  38. "Darwin")
  39. echo "macOS"
  40. QEMU_ACCEL='-accel hvf'
  41. ;;
  42. *)
  43. echo "unknown"
  44. exit 1
  45. ;;
  46. esac
  47. event "checking cross compiling"
  48. if [ "$CROSS_COMPILE" != "" ]; then
  49. echo "yes"
  50. CROSS_COMPILE_FLAG='--toolchain cross-compile.cmake'
  51. else
  52. echo "no"
  53. CROSS_COMPILE_FLAG=
  54. fi
  55. cp Makefile.src Makefile
  56. sed -i '' "s/##PLACEHOLDER_1##/$QEMU/" Makefile
  57. sed -i '' "s/##PLACEHOLDER_2##/$GDB/" Makefile
  58. sed -i '' "s/##PLACEHOLDER_3##/$QEMU_ACCEL/" Makefile
  59. sed -i '' "s/##PLACEHOLDER_4##/$CROSS_COMPILE_FLAG/" Makefile