This commit is contained in:
alexey.lysiuk 2023-04-15 10:24:45 +03:00
commit 46f6b696c3
16 changed files with 122 additions and 74 deletions

View file

@ -57,10 +57,8 @@ def targets():
Bzip2Target(), Bzip2Target(),
FfiTarget(), FfiTarget(),
FlacTarget(), FlacTarget(),
FluidSynthTarget(),
GlibTarget(), GlibTarget(),
IconvTarget(), IconvTarget(),
InstPatchTarget(),
IntlTarget(), IntlTarget(),
JpegTurboTarget(), JpegTurboTarget(),
LameTarget(), LameTarget(),
@ -79,7 +77,9 @@ def targets():
# Libraries needed for other targets # Libraries needed for other targets
DumbTarget(), DumbTarget(),
FluidSynthTarget(),
FmtTarget(), FmtTarget(),
InstPatchTarget(),
MadTarget(), MadTarget(),
MikmodTarget(), MikmodTarget(),
ModPlugTarget(), ModPlugTarget(),

View file

@ -95,29 +95,6 @@ class FlacTarget(base.CMakeStaticDependencyTarget):
super().configure(state) super().configure(state)
class FluidSynthTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='fluidsynth'):
super().__init__(name)
def prepare_source(self, state: BuildState):
state.download_source(
'https://github.com/FluidSynth/fluidsynth/archive/refs/tags/v2.3.2.tar.gz',
'cd610810f30566e28fb98c36501f00446a06fa6bae3dc562c8cd3868fe1c0fc7')
def configure(self, state: BuildState):
opts = state.options
opts['DEFAULT_SOUNDFONT'] = 'default.sf2'
opts['enable-framework'] = 'NO'
opts['enable-readline'] = 'NO'
opts['enable-sdl2'] = 'NO'
super().configure(state)
def post_build(self, state: BuildState):
super().prepare_source(state)
self.keep_module_target(state, 'FluidSynth::libfluidsynth')
class GettextTarget(base.ConfigureMakeStaticDependencyTarget): class GettextTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='gettext'): def __init__(self, name='gettext'):
super().__init__(name) super().__init__(name)
@ -187,32 +164,6 @@ class IconvTarget(base.ConfigureMakeStaticDependencyTarget):
super().configure(state) super().configure(state)
class InstPatchTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='instpatch'):
super().__init__(name)
def prepare_source(self, state: BuildState):
state.download_source(
'https://github.com/swami/libinstpatch/archive/v1.1.6.tar.gz',
'8e9861b04ede275d712242664dab6ffa9166c7940fea3b017638681d25e10299')
def configure(self, state: BuildState):
state.options['LIB_SUFFIX'] = None
# Workaround for missing frameworks in dependencies, no clue what's wrong at the moment
state.environment['LDFLAGS'] = '-framework CoreFoundation -framework Foundation'
super().configure(state)
def post_build(self, state: BuildState):
super().post_build(state)
# Remove extra directory from include path
include_path = state.install_path / 'include'
include_subpath = include_path / 'libinstpatch-2/libinstpatch'
shutil.move(str(include_subpath), include_path)
class IntlTarget(GettextTarget): class IntlTarget(GettextTarget):
def __init__(self, name='intl'): def __init__(self, name='intl'):
super().__init__(name) super().__init__(name)
@ -396,8 +347,8 @@ class OpenALTarget(base.CMakeStaticDependencyTarget):
def prepare_source(self, state: BuildState): def prepare_source(self, state: BuildState):
state.download_source( state.download_source(
'https://openal-soft.org/openal-releases/openal-soft-1.23.0.tar.bz2', 'https://openal-soft.org/openal-releases/openal-soft-1.23.1.tar.bz2',
'057dcf96c3cdfcf40159800a93f57740fe79c2956f76247bee10e436b6657183') '796f4b89134c4e57270b7f0d755f0fa3435b90da437b745160a49bd41c845b21')
def configure(self, state: BuildState): def configure(self, state: BuildState):
opts = state.options opts = state.options

View file

@ -48,6 +48,29 @@ class DumbTarget(base.CMakeStaticDependencyTarget):
return 'Libs: -L${libdir} -ldumb\n' if line.startswith('Libs:') else line return 'Libs: -L${libdir} -ldumb\n' if line.startswith('Libs:') else line
class FluidSynthTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='fluidsynth'):
super().__init__(name)
def prepare_source(self, state: BuildState):
state.download_source(
'https://github.com/FluidSynth/fluidsynth/archive/refs/tags/v2.3.2.tar.gz',
'cd610810f30566e28fb98c36501f00446a06fa6bae3dc562c8cd3868fe1c0fc7')
def configure(self, state: BuildState):
opts = state.options
opts['DEFAULT_SOUNDFONT'] = 'default.sf2'
opts['enable-framework'] = 'NO'
opts['enable-readline'] = 'NO'
opts['enable-sdl2'] = 'NO'
super().configure(state)
def post_build(self, state: BuildState):
super().prepare_source(state)
self.keep_module_target(state, 'FluidSynth::libfluidsynth')
class FmtTarget(base.CMakeStaticDependencyTarget): class FmtTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='fmt'): def __init__(self, name='fmt'):
super().__init__(name) super().__init__(name)
@ -65,6 +88,32 @@ class FmtTarget(base.CMakeStaticDependencyTarget):
super().configure(state) super().configure(state)
class InstPatchTarget(base.CMakeStaticDependencyTarget):
def __init__(self, name='instpatch'):
super().__init__(name)
def prepare_source(self, state: BuildState):
state.download_source(
'https://github.com/swami/libinstpatch/archive/v1.1.6.tar.gz',
'8e9861b04ede275d712242664dab6ffa9166c7940fea3b017638681d25e10299')
def configure(self, state: BuildState):
state.options['LIB_SUFFIX'] = None
# Workaround for missing frameworks in dependencies, no clue what's wrong at the moment
state.environment['LDFLAGS'] = '-framework CoreFoundation -framework Foundation'
super().configure(state)
def post_build(self, state: BuildState):
super().post_build(state)
# Remove extra directory from include path
include_path = state.install_path / 'include'
include_subpath = include_path / 'libinstpatch-2/libinstpatch'
shutil.move(str(include_subpath), include_path)
class MadTarget(base.ConfigureMakeStaticDependencyTarget): class MadTarget(base.ConfigureMakeStaticDependencyTarget):
def __init__(self, name='mad'): def __init__(self, name='mad'):
super().__init__(name) super().__init__(name)
@ -238,8 +287,8 @@ class Sdl2Target(base.CMakeStaticDependencyTarget):
def prepare_source(self, state: BuildState): def prepare_source(self, state: BuildState):
state.download_source( state.download_source(
'https://github.com/libsdl-org/SDL/releases/download/release-2.26.4/SDL2-2.26.4.tar.gz', 'https://github.com/libsdl-org/SDL/releases/download/release-2.26.5/SDL2-2.26.5.tar.gz',
'1a0f686498fb768ad9f3f80b39037a7d006eac093aad39cb4ebcc832a8887231', 'ad8fea3da1be64c83c45b1d363a6b4ba8fd60f5bde3b23ec73855709ec5eabf7',
patches='sdl2-no-gamecontroller+corehaptic') patches='sdl2-no-gamecontroller+corehaptic')
def configure(self, state: BuildState): def configure(self, state: BuildState):

View file

@ -141,9 +141,9 @@ extern "C" {
#ifndef AL_EXT_STATIC_BUFFER #ifndef AL_EXT_STATIC_BUFFER
#define AL_EXT_STATIC_BUFFER 1 #define AL_EXT_STATIC_BUFFER 1
typedef void (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei); typedef void (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALuint,ALenum,ALvoid*,ALsizei,ALsizei);
#ifdef AL_ALEXT_PROTOTYPES #ifdef AL_ALEXT_PROTOTYPES
AL_API void AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq); void AL_APIENTRY alBufferDataStatic(const ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq);
#endif #endif
#endif #endif
@ -391,6 +391,13 @@ AL_API void AL_APIENTRY alProcessUpdatesSOFT(void);
/*#define AL_SEC_LENGTH_SOFT 0x200B*/ /*#define AL_SEC_LENGTH_SOFT 0x200B*/
#endif #endif
#ifndef AL_SOFT_buffer_length_query
#define AL_SOFT_buffer_length_query 1
/*#define AL_BYTE_LENGTH_SOFT 0x2009*/
/*#define AL_SAMPLE_LENGTH_SOFT 0x200A*/
/*#define AL_SEC_LENGTH_SOFT 0x200B*/
#endif
#ifndef ALC_SOFT_pause_device #ifndef ALC_SOFT_pause_device
#define ALC_SOFT_pause_device 1 #define ALC_SOFT_pause_device 1
typedef void (ALC_APIENTRY*LPALCDEVICEPAUSESOFT)(ALCdevice *device); typedef void (ALC_APIENTRY*LPALCDEVICEPAUSESOFT)(ALCdevice *device);
@ -604,6 +611,18 @@ AL_API void AL_APIENTRY alGetBufferPtrvSOFT(ALuint buffer, ALenum param, ALvoid
#define AL_SUPER_STEREO_WIDTH_SOFT 0x19B1 #define AL_SUPER_STEREO_WIDTH_SOFT 0x19B1
#endif #endif
#ifndef AL_SOFT_UHJ_ex
#define AL_SOFT_UHJ_ex
#define AL_FORMAT_UHJ2CHN_MULAW_SOFT 0x19B3
#define AL_FORMAT_UHJ2CHN_ALAW_SOFT 0x19B4
#define AL_FORMAT_UHJ2CHN_IMA4_SOFT 0x19B5
#define AL_FORMAT_UHJ2CHN_MSADPCM_SOFT 0x19B6
#define AL_FORMAT_UHJ3CHN_MULAW_SOFT 0x19B7
#define AL_FORMAT_UHJ3CHN_ALAW_SOFT 0x19B8
#define AL_FORMAT_UHJ4CHN_MULAW_SOFT 0x19B9
#define AL_FORMAT_UHJ4CHN_ALAW_SOFT 0x19BA
#endif
#ifndef ALC_SOFT_output_mode #ifndef ALC_SOFT_output_mode
#define ALC_SOFT_output_mode #define ALC_SOFT_output_mode
#define ALC_OUTPUT_MODE_SOFT 0x19AC #define ALC_OUTPUT_MODE_SOFT 0x19AC
@ -619,6 +638,16 @@ AL_API void AL_APIENTRY alGetBufferPtrvSOFT(ALuint buffer, ALenum param, ALvoid
#define ALC_SURROUND_7_1_SOFT 0x1506 #define ALC_SURROUND_7_1_SOFT 0x1506
#endif #endif
#ifndef AL_SOFT_source_start_delay
#define AL_SOFT_source_start_delay
typedef void (AL_APIENTRY*LPALSOURCEPLAYATTIMESOFT)(ALuint source, ALint64SOFT start_time);
typedef void (AL_APIENTRY*LPALSOURCEPLAYATTIMEVSOFT)(ALsizei n, const ALuint *sources, ALint64SOFT start_time);
#ifdef AL_ALEXT_PROTOTYPES
void AL_APIENTRY alSourcePlayAtTimeSOFT(ALuint source, ALint64SOFT start_time);
void AL_APIENTRY alSourcePlayAtTimevSOFT(ALsizei n, const ALuint *sources, ALint64SOFT start_time);
#endif
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View file

@ -6,4 +6,4 @@ set(OPENAL_FOUND ON)
set(OPENAL_INCLUDE_DIR $<TARGET_PROPERTY:OpenAL::OpenAL,INTERFACE_INCLUDE_DIRECTORIES>) set(OPENAL_INCLUDE_DIR $<TARGET_PROPERTY:OpenAL::OpenAL,INTERFACE_INCLUDE_DIRECTORIES>)
set(OPENAL_LIBRARY $<LINK_ONLY:OpenAL::OpenAL>) set(OPENAL_LIBRARY $<LINK_ONLY:OpenAL::OpenAL>)
set(OPENAL_DEFINITIONS $<TARGET_PROPERTY:OpenAL::OpenAL,INTERFACE_COMPILE_DEFINITIONS>) set(OPENAL_DEFINITIONS $<TARGET_PROPERTY:OpenAL::OpenAL,INTERFACE_COMPILE_DEFINITIONS>)
set(OPENAL_VERSION_STRING 1.23.0) set(OPENAL_VERSION_STRING 1.23.1)

Binary file not shown.

View file

@ -6,7 +6,7 @@ includedir=${prefix}/include
Name: OpenAL Name: OpenAL
Description: OpenAL is a cross-platform 3D audio API Description: OpenAL is a cross-platform 3D audio API
Requires: Requires:
Version: 1.23.0 Version: 1.23.1
Libs: -L${libdir} -lopenal Libs: -L${libdir} -lopenal
Libs.private: -pthread -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit,-framework,ApplicationServices -Wl,-framework,CoreAudio -ldl -lm Libs.private: -pthread -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit,-framework,ApplicationServices -Wl,-framework,CoreAudio -ldl -lm
Cflags: -I${includedir} -I${includedir}/AL -DAL_LIBTYPE_STATIC Cflags: -I${includedir} -I${includedir}/AL -DAL_LIBTYPE_STATIC

View file

@ -43,7 +43,7 @@ while test $# -gt 0; do
echo $exec_prefix echo $exec_prefix
;; ;;
--version) --version)
echo 2.26.4 echo 2.26.5
;; ;;
--cflags) --cflags)
echo -I${prefix}/include/SDL2 -D_THREAD_SAFE echo -I${prefix}/include/SDL2 -D_THREAD_SAFE

View file

@ -125,12 +125,10 @@ typedef struct SDL_AssertData
const struct SDL_AssertData *next; const struct SDL_AssertData *next;
} SDL_AssertData; } SDL_AssertData;
#if (SDL_ASSERT_LEVEL > 0)
/* Never call this directly. Use the SDL_assert* macros. */ /* Never call this directly. Use the SDL_assert* macros. */
extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *, extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
const char *, const char *,
const char *, int) const char *, int)
#if defined(__clang__) #if defined(__clang__)
#if __has_feature(attribute_analyzer_noreturn) #if __has_feature(attribute_analyzer_noreturn)
/* this tells Clang's static analysis that we're a custom assert function, /* this tells Clang's static analysis that we're a custom assert function,
@ -151,9 +149,7 @@ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
#define SDL_enabled_assert(condition) \ #define SDL_enabled_assert(condition) \
do { \ do { \
while ( !(condition) ) { \ while ( !(condition) ) { \
static struct SDL_AssertData sdl_assert_data = { \ static struct SDL_AssertData sdl_assert_data = { 0, 0, #condition, 0, 0, 0, 0 }; \
0, 0, #condition, 0, 0, 0, 0 \
}; \
const SDL_AssertState sdl_assert_state = SDL_ReportAssertion(&sdl_assert_data, SDL_FUNCTION, SDL_FILE, SDL_LINE); \ const SDL_AssertState sdl_assert_state = SDL_ReportAssertion(&sdl_assert_data, SDL_FUNCTION, SDL_FILE, SDL_LINE); \
if (sdl_assert_state == SDL_ASSERTION_RETRY) { \ if (sdl_assert_state == SDL_ASSERTION_RETRY) { \
continue; /* go again. */ \ continue; /* go again. */ \
@ -164,8 +160,6 @@ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
} \ } \
} while (SDL_NULL_WHILE_LOOP_CONDITION) } while (SDL_NULL_WHILE_LOOP_CONDITION)
#endif /* enabled assertions support code */
/* Enable various levels of assertions. */ /* Enable various levels of assertions. */
#if SDL_ASSERT_LEVEL == 0 /* assertions disabled */ #if SDL_ASSERT_LEVEL == 0 /* assertions disabled */
# define SDL_assert(condition) SDL_disabled_assert(condition) # define SDL_assert(condition) SDL_disabled_assert(condition)

View file

@ -2,7 +2,7 @@
#define SDL_REVISION_NUMBER 0 #define SDL_REVISION_NUMBER 0
#ifdef SDL_VENDOR_INFO #ifdef SDL_VENDOR_INFO
#define SDL_REVISION "SDL-release-2.26.4-0-g07d0f51fa (" SDL_VENDOR_INFO ")" #define SDL_REVISION "SDL-release-2.26.5-0-gac13ca9ab (" SDL_VENDOR_INFO ")"
#else #else
#define SDL_REVISION "SDL-release-2.26.4-0-g07d0f51fa" #define SDL_REVISION "SDL-release-2.26.5-0-gac13ca9ab"
#endif #endif

View file

@ -59,7 +59,7 @@ typedef struct SDL_version
*/ */
#define SDL_MAJOR_VERSION 2 #define SDL_MAJOR_VERSION 2
#define SDL_MINOR_VERSION 26 #define SDL_MINOR_VERSION 26
#define SDL_PATCHLEVEL 4 #define SDL_PATCHLEVEL 5
/** /**
* Macro to determine SDL version program was compiled against. * Macro to determine SDL version program was compiled against.

View file

@ -7,7 +7,7 @@
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. # PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
# The variable CVF_VERSION must be set before calling configure_file(). # The variable CVF_VERSION must be set before calling configure_file().
set(PACKAGE_VERSION "2.26.4") set(PACKAGE_VERSION "2.26.5")
if (PACKAGE_FIND_VERSION_RANGE) if (PACKAGE_FIND_VERSION_RANGE)
# Package version must be in the requested version range # Package version must be in the requested version range

Binary file not shown.

View file

@ -7,7 +7,7 @@ includedir=${prefix}/include
Name: sdl2 Name: sdl2
Description: Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. Description: Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
Version: 2.26.4 Version: 2.26.5
Requires: Requires:
Conflicts: Conflicts:
Libs: -L${libdir} -lSDL2 -lSDL2 -Wl,-framework,CoreVideo -Wl,-framework,Cocoa -Wl,-framework,IOKit -Wl,-framework,ForceFeedback -Wl,-framework,Carbon -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AVFoundation -Wl,-framework,Foundation -Wl,-weak_framework,Metal -Wl,-weak_framework,QuartzCore -lm Libs: -L${libdir} -lSDL2 -lSDL2 -Wl,-framework,CoreVideo -Wl,-framework,Cocoa -Wl,-framework,IOKit -Wl,-framework,ForceFeedback -Wl,-framework,Carbon -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AVFoundation -Wl,-framework,Foundation -Wl,-weak_framework,Metal -Wl,-weak_framework,QuartzCore -lm

11
test/libxmp.cpp Normal file
View file

@ -0,0 +1,11 @@
#include <xmp.h>
int main()
{
xmp_context context = xmp_create_context();
AEDI_EXPECT(context != nullptr);
AEDI_EXPECT(xmp_syserrno() == 0);
xmp_free_context(context);
return 0;
}

14
test/mad.cpp Normal file
View file

@ -0,0 +1,14 @@
#include <mad.h>
int main()
{
AEDI_EXPECT(mad_version[0] != '\0');
AEDI_EXPECT(mad_build[0] != '\0');
mad_stream stream = {};
mad_stream_init(&stream);
AEDI_EXPECT(stream.error == MAD_ERROR_NONE);
mad_stream_finish(&stream);
return 0;
}