summaryrefslogtreecommitdiff
path: root/wscript
AgeCommit message (Collapse)Author
2020-05-12GNU libc 2.31 compatibility part twoRobin Gareus
This fixes underlinking against -lm and reverts the prior workaround 83cd796a474f746.
2020-04-25Recognize dist, distcheck better to set app nameNils Philippsen
Previously, `dist` had to be the first argument to waf. If it came in a different position (e.g. `APPNAME=Ardour ./waf tarball dist`) or `distcheck` was used instead of `dist`, the resulting archive was named `noname-....tar.bz2`. Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2020-04-09Update waf scriptsLuciano Iam
2020-03-30GNU libc 2.31 compatibilityRobin Gareus
Optimized builds of Ardour use various _finite math methods (due to -ffast-math). Those functions have apparently been removed, and replaced with macros and are no longer available in libm/libc++. see also https://discourse.ardour.org/t/a-eq-and-a-comp-fail-on-manjaro-xfce/103122 https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00001.html
2020-03-28Automatic backend selection, and fix backend option parsingRobin Gareus
python ''.split(',') returns an array with an empty string, it does not evaluate to false.
2020-03-26Source-tree consistency (headless tools at top-level)Robin Gareus
This move ardour-lua session tool to top-level, next to headless/hardev.
2020-03-26Add support for NetBSD by generalizing BSD OS tests.nia
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