13
0
Commit Graph

652 Commits

Author SHA1 Message Date
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
ddec1a9a98 Silence some clang warnings 2022-10-07 00:31:48 +02:00
80ef73f48b Py3 compatible build-stack version parser 2022-09-14 00:05:43 +02:00
a009307a3d
Detect rubberband 3.0.0 2022-09-13 06:44:20 +02:00
076ad9a9b6
NO-OP: simplify wscript 2022-08-02 00:22:44 +02:00
f18803e19f fix boost warnings when *not* using --cxx11
Ultimately we should probably move to std::bind and std::placeholders
2022-07-29 09:42:18 -06:00
60db5a827f
Use SYS_futex instead of __NR_futex
Use the C library definition for portability; also test
for support instead of unconditionally enabling it.
2022-05-30 21:56:49 +02:00
cfe2ca9bf2 add configure-time check for __int128 support in the compiler 2022-05-27 12:47:44 -06:00
c7150e81b0
Fix waf dist (create stored version file, set global vars) 2022-05-19 02:45:28 +02:00
6f7adbda59
Do not invoke git when installing a build (amend f935324) 2022-05-17 17:49:03 +02:00
f849f3ce2c
Use futex semaphores on Linux only 2022-05-12 00:56:33 +02:00
f9353243c2
Do not unconditionally query git revision
Set version for configure, build and dist only.
This fixes an issue with `sudo ./waf install` where
`sudo git describe` can fail.


See also
 https://discourse.ardour.org/t/waf-error-when-buliding-on-linux-ubuntu/107201/11
 https://github.blog/2022-04-12-git-security-vulnerability-announced/
2022-05-10 16:43:29 +02:00
ardour
edf1f55781 Add Monterey as a mac build target 2022-04-25 08:08:50 -05:00
Mads Kiilerich
705de9389b wscript: address some pyflake warnings
gtk2_ardour/wscript:15:1 redefinition of unused 'TaskGen' from line 3
wscript:102:9 dictionary key 'sse' repeated with different values
wscript:104:9 dictionary key 'sse' repeated with different values
2022-04-09 12:16:41 +02:00
Mads Kiilerich
5b7431f243 wscript: drop unnecessary trailing ";" 2022-04-09 12:16:41 +02:00
Mads Kiilerich
49855e52aa wscript: consistently have at most one empty separator line 2022-04-09 12:16:40 +02:00
Mads Kiilerich
bac32a8c2d wscript: consistently use 4 spaces for indentation 2022-04-09 12:16:40 +02:00
luz paz
3d395585c1
Fix various typos
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sord,sur,te,trough,ue`  
Follow-up to 364f2f078
2022-04-08 19:51:02 +02:00
luz paz
59320b378f
wscript: fix 'testing equality is none' issue
ref: https://lgtm.com/rules/7900090/
2022-04-08 18:27:10 +02:00
a1batross
f26257d6e4
wscript: fix Apple-specific flag being added on non-Apple platforms
Although GCC and Clang completely ignore this flag on non-Apple platforms, some "GCC-compatible" compilers may not, like EDG frontend based compilers.
2022-04-08 18:19:54 +02:00
Mads Kiilerich
6ff1d86cad wscript: improve configure messages slightly 2022-01-22 22:19:07 +01:00
97439d8777
Flip option, disable compile-database by default 2022-01-20 20:13:46 +01:00
9886d6c19e
Allow to disable clang_compilation_database
See also af69061644 and b8e1cd53c. This can be useful in
some cases where running a dry-run build will fail.
e.g. with --freedesktop files that are not generated before the
actual build.
2022-01-19 17:12:36 +01:00
af69061644
Do not create clang-db when cross-compiling w/mingw
This breaks windows builds, since apparently build(bld) is
evaluated twice (once to write compile_commands.json and once
to compile), even though `obj` is reset.

eg. in libs/pbd/wscript

```
if bld.env['build_target'] == 'mingw':
  obj.source += [ 'windows_special_dirs.cc' ]
```

results in

[  65/1159] Compiling libs/pbd/windows_special_dirs.cc
[  69/1159] Compiling libs/pbd/windows_special_dirs.cc

which then produces an error when linking:
```
/usr/bin/x86_64-w64-mingw32-ld: libs/pbd/windows_special_dirs.cc.2.o:libs/pbd/windows_special_dirs.cc:28: multiple definition of `PBD::get_win_special_folder_path[abi:cxx11](int)'; libs/pbd/windows_special_dirs.cc.2.o:libs/pbd/windows_special_dirs.cc:28: first defined here
```
2022-01-10 17:10:49 +01:00
Remi Thebault
b8e1cd53ce
Prepare waf update to 2.0.23 and enable 'clang_compilation_database'
This enables the generation of build/compile_commands.json
which is a compilation database recognized by some IDE/editors
to provide compiler quality linting.
To name a few:
 - Visual Studio Code
 - VIM (with ALE plugin)
2022-01-09 18:45:50 +01:00
ddc03bbc5e
Bundle some media-files 2021-12-16 19:08:03 +01:00
baf5a13f17
Update atomic/volatile compat
With glib 2.64, volatile gint produce annoying Wcast-qual
compiler warnings with mingw/gcc-8.

Even though the the build succeeds, and only glib 2.68+
requires non-volatile atomics this results in a much
cleaner build-log.
2021-08-16 04:26:55 +02:00
322bca7fb3 remove -ansi from c++ flag used when configuring with --strict (forces C++98) 2021-08-13 12:51:34 -06:00