# 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 hidden ; lib dl ; lib gcc_s ; lib Dbgeng ; lib ole32 ; local LIBBACKTRACE_PATH = [ modules.peek : LIBBACKTRACE_PATH ] ; lib backtrace : : $(LIBBACKTRACE_PATH)/lib static : : $(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 : : : backtrace : libbacktrace ; explicit libbacktrace ; mp-run-simple has_addr2line.cpp : : : : addr2line ; explicit addr2line ; mp-run-simple has_windbg.cpp : : : Dbgeng ole32 : WinDbg ; explicit WinDbg ; mp-run-simple has_windbg_cached.cpp : : : Dbgeng ole32 : WinDbgCached ; explicit WinDbgCached ; local libraries ; lib boost_stacktrace_noop : # sources ../src/noop.cpp : # requirements all shared:BOOST_STACKTRACE_DYN_LINK=1 : # default build : # usage-requirements #shared:BOOST_STACKTRACE_DYN_LINK=1 ; libraries += boost_stacktrace_noop ; lib boost_stacktrace_backtrace : # sources ../src/backtrace.cpp : # requirements all linux:dl backtrace shared:BOOST_STACKTRACE_DYN_LINK=1 [ check-target-builds ../build//libbacktrace : : no ] : # default build : # usage-requirements #shared:BOOST_STACKTRACE_DYN_LINK=1 ; libraries += boost_stacktrace_backtrace ; lib boost_stacktrace_addr2line : # sources ../src/addr2line.cpp : # requirements all linux:dl shared:BOOST_STACKTRACE_DYN_LINK=1 [ check-target-builds ../build//addr2line : : no ] : # default build : # usage-requirements #shared:BOOST_STACKTRACE_DYN_LINK=1 ; libraries += boost_stacktrace_addr2line ; lib boost_stacktrace_basic : # sources ../src/basic.cpp : # requirements all linux:dl shared:BOOST_STACKTRACE_DYN_LINK=1 [ check-target-builds ../build//WinDbg : no ] : # default build : # usage-requirements #shared:BOOST_STACKTRACE_DYN_LINK=1 ; libraries += boost_stacktrace_basic ; lib boost_stacktrace_windbg : # sources ../src/windbg.cpp : # requirements all Dbgeng ole32 shared:BOOST_STACKTRACE_DYN_LINK=1 [ check-target-builds ../build//WinDbg : : no ] : # default build : # usage-requirements #shared:BOOST_STACKTRACE_DYN_LINK=1 ; libraries += boost_stacktrace_windbg ; lib boost_stacktrace_windbg_cached : # sources ../src/windbg_cached.cpp : # requirements all Dbgeng ole32 shared:BOOST_STACKTRACE_DYN_LINK=1 [ check-target-builds ../build//WinDbgCached : : no ] : # default build : # usage-requirements #shared:BOOST_STACKTRACE_DYN_LINK=1 ; libraries += boost_stacktrace_windbg_cached ; boost-install $(libraries) ;