123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- # Copyright (C) 2016-2019, Antony Polukhin.
- #
- # Use, modification and distribution is subject to the Boost Software License,
- # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- # http://www.boost.org/LICENSE_1_0.txt)
- #
- project
- : source-location .
- : requirements
- <visibility>hidden
- ;
- lib dl ;
- lib gcc_s ;
- lib Dbgeng ;
- lib ole32 ;
- local LIBBACKTRACE_PATH = [ modules.peek : LIBBACKTRACE_PATH ] ;
- lib backtrace
- :
- : <search>$(LIBBACKTRACE_PATH)/lib <link>static
- :
- : <include>$(LIBBACKTRACE_PATH)/include
- ;
- actions mp_simple_run_action
- {
- $(>) > $(<)
- }
- rule mp-run-simple ( sources + : args * : input-files * : requirements * : target-name )
- {
- exe $(target-name)_exe : $(sources) : $(requirements) ;
- explicit $(target-name)_exe ;
- make $(target-name).output : $(target-name)_exe : @mp_simple_run_action ;
- explicit $(target-name).output ;
- alias $(target-name) : $(target-name).output ;
- }
- mp-run-simple has_backtrace.cpp : : : <library>backtrace : libbacktrace ;
- explicit libbacktrace ;
- mp-run-simple has_addr2line.cpp : : : : addr2line ;
- explicit addr2line ;
- mp-run-simple has_windbg.cpp : : : <library>Dbgeng <library>ole32 : WinDbg ;
- explicit WinDbg ;
- mp-run-simple has_windbg_cached.cpp : : : <library>Dbgeng <library>ole32 : WinDbgCached ;
- explicit WinDbgCached ;
- local libraries ;
- lib boost_stacktrace_noop
- : # sources
- ../src/noop.cpp
- : # requirements
- <warnings>all
- <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- : # default build
- : # usage-requirements
- #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- ;
- libraries += boost_stacktrace_noop ;
- lib boost_stacktrace_backtrace
- : # sources
- ../src/backtrace.cpp
- : # requirements
- <warnings>all
- <target-os>linux:<library>dl
- <library>backtrace
- <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- [ check-target-builds ../build//libbacktrace : : <build>no ]
- : # default build
- : # usage-requirements
- #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- ;
- libraries += boost_stacktrace_backtrace ;
- lib boost_stacktrace_addr2line
- : # sources
- ../src/addr2line.cpp
- : # requirements
- <warnings>all
- <target-os>linux:<library>dl
- <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- [ check-target-builds ../build//addr2line : : <build>no ]
- : # default build
- : # usage-requirements
- #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- ;
- libraries += boost_stacktrace_addr2line ;
- lib boost_stacktrace_basic
- : # sources
- ../src/basic.cpp
- : # requirements
- <warnings>all
- <target-os>linux:<library>dl
- <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- [ check-target-builds ../build//WinDbg : <build>no ]
- : # default build
- : # usage-requirements
- #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- ;
- libraries += boost_stacktrace_basic ;
- lib boost_stacktrace_windbg
- : # sources
- ../src/windbg.cpp
- : # requirements
- <warnings>all
- <library>Dbgeng <library>ole32
- <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- [ check-target-builds ../build//WinDbg : : <build>no ]
- : # default build
- : # usage-requirements
- #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- ;
- libraries += boost_stacktrace_windbg ;
- lib boost_stacktrace_windbg_cached
- : # sources
- ../src/windbg_cached.cpp
- : # requirements
- <warnings>all
- <library>Dbgeng <library>ole32
- <link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- [ check-target-builds ../build//WinDbgCached : : <build>no ]
- : # default build
- : # usage-requirements
- #<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
- ;
- libraries += boost_stacktrace_windbg_cached ;
- boost-install $(libraries) ;
|