Work around deadlock when destroying J2KEncoder with a full writer queue (#2784).
[dcpomatic.git] / run / dcpomatic
index 43703fe68d0ee49d7119a7c358c208b0e18fda63..45f857ae2a9b695f0e6501c09baf2f46a676597e 100755 (executable)
@@ -1,15 +1,26 @@
 #!/bin/bash
 
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-build=$DIR/../build
-export LD_LIBRARY_PATH=$build/src/lib:$build/src/wx:$build/src/asdcplib/src:$LD_LIBRARY_PATH
-export DYLD_LIBRARY_PATH=$build/src/lib:$build/src/wx:$build/src/asdcplib/src:/Users/c.hetherington/osx-environment/64/lib
-export DCPOMATIC_GRAPHICS=$DIR/../graphics
-export DCPOMATIC_SHARE_PREFIX=.
+source $DIR/environment
 binary=$build/src/tools/dcpomatic2
+
+if [[ "$(uname -m)" == arm64 ]]; then
+    env=arm64/11.0
+else
+    env=x86_64/10.10
+fi
+
+export DYLD_LIBRARY_PATH=/Users/cah/osx-environment/$env/lib:/usr/local/lib
+
+# export ASAN_OPTIONS=verbosity=1:malloc_context_size=20:detect_leaks=1
+
 if [ "$1" == "--debug" ]; then
     shift
-    gdb --args $binary $*
+    if [[ "$(uname)" == Darwin ]]; then
+        /Applications/Xcode.app/Contents/Developer/usr/bin/lldb $binary $*
+    else
+        gdb --args $binary $*
+    fi
 elif [ "$1" == "--valgrind" ]; then
     shift
     valgrind --tool="memcheck" --suppressions=suppressions --track-fds=yes --show-leak-kinds=all --leak-check=full $binary $*
@@ -32,5 +43,5 @@ elif [ "$1" == "--screenshot" ]; then
     shift
     GTK_PATH=/usr/local/lib/gtk-3.0 GTK_MODULES=gtk-vector-screenshot $binary "$*"
 else
-    $binary $*
+    $binary $* 2> >(grep -v Gtk-CRITICAL | grep -v Gtk-WARNING)
 fi