13
0
Commit Graph

679 Commits

Author SHA1 Message Date
2d0f472af5 Consolidate macOS version parser 2024-10-15 00:57:10 +02:00
3171eb5aa1
C++17 requires macOS 10.13 or later 2024-10-15 00:35:50 +02:00
0357c12fcc Really fix compiler warnings for clang < v15
see also 57a6773833
2024-09-26 01:31:25 +02:00
57a6773833
Check compiler version to set compiler warning options
This cleans up nightly build log (clang 13) and allows
clean compiler output on dev systems (clang 16).
2024-09-18 15:27:37 +02:00
09e9d7781b
Add build support for macOS/Sonoma
At some point in the not-too-distant-future we need
to simplify this and simply require Mojave/XCode 10 or later.
2024-09-17 00:01:51 +02:00
9f438aa773
Add workaround to compile w/c++17 and old boost on macOS
This can be removed once the buildstack has been updated to
use recent boost.
2024-09-15 00:19:26 +02:00
e299635511
Allow to explicitly request C++11/17 2024-09-15 00:14:51 +02:00
0ed82d2f50
Add C++17 option to force compiles to use std=cxx17 2024-09-14 16:08:58 +02:00
961cf955d2
Hide warnings caused by glibmm/helperlist.h declutter build log 2024-08-19 00:22:38 +02:00
afb519cd84
Bump required boost version to 1.68 (for optional::has_value) 2024-05-15 18:50:17 +02:00
2af2df3516
Raise the butler's I/O priority
This likely won't make much difference on modern systems,
since it requires a kernel based I/O scheduler. which is
disabled (set to "none" for NVMe and SSDs).
2024-04-29 21:46:06 +02:00
GianfrancoCostamagna
338cd09a4a
Work around itstools bug #9648
Forwarded from debian.
Having stderr output inside the returned command tricks the system
to fail in detecting the version.
Ignoring stderr output looks fine to make it build properly:

```
itstool --version
/usr/bin/itstool:239: SyntaxWarning: invalid escape sequence '\s'
  if re.sub('\s+', ' ', text).strip() != '':
/usr/bin/itstool:337: SyntaxWarning: invalid escape sequence '\s'
  message = re.sub('\s+', ' ', message).strip()
/usr/bin/itstool:475: SyntaxWarning: invalid escape sequence '\s'
  return re.sub('\s+', ' ', self.locnote).strip()
/usr/bin/itstool:477: SyntaxWarning: invalid escape sequence '\s'
  return '(itstool) link: ' + re.sub('\s+', ' ', self.locnoteref).strip()
/usr/bin/itstool:891: SyntaxWarning: invalid escape sequence '\<'
  regex = re.compile('(.*) \<(.*)\>, (.*)')
/usr/bin/itstool:926: SyntaxWarning: invalid escape sequence '\s'
  if re.sub('\s+', '', prevtext) == '':
/usr/bin/itstool:1452: SyntaxWarning: invalid escape sequence '\.'
  _locale_pattern = re.compile('([a-zA-Z0-9-]+)(_[A-Za-z0-9]+)?(@[A-Za-z0-9]+)?(\.[A-Za-z0-9]+)?')
itstool 2.0.6
```
2024-03-04 14:27:23 +01:00
572a8b9cf8
Use G_ENABLE_DEBUG with default debug builds 2024-02-24 04:17:47 +01:00
85e361044b
Add option to enable G/YTK debug 2024-02-22 23:54:28 +01:00
1117f8d6cc
Always built at least the dummy backend
It is required by AAF import, various session-utils, unit-tests,
and it is generally useful for testing.
2024-02-18 16:43:10 +01:00
ad51c7c2ba
Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
c7772c220e
Vapor: Bootstrap Atmosphere plugin 2024-01-06 20:21:13 +01:00
49256a37e8
NO-OP: clarify source-tree structure 2024-01-06 14:23:47 +01:00
e3128e932c
Compile and install libAAF 2023-11-27 23:25:04 +01:00
282be3d459
Nobody cares about GLIB_2_64 anymore 2023-11-25 13:08:12 +01:00
Nils Philippsen
a33514e270 Make option to disable VST3 support consistent
Previously, the option was called "--vst3", yet disabled building
support for VST3 plugins (as described in the help string).

Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2023-11-17 22:23:58 +01:00
c7eb410d0b Make Xcode output readable again 2023-10-27 15:12:49 +02:00
3ce2cf937e
Revert "wscript: drop unnecessary str() on configure variables"
This reverts commit 615326be9b because it
breaks windows builds.

```
File "/home/ardour/ardour-w64/wscript", line 1462, in configure
  set_compiler_flags (conf, Options.options)
File "/home/ardour/ardour-w64/wscript", line 522, in set_compiler_flags
  if re.search ('x86_64-w64', conf.env['CC']) is not None:
File "/usr/lib/python2.7/re.py", line 146, in search
  return _compile(pattern, flags).search(string)
TypeError: expected string or buffer
```
2023-10-16 21:15:25 +02:00
Mads Kiilerich
2973e82a90 wscript: sanitize strings from fetch_*_revision_date early instead of applying str() all over
This can perhaps be simplified further when Python2 support is dropped.
2023-10-15 10:47:16 -06:00
Mads Kiilerich
615326be9b wscript: drop unnecessary str() on configure variables
CC is already set to a string. (And if it ever should be None, we want
to handle that explicitly.)

(And #autowaf.display_msg handle Booleans just fine.)
2023-10-15 10:47:16 -06:00
Mads Kiilerich
2bb311f99b wscript: don't add pointless -DHAVE_X for each mandatory subdir
The sub_config_and_use function recursed, but it also invoked
autowaf.set_local_lib , which however didn't do anything useful. The
HAVE_ defines are not used anywhere, and the AUTOWAF_LOCAL defines are
only used in autowaf.use_lib, which however isn't used anywhere.

Dropping these defines simplify the build environment and makes the
compiler command line half as long and thus makes debugging much more
manageable.
2023-10-15 10:47:16 -06:00
Mads Kiilerich
e1b9c8c4d9 wscript: handle libs/clearlooks-newer like all other children
Put it in the "children" list instead of recursing explicitly.

The only difference is that the (empty) options function in
libs/clearlooks-newer/wscript now will be invoked - before it wasn't.
2023-10-15 10:47:16 -06:00
0be8456d0d Add support for MacOS 14 (Sonoma) 2023-09-27 04:15:41 +02:00
e40000e90c
MacOS/Intel build compat with OS 10.11 2023-09-23 14:10:54 +02:00
Mads Kiilerich
2e367de4f0 wscript: drop unused imports, manual
Manual fix of pyflake warnings:
libs/ardour/wscript:3:1 'waflib.Tools' imported but unused
wscript:9:1 'waflib.Build.Context' imported but unused
2023-09-17 07:34:55 -06:00
Mads Kiilerich
7737c17d52 wscript: drop unused imports, scripted
Done with ad hoc scripting hacks processing unused imports found by pyflakes:

for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Logs.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^import waflib.Logs as Logs,/import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/import waflib.Options as Options, /import /g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^from waflib import Options,/from waflib import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep ' imported but unused$' | sed "s/^\([^:]*\):[0-9]*:[0-9]* '\(.*\)'.*/\1 \2/g" | while read f lib; do sed -i "/^import $lib$/d" $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import Options$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.TaskGen.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import TaskGen$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Task.Task.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Task import Task$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Tools.winres.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Tools import winres$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Utils.* but unused' | cut -d: -f1 | while read f; do sed -i '/^import waflib.Utils as Utils$/d' $f; done
2023-09-17 07:34:55 -06:00
dd4e5dfc96
Build-system: remove duplicate dis/en/able options
e.g. we had both --vst3 (default) and --no-vst3.
A user could specify both, which is confusing.
2023-08-21 19:25:26 +02:00
Mads Kiilerich
c86c444157 wscript: fix regexp escaping with the more strict Python 3.12
Previous Python versions allowed sloppy escaping. Python 3.12 will issue
SyntaxWarning like:
  wscript:1114: SyntaxWarning: invalid escape sequence '\.'

Use raw strings to pass the \ through Python syntax and down/up to
Regexp syntax.
2023-07-25 19:38:09 +02:00
5a17ca56ea
Clarify boost check
Boost may not be "too old", but simply not present.
2023-06-02 21:31:36 +02:00
97272481b8
CPM: Activate hotplugged libusb ctrl-surface 2023-05-04 00:20:31 +02:00
4bc8939dda
Update bundle/package scripts
* Ardour only has 64 bit builds
* gcc5 or newer (C++11 ABI)
* Add "-demo" suffix to freebie builds
* Remove wine support in package scripts
2023-03-24 19:07:30 +01:00
fbb175df4e
Enable avx512f support for windows builds 2023-02-06 21:36:09 +01:00
7d2dc35fca
Fix AVX512 detection
Older compilers (gcc-6) feature _mm512_fmadd_ps but lack
macro pseudo functions _mm.*_reduce_(min|max)_ps and _mm.*_abs_ps
2023-02-05 16:14:49 +01:00
bb029560d1
Clarify "ptformat" 2023-02-04 23:52:25 +01:00
Ayan Shafqat
99d6a4c709
Update wscript for AVX512F support
Accurately determine if AVX512F has been supported by the compiler
2023-02-04 23:07:17 +01:00
Ayan Shafqat
6b766e41f4
Integrate AVX512F support into Ardour
The current implementation is just a stub of AVX and is not
utilizing AVX512F.
2023-02-04 23:07:17 +01:00
cb3f8170ad Always use image surface on macOS
Thissignificantly improves drawing performance.
2023-02-04 22:24:16 +01:00
1736b1d424
Avoid .sh file extension 2022-12-03 15:03:44 +01:00
c53b19c039
Add zeroconf/mdns support 2022-12-02 17:32:11 +01:00
2f68e0df5b
Remove unused define CANVAS_COMPATIBILITY (3/3) 2022-11-19 21:49:32 +01:00
d521c2ede6
src-tree cleanup: separate surfaces from libraries
libardourcp and now libardour_midisurface are not control
surfaces, but helper libraries for those.
They need to be deployed to the library folder (shared between
ctrl surfaces) and not scanned as ctrl surfaces at runtime.
2022-11-19 00:09:17 +01:00
Mads Kiilerich
e1e8207486
configure: consistently use capitalization of help texts 2022-11-04 19:20:19 +01:00
Mads Kiilerich
8e7ef0d42c
PulseAudio: use correct casing
This will also change the internal backend name, so it will miss the
previous 'config' setting '<State backend="Pulseaudio" ...'` and the
session file's '<EngineHints backend="Pulseaudio" ...'. But that is no
big deal after upgrading. Especially after the backend has been broken
for some users for a while.
2022-11-04 13:44:55 +01:00
6904a86576 Allow to compile on macOS ventura 2022-10-25 03:34:14 +02:00
ae6bf4bc7d
Deploy LRDF presets (if any) 2022-10-11 17:07:33 +02:00