Config.in.abi 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. choice
  4. prompt "ABI"
  5. depends on ADK_TARGET_ARCH_XTENSA && ADK_TARGET_CPU_XTENSA_DC233C
  6. config ADK_TARGET_ABI_WINDOWED
  7. bool "Windowed ABI"
  8. config ADK_TARGET_ABI_CALL0
  9. bool "Call0 ABI"
  10. endchoice
  11. choice
  12. prompt "ABI"
  13. depends on ADK_TARGET_ARCH_MIPS64
  14. config ADK_TARGET_ABI_N32
  15. bool "N32 ABI"
  16. config ADK_TARGET_ABI_N64
  17. bool "N64 ABI"
  18. config ADK_TARGET_ABI_O32
  19. bool "O32 ABI"
  20. endchoice
  21. choice
  22. prompt "ABI"
  23. depends on ADK_TARGET_ARCH_X86_64 && \
  24. (ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_MUSL)
  25. config ADK_TARGET_ABI_64
  26. bool "64 Bit ABI"
  27. config ADK_TARGET_ABI_X32
  28. bool "x32 ABI"
  29. endchoice
  30. config ADK_TARGET_ABI_ILP32
  31. bool
  32. depends on ADK_TARGET_ARCH_RISCV32
  33. config ADK_TARGET_ABI_ILP32F
  34. bool
  35. depends on ADK_TARGET_ARCH_RISCV32
  36. config ADK_TARGET_ABI_ILP32D
  37. bool
  38. depends on ADK_TARGET_ARCH_RISCV32
  39. config ADK_TARGET_ABI_LP64
  40. bool
  41. depends on ADK_TARGET_ARCH_RISCV64
  42. config ADK_TARGET_ABI_LP64F
  43. bool
  44. depends on ADK_TARGET_ARCH_RISCV64
  45. config ADK_TARGET_ABI_LP64D
  46. bool
  47. depends on ADK_TARGET_ARCH_RISCV64
  48. config ADK_TARGET_ABI
  49. string
  50. default "o32" if ADK_TARGET_ABI_O32
  51. default "n32" if ADK_TARGET_ABI_N32
  52. default "n64" if ADK_TARGET_ABI_N64
  53. default "32" if ADK_TARGET_ABI_32
  54. default "x32" if ADK_TARGET_ABI_X32
  55. default "eabihf" if ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  56. default "eabi" if ADK_TARGET_ARCH_ARM
  57. default "windowed" if ADK_TARGET_ABI_WINDOWED
  58. default "call0" if ADK_TARGET_ABI_CALL0
  59. config ADK_TARGET_ABI_RISCV
  60. depends on ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64
  61. string
  62. default "lp64" if ADK_TARGET_ABI_LP64
  63. default "lp64f" if ADK_TARGET_ABI_LP64F
  64. default "lp64d" if ADK_TARGET_ABI_LP64D
  65. default "ilp32" if ADK_TARGET_ABI_ILP32
  66. default "ilp32f" if ADK_TARGET_ABI_ILP32F
  67. default "ilp32d" if ADK_TARGET_ABI_ILP32D
  68. config ADK_TARGET_ABI_MIPS64
  69. depends on ADK_TARGET_ARCH_MIPS64
  70. string
  71. default "32" if ADK_TARGET_ABI_O32
  72. default "n32" if ADK_TARGET_ABI_N32
  73. default "64" if ADK_TARGET_ABI_N64
  74. config ADK_TARGET_LIBC_PATH
  75. string
  76. default "lib32" if ADK_TARGET_ABI_N32 || ADK_TARGET_ARCH_RISC32
  77. default "libx32" if ADK_TARGET_ABI_X32
  78. default "lib64" if ADK_TARGET_ABI_64 || ADK_TARGET_ABI_N64 \
  79. || ADK_TARGET_ARCH_AARCH64 \
  80. || ADK_TARGET_ARCH_SPARC64 \
  81. || ADK_TARGET_ARCH_PPC64 \
  82. || ADK_TARGET_ARCH_RISC64 \
  83. || ADK_TARGET_ARCH_X86_64
  84. default "lib"
  85. config ADK_TARGET_ABI_CFLAGS
  86. string
  87. default "-mabi=32" if ADK_TARGET_ABI_O32
  88. default "-mabi=n32" if ADK_TARGET_ABI_N32
  89. default "-mabi=64" if ADK_TARGET_ABI_N64
  90. default "-m32" if ADK_TARGET_ABI_32
  91. default "-mx32" if ADK_TARGET_ABI_X32
  92. default "-m64" if ADK_TARGET_ABI_64
  93. default "-mabi=lp64" if ADK_TARGET_ABI_LP64
  94. default "-mabi=lp64f" if ADK_TARGET_ABI_LP64F
  95. default "-mabi=lp64d" if ADK_TARGET_ABI_LP64D
  96. default "-mabi=ilp32" if ADK_TARGET_ABI_ILP32
  97. default "-mabi=ilp32f" if ADK_TARGET_ABI_ILP32F
  98. default "-mabi=ilp32d" if ADK_TARGET_ABI_ILP32D