Jamfile.v2 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. # Copyright (C) 2016-2019, Antony Polukhin.
  2. #
  3. # Use, modification and distribution is subject to the Boost Software License,
  4. # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  5. # http://www.boost.org/LICENSE_1_0.txt)
  6. #
  7. project
  8. : source-location .
  9. : requirements
  10. <visibility>hidden
  11. ;
  12. lib dl ;
  13. lib gcc_s ;
  14. lib Dbgeng ;
  15. lib ole32 ;
  16. local LIBBACKTRACE_PATH = [ modules.peek : LIBBACKTRACE_PATH ] ;
  17. lib backtrace
  18. :
  19. : <search>$(LIBBACKTRACE_PATH)/lib <link>static
  20. :
  21. : <include>$(LIBBACKTRACE_PATH)/include
  22. ;
  23. actions mp_simple_run_action
  24. {
  25. $(>) > $(<)
  26. }
  27. rule mp-run-simple ( sources + : args * : input-files * : requirements * : target-name )
  28. {
  29. exe $(target-name)_exe : $(sources) : $(requirements) ;
  30. explicit $(target-name)_exe ;
  31. make $(target-name).output : $(target-name)_exe : @mp_simple_run_action ;
  32. explicit $(target-name).output ;
  33. alias $(target-name) : $(target-name).output ;
  34. }
  35. mp-run-simple has_backtrace.cpp : : : <library>backtrace : libbacktrace ;
  36. explicit libbacktrace ;
  37. mp-run-simple has_addr2line.cpp : : : : addr2line ;
  38. explicit addr2line ;
  39. mp-run-simple has_windbg.cpp : : : <library>Dbgeng <library>ole32 : WinDbg ;
  40. explicit WinDbg ;
  41. mp-run-simple has_windbg_cached.cpp : : : <library>Dbgeng <library>ole32 : WinDbgCached ;
  42. explicit WinDbgCached ;
  43. local libraries ;
  44. lib boost_stacktrace_noop
  45. : # sources
  46. ../src/noop.cpp
  47. : # requirements
  48. <warnings>all
  49. <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  50. : # default build
  51. : # usage-requirements
  52. #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  53. ;
  54. libraries += boost_stacktrace_noop ;
  55. lib boost_stacktrace_backtrace
  56. : # sources
  57. ../src/backtrace.cpp
  58. : # requirements
  59. <warnings>all
  60. <target-os>linux:<library>dl
  61. <library>backtrace
  62. <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  63. [ check-target-builds ../build//libbacktrace : : <build>no ]
  64. : # default build
  65. : # usage-requirements
  66. #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  67. ;
  68. libraries += boost_stacktrace_backtrace ;
  69. lib boost_stacktrace_addr2line
  70. : # sources
  71. ../src/addr2line.cpp
  72. : # requirements
  73. <warnings>all
  74. <target-os>linux:<library>dl
  75. <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  76. [ check-target-builds ../build//addr2line : : <build>no ]
  77. : # default build
  78. : # usage-requirements
  79. #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  80. ;
  81. libraries += boost_stacktrace_addr2line ;
  82. lib boost_stacktrace_basic
  83. : # sources
  84. ../src/basic.cpp
  85. : # requirements
  86. <warnings>all
  87. <target-os>linux:<library>dl
  88. <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  89. [ check-target-builds ../build//WinDbg : <build>no ]
  90. : # default build
  91. : # usage-requirements
  92. #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  93. ;
  94. libraries += boost_stacktrace_basic ;
  95. lib boost_stacktrace_windbg
  96. : # sources
  97. ../src/windbg.cpp
  98. : # requirements
  99. <warnings>all
  100. <library>Dbgeng <library>ole32
  101. <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  102. [ check-target-builds ../build//WinDbg : : <build>no ]
  103. : # default build
  104. : # usage-requirements
  105. #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  106. ;
  107. libraries += boost_stacktrace_windbg ;
  108. lib boost_stacktrace_windbg_cached
  109. : # sources
  110. ../src/windbg_cached.cpp
  111. : # requirements
  112. <warnings>all
  113. <library>Dbgeng <library>ole32
  114. <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  115. [ check-target-builds ../build//WinDbgCached : : <build>no ]
  116. : # default build
  117. : # usage-requirements
  118. #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
  119. ;
  120. libraries += boost_stacktrace_windbg_cached ;
  121. boost-install $(libraries) ;