Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fix windows builds, skip juce7 builds for now
Signed-off-by: falkTX <falktx@falktx.com>
  • Loading branch information
falkTX committed Sep 30, 2023
1 parent c4534c9 commit a38bb0d
Show file tree
Hide file tree
Showing 17 changed files with 84 additions and 33 deletions.
6 changes: 6 additions & 0 deletions libs/juce6.0/meson.build
Expand Up @@ -38,13 +38,17 @@ juce60_extra_cpp_args = [
'-std=gnu++14',
'-Wno-non-virtual-dtor',
]
juce60_extra_include_dirs = []

if os_windows
juce60_extra_cpp_args += [
'-D_NATIVE_WCHAR_T_DEFINED',
'-D__wchar_t=wchar_t',
'-Wno-unknown-pragmas',
]
juce60_extra_include_dirs += [
include_directories('../mingw-std-threads'),
]
if host_machine.cpu() == 'x86'
juce60_extra_cpp_args += [
'-mpreferred-stack-boundary=2',
Expand All @@ -59,6 +63,7 @@ lib_juce60 = static_library('juce60',
include_directories('source'),
include_directories('source/modules'),
include_directories('../juced/source/dependancies/ladspa_sdk/src'),
juce60_extra_include_dirs
],
cpp_args: build_flags_cpp + juce60_extra_cpp_args,
dependencies: dependencies,
Expand All @@ -72,6 +77,7 @@ lib_juce60_device = static_library('juce60-devices',
include_directories('.'),
include_directories('source'),
include_directories('source/modules'),
juce60_extra_include_dirs
],
cpp_args: build_flags_cpp + juce60_extra_cpp_args + ['-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1'],
dependencies: dependencies_devices,
Expand Down
Expand Up @@ -20,10 +20,6 @@
==============================================================================
*/

#if JUCE_MINGW && !defined(_GLIBCXX_HAS_GTHREADS)
#include "mingw-std-threads/mingw.condition_variable.h"
#endif

namespace juce
{

Expand Down
6 changes: 6 additions & 0 deletions libs/juce6.1/meson.build
Expand Up @@ -38,13 +38,17 @@ juce61_extra_cpp_args = [
'-std=gnu++14',
'-Wno-non-virtual-dtor',
]
juce61_extra_include_dirs = []

if os_windows
juce61_extra_cpp_args += [
'-D_NATIVE_WCHAR_T_DEFINED',
'-D__wchar_t=wchar_t',
'-Wno-unknown-pragmas',
]
juce61_extra_include_dirs += [
include_directories('../mingw-std-threads'),
]
if host_machine.cpu() == 'x86'
juce61_extra_cpp_args += [
'-mpreferred-stack-boundary=2',
Expand All @@ -59,6 +63,7 @@ lib_juce6 = static_library('juce61',
include_directories('source'),
include_directories('source/modules'),
include_directories('../juced/source/dependancies/ladspa_sdk/src'),
juce61_extra_include_dirs
],
cpp_args: build_flags_cpp + juce61_extra_cpp_args,
dependencies: dependencies,
Expand All @@ -72,6 +77,7 @@ lib_juce61_device = static_library('juce61-devices',
include_directories('.'),
include_directories('source'),
include_directories('source/modules'),
juce61_extra_include_dirs
],
cpp_args: build_flags_cpp + juce61_extra_cpp_args + ['-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1'],
dependencies: dependencies_devices,
Expand Down
6 changes: 6 additions & 0 deletions libs/juce7/meson.build
Expand Up @@ -38,8 +38,12 @@ juce7_extra_cpp_args = [
'-std=gnu++14',
'-Wno-non-virtual-dtor',
]
juce7_extra_include_dirs = []

if os_windows
juce7_extra_include_dirs += [
include_directories('../mingw-std-threads'),
]
if host_machine.cpu() == 'x86'
juce7_extra_cpp_args += [
'-mpreferred-stack-boundary=2',
Expand All @@ -54,6 +58,7 @@ lib_juce7 = static_library('juce7',
include_directories('source'),
include_directories('source/modules'),
include_directories('../juced/source/dependancies/ladspa_sdk/src'),
juce7_extra_include_dirs
],
cpp_args: build_flags_cpp + juce7_extra_cpp_args,
dependencies: dependencies,
Expand All @@ -67,6 +72,7 @@ lib_juce7_device = static_library('juce7-devices',
include_directories('.'),
include_directories('source'),
include_directories('source/modules'),
juce7_extra_include_dirs
],
cpp_args: build_flags_cpp + juce7_extra_cpp_args + ['-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1'],
dependencies: dependencies_devices,
Expand Down
Expand Up @@ -68,9 +68,9 @@
#include <commdlg.h>
#include <commctrl.h>
#include <sapi.h>
#include <Dxgi.h>

#if JUCE_MSVC
#include <Dxgi.h>
#include <UIAutomation.h>
#endif

Expand Down
7 changes: 4 additions & 3 deletions libs/meson.build
Expand Up @@ -16,8 +16,9 @@ if not (build_juce5_only or build_juce60_only or build_juce7_only)
subdir('juce6.1')
endif

if not (build_juce5_only or build_juce60_only or build_juce61_only)
subdir('juce7')
endif
# no plugins imported that use juce7 yet
# if not (build_juce5_only or build_juce60_only or build_juce61_only)
# subdir('juce7')
# endif

###############################################################################
6 changes: 6 additions & 0 deletions libs/mingw-std-threads/condition_variable
@@ -0,0 +1,6 @@
// Copyright 2023 Filipe Coelho <falktx@falktx.com>
// SPDX-License-Identifier: 0BSD OR ISC

#pragma once
#include_next <condition_variable>
#include "mingw.condition_variable.h"
6 changes: 6 additions & 0 deletions libs/mingw-std-threads/future
@@ -0,0 +1,6 @@
// Copyright 2023 Filipe Coelho <falktx@falktx.com>
// SPDX-License-Identifier: 0BSD OR ISC

#pragma once
#include_next <future>
#include "mingw.future.h"
6 changes: 6 additions & 0 deletions libs/mingw-std-threads/invoke
@@ -0,0 +1,6 @@
// Copyright 2023 Filipe Coelho <falktx@falktx.com>
// SPDX-License-Identifier: 0BSD OR ISC

#pragma once
#include_next <invoke>
#include "mingw.invoke.h"
6 changes: 6 additions & 0 deletions libs/mingw-std-threads/mutex
@@ -0,0 +1,6 @@
// Copyright 2023 Filipe Coelho <falktx@falktx.com>
// SPDX-License-Identifier: 0BSD OR ISC

#pragma once
#include_next <mutex>
#include "mingw.mutex.h"
6 changes: 6 additions & 0 deletions libs/mingw-std-threads/shared_mutex
@@ -0,0 +1,6 @@
// Copyright 2023 Filipe Coelho <falktx@falktx.com>
// SPDX-License-Identifier: 0BSD OR ISC

#pragma once
#include_next <shared_mutex>
#include "mingw.shared_mutex.h"
6 changes: 6 additions & 0 deletions libs/mingw-std-threads/thread
@@ -0,0 +1,6 @@
// Copyright 2023 Filipe Coelho <falktx@falktx.com>
// SPDX-License-Identifier: 0BSD OR ISC

#pragma once
#include_next <thread>
#include "mingw.thread.h"
43 changes: 22 additions & 21 deletions meson.build
Expand Up @@ -5,6 +5,23 @@ project('DISTRHO-Ports',
license : 'GPLv3'
)

###############################################################################
# set target OS

os_darwin = false
os_linux = false
os_windows = false

if host_machine.system() == 'darwin'
os_darwin = true
elif host_machine.system() == 'windows'
os_windows = true
elif host_machine.system() == 'linux'
os_linux = true
else
error('unsupported system')
endif

###############################################################################
# get options

Expand All @@ -27,7 +44,7 @@ build_juce61_only = get_option('build-juce61-only')
build_juce7_only = get_option('build-juce7-only')
build_universal = get_option('build-universal')
optimizations = get_option('optimizations') and buildtype != 'debug'
lto_optimizations = get_option('lto-optimizations') and buildtype != 'debug'
lto_optimizations = get_option('lto-optimizations') and buildtype != 'debug' and not os_windows
sse_optimizations = get_option('sse-optimizations') and buildtype != 'debug'

###############################################################################
Expand All @@ -37,23 +54,6 @@ lv2dir = prefix / libdir / 'lv2'
vst2dir = prefix / libdir / 'vst'
vst3dir = prefix / libdir / 'vst3'

###############################################################################
# set target OS

os_darwin = false
os_linux = false
os_windows = false

if host_machine.system() == 'darwin'
os_darwin = true
elif host_machine.system() == 'windows'
os_windows = true
elif host_machine.system() == 'linux'
os_linux = true
else
error('unsupported system')
endif

###############################################################################
# set OS-specific details

Expand Down Expand Up @@ -326,9 +326,10 @@ if not (build_juce5_only or build_juce60_only or build_juce7_only)
subdir('ports-juce6.1')
endif

if not (build_juce5_only or build_juce60_only or build_juce61_only)
subdir('ports-juce7')
endif
# no plugins imported that use juce7 yet
# if not (build_juce5_only or build_juce60_only or build_juce61_only)
# subdir('ports-juce7')
# endif

###############################################################################
# extra files to install
Expand Down
1 change: 1 addition & 0 deletions ports-juce6.0/meson.build
Expand Up @@ -16,6 +16,7 @@ plugin_include_dirs = [
include_directories('../libs/juce6.0/source/modules'),
include_directories('../libs/juce6.0/source/modules/juce_audio_processors/format_types/VST3_SDK'),
include_directories('../libs/juce-plugin'),
juce60_extra_include_dirs
]

###############################################################################
Expand Down
Expand Up @@ -18,11 +18,7 @@
#include "futils.h"
#include "synth_constants.h"

#ifdef __MINGW32__
#include "mingw-std-threads/mingw.thread.h"
#else
#include <thread>
#endif

namespace vital {

Expand Down
1 change: 1 addition & 0 deletions ports-juce6.1/meson.build
Expand Up @@ -17,6 +17,7 @@ plugin_include_dirs = [
include_directories('../libs/juce6.1/source/modules'),
include_directories('../libs/juce6.1/source/modules/juce_audio_processors/format_types/VST3_SDK'),
include_directories('../libs/juce-plugin'),
juce61_extra_include_dirs
]

###############################################################################
Expand Down
1 change: 1 addition & 0 deletions ports-juce7/meson.build
Expand Up @@ -15,6 +15,7 @@ plugin_include_dirs = [
include_directories('../libs/juce7/source/modules/juce_audio_processors/format_types/LV2_SDK'),
include_directories('../libs/juce7/source/modules/juce_audio_processors/format_types/VST3_SDK'),
include_directories('../libs/juce-plugin'),
juce7_extra_include_dirs
]

###############################################################################
Expand Down

0 comments on commit a38bb0d

Please sign in to comment.