Config.in.abi 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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_MIPS64
  6. config ADK_TARGET_ABI_N32
  7. bool "N32 ABI"
  8. config ADK_TARGET_ABI_N64
  9. bool "N64 ABI"
  10. config ADK_TARGET_ABI_O32
  11. bool "O32 ABI"
  12. endchoice
  13. choice
  14. prompt "ABI"
  15. depends on ADK_TARGET_ARCH_X86_64 && \
  16. (ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_MUSL)
  17. config ADK_TARGET_ABI_64
  18. bool "64 Bit ABI"
  19. config ADK_TARGET_ABI_X32
  20. bool "x32 ABI"
  21. endchoice
  22. config ADK_TARGET_ABI_ILP32
  23. bool
  24. depends on ADK_TARGET_ARCH_RISCV32
  25. config ADK_TARGET_ABI_ILP32F
  26. bool
  27. depends on ADK_TARGET_ARCH_RISCV32
  28. config ADK_TARGET_ABI_ILP32D
  29. bool
  30. depends on ADK_TARGET_ARCH_RISCV32
  31. config ADK_TARGET_ABI_LP64
  32. bool
  33. depends on ADK_TARGET_ARCH_RISCV64
  34. config ADK_TARGET_ABI_LP64F
  35. bool
  36. depends on ADK_TARGET_ARCH_RISCV64
  37. config ADK_TARGET_ABI_LP64D
  38. bool
  39. depends on ADK_TARGET_ARCH_RISCV64
  40. config ADK_TARGET_ABI
  41. string
  42. default "o32" if ADK_TARGET_ABI_O32
  43. default "n32" if ADK_TARGET_ABI_N32
  44. default "n64" if ADK_TARGET_ABI_N64
  45. default "32" if ADK_TARGET_ABI_32
  46. default "x32" if ADK_TARGET_ABI_X32
  47. default "eabihf" if ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  48. default "eabi" if ADK_TARGET_ARCH_ARM
  49. config ADK_TARGET_ABI_RISCV
  50. depends on ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64
  51. string
  52. default "lp64" if ADK_TARGET_ABI_LP64
  53. default "lp64f" if ADK_TARGET_ABI_LP64F
  54. default "lp64d" if ADK_TARGET_ABI_LP64D
  55. default "ilp32" if ADK_TARGET_ABI_ILP32
  56. default "ilp32f" if ADK_TARGET_ABI_ILP32F
  57. default "ilp32d" if ADK_TARGET_ABI_ILP32D
  58. config ADK_TARGET_ABI_MIPS64
  59. depends on ADK_TARGET_ARCH_MIPS64
  60. string
  61. default "32" if ADK_TARGET_ABI_O32
  62. default "n32" if ADK_TARGET_ABI_N32
  63. default "64" if ADK_TARGET_ABI_N64
  64. config ADK_TARGET_LIBC_PATH
  65. string
  66. default "lib32" if ADK_TARGET_ABI_N32 || ADK_TARGET_ARCH_RISC32
  67. default "libx32" if ADK_TARGET_ABI_X32
  68. default "lib64" if ADK_TARGET_ABI_64 || ADK_TARGET_ABI_N64 \
  69. || ADK_TARGET_ARCH_AARCH64 \
  70. || ADK_TARGET_ARCH_SPARC64 \
  71. || ADK_TARGET_ARCH_PPC64 \
  72. || ADK_TARGET_ARCH_RISC64 \
  73. || ADK_TARGET_ARCH_X86_64
  74. default "lib"
  75. config ADK_TARGET_ABI_CFLAGS
  76. string
  77. default "-mabi=32" if ADK_TARGET_ABI_O32
  78. default "-mabi=n32" if ADK_TARGET_ABI_N32
  79. default "-mabi=64" if ADK_TARGET_ABI_N64
  80. default "-m32" if ADK_TARGET_ABI_32
  81. default "-mx32" if ADK_TARGET_ABI_X32
  82. default "-m64" if ADK_TARGET_ABI_64
  83. default "-mabi=lp64" if ADK_TARGET_ABI_LP64
  84. default "-mabi=lp64f" if ADK_TARGET_ABI_LP64F
  85. default "-mabi=lp64d" if ADK_TARGET_ABI_LP64D
  86. default "-mabi=ilp32" if ADK_TARGET_ABI_ILP32
  87. default "-mabi=ilp32f" if ADK_TARGET_ABI_ILP32F
  88. default "-mabi=ilp32d" if ADK_TARGET_ABI_ILP32D