Remove the with- prefix from the build options

This commit is contained in:
Robbert van der Helm
2022-04-16 21:13:46 +02:00
parent 68b9e0f0f3
commit 470f4dfaaa
6 changed files with 22 additions and 21 deletions
+3 -3
View File
@@ -46,7 +46,7 @@ jobs:
# Statically link to libstdc++ on Ubuntu 18.04 as we're compiling # Statically link to libstdc++ on Ubuntu 18.04 as we're compiling
# with a newer version of g++ than what's in the default repos # with a newer version of g++ than what's in the default repos
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dwith-bitbridge=true -Dcpp_link_args='-mwindows -static-libstdc++' -Dbuild.cpp_link_args='-static-libstdc++' meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dbitbridge=true -Dcpp_link_args='-mwindows -static-libstdc++' -Dbuild.cpp_link_args='-static-libstdc++'
ninja -C build ninja -C build
- name: Strip remaining debug symbols - name: Strip remaining debug symbols
run: strip build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-{host,group}{,-32}.exe.so run: strip build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-{host,group}{,-32}.exe.so
@@ -84,7 +84,7 @@ jobs:
# In this version we don't need to statically link libstdc++ since # In this version we don't need to statically link libstdc++ since
# Ubuntu 20.04 and similar distros will ship with a version that's # Ubuntu 20.04 and similar distros will ship with a version that's
# compatible with GCC 10, even if that's not the default GCC version # compatible with GCC 10, even if that's not the default GCC version
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dwith-bitbridge=true meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dbitbridge=true
ninja -C build ninja -C build
- name: Strip remaining debug symbols - name: Strip remaining debug symbols
run: strip build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-{host,group}{,-32}.exe.so run: strip build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-{host,group}{,-32}.exe.so
@@ -124,7 +124,7 @@ jobs:
# Statically link to libstdc++ on Ubuntu 18.04, and also target a # Statically link to libstdc++ on Ubuntu 18.04, and also target a
# 32-bit OS # 32-bit OS
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dwith-bitbridge=true -Dcpp_link_args='-mwindows -static-libstdc++' -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32 -static-libstdc++' meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dbitbridge=true -Dcpp_link_args='-mwindows -static-libstdc++' -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32 -static-libstdc++'
ninja -C build ninja -C build
- name: Strip remaining debug symbols - name: Strip remaining debug symbols
run: strip build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-{host,group}{,-32}.exe.so run: strip build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-{host,group}{,-32}.exe.so
+3
View File
@@ -46,6 +46,8 @@ Versioning](https://semver.org/spec/v2.0.0.html).
- Yabridge now prints the path to the `libyabridge-{vst2,vst3}.so` library - Yabridge now prints the path to the `libyabridge-{vst2,vst3}.so` library
that's being used on startup. This tells you where the chainloader is loading that's being used on startup. This tells you where the chainloader is loading
the library file from. Because you can never have too much information, right? the library file from. Because you can never have too much information, right?
- The `with-bitbridge`, `with-vst3`, and `with-winedbg` build options have been
renamed to `bitbridge`, `vst3`, and `winedbg`.
- `effProcessEvents` VST2 calls are now filtered out from the log when - `effProcessEvents` VST2 calls are now filtered out from the log when
`YABRIDGE_DEBUG_LEVEL` is set to 1. `YABRIDGE_DEBUG_LEVEL` is set to 1.
@@ -78,6 +80,7 @@ Versioning](https://semver.org/spec/v2.0.0.html).
- `libyabridge-chainloader-vst2.so` and `libyabridge-chainloader-vst3.so` are - `libyabridge-chainloader-vst2.so` and `libyabridge-chainloader-vst3.so` are
new files that should be included in the package. new files that should be included in the package.
- The `with-bitbridge` build option has been renamed to just `bitbridge`.
- Completely removed the dependency on all Boost libraries. - Completely removed the dependency on all Boost libraries.
- Added a dependency on the headers-only - Added a dependency on the headers-only
[`ghc::filesystem`](https://github.com/gulrak/filesystem) library to replace [`ghc::filesystem`](https://github.com/gulrak/filesystem) library to replace
+4 -4
View File
@@ -812,9 +812,9 @@ bit versions of the XCB library. This can then be set up as follows:
```shell ```shell
# Enable the bitbridge on an existing build # Enable the bitbridge on an existing build
meson configure build -Dwith-bitbridge=true meson configure build -Dbitbridge=true
# Or configure a new build from scratch # Or configure a new build from scratch
meson setup build --buildtype=release --cross-file cross-wine.conf -Dwith-bitbridge=true meson setup build --buildtype=release --cross-file cross-wine.conf -Dbitbridge=true
ninja -C build ninja -C build
``` ```
@@ -836,7 +836,7 @@ actual 32-bit system you would need to comment out the 64-bit `yabridge-host`
and `yabridge-group` binaries in `meson.build`: and `yabridge-group` binaries in `meson.build`:
```shell ```shell
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000 -Dwith-bitbridge=true -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32' meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000 -Dbitbridge=true -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32'
ninja -C build ninja -C build
``` ```
@@ -900,5 +900,5 @@ environments and window managers will require some slight modifications in
rebuild yabridge: rebuild yabridge:
```shell ```shell
meson configure build --buildtype=debug -Dwith-winedbg=true meson configure build --buildtype=debug -Dwinedbg=true
``` ```
+6 -6
View File
@@ -17,19 +17,19 @@ project(
# #
# In theory yabridge should compile fine on a 32-bit system, but you will always # In theory yabridge should compile fine on a 32-bit system, but you will always
# need to pass `-Dwith-bitbridge=true`. We just make sure that we won't build # need to pass `-Dbitbridge=true`. We just make sure that we won't build
# any 64-bit binaries in that situation. # any 64-bit binaries in that situation.
is_64bit_system = build_machine.cpu_family() not in ['x86', 'arm'] is_64bit_system = build_machine.cpu_family() not in ['x86', 'arm']
with_32bit_libraries = (not is_64bit_system) or get_option('build.cpp_args').contains('-m32') with_32bit_libraries = (not is_64bit_system) or get_option('build.cpp_args').contains('-m32')
with_bitbridge = get_option('with-bitbridge') with_bitbridge = get_option('bitbridge')
with_winedbg = get_option('with-winedbg') with_winedbg = get_option('winedbg')
with_vst3 = get_option('with-vst3') with_vst3 = get_option('vst3')
# #
# Compiler flags # Compiler flags
# #
# Depending on the `with-bitbridge` flag we'll enable building secondary 32-bit # Depending on the `bitbridge` flag we'll enable building secondary 32-bit
# host applications that can act as a bit bridge for using 32-bit Windows # host applications that can act as a bit bridge for using 32-bit Windows
# plugins in 64-bit Linux VST hosts. The plugin will determine which host # plugins in 64-bit Linux VST hosts. The plugin will determine which host
# application to use based on the `.dll` file it's trying to load. This setup is # application to use based on the `.dll` file it's trying to load. This setup is
@@ -164,7 +164,7 @@ if wine_version.returncode() == 0 and \
with_vst3 with_vst3
error('Because of a bug in Wine < 5.7\n' + error('Because of a bug in Wine < 5.7\n' +
'you cannot build yabridge with VST3 support using these older Wine versions.\n' + 'you cannot build yabridge with VST3 support using these older Wine versions.\n' +
'Use the \'-Dwith-vst3=false\' build option to disable VST3 support.\n\n' + 'Use the \'-Dvst3=false\' build option to disable VST3 support.\n\n' +
'https://github.com/robbert-vdh/yabridge/issues/63#issuecomment-757369645') 'https://github.com/robbert-vdh/yabridge/issues/63#issuecomment-757369645')
endif endif
+3 -5
View File
@@ -1,21 +1,19 @@
# TODO: For yabridge 4.0, remove the `with-` prefix from these options
option( option(
'with-bitbridge', 'bitbridge',
type : 'boolean', type : 'boolean',
value : false, value : false,
description : 'Build a 32-bit host application for hosting 32-bit plugins. See the readme for full instructions on how to use this.' description : 'Build a 32-bit host application for hosting 32-bit plugins. See the readme for full instructions on how to use this.'
) )
option( option(
'with-vst3', 'vst3',
type : 'boolean', type : 'boolean',
value : true, value : true,
description : 'Whether to build the VST3 version of yabridge.' description : 'Whether to build the VST3 version of yabridge.'
) )
option( option(
'with-winedbg', 'winedbg',
type : 'boolean', type : 'boolean',
value : false, value : false,
description : 'Whether to run the Wine VST host with GDB attached. Might not always be reliable.' description : 'Whether to run the Wine VST host with GDB attached. Might not always be reliable.'
+3 -3
View File
@@ -77,9 +77,9 @@ class HostProcess {
* environment variables for the Wine prefix the plugin is in, setting up * environment variables for the Wine prefix the plugin is in, setting up
* pipes or files for STDIO redirection, closing file descriptors to prevent * pipes or files for STDIO redirection, closing file descriptors to prevent
* leaks, and wrapping all of that in a terminal process running winedbg if * leaks, and wrapping all of that in a terminal process running winedbg if
* we're compiling with `-Dwith-winedbg=true`. Keep in mind that winedbg * we're compiling with `-Dwinedbg=true`. Keep in mind that winedbg does not
* does not handle arguments containing spaces, so most Windows paths will * handle arguments containing spaces, so most Windows paths will be split
* be split up into multiple arguments. * up into multiple arguments.
* *
* @param logger The `Logger` instance the redirected STDIO streams will be * @param logger The `Logger` instance the redirected STDIO streams will be
* written to. * written to.