1 # Copyright (C) 2016-2017, Antony Polukhin.
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)
11 <target-os>linux:<cxxflags>"-fvisibility=hidden"
20 local LIBBACKTRACE_PATH = [ modules.peek : LIBBACKTRACE_PATH ] ;
23 : <search>$(LIBBACKTRACE_PATH)/lib <link>static
25 : <include>$(LIBBACKTRACE_PATH)/include
28 actions mp_simple_run_action
33 rule mp-run-simple ( sources + : args * : input-files * : requirements * : target-name )
35 exe $(target-name)_exe : $(sources) : $(requirements) ;
36 explicit $(target-name)_exe ;
37 make $(target-name).output : $(target-name)_exe : @mp_simple_run_action ;
38 explicit $(target-name).output ;
39 alias $(target-name) : $(target-name).output ;
42 mp-run-simple has_backtrace.cpp : : : <library>backtrace : libbacktrace ;
43 explicit libbacktrace ;
45 mp-run-simple has_addr2line.cpp : : : : addr2line ;
48 mp-run-simple has_windbg.cpp : : : <library>Dbgeng <library>ole32 : WinDbg ;
51 mp-run-simple has_windbg_cached.cpp : : : <library>Dbgeng <library>ole32 : WinDbgCached ;
52 explicit WinDbgCached ;
54 lib boost_stacktrace_noop
59 <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
61 : # usage-requirements
62 #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
65 boost-install boost_stacktrace_noop ;
67 lib boost_stacktrace_backtrace
72 <target-os>linux:<library>dl
74 <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
75 [ check-target-builds ../build//libbacktrace : : <build>no ]
77 : # usage-requirements
78 #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
81 boost-install boost_stacktrace_backtrace ;
83 lib boost_stacktrace_addr2line
88 <target-os>linux:<library>dl
89 <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
90 [ check-target-builds ../build//addr2line : : <build>no ]
92 : # usage-requirements
93 #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
96 boost-install boost_stacktrace_addr2line ;
98 lib boost_stacktrace_basic
103 <target-os>linux:<library>dl
104 <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
105 [ check-target-builds ../build//WinDbg : <build>no ]
107 : # usage-requirements
108 #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
111 boost-install boost_stacktrace_basic ;
113 lib boost_stacktrace_windbg
118 <library>Dbgeng <library>ole32
119 <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
120 [ check-target-builds ../build//WinDbg : : <build>no ]
122 : # usage-requirements
123 #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
126 boost-install boost_stacktrace_windbg ;
128 lib boost_stacktrace_windbg_cached
130 ../src/windbg_cached.cpp
133 <library>Dbgeng <library>ole32
134 <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
135 [ check-target-builds ../build//WinDbgCached : : <build>no ]
137 : # usage-requirements
138 #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
141 boost-install boost_stacktrace_windbg_cached ;