ya.make 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # Generated by devtools/yamaker.
  2. LIBRARY()
  3. WITHOUT_LICENSE_TEXTS()
  4. VERSION(1.87.0)
  5. ORIGINAL_SOURCE(https://github.com/boostorg/context/archive/boost-1.87.0.tar.gz)
  6. LICENSE(BSL-1.0)
  7. PEERDIR(
  8. contrib/restricted/boost/context/impl_common
  9. )
  10. NO_COMPILER_WARNINGS()
  11. NO_UTIL()
  12. IF (OS_WINDOWS)
  13. IF (DYNAMIC_BOOST)
  14. MASMFLAGS(/DBOOST_CONTEXT_EXPORT=EXPORT)
  15. ELSE()
  16. MASMFLAGS(/DBOOST_CONTEXT_EXPORT=)
  17. ENDIF()
  18. ENDIF()
  19. SRCDIR(contrib/restricted/boost/context)
  20. IF (OS_WINDOWS AND ARCH_I386)
  21. MASMFLAGS(/safeseh)
  22. ENDIF()
  23. IF (ARCH_I386)
  24. SET(FCONTEXT_ARCH "i386")
  25. ELSEIF (ARCH_X86_64)
  26. SET(FCONTEXT_ARCH "x86_64")
  27. ELSEIF (ARCH_ARM64)
  28. SET(FCONTEXT_ARCH "arm64")
  29. ELSEIF (ARCH_ARM)
  30. SET(FCONTEXT_ARCH "arm")
  31. ENDIF()
  32. IF (OS_WINDOWS)
  33. SET(FCONTEXT_ABI ms)
  34. ELSEIF (ARCH_ARM64 OR ARCH_ARM)
  35. SET(FCONTEXT_ABI aapcs)
  36. ELSE(OS_LINUX OR OS_ANDROID)
  37. SET(FCONTEXT_ABI sysv)
  38. ENDIF()
  39. IF (OS_DARWIN OR OS_IOS)
  40. SET(FCONTEXT_FMT macho)
  41. SET(FCONTEXT_SUF gas.S)
  42. ELSEIF (OS_LINUX OR OS_ANDROID)
  43. SET(FCONTEXT_FMT elf)
  44. SET(FCONTEXT_SUF gas.S)
  45. ELSEIF (OS_WINDOWS AND ARCH_ARM64)
  46. SET(FCONTEXT_FMT pe)
  47. SET(FCONTEXT_SUF asmasm.masm)
  48. ELSEIF (OS_WINDOWS)
  49. SET(FCONTEXT_FMT pe)
  50. SET(FCONTEXT_SUF masm.masm)
  51. ENDIF()
  52. SRCS(
  53. src/asm/make_${FCONTEXT_ARCH}_${FCONTEXT_ABI}_${FCONTEXT_FMT}_${FCONTEXT_SUF}
  54. src/asm/jump_${FCONTEXT_ARCH}_${FCONTEXT_ABI}_${FCONTEXT_FMT}_${FCONTEXT_SUF}
  55. src/asm/ontop_${FCONTEXT_ARCH}_${FCONTEXT_ABI}_${FCONTEXT_FMT}_${FCONTEXT_SUF}
  56. src/fcontext.cpp
  57. )
  58. END()