create_config 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #!/bin/sh
  2. echo "/* Automatically generated by create_config - do not modify */"
  3. while read line; do
  4. case $line in
  5. VERSION=*) # configuration
  6. version=${line#*=}
  7. major=$(echo "$version" | cut -d. -f1)
  8. minor=$(echo "$version" | cut -d. -f2)
  9. micro=$(echo "$version" | cut -d. -f3)
  10. echo "#define QEMU_VERSION \"$version\""
  11. echo "#define QEMU_VERSION_MAJOR $major"
  12. echo "#define QEMU_VERSION_MINOR $minor"
  13. echo "#define QEMU_VERSION_MICRO $micro"
  14. ;;
  15. qemu_*dir=* | qemu_*path=*) # qemu-specific directory configuration
  16. name=${line%=*}
  17. value=${line#*=}
  18. define_name=$(echo $name | LC_ALL=C tr '[a-z]' '[A-Z]')
  19. eval "define_value=\"$value\""
  20. echo "#define CONFIG_$define_name \"$define_value\""
  21. # save for the next definitions
  22. eval "$name=\$define_value"
  23. ;;
  24. prefix=*)
  25. # save for the next definitions
  26. prefix=${line#*=}
  27. ;;
  28. IASL=*) # iasl executable
  29. value=${line#*=}
  30. echo "#define CONFIG_IASL $value"
  31. ;;
  32. CONFIG_AUDIO_DRIVERS=*)
  33. drivers=${line#*=}
  34. echo "#define CONFIG_AUDIO_DRIVERS \\"
  35. for drv in $drivers; do
  36. echo " &${drv}_audio_driver,\\"
  37. done
  38. echo ""
  39. ;;
  40. CONFIG_BDRV_RW_WHITELIST=*)
  41. echo "#define CONFIG_BDRV_RW_WHITELIST\\"
  42. for drv in ${line#*=}; do
  43. echo " \"${drv}\",\\"
  44. done
  45. echo " NULL"
  46. ;;
  47. CONFIG_BDRV_RO_WHITELIST=*)
  48. echo "#define CONFIG_BDRV_RO_WHITELIST\\"
  49. for drv in ${line#*=}; do
  50. echo " \"${drv}\",\\"
  51. done
  52. echo " NULL"
  53. ;;
  54. CONFIG_*='$(CONFIG_SOFTMMU)'|CONFIG_*=y) # configuration
  55. name=${line%=*}
  56. echo "#define $name 1"
  57. ;;
  58. CONFIG_*=*) # configuration
  59. name=${line%=*}
  60. value=${line#*=}
  61. echo "#define $name $value"
  62. ;;
  63. HAVE_*=y) # configuration
  64. name=${line%=*}
  65. echo "#define $name 1"
  66. ;;
  67. HAVE_*=*) # configuration
  68. name=${line%=*}
  69. value=${line#*=}
  70. echo "#define $name $value"
  71. ;;
  72. ARCH=*) # configuration
  73. arch=${line#*=}
  74. arch_name=$(echo $arch | LC_ALL=C tr '[a-z]' '[A-Z]')
  75. echo "#define HOST_$arch_name 1"
  76. ;;
  77. HOST_USB=*)
  78. # do nothing
  79. ;;
  80. HOST_CC=*)
  81. # do nothing
  82. ;;
  83. HOST_*=y) # configuration
  84. name=${line%=*}
  85. echo "#define $name 1"
  86. ;;
  87. HOST_*=*) # configuration
  88. name=${line%=*}
  89. value=${line#*=}
  90. echo "#define $name $value"
  91. ;;
  92. TARGET_BASE_ARCH=*) # configuration
  93. target_base_arch=${line#*=}
  94. base_arch_name=$(echo $target_base_arch | LC_ALL=C tr '[a-z]' '[A-Z]')
  95. echo "#define TARGET_$base_arch_name 1"
  96. ;;
  97. TARGET_XML_FILES=*)
  98. # do nothing
  99. ;;
  100. TARGET_ABI_DIR=*)
  101. # do nothing
  102. ;;
  103. TARGET_NAME=*)
  104. target_name=${line#*=}
  105. echo "#define TARGET_NAME \"$target_name\""
  106. ;;
  107. TARGET_DIRS=*)
  108. # do nothing
  109. ;;
  110. TARGET_*=y) # configuration
  111. name=${line%=*}
  112. echo "#define $name 1"
  113. ;;
  114. TARGET_*=*) # configuration
  115. name=${line%=*}
  116. value=${line#*=}
  117. echo "#define $name $value"
  118. ;;
  119. DSOSUF=*)
  120. echo "#define HOST_DSOSUF \"${line#*=}\""
  121. ;;
  122. esac
  123. done # read