summaryrefslogtreecommitdiff
path: root/wscript
AgeCommit message (Collapse)Author
2020-03-10Fix optimized mingw/gcc-8.2 buildsRobin Gareus
gcc-8.2 -O3 optimization enables -finline-functions. For reasons yet unknown this causes issues with Glib::Threads::Private when loading sessions (creating new ones is fine) and likely some other operations. Without this change the following happens (5.12 as well as current git) when loading an existing session: --- [Switching to Thread 6092.0x12fc] Breakpoint 1, ARDOUR::SessionEvent::create_per_thread_pool (name=..., nitems=4096) at ../libs/ardour/session_events.cc:60 60 in ../libs/ardour/session_events.cc $6 = (const std::__cxx11::string &) @0x210dfc60: {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x210dfc70 "GUI"}, _M_string_length = 3, {_M_local_buf = "GUI\000\000\000\000\000<E0>P<DA>:\000\000\000", _M_allocated_capacity = 4805959}} #0 ARDOUR::SessionEvent::create_per_thread_pool (name=..., nitems=4096) at ../libs/ardour/session_events.cc:60 #1 0x0000000000434e77 in ?? () [..] Thread 1 (Thread 6092.0x12fc): #0 0x0000000061f152ef in PBD::RingBuffer<void*>::write (this=this@entry=0x50, src=src@entry=0x210dcdc8, cnt=cnt@entry=1) at ../libs/pbd/pbd/ringbuffer.h:170 #1 0x0000000061ee954d in push (t=<optimized out>, this=0x0) at ../libs/pbd/pool.cc:290 #2 CrossThreadPool::flush_pending_with_ev (this=0x0, ptr=<optimized out>) at ../libs/pbd/pool.cc:254 #3 0x00000000218d5b01 in operator() (a0=0x210dcdc8, this=0x48) at /home/ardour/win-stack-w64/include/boost/function/function_template.hpp:682 #4 operator()<boost::function<void(ARDOUR::SessionEvent*)>, boost::_bi::list0> (a=<synthetic pointer>, f=..., this=0x68) at /home/ardour/win-stack-w64/include/boost/bind/bind.hpp:259 #5 operator() (this=0x48) at /home/ardour/win-stack-w64/include/boost/bind/bind.hpp:1294 #6 boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void (ARDOUR::SessionEvent*)>, boost::_bi::list1<boost::_bi::value<ARDOUR::SessionEvent*> > >, void>::invoke(boost::detail::function::function_buffer&) (function_obj_ptr=...) at /home/ardour/win-stack-w64/include/boost/function/function_template.hpp:159 #7 0x0000000063e2dc39 in operator() (this=0x210dcf70) at /home/ardour/win-stack-w64/include/boost/function/function_template.hpp:682 #8 AbstractUI<Gtkmm2ext::UIRequest>::call_slot(PBD::EventLoop::InvalidationRecord*, boost::function<void ()> const&) (this=0x3ada50e0, invalidation=0x0, f=...) at ../libs/pbd/pbd/abstract_ui.cc:434 #9 0x00000000216cbb96 in ARDOUR::SessionEventManager::merge_event (this=<optimized out>, ev=<optimized out>) at /home/ardour/win-stack-w64/include/boost/function/function_template.hpp:507 #10 0x00000000216e3861 in non-virtual thunk to ARDOUR::Session::queue_event(ARDOUR::SessionEvent*) () at ../../win-stack-w64/include/glibmm-2.4/glibmm/threads.h:709 #11 0x00000000216c91bf in ARDOUR::SessionEventManager::clear_events(ARDOUR::SessionEvent::Type, boost::function<void ()>) (this=this@entry=0x4256cc08, type=type@entry=ARDOUR::SessionEvent::Skip, after=...) at ../libs/ardour/session_events.cc:156 #12 0x000000002168874a in ARDOUR::Session::sync_locations_to_skips (this=this@entry=0x4256ca90) at /usr/lib/gcc/x86_64-w64-mingw32/8.3-posix/include/c++/new:169 #13 0x0000000021688802 in ARDOUR::Session::update_skips (this=this@entry=0x4256ca90, loc=loc@entry=0x0, consolidate=consolidate@entry=false) at ../libs/ardour/session.cc:1683 #14 0x0000000021699649 in _locations_changed (locations=..., this=0x4256ca90) at ../libs/ardour/session.cc:1859 #15 apply<ARDOUR::Session> (method= (void (ARDOUR::Session::*)(ARDOUR::Session * const, const ARDOUR::Locations::LocationList &)) 0x216994f0 <ARDOUR::Session::_locations_changed(std::__cxx11::list<ARDOUR::Location*, std::allocator<ARDOUR::Location*> > const&)>, obj=..., this=0x40ff4c60) at ../libs/ardour/ardour/location.h:240 #16 ARDOUR::Session::locations_changed (this=this@entry=0x4256ca90) at ../libs/ardour/session.cc:1840 #17 0x0000000021700abd in ARDOUR::Session::set_state (this=0x4256ca90, node=..., version=6000) at ../libs/ardour/session_state.cc:1657 #18 0x0000000021713456 in ARDOUR::Session::post_engine_init (this=this@entry=0x4256ca90) at ../libs/pbd/pbd/xml++.h:81 #19 0x00000000216ad5cd in ARDOUR::Session::Session (this=0x4256ca90, eng=..., fullpath=..., snapshot_name=..., bus_profile=<optimized out>, mix_template=...) at ../libs/ardour/session.cc:383 #20 0x000000000046db8b in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) --- Note that in the trace starting at #19 the source-file references are offset :post_engine_init() isn't in xml++.h (likely debug symbols are incorrect due to inline functions) The application crashes due to #2 ::flush_pending_with_ev (this=0x0 ..) But the earlier breakpoint above shows that the ThreadPool was created, and this #11 ::clear_events() should not assign NULL. (This happens on a single-core CPU, too)
2020-03-08Fix typo in f265bbbf82e9Robin Gareus
2020-03-08mingw/gcc-8.2 compat: _xgetbv() needs -mxsaveRobin Gareus
Otherwise this causes PBD::FPU to fail with error: inlining failed in call to always_inline ‘long long int _xgetbv(unsigned int)’
2020-03-08Fix for modern boost + updated buildstackRobin Gareus
Ardour's boost is not compiled --with-system, this causes issues with modern compilers (gcc 8.2) when linking.
2020-03-08NO-OP: whitespaceRobin Gareus
2020-03-06Remove debug messageRobin Gareus
2020-02-25Update boost-ptr debug patch for boost 1.67Robin Gareus
2020-02-23Amend 180843f9 - move scriptsRobin Gareus
2020-02-23Clean up top-level source treeRobin Gareus
Collect architecture independent data in 'share' subfolder. This also matches the install path
2020-01-26Fix configuration with gcc-9Robin Gareus
Libraries need to be specified in order as last argument, not as linkflag.
2020-01-25Tweaks to build/package scripts for new wafRobin Gareus
* Windows: delete waf installed .dll.a files * Windows: override waf's conf.env.LIBDIR = conf.env.BINDIR with explicit --libdir * Windows: fix asm (`x86_64-w64-mingw32-as` -D flag is for debug messages, -D defines are not available) * Mac: override waf adding -install_name (and -Wl,-compatibility_version -Wl,-current_version) by moving -dynamiclib from linkflags to ldflags * Mac: Allow libs with compat version number suffix (not needed anymore, but may help in the future)
2020-01-25Change waf/darwin default compiler to prefer gcc (if available)Robin Gareus
2020-01-25Towards waf python 2+3 supportDavid Runge
2019-12-07Add tsan option to trace data-racesRobin Gareus
2019-11-21Bump boost version requirementRobin Gareus
1.56 is needed for boost::optional::value_or
2019-10-19Use conf.fatal for fatal configuration errorsDavid Robillard
2019-10-19Fix Python3 incompatible syntaxDavid Robillard
2019-10-19Fix typoDavid Robillard
2019-10-02changes required to get build-stack to run on a Mojave VM.Paul Davis
2019-09-25goodbye USE_TRACKS_CODE_FEATURES and is_tracks_buildPaul Davis
2019-09-25Cleanup configuration stageRobin Gareus
* use print() only for errors * use write_config_text() for normal operation * fail if lld was requested, but not found
2019-09-24add configure-time option to use lld as the linker (on linux)Paul Davis
this cuts about 15 seconds off the total linker time on a 16 core ryzen threadripper
2019-09-19remove compiler flags required only by boost::msm and a large transition tablePaul Davis
2019-09-17add finite state machine to control/manage transport statePaul Davis
2019-09-09Report whether arlua is being builtRobin Gareus
2019-09-02Include vamp-pyinRobin Gareus
In preparation for captainMorgan's pitch analysis script.
2019-08-17Remove explicit pulse version check (debian/wheezy builds)Robin Gareus
2019-07-25Puls der ZeitRobin Gareus
Prototype a basic stereo-playback only pulseaudio backend.
2019-04-09Unify build-system customization (Ardour/Mixbus)Robin Gareus
2019-01-02remove dangling --lv2 waf configure optionPaul Davis
2018-12-28remove configure-time --no-lv2 option. LV2 is integral to what we doPaul Davis
2018-10-20Add upstream libzita-convolver 4.0.3Robin Gareus
2018-09-21Fix --no-nls (1/5): ENABLE_NLS = 1/0 configRobin Gareus
system-wide gettext uses `#if ENABLE_NLS`, not #ifdef
2018-09-19AppData: 'revision' in revision.cc is expected in the 2nd lineGuido Aulisi
Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2018-09-19generate revision.cc with one item per lineNils Philippsen
2018-09-19AppData release tags need a date to be validNils Philippsen
Or a timestamp, but that's deprecated. Create it from the last commit, store it in/retrieve it from revision.cc and substitute it in the template. https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-releases
2018-05-12First draft of a-expanderJohannes Mueller
2018-01-30Add factory plugin tags + favoritesRobin Gareus
2018-01-28Adds support for building in Mac OS High SierraChris Dennis
2017-10-21Detected boost using a compile-time check (works w/x-compile)Robin Gareus
2017-09-24part two of initial libtemporal creationPaul Davis
2017-09-20Fix buildstack revision reportRobin Gareus
2017-09-19Fix buildstack reportRobin Gareus
2017-09-18Don't build ni-maschine support by defaultRobin Gareus
While the pads work, overall integration is still not present, mainly because the device does not lend itself for editing & mixing in a DAW environment.
2017-09-16Add libzita-resampler as libRobin Gareus
This simplifies x-compiling and x-platform builds as well allows to statically link, if needed.
2017-09-03Fix the Unicode workaround in wscriptJulien "_FrnchFrgg_" RIVAUD
The previous code was supposed to ensure VERSION and PROGRAM_VERSION were *not* Unicode objects since though they are the correct type to represent strings in Python 2, too many libraries have strange issues dealing with them, and UnicodeErrors can creep in with implicit conversions from/to Unicode objects. But in fact it did exactly the contrary since str.decode() always returns Unicode objects, whose type corresponds to the str class in Python 3. Fix it so that in both Python 2 and 3 the constants are eventually instances of str.
2017-08-24fix waf template installRobin Gareus
2017-08-23Deploy Session-templatesRobin Gareus
2017-08-05full integration of beatbox test app into ardour tree+build systemPaul Davis
Plus a few attempts at catching note on/off quantization stuff
2017-07-17Purify libcanvas, remove libardour dependencyRobin Gareus
A canvas is just a canvas. Move WaveView into its own library.