If I modify the configuration script to enable debug mode [1] and run the script with a relative build directory:
mkdir build
builddir=build ./configure
ninja TextMate
The build fails with an assertion:
2021-11-06 09:34:58.256923+0100 bl[34313:190611] ------------------------------------------------------------
ASSERTION FAILURE: b[0] == '/'
‘build/debug/_CreateBundlesArchive/Applications/TextMate/resources/Managed/Bundles/Apache.tmbundle’ - ‘build/debug/_CreateBundlesArchive/Applications/TextMate/resources/Managed’
------------------------------------------------------------
path::relative_to(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in bl) (
path.cc:0)
bundles_db::save_index(std::__1::vector<std::__1::shared_ptr<bundles_db::bundle_t>, std::__1::allocator<std::__1::shared_ptr<bundles_db::bundle_t> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in bl) (
updater.cc:420)
__wrap_dispatch_async_block_invoke (in libclang_rt.asan_osx_dynamic.dylib) + 203
_dispatch_call_block_and_release (in libdispatch.dylib) + 12
_dispatch_client_callout (in libdispatch.dylib) + 8
_dispatch_lane_serial_drain (in libdispatch.dylib) + 606
_dispatch_lane_invoke (in libdispatch.dylib) + 417
_dispatch_queue_override_invoke (in libdispatch.dylib) + 425
_dispatch_root_queue_drain (in libdispatch.dylib) + 326
_dispatch_worker_thread2 (in libdispatch.dylib) + 92
_pthread_wqthread (in libsystem_pthread.dylib) + 244
start_wqthread (in libsystem_pthread.dylib) + 15
Process 34313 exited with status = 1 (0x00000001)
(lldb) q
I release mode the build completes, I assume because assertions are disabled. If I run the configuration script in debug mode with a full build path the build completes as well:
builddir=$(pwd)/build ./configure