Try to use backtrace.
authorCarl Hetherington <cth@carlh.net>
Mon, 3 Feb 2020 22:27:27 +0000 (23:27 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 3 Feb 2020 22:27:27 +0000 (23:27 +0100)
src/tools/wscript
test/wscript
wscript

index ad8d00c256ec897374daf1539b330fea90b2792f..664006f3b0340d586f5cb30c934bd68b36955943 100644 (file)
@@ -33,10 +33,10 @@ def build(bld):
     uselib += 'SNDFILE SAMPLERATE BOOST_REGEX ICU NETTLE RTAUDIO PNG '
 
     if bld.env.TARGET_WINDOWS:
-        uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE WINSOCK2 OLE32 DSOUND WINMM KSUSER '
+        uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE WINSOCK2 OLE32 DSOUND WINMM KSUSER BACKTRACE DL '
 
     if bld.env.TARGET_LINUX:
-        uselib += 'DL'
+        uselib += 'BACKTRACE DL '
 
     cli_tools = []
     if bld.env.VARIANT == 'swaroop-theater':
index 71990c9277a4e5f23f14b8499885c8e8a5ebb1d7..6c98948b170d8accc383f1f3bd3e8cd885c60707 100644 (file)
@@ -38,9 +38,9 @@ def build(bld):
     obj.uselib =  'BOOST_TEST BOOST_THREAD BOOST_FILESYSTEM BOOST_DATETIME SNDFILE SAMPLERATE DCP FONTCONFIG CAIROMM PANGOMM XMLPP '
     obj.uselib += 'AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE SWRESAMPLE POSTPROC CXML SUB GLIB CURL SSH XMLSEC BOOST_REGEX ICU NETTLE MAGICK PNG '
     if bld.env.TARGET_WINDOWS:
-        obj.uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE '
+        obj.uselib += 'WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE BACKTRACE DL '
     if bld.env.TARGET_LINUX:
-        obj.uselib += 'DL '
+        obj.uselib += 'BACKTRACE DL '
     obj.use    = 'libdcpomatic2'
     obj.source = """
                  4k_test.cc
diff --git a/wscript b/wscript
index 74bccdb2278a1551349eef4e6170553d0f68b81a..108e011621216182d2f6251f7e275f49c4e8d63b 100644 (file)
--- a/wscript
+++ b/wscript
@@ -181,6 +181,9 @@ def configure(conf):
                                libpath='/usr/local/lib',
                                lib=['boost_locale%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix],
                                uselib_store='BOOST_LOCALE')
+        conf.env.append_value('CXXFLAGS', ['-DBOOST_STACKTRACE_LINK', '-DBOOST_STACKTRACE_USE_BACKTRACE'])
+        conf.check(lib='dl', uselib_store='DL', msg="Checking for library dl")
+        conf.check(lib='backtrace', uselib_store='BACKTRACE', msg="Checking for library backtrace")
 
     # POSIX
     if conf.env.TARGET_LINUX or conf.env.TARGET_OSX:
@@ -196,7 +199,9 @@ def configure(conf):
         conf.env.append_value('CXXFLAGS', '-DLINUX_SHARE_PREFIX="%s/share/dcpomatic2"' % conf.env['INSTALL_PREFIX'])
         conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_LINUX')
         conf.env.append_value('CXXFLAGS', ['-Wlogical-op', '-Wcast-align'])
+        conf.env.append_value('CXXFLAGS', '-DBOOST_STACKTRACE_USE_BACKTRACE')
         conf.check(lib='dl', uselib_store='DL', msg="Checking for library dl")
+        conf.check(lib='backtrace', uselib_store='BACKTRACE', msg="Checking for library backtrace")
         if not conf.env.DISABLE_GUI:
             conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='GTK', mandatory=True)