create_config 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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}\",\\"
  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_*=y) # configuration
  55. name=${line%=*}
  56. echo "#define $name 1"
  57. ;;
  58. CONFIG_*=n) # configuration
  59. ;;
  60. CONFIG_*=*) # configuration
  61. name=${line%=*}
  62. value=${line#*=}
  63. echo "#define $name $value"
  64. ;;
  65. HAVE_*=y) # configuration
  66. name=${line%=*}
  67. echo "#define $name 1"
  68. ;;
  69. HAVE_*=*) # configuration
  70. name=${line%=*}
  71. value=${line#*=}
  72. echo "#define $name $value"
  73. ;;
  74. ARCH=*) # configuration
  75. arch=${line#*=}
  76. arch_name=$(echo $arch | LC_ALL=C tr '[a-z]' '[A-Z]')
  77. echo "#define HOST_$arch_name 1"
  78. ;;
  79. HOST_USB=*)
  80. # do nothing
  81. ;;
  82. HOST_CC=*)
  83. # do nothing
  84. ;;
  85. HOST_*=y) # configuration
  86. name=${line%=*}
  87. echo "#define $name 1"
  88. ;;
  89. HOST_*=*) # configuration
  90. name=${line%=*}
  91. value=${line#*=}
  92. echo "#define $name $value"
  93. ;;
  94. TARGET_BASE_ARCH=*) # configuration
  95. target_base_arch=${line#*=}
  96. base_arch_name=$(echo $target_base_arch | LC_ALL=C tr '[a-z]' '[A-Z]')
  97. echo "#define TARGET_$base_arch_name 1"
  98. ;;
  99. TARGET_XML_FILES=*)
  100. # do nothing
  101. ;;
  102. TARGET_ABI_DIR=*)
  103. # do nothing
  104. ;;
  105. TARGET_NAME=*)
  106. target_name=${line#*=}
  107. echo "#define TARGET_NAME \"$target_name\""
  108. ;;
  109. TARGET_DIRS=*)
  110. # do nothing
  111. ;;
  112. TARGET_*=y) # configuration
  113. name=${line%=*}
  114. echo "#define $name 1"
  115. ;;
  116. TARGET_*=*) # configuration
  117. name=${line%=*}
  118. value=${line#*=}
  119. echo "#define $name $value"
  120. ;;
  121. DSOSUF=*)
  122. echo "#define HOST_DSOSUF \"${line#*=}\""
  123. ;;
  124. esac
  125. done # read