diff --git a/scripts/gen-license.py b/scripts/gen-license.py index 0e143b8d897..580c1912c63 100755 --- a/scripts/gen-license.py +++ b/scripts/gen-license.py @@ -369,7 +369,7 @@ def head(self): pkg_win="sdl3", pkg_mac="sdl3", pkg_ubuntu="libsdl3-dev", - submodule=Submodule("subprojects/sdl3.wrap"), + version="3.4.2", ), Lib( "glib-2.0", diff --git a/subprojects/.gitignore b/subprojects/.gitignore index 0ff3a3d1b9a..662a34f4bd3 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -38,4 +38,4 @@ implot genconfig curl-* json-* -SDL3-* \ No newline at end of file +SDL3-* diff --git a/subprojects/packagefiles/sdl3/LICENSE.build b/subprojects/packagefiles/sdl3/LICENSE.build new file mode 100644 index 00000000000..b59833dedbe --- /dev/null +++ b/subprojects/packagefiles/sdl3/LICENSE.build @@ -0,0 +1,19 @@ +Copyright (c) 2021 The Meson development team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/subprojects/packagefiles/sdl3/meson.build b/subprojects/packagefiles/sdl3/meson.build new file mode 100644 index 00000000000..72626c153f2 --- /dev/null +++ b/subprojects/packagefiles/sdl3/meson.build @@ -0,0 +1,479 @@ +project( + 'sdl3', + 'c', + version: '3.4.2', + license: 'zlib', + meson_version: '>=1.6', + default_options: ['c_std=none'], +) + +cc = meson.get_compiler('c') + +varr = meson.project_version().split('.') + +sdl_major = varr[0].to_int() +sdl_minor = varr[1].to_int() +sdl_patch = varr[2].to_int() + +cdata = configuration_data() + +cdata.set('HAVE_LIBC', 1) +cdata.set('SDL_DEFAULT_ASSERT_LEVEL', true) + +sdl_deps = [ + dependency('threads'), + dependency( + 'dl', + required: false, + ), + cc.find_library( + 'm', + required: false, + ), +] + +add_project_arguments( + '-DUSING_GENERATED_CONFIG_H', + language: 'c', +) +add_project_arguments( + '-DSDL_BUILD_MAJOR_VERSION=@0@'.format(sdl_major), + '-DSDL_BUILD_MINOR_VERSION=@0@'.format(sdl_minor), + '-DSDL_BUILD_MICRO_VERSION=@0@'.format(sdl_patch), + language: 'c', +) + +basic_headers = [ + ['float.h', 'HAVE_FLOAT_H'], + ['stdarg.h', 'HAVE_STDARG_H'], + ['stddef.h', 'HAVE_STDDEF_H'], + ['stdint.h', 'HAVE_STDINT_H'], + ['iconv.h', 'HAVE_ICONV_H'], + ['inttypes.h', 'HAVE_INTTYPES_H'], + ['limits.h', 'HAVE_LIMITS_H'], + ['malloc.h', 'HAVE_MALLOC_H'], + ['math.h', 'HAVE_MATH_H'], + ['memory.h', 'HAVE_MEMORY_H'], + ['signal.h', 'HAVE_SIGNAL_H'], + ['stdio.h', 'HAVE_STDIO_H'], + ['stdlib.h', 'HAVE_STDLIB_H'], + ['strings.h', 'HAVE_STRINGS_H'], + ['string.h', 'HAVE_STRING_H'], + ['sys/types.h', 'HAVE_SYS_TYPES_H'], + ['wchar.h', 'HAVE_WCHAR_H'], + ['pthread_np.h', 'HAVE_PTHREAD_NP_H'], + ['linux/input.h', 'HAVE_LINUX_INPUT_H'], + ['ddraw.h', 'HAVE_DDRAW_H'], + ['dsound.h', 'HAVE_DSOUND_H'], + ['dinput.h', 'HAVE_DINPUT_H'], + ['signal.h', 'HAVE_SIGTIMEDWAIT'], +] + +foreach i : basic_headers + hname = i[0] + define = i[1] + cdata.set10(define, cc.has_header(hname)) +endforeach + +check_functions = [ + # check token ['HAVE_GCC_ATOMICS'] + # check token ['HAVE_GCC_SYNC_LOCK_TEST_AND_SET'] + # check token ['HAVE_LIBC'] + # check token ['HAVE_LIBC'] + ['HAVE_DLOPEN', 'dlopen', '#include'], + ['HAVE_MALLOC', 'malloc', '#include'], + ['HAVE_FDATASYNC', 'fdatasync', '#include'], + ['HAVE_GETENV', 'getenv', '#include'], + # check token ['HAVE_GETHOSTNAME'] + ['HAVE_SETENV', 'setenv', '#include'], + ['HAVE_PUTENV', 'putenv', '#include'], + ['HAVE_UNSETENV', 'unsetenv', '#include'], + ['HAVE_ABS', 'abs', '#include'], + ['HAVE_BCOPY', 'bcopy', '#include'], + ['HAVE_MEMSET', 'memset', '#include'], + ['HAVE_MEMCPY', 'memcpy', '#include'], + ['HAVE_MEMMOVE', 'memmove', '#include'], + ['HAVE_MEMCMP', 'memcmp', '#include'], + # check token ['HAVE_WCSLEN'] + # check token ['HAVE_WCSNLEN'] + # check token ['HAVE_WCSLCPY'] + # check token ['HAVE_WCSLCAT'] + # check token ['HAVE_WCSSTR'] + # check token ['HAVE_WCSCMP'] + # check token ['HAVE_WCSNCMP'] + # check token ['HAVE_WCSTOL'] + ['HAVE_STRLEN', 'strlen', '#include'], + ['HAVE_STRNLEN', 'strnlen', '#include'], + ['HAVE_STRLCPY', 'strlcpy', '#include'], + ['HAVE_STRLCAT', 'strlcat', '#include'], + # check token ['HAVE_STRPBRK'] + ['HAVE__STRREV', '_strrev', '#include'], + ['HAVE_INDEX', 'index', '#include'], + ['HAVE_RINDEX', 'rindex', '#include'], + ['HAVE_STRCHR', 'strchr', '#include'], + ['HAVE_STRRCHR', 'strrchr', '#include'], + ['HAVE_STRSTR', 'strstr', '#include'], + # check token ['HAVE_STRNSTR'] + ['HAVE_STRTOK_R', 'strtok_r', '#include'], + # check token ['HAVE_ITOA'] + # check token ['HAVE__LTOA'] + # check token ['HAVE__UITOA'] + # check token ['HAVE__ULTOA'] + ['HAVE_STRTOL', 'strtol', '#include'], + ['HAVE_STRTOUL', 'strtoul', '#include'], + # check token ['HAVE__I64TOA'] + # check token ['HAVE__UI64TOA'] + ['HAVE_STRTOLL', 'strtoll', '#include'], + ['HAVE_STRTOULL', 'strtoull', '#include'], + ['HAVE_STRTOD', 'strtod', '#include'], + ['HAVE_ATOI', 'atoi', '#include'], + ['HAVE_ATOF', 'atof', '#include'], + ['HAVE_STRCMP', 'strcmp', '#include'], + ['HAVE_STRNCMP', 'strncmp', '#include'], + ['HAVE_VSSCANF', 'vsscanf', '#include'], + ['HAVE_VSNPRINTF', 'vsnprintf', '#include'], + ['HAVE_ACOS', 'acos', '#include'], + ['HAVE_ACOSF', 'acosf', '#include'], + ['HAVE_ASIN', 'asin', '#include'], + ['HAVE_ASINF', 'asinf', '#include'], + ['HAVE_ATAN', 'atan', '#include'], + ['HAVE_ATANF', 'atanf', '#include'], + ['HAVE_ATAN2', 'atan2', '#include'], + ['HAVE_ATAN2F', 'atan2f', '#include'], + ['HAVE_CEIL', 'ceil', '#include'], + ['HAVE_CEILF', 'ceilf', '#include'], + ['HAVE_COPYSIGN', 'copysign', '#include'], + ['HAVE_COPYSIGNF', 'copysignf', '#include'], + # check token ['HAVE__COPYSIGN'] + ['HAVE_COS', 'cos', '#include'], + ['HAVE_COSF', 'cosf', '#include'], + ['HAVE_EXP', 'exp', '#include'], + ['HAVE_EXPF', 'expf', '#include'], + ['HAVE_FABS', 'fabs', '#include'], + ['HAVE_FABSF', 'fabsf', '#include'], + ['HAVE_FLOOR', 'floor', '#include'], + ['HAVE_FLOORF', 'floorf', '#include'], + ['HAVE_FMOD', 'fmod', '#include'], + ['HAVE_FMODF', 'fmodf', '#include'], + ['HAVE_ISINF', 'isinf', '#include'], + ['HAVE_ISINFF', 'isinff', '#include'], + # check token ['HAVE_ISINF_FLOAT_MACRO'] + ['HAVE_ISNAN', 'isnan', '#include'], + ['HAVE_ISNANF', 'isnanf', '#include'], + # check token ['HAVE_ISNAN_FLOAT_MACRO'] + ['HAVE_LOG', 'log', '#include'], + ['HAVE_LOGF', 'logf', '#include'], + ['HAVE_LOG10', 'log10', '#include'], + ['HAVE_LOG10F', 'log10f', '#include'], + # check token ['HAVE_LROUND'] + # check token ['HAVE_LROUNDF'] + # check token ['HAVE_MODF'] + # check token ['HAVE_MODFF'] + ['HAVE_POW', 'pow', '#include'], + # check token ['HAVE_POWF'] + ['HAVE_ROUND', 'round', '#include'], + # check token ['HAVE_ROUNDF'] + ['HAVE_SCALBN', 'scalbn', '#include'], + # check token ['HAVE_SCALBNF'] + ['HAVE_SIN', 'sin', '#include'], + ['HAVE_SINF', 'sinf', '#include'], + ['HAVE_SQRT', 'sqrt', '#include'], + ['HAVE_SQRTF', 'sqrtf', '#include'], + # check token ['HAVE_TAN'] + # check token ['HAVE_TANF'] + # check token ['HAVE_TRUNC'] + # check token ['HAVE_TRUNCF'] + # check token ['HAVE__FSEEKI64'] + # check token ['HAVE_FOPEN64'] + ['HAVE_FSEEKO', 'fseeko', '#include'], + ['HAVE_FSEEKO64', 'fseeko64', '#include'], + # check token ['HAVE_MEMFD_CREATE'] + # check token ['HAVE_POSIX_FALLOCATE'] + ['HAVE_SIGACTION', 'sigaction', '#include'], + # check token ['HAVE_SA_SIGACTION'] + # check token ['HAVE_ST_MTIM'] + ['HAVE_SETJMP', 'setjmp', '#include'], + ['HAVE_NANOSLEEP', 'nanosleep', '#include'], + ['HAVE_GMTIME_R', 'gmtime_r', '#include'], + # check token ['HAVE_LOCALTIME_R'] + # check token ['HAVE_NL_LANGINFO'] + ['HAVE_SYSCONF', 'sysconf', '#include'], + ['HAVE_SYSCTLBYNAME', 'sysctlbyname', '#include'], + ['HAVE_CLOCK_GETTIME', 'clock_gettime', '#include'], + ['HAVE_GETPAGESIZE', 'getpagesize', '#include'], + # check token ['HAVE_ICONV'] + ['HAVE_PTHREAD_SETNAME_NP', 'pthread_setname_np', '#include'], + ['HAVE_PTHREAD_SET_NAME_NP', 'pthread_set_name_np', '#include'], + ['HAVE_SEM_TIMEDWAIT', 'sem_timedwait', '#include'], + # check token ['HAVE_GETAUXVAL'] + # check token ['HAVE_ELF_AUX_INFO'] + ['HAVE_POLL', 'poll', '#include'], + # check token ['HAVE__EXIT'] + # check token ['HAVE_FCITX'] + ['HAVE_INOTIFY_INIT1', 'inotify_init1', '#include'], + # check token ['HAVE_INOTIFY'] + # check token ['HAVE_LIBUSB'] + # check token ['HAVE_O_CLOEXEC'] +] + +foreach f : check_functions + if cc.has_function( + f.get(1), + prefix: f.get(2), + dependencies: [sdl_deps], + ) + cdata.set(f.get(0), 1) + endif +endforeach + +sources = [] + +cdata.set('SDL_XKBCOMMON_VERSION_MAJOR', 0) +cdata.set('SDL_XKBCOMMON_VERSION_MINOR', 0) +cdata.set('SDL_XKBCOMMON_VERSION_PATCH', 0) + +if host_machine.system() == 'darwin' + add_languages( + 'objc', + native: false, + ) + add_project_arguments( + '-fobjc-arc', + language: 'objc', + ) +endif + +if host_machine.system() == 'linux' + + ## some of these checks could be done via have include + ## but it is done this way to be consistent from what CMake does + ## additionally these values are not defined in the config file + + # check Kronos EGL support + have_opengl_egl_code = ''' + #define EGL_API_FB + #define MESA_EGL_NO_X11_HEADERS + #define EGL_NO_X11 + #include + #include + int main (int argc, char** argv) { return 0; } + ''' + have_opengl_egl = cc.compiles( + have_opengl_egl_code, + name: 'have OpenGL EGL support', + ) + # check OpenGL GLX support + have_opengl_glx_code = ''' + #include + int main(int argc, char** argv) { return 0; } + ''' + have_opengl_glx = cc.compiles( + have_opengl_glx_code, + name: 'have OpenGL GLX support', + ) + + # check OpenGL support + have_opengl_code = ''' + #include + #include + int main(int argc, char** argv) { return 0; } + ''' + have_opengl = cc.compiles( + have_opengl_code, + name: 'have OpenGL support', + ) + + + # ideally this should have a check for compile like the cmake configuration, see sdlchecks.cmake + cdata.set('SDL_PLATFORM_LINUX', 1) + cdata.set('SDL_THREAD_PTHREAD', 1) + cdata.set('HAVE_STRLEN', 1) + cdata.set('SDL_LOADSO_DLOPEN', 1) + cdata.set('SDL_PROCESS_POSIX', 1) + cdata.set('SDL_SENSOR_DUMMY', 1) + cdata.set('SDL_POWER_LINUX', 1) + cdata.set('SDL_INPUT_LINUXEV', 1) + if have_opengl_egl + cdata.set('SDL_VIDEO_OPENGL_EGL', 1) + endif + if have_opengl_glx + cdata.set('SDL_VIDEO_OPENGL_GLX', 1) + endif + if have_opengl + cdata.set('SDL_VIDEO_OPENGL', 1) + cdata.set('SDL_VIDEO_RENDER_OGL', 1) + endif + cdata.set('SDL_GPU_VULKAN', 1) + cdata.set('SDL_VIDEO_VULKAN', 1) + cdata.set('SDL_VIDEO_RENDER_VULKAN', 1) + cdata.set('SDL_TIMER_UNIX', 1) + sdl_deps += dependency('libudev') + sdl_deps += dependency('dbus-1') + sdl_deps += dependency('libpipewire-0.3') + sdl_deps += dependency('wayland-client') + sdl_deps += dependency('wayland-egl') + sdl_deps += dependency('wayland-cursor') + xkbcommon_dep = dependency('xkbcommon') + sdl_deps += xkbcommon_dep + cdata.set('HAVE_DBUS_DBUS_H', 1) + wayland_scanner = find_program('wayland-scanner') + subdir('wayland-protocols') +elif host_machine.system() == 'windows' + + # XInput(legacy) is provided by the Microsoft DirectX SDK and requires windows header include + have_xinput_header_code = ''' + #include + #include + int main(int argc, char **argv) { } + ''' + have_xinput_header = cc.compiles( + have_xinput_header_code, + name: 'have XInput support', + ) + + # Microsoft Windows gaming input header is provided by the Windows SDK (winrt) + have_windows_gaming_input_header_code = ''' + #define COBJMACROS + #include + static __x_ABI_CWindows_CGaming_CInput_CIGamepadStatics2 *s2; + int main(int argc, char **argv) { } + ''' + have_windows_gaming_input_header = cc.compiles( + have_windows_gaming_input_header_code, + name: 'have Windows Gaming Input support', + ) + + # Microsoft Windows GameInput is provided via the Microsoft Game Development Kit (GDK) + have_gameinput_header_code = ''' + #include + #define COBJMACROS + #include + int main(int argc, char **argv) { } + ''' + have_gameinput_header = cc.compiles( + have_gameinput_header_code, + name: 'have GameInput support', + ) + add_languages( + 'cpp', + native: false, + ) + + + cdata.set('SDL_PLATFORM_WIN32', 1) + cdata.set('SDL_THREAD_WINDOWS', 1) + cdata.set('SDL_THREAD_GENERIC_COND_SUFFIX', 1) + cdata.set('SDL_THREAD_GENERIC_RWLOCK_SUFFIX', 1) + cdata.set('SDL_LOADSO_WINDOWS', 1) + cdata.set('SDL_PROCESS_WINDOWS', 1) + cdata.set('SDL_SENSOR_WINDOWS', 1) + cdata.set('SDL_POWER_WINDOWS', 1) + cdata.set('SDL_VIDEO_RENDER_D3D12', 1) + cdata.set('SDL_GPU_VULKAN', 1) + cdata.set('SDL_GPU_D3D12', 1) + cdata.set('SDL_VIDEO_VULKAN', 1) + cdata.set('SDL_VIDEO_RENDER_VULKAN', 1) + cdata.set('SDL_VIDEO_OPENGL', 1) + cdata.set('SDL_VIDEO_OPENGL_WGL', 1) + cdata.set('SDL_VIDEO_RENDER_OGL', 1) + + if have_xinput_header + cdata.set('SDL_JOYSTICK_XINPUT', 1) + cdata.set('HAVE_XINPUT', true) + endif + if have_windows_gaming_input_header + cdata.set('SDL_JOYSTICK_WGI', 1) + endif + if have_gameinput_header + cdata.set('HAVE_GAMEINPUT_H', 1) + cdata.set('SDL_JOYSTICK_GAMEINPUT', 1) + endif + + cdata.set('SDL_TIMER_WINDOWS', 1) + sdl_deps += cc.find_library('version') + sdl_deps += cc.find_library('imm32') + sdl_deps += cc.find_library('setupapi') + sdl_deps += cc.find_library('winmm') + sdl_deps += cc.find_library('opengl32') +elif host_machine.subsystem() == 'macos' + cdata.set('SDL_PLATFORM_APPLE', 1) + cdata.set('SDL_THREAD_PTHREAD', 1) + cdata.set('SDL_THREAD_PTHREAD_RECURSIVE_MUTEX', 1) + cdata.set('SDL_LOADSO_DLOPEN', 1) + cdata.set('SDL_PROCESS_POSIX', 1) + cdata.set('SDL_FILESYSTEM_COCOA', 1) + cdata.set('SDL_VIDEO_DRIVER_COCOA', 1) + cdata.set('SDL_VIDEO_OPENGL_CGL', 1) + cdata.set('SDL_VIDEO_OPENGL', 1) + cdata.set('SDL_FSOPS_POSIX', 1) + cdata.set('SDL_SENSOR_DUMMY', 1) + cdata.set('SDL_POWER_MACOSX', 1) + cdata.set('SDL_VIDEO_RENDER_GPU', 1) + cdata.set('SDL_GPU_VULKAN', 1) + cdata.set('SDL_GPU_METAL', 1) + cdata.set('SDL_VIDEO_VULKAN', 1) + cdata.set('SDL_VIDEO_METAL', 1) + cdata.set('SDL_VIDEO_RENDER_VULKAN', 1) + cdata.set('SDL_TIMER_UNIX', 1) + sdl_deps += dependency( + 'appleframeworks', + modules: [ + 'CoreFoundation', + 'Cocoa', + 'CoreAudio', + 'CoreGraphics', + 'CoreHaptics', + 'GameController', + 'ForceFeedback', + 'IOKit', + 'Foundation', + 'QuartzCore', + 'Metal', + 'Carbon', + 'UniformTypeIdentifiers', + ], + ) +else + error('Platform not yet supported.') +endif + +if get_option('default_library') == 'both' and cc.get_argument_syntax() == 'msvc' + error('default_library=both not supported when compiling with MSVC') +endif + +subdir('src') + +# FIXME, this is to work around a bug in upstream headers +cdata.set('SDL_LIBDECOR_VERSION_MAJOR', 99) +cdata.set('SDL_LIBDECOR_VERSION_MINOR', 99) +cdata.set('SDL_LIBDECOR_VERSION_PATCH', 99) + +configure_file( + input: 'include/build_config/SDL_build_config.h.cmake', + output: 'SDL_build_config.h', + configuration: cdata, + format: 'cmake', +) + +if get_option('default_library') == 'shared' + extra_args = ['-DDLL_EXPORT'] +else + extra_args = [] +endif + +sdl_lib = library( + 'SDL3', + sources, + include_directories: ['include', 'src'], + c_args: extra_args, + dependencies: sdl_deps, + install: true, +) + +sdl3_dep = declare_dependency( + include_directories: 'include', + link_with: sdl_lib, +) + +meson.override_dependency('sdl3', sdl3_dep) + diff --git a/subprojects/packagefiles/sdl3/src/atomic/meson.build b/subprojects/packagefiles/sdl3/src/atomic/meson.build new file mode 100644 index 00000000000..999a9771bb5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/atomic/meson.build @@ -0,0 +1 @@ +sources += files('SDL_atomic.c', 'SDL_spinlock.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/aaudio/meson.build b/subprojects/packagefiles/sdl3/src/audio/aaudio/meson.build new file mode 100644 index 00000000000..7972494191d --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/aaudio/meson.build @@ -0,0 +1 @@ +sources += files('SDL_aaudio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/alsa/meson.build b/subprojects/packagefiles/sdl3/src/audio/alsa/meson.build new file mode 100644 index 00000000000..573beca9c5c --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/alsa/meson.build @@ -0,0 +1 @@ +sources += files('SDL_alsa_audio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/coreaudio/meson.build b/subprojects/packagefiles/sdl3/src/audio/coreaudio/meson.build new file mode 100644 index 00000000000..53cc02d804b --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/coreaudio/meson.build @@ -0,0 +1 @@ +sources += files('SDL_coreaudio.m') diff --git a/subprojects/packagefiles/sdl3/src/audio/directsound/meson.build b/subprojects/packagefiles/sdl3/src/audio/directsound/meson.build new file mode 100644 index 00000000000..2786ffe9d9e --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/directsound/meson.build @@ -0,0 +1 @@ +sources += files('SDL_directsound.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/disk/meson.build b/subprojects/packagefiles/sdl3/src/audio/disk/meson.build new file mode 100644 index 00000000000..0d543e58d6f --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/disk/meson.build @@ -0,0 +1 @@ +sources += files('SDL_diskaudio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/dsp/meson.build b/subprojects/packagefiles/sdl3/src/audio/dsp/meson.build new file mode 100644 index 00000000000..cc7825c3654 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/dsp/meson.build @@ -0,0 +1 @@ +sources += files('SDL_dspaudio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/dummy/meson.build b/subprojects/packagefiles/sdl3/src/audio/dummy/meson.build new file mode 100644 index 00000000000..eed1e11c6c3 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_dummyaudio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/jack/meson.build b/subprojects/packagefiles/sdl3/src/audio/jack/meson.build new file mode 100644 index 00000000000..8fd5eeb4e29 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/jack/meson.build @@ -0,0 +1 @@ +sources += files('SDL_jackaudio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/meson.build b/subprojects/packagefiles/sdl3/src/audio/meson.build new file mode 100644 index 00000000000..e988f373769 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/meson.build @@ -0,0 +1,22 @@ +if host_machine.system() == 'windows' + cdata.set('SDL_AUDIO_DRIVER_DSOUND', 1) + # cdata.set('SDL_AUDIO_DRIVER_WASAPI', 1) + subdir('directsound') + # subdir('wasapi') +elif host_machine.system() == 'darwin' + subdir('coreaudio') +else + cdata.set('SDL_AUDIO_DRIVER_PIPEWIRE', 1) + subdir('pipewire') +endif + +sources += files( + 'SDL_audio.c', + 'SDL_audiocvt.c', + 'SDL_audiodev.c', + 'SDL_audioqueue.c', + 'SDL_audioresample.c', + 'SDL_audiotypecvt.c', + 'SDL_mixer.c', + 'SDL_wave.c', +) diff --git a/subprojects/packagefiles/sdl3/src/audio/openslES/meson.build b/subprojects/packagefiles/sdl3/src/audio/openslES/meson.build new file mode 100644 index 00000000000..7f354a71bde --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/openslES/meson.build @@ -0,0 +1 @@ +sources += files('SDL_openslES.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/pipewire/meson.build b/subprojects/packagefiles/sdl3/src/audio/pipewire/meson.build new file mode 100644 index 00000000000..8de37cb069b --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/pipewire/meson.build @@ -0,0 +1 @@ +sources += files('SDL_pipewire.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/pulseaudio/meson.build b/subprojects/packagefiles/sdl3/src/audio/pulseaudio/meson.build new file mode 100644 index 00000000000..daeb3bd5b18 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/pulseaudio/meson.build @@ -0,0 +1 @@ +sources += files('SDL_pulseaudio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/qnx/meson.build b/subprojects/packagefiles/sdl3/src/audio/qnx/meson.build new file mode 100644 index 00000000000..610a1e11428 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/qnx/meson.build @@ -0,0 +1 @@ +sources += files('SDL_qsa_audio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/sndio/meson.build b/subprojects/packagefiles/sdl3/src/audio/sndio/meson.build new file mode 100644 index 00000000000..7c667bf21e7 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/sndio/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sndioaudio.c') diff --git a/subprojects/packagefiles/sdl3/src/audio/wasapi/meson.build b/subprojects/packagefiles/sdl3/src/audio/wasapi/meson.build new file mode 100644 index 00000000000..db76dc73a8b --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/audio/wasapi/meson.build @@ -0,0 +1 @@ +sources += files('SDL_wasapi.c') diff --git a/subprojects/packagefiles/sdl3/src/camera/coremedia/meson.build b/subprojects/packagefiles/sdl3/src/camera/coremedia/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/camera/coremedia/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/camera/dummy/meson.build b/subprojects/packagefiles/sdl3/src/camera/dummy/meson.build new file mode 100644 index 00000000000..38d2d2489d2 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/camera/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_camera_dummy.c') diff --git a/subprojects/packagefiles/sdl3/src/camera/mediafoundation/meson.build b/subprojects/packagefiles/sdl3/src/camera/mediafoundation/meson.build new file mode 100644 index 00000000000..1d9e147237c --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/camera/mediafoundation/meson.build @@ -0,0 +1 @@ +sources += files('SDL_camera_mediafoundation.c') diff --git a/subprojects/packagefiles/sdl3/src/camera/meson.build b/subprojects/packagefiles/sdl3/src/camera/meson.build new file mode 100644 index 00000000000..9ab6df620d6 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/camera/meson.build @@ -0,0 +1,3 @@ +subdir('dummy') + +sources += files('SDL_camera.c') diff --git a/subprojects/packagefiles/sdl3/src/camera/pipewire/meson.build b/subprojects/packagefiles/sdl3/src/camera/pipewire/meson.build new file mode 100644 index 00000000000..115eabbcc14 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/camera/pipewire/meson.build @@ -0,0 +1 @@ +sources += files('SDL_camera_pipewire.c') diff --git a/subprojects/packagefiles/sdl3/src/camera/v4l2/meson.build b/subprojects/packagefiles/sdl3/src/camera/v4l2/meson.build new file mode 100644 index 00000000000..f88abb04c24 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/camera/v4l2/meson.build @@ -0,0 +1 @@ +sources += files('SDL_camera_v4l2.c') diff --git a/subprojects/packagefiles/sdl3/src/core/gdk/meson.build b/subprojects/packagefiles/sdl3/src/core/gdk/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/core/gdk/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/core/linux/meson.build b/subprojects/packagefiles/sdl3/src/core/linux/meson.build new file mode 100644 index 00000000000..3104eff5601 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/core/linux/meson.build @@ -0,0 +1,13 @@ +sources += files( + 'SDL_dbus.c', + 'SDL_evdev.c', + 'SDL_evdev_capabilities.c', + 'SDL_evdev_kbd.c', + 'SDL_fcitx.c', + 'SDL_ibus.c', + 'SDL_ime.c', + 'SDL_progressbar.c', + 'SDL_system_theme.c', + 'SDL_threadprio.c', + 'SDL_udev.c', +) diff --git a/subprojects/packagefiles/sdl3/src/core/meson.build b/subprojects/packagefiles/sdl3/src/core/meson.build new file mode 100644 index 00000000000..2ecc862bed7 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/core/meson.build @@ -0,0 +1,10 @@ +if host_machine.system() == 'windows' + subdir('windows') +elif host_machine.system() == 'darwin' + subdir('unix') +else + subdir('unix') + subdir('linux') +endif + +sources += files('SDL_core_unsupported.c') diff --git a/subprojects/packagefiles/sdl3/src/core/unix/meson.build b/subprojects/packagefiles/sdl3/src/core/unix/meson.build new file mode 100644 index 00000000000..4d52fb6b112 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/core/unix/meson.build @@ -0,0 +1,28 @@ +sources += files( + 'SDL_appid.c', + 'SDL_fribidi.c', + 'SDL_gtk.c', + 'SDL_libthai.c', + 'SDL_poll.c', +) + +have_unix_usergroupids_code = ''' + // required for GNU\Linux feature_test_macros(7) + #define _GNU_SOURCE + #include + int main(int argc, char** argv) { + getresgid; + getresuid; + } +''' +have_unix_usergroupids = cc.compiles( + have_unix_usergroupids_code, + name: 'have unix effective User/Group functions support', +) + +if have_unix_usergroupids + cdata.set('HAVE_GETRESGID', 1) + cdata.set('HAVE_GETRESUID', 1) +endif + + diff --git a/subprojects/packagefiles/sdl3/src/core/windows/meson.build b/subprojects/packagefiles/sdl3/src/core/windows/meson.build new file mode 100644 index 00000000000..1bd47ddbedf --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/core/windows/meson.build @@ -0,0 +1,9 @@ +sources += files( + 'SDL_gameinput.cpp', + 'SDL_hid.c', + 'SDL_immdevice.c', + 'SDL_windows.c', + 'SDL_xinput.c', + 'pch.c', + 'pch_cpp.cpp', +) diff --git a/subprojects/packagefiles/sdl3/src/cpuinfo/meson.build b/subprojects/packagefiles/sdl3/src/cpuinfo/meson.build new file mode 100644 index 00000000000..682001fc66d --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/cpuinfo/meson.build @@ -0,0 +1 @@ +sources += files('SDL_cpuinfo.c') diff --git a/subprojects/packagefiles/sdl3/src/dialog/cocoa/meson.build b/subprojects/packagefiles/sdl3/src/dialog/cocoa/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/dialog/cocoa/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/dialog/dummy/meson.build b/subprojects/packagefiles/sdl3/src/dialog/dummy/meson.build new file mode 100644 index 00000000000..670d58ce18c --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/dialog/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_dummydialog.c') diff --git a/subprojects/packagefiles/sdl3/src/dialog/meson.build b/subprojects/packagefiles/sdl3/src/dialog/meson.build new file mode 100644 index 00000000000..b81b2a48eff --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/dialog/meson.build @@ -0,0 +1,7 @@ +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('unix') +endif + +sources += files('SDL_dialog.c', 'SDL_dialog_utils.c') diff --git a/subprojects/packagefiles/sdl3/src/dialog/unix/meson.build b/subprojects/packagefiles/sdl3/src/dialog/unix/meson.build new file mode 100644 index 00000000000..f26bf336e4c --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/dialog/unix/meson.build @@ -0,0 +1,6 @@ +sources += files( + 'SDL_portaldialog.c', + 'SDL_unixdialog.c', + 'SDL_zenitydialog.c', + 'SDL_zenitymessagebox.c', +) diff --git a/subprojects/packagefiles/sdl3/src/dialog/windows/meson.build b/subprojects/packagefiles/sdl3/src/dialog/windows/meson.build new file mode 100644 index 00000000000..2c590596492 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/dialog/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_windowsdialog.c') diff --git a/subprojects/packagefiles/sdl3/src/dynapi/meson.build b/subprojects/packagefiles/sdl3/src/dynapi/meson.build new file mode 100644 index 00000000000..8a14c738856 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/dynapi/meson.build @@ -0,0 +1 @@ +sources += files('SDL_dynapi.c') diff --git a/subprojects/packagefiles/sdl3/src/events/meson.build b/subprojects/packagefiles/sdl3/src/events/meson.build new file mode 100644 index 00000000000..597521910c9 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/events/meson.build @@ -0,0 +1,19 @@ +sources += files( + 'SDL_categories.c', + 'SDL_clipboardevents.c', + 'SDL_displayevents.c', + 'SDL_dropevents.c', + 'SDL_events.c', + 'SDL_eventwatch.c', + 'SDL_keyboard.c', + 'SDL_keymap.c', + 'SDL_keysym_to_keycode.c', + 'SDL_keysym_to_scancode.c', + 'SDL_mouse.c', + 'SDL_pen.c', + 'SDL_quit.c', + 'SDL_scancode_tables.c', + 'SDL_touch.c', + 'SDL_windowevents.c', + 'imKStoUCS.c', +) diff --git a/subprojects/packagefiles/sdl3/src/filesystem/cocoa/meson.build b/subprojects/packagefiles/sdl3/src/filesystem/cocoa/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/filesystem/cocoa/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/filesystem/dummy/meson.build b/subprojects/packagefiles/sdl3/src/filesystem/dummy/meson.build new file mode 100644 index 00000000000..2b492cc06eb --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/filesystem/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysfilesystem.c', 'SDL_sysfsops.c') diff --git a/subprojects/packagefiles/sdl3/src/filesystem/gdk/meson.build b/subprojects/packagefiles/sdl3/src/filesystem/gdk/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/filesystem/gdk/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/filesystem/meson.build b/subprojects/packagefiles/sdl3/src/filesystem/meson.build new file mode 100644 index 00000000000..c9e31947bcf --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/filesystem/meson.build @@ -0,0 +1,12 @@ +if host_machine.system() == 'windows' + cdata.set('SDL_FSOPS_WINDOWS', 1) + cdata.set('SDL_FILESYSTEM_WINDOWS', 1) + subdir('windows') +else + cdata.set('SDL_FSOPS_POSIX', 1) + cdata.set('SDL_FILESYSTEM_UNIX', 1) + subdir('unix') + subdir('posix') +endif + +sources += files('SDL_filesystem.c') diff --git a/subprojects/packagefiles/sdl3/src/filesystem/posix/meson.build b/subprojects/packagefiles/sdl3/src/filesystem/posix/meson.build new file mode 100644 index 00000000000..71536a08b85 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/filesystem/posix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysfsops.c') diff --git a/subprojects/packagefiles/sdl3/src/filesystem/unix/meson.build b/subprojects/packagefiles/sdl3/src/filesystem/unix/meson.build new file mode 100644 index 00000000000..fdbee5a6577 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/filesystem/unix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysfilesystem.c') diff --git a/subprojects/packagefiles/sdl3/src/filesystem/windows/meson.build b/subprojects/packagefiles/sdl3/src/filesystem/windows/meson.build new file mode 100644 index 00000000000..2b492cc06eb --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/filesystem/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysfilesystem.c', 'SDL_sysfsops.c') diff --git a/subprojects/packagefiles/sdl3/src/gpu/d3d12/meson.build b/subprojects/packagefiles/sdl3/src/gpu/d3d12/meson.build new file mode 100644 index 00000000000..81dab0d3033 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/gpu/d3d12/meson.build @@ -0,0 +1 @@ +sources += files('SDL_gpu_d3d12.c') diff --git a/subprojects/packagefiles/sdl3/src/gpu/meson.build b/subprojects/packagefiles/sdl3/src/gpu/meson.build new file mode 100644 index 00000000000..09fe6a3dd7d --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/gpu/meson.build @@ -0,0 +1,11 @@ +if host_machine.system() == 'windows' + subdir('d3d12') + subdir('vulkan') +elif host_machine.system() == 'darwin' + subdir('metal') + subdir('vulkan') +else + subdir('vulkan') +endif + +sources += files('SDL_gpu.c') diff --git a/subprojects/packagefiles/sdl3/src/gpu/metal/meson.build b/subprojects/packagefiles/sdl3/src/gpu/metal/meson.build new file mode 100644 index 00000000000..9d307849f77 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/gpu/metal/meson.build @@ -0,0 +1,2 @@ +sources += files('SDL_gpu_metal.m') + diff --git a/subprojects/packagefiles/sdl3/src/gpu/vulkan/meson.build b/subprojects/packagefiles/sdl3/src/gpu/vulkan/meson.build new file mode 100644 index 00000000000..df295e2db6f --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/gpu/vulkan/meson.build @@ -0,0 +1 @@ +sources += files('SDL_gpu_vulkan.c') diff --git a/subprojects/packagefiles/sdl3/src/haptic/darwin/meson.build b/subprojects/packagefiles/sdl3/src/haptic/darwin/meson.build new file mode 100644 index 00000000000..719fc68c8df --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/haptic/darwin/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syshaptic.c') diff --git a/subprojects/packagefiles/sdl3/src/haptic/dummy/meson.build b/subprojects/packagefiles/sdl3/src/haptic/dummy/meson.build new file mode 100644 index 00000000000..719fc68c8df --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/haptic/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syshaptic.c') diff --git a/subprojects/packagefiles/sdl3/src/haptic/linux/meson.build b/subprojects/packagefiles/sdl3/src/haptic/linux/meson.build new file mode 100644 index 00000000000..719fc68c8df --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/haptic/linux/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syshaptic.c') diff --git a/subprojects/packagefiles/sdl3/src/haptic/meson.build b/subprojects/packagefiles/sdl3/src/haptic/meson.build new file mode 100644 index 00000000000..2bb9639ba2e --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/haptic/meson.build @@ -0,0 +1,12 @@ +if host_machine.system() == 'windows' + cdata.set('SDL_HAPTIC_DINPUT', 1) + subdir('windows') +elif host_machine.system() == 'darwin' + cdata.set('SDL_HAPTIC_IOKIT', 1) + subdir('darwin') +else + cdata.set('SDL_HAPTIC_LINUX', 1) + subdir('linux') +endif + +sources += files('SDL_haptic.c') diff --git a/subprojects/packagefiles/sdl3/src/haptic/windows/meson.build b/subprojects/packagefiles/sdl3/src/haptic/windows/meson.build new file mode 100644 index 00000000000..a0e0491eb27 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/haptic/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_dinputhaptic.c', 'SDL_windowshaptic.c') diff --git a/subprojects/packagefiles/sdl3/src/hidapi/dist/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/dist/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/dist/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/documentation/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/documentation/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/documentation/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/hidapi/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/hidapi/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/hidapi/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/hidtest/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/hidtest/meson.build new file mode 100644 index 00000000000..ca667aeef86 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/hidtest/meson.build @@ -0,0 +1 @@ +sources += files('test.c') diff --git a/subprojects/packagefiles/sdl3/src/hidapi/ios/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/ios/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/ios/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/libusb/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/libusb/meson.build new file mode 100644 index 00000000000..9628062b4bc --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/libusb/meson.build @@ -0,0 +1 @@ +sources += files('hid.c') diff --git a/subprojects/packagefiles/sdl3/src/hidapi/linux/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/linux/meson.build new file mode 100644 index 00000000000..9628062b4bc --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/linux/meson.build @@ -0,0 +1 @@ +sources += files('hid.c') diff --git a/subprojects/packagefiles/sdl3/src/hidapi/m4/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/m4/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/m4/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/mac/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/mac/meson.build new file mode 100644 index 00000000000..9628062b4bc --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/mac/meson.build @@ -0,0 +1 @@ +sources += files('hid.c') diff --git a/subprojects/packagefiles/sdl3/src/hidapi/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/meson.build new file mode 100644 index 00000000000..c2f9ff130ca --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/meson.build @@ -0,0 +1,9 @@ +if host_machine.system() == 'windows' + subdir('windows') +elif host_machine.subsystem() == 'macos' + # subdir('mac') +else + subdir('linux') +endif + +sources += files('SDL_hidapi.c') diff --git a/subprojects/packagefiles/sdl3/src/hidapi/pc/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/pc/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/pc/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/src/cmake/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/src/cmake/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/src/cmake/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/src/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/src/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/src/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/subprojects/hidapi_build_cmake/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/subprojects/hidapi_build_cmake/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/subprojects/hidapi_build_cmake/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/subprojects/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/subprojects/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/subprojects/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/udev/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/udev/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/udev/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/windows/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/windows/meson.build new file mode 100644 index 00000000000..02a1aa68aa8 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/windows/meson.build @@ -0,0 +1,4 @@ +sources += files( + # 'hid.c', + # 'hidapi_descriptor_reconstruct.c', + ) diff --git a/subprojects/packagefiles/sdl3/src/hidapi/windows/pp_data_dump/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/windows/pp_data_dump/meson.build new file mode 100644 index 00000000000..0b25ed679e7 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/windows/pp_data_dump/meson.build @@ -0,0 +1 @@ +sources += files('pp_data_dump.c') diff --git a/subprojects/packagefiles/sdl3/src/hidapi/windows/test/data/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/windows/test/data/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/windows/test/data/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/hidapi/windows/test/meson.build b/subprojects/packagefiles/sdl3/src/hidapi/windows/test/meson.build new file mode 100644 index 00000000000..934904029e2 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/hidapi/windows/test/meson.build @@ -0,0 +1 @@ +sources += files('hid_report_reconstructor_test.c') diff --git a/subprojects/packagefiles/sdl3/src/io/generic/meson.build b/subprojects/packagefiles/sdl3/src/io/generic/meson.build new file mode 100644 index 00000000000..31123201654 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/io/generic/meson.build @@ -0,0 +1 @@ +sources += files('SDL_asyncio_generic.c') diff --git a/subprojects/packagefiles/sdl3/src/io/io_uring/meson.build b/subprojects/packagefiles/sdl3/src/io/io_uring/meson.build new file mode 100644 index 00000000000..ebebbf31d8e --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/io/io_uring/meson.build @@ -0,0 +1 @@ +sources += files('SDL_asyncio_liburing.c') diff --git a/subprojects/packagefiles/sdl3/src/io/meson.build b/subprojects/packagefiles/sdl3/src/io/meson.build new file mode 100644 index 00000000000..386571e9451 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/io/meson.build @@ -0,0 +1,7 @@ +subdir('generic') +if host_machine.system() == 'windows' + subdir('windows') +else +endif + +sources += files('SDL_asyncio.c', 'SDL_iostream.c') diff --git a/subprojects/packagefiles/sdl3/src/io/windows/meson.build b/subprojects/packagefiles/sdl3/src/io/windows/meson.build new file mode 100644 index 00000000000..76e0efc74d7 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/io/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_asyncio_windows_ioring.c') diff --git a/subprojects/packagefiles/sdl3/src/joystick/apple/meson.build b/subprojects/packagefiles/sdl3/src/joystick/apple/meson.build new file mode 100644 index 00000000000..a91d38c0bb4 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/apple/meson.build @@ -0,0 +1 @@ +sources += files('SDL_mfijoystick.m') diff --git a/subprojects/packagefiles/sdl3/src/joystick/darwin/meson.build b/subprojects/packagefiles/sdl3/src/joystick/darwin/meson.build new file mode 100644 index 00000000000..679d25e6d6e --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/darwin/meson.build @@ -0,0 +1 @@ +sources += files('SDL_iokitjoystick.c') diff --git a/subprojects/packagefiles/sdl3/src/joystick/dummy/meson.build b/subprojects/packagefiles/sdl3/src/joystick/dummy/meson.build new file mode 100644 index 00000000000..b13aee56b7e --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysjoystick.c') diff --git a/subprojects/packagefiles/sdl3/src/joystick/gdk/meson.build b/subprojects/packagefiles/sdl3/src/joystick/gdk/meson.build new file mode 100644 index 00000000000..d5b23edb6dc --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/gdk/meson.build @@ -0,0 +1,3 @@ +sources += files('SDL_gameinputjoystick.cpp') + + diff --git a/subprojects/packagefiles/sdl3/src/joystick/hidapi/meson.build b/subprojects/packagefiles/sdl3/src/joystick/hidapi/meson.build new file mode 100644 index 00000000000..f28eecff072 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/hidapi/meson.build @@ -0,0 +1,20 @@ +sources += files( + 'SDL_hidapi_combined.c', + 'SDL_hidapi_gamecube.c', + 'SDL_hidapi_luna.c', + 'SDL_hidapi_ps3.c', + 'SDL_hidapi_ps4.c', + 'SDL_hidapi_ps5.c', + 'SDL_hidapi_rumble.c', + 'SDL_hidapi_shield.c', + 'SDL_hidapi_stadia.c', + 'SDL_hidapi_steam.c', + 'SDL_hidapi_steam_hori.c', + 'SDL_hidapi_steamdeck.c', + 'SDL_hidapi_switch.c', + 'SDL_hidapi_wii.c', + 'SDL_hidapi_xbox360.c', + 'SDL_hidapi_xbox360w.c', + 'SDL_hidapi_xboxone.c', + 'SDL_hidapijoystick.c', +) diff --git a/subprojects/packagefiles/sdl3/src/joystick/hidapi/steam/meson.build b/subprojects/packagefiles/sdl3/src/joystick/hidapi/steam/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/hidapi/steam/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/joystick/linux/meson.build b/subprojects/packagefiles/sdl3/src/joystick/linux/meson.build new file mode 100644 index 00000000000..b13aee56b7e --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/linux/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysjoystick.c') diff --git a/subprojects/packagefiles/sdl3/src/joystick/meson.build b/subprojects/packagefiles/sdl3/src/joystick/meson.build new file mode 100644 index 00000000000..73c6ee1bd83 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/meson.build @@ -0,0 +1,24 @@ +if host_machine.system() == 'windows' + cdata.set('SDL_JOYSTICK_DINPUT', 1) + subdir('hidapi') + subdir('windows') + subdir('gdk') +elif host_machine.system() == 'darwin' + cdata.set('SDL_JOYSTICK_IOKIT', 1) + cdata.set('SDL_JOYSTICK_MFI', 1) + subdir('apple') + subdir('darwin') +else + cdata.set('SDL_JOYSTICK_LINUX', 1) + subdir('linux') +endif + +subdir('virtual') +cdata.set('SDL_JOYSTICK_VIRTUAL', 1) + +sources += files( + 'SDL_gamepad.c', + 'SDL_joystick.c', + 'SDL_steam_virtual_gamepad.c', + 'controller_type.c', +) diff --git a/subprojects/packagefiles/sdl3/src/joystick/virtual/meson.build b/subprojects/packagefiles/sdl3/src/joystick/virtual/meson.build new file mode 100644 index 00000000000..d5bea16adb6 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/virtual/meson.build @@ -0,0 +1 @@ +sources += files('SDL_virtualjoystick.c') diff --git a/subprojects/packagefiles/sdl3/src/joystick/windows/meson.build b/subprojects/packagefiles/sdl3/src/joystick/windows/meson.build new file mode 100644 index 00000000000..73879068e89 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/joystick/windows/meson.build @@ -0,0 +1,7 @@ +sources += files( + 'SDL_dinputjoystick.c', + 'SDL_rawinputjoystick.c', + 'SDL_windows_gaming_input.c', + 'SDL_windowsjoystick.c', + 'SDL_xinputjoystick.c', +) diff --git a/subprojects/packagefiles/sdl3/src/libm/meson.build b/subprojects/packagefiles/sdl3/src/libm/meson.build new file mode 100644 index 00000000000..4407195daac --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/libm/meson.build @@ -0,0 +1,27 @@ +sources += files( + 'e_atan2.c', + 'e_exp.c', + 'e_fmod.c', + 'e_log.c', + 'e_log10.c', + 'e_pow.c', + 'e_rem_pio2.c', + 'e_sqrt.c', + 'k_cos.c', + 'k_rem_pio2.c', + 'k_sin.c', + 'k_tan.c', + 's_atan.c', + 's_copysign.c', + 's_cos.c', + 's_fabs.c', + 's_floor.c', + 's_isinf.c', + 's_isinff.c', + 's_isnan.c', + 's_isnanf.c', + 's_modf.c', + 's_scalbn.c', + 's_sin.c', + 's_tan.c', +) diff --git a/subprojects/packagefiles/sdl3/src/loadso/dlopen/meson.build b/subprojects/packagefiles/sdl3/src/loadso/dlopen/meson.build new file mode 100644 index 00000000000..28ab5f638cd --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/loadso/dlopen/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysloadso.c') diff --git a/subprojects/packagefiles/sdl3/src/loadso/dummy/meson.build b/subprojects/packagefiles/sdl3/src/loadso/dummy/meson.build new file mode 100644 index 00000000000..28ab5f638cd --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/loadso/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysloadso.c') diff --git a/subprojects/packagefiles/sdl3/src/loadso/meson.build b/subprojects/packagefiles/sdl3/src/loadso/meson.build new file mode 100644 index 00000000000..23e4124a41b --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/loadso/meson.build @@ -0,0 +1,5 @@ +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('dlopen') +endif diff --git a/subprojects/packagefiles/sdl3/src/loadso/windows/meson.build b/subprojects/packagefiles/sdl3/src/loadso/windows/meson.build new file mode 100644 index 00000000000..28ab5f638cd --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/loadso/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysloadso.c') diff --git a/subprojects/packagefiles/sdl3/src/locale/dummy/meson.build b/subprojects/packagefiles/sdl3/src/locale/dummy/meson.build new file mode 100644 index 00000000000..403213358ee --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/locale/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syslocale.c') diff --git a/subprojects/packagefiles/sdl3/src/locale/macos/meson.build b/subprojects/packagefiles/sdl3/src/locale/macos/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/locale/macos/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/locale/meson.build b/subprojects/packagefiles/sdl3/src/locale/meson.build new file mode 100644 index 00000000000..dd0b2cfdb08 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/locale/meson.build @@ -0,0 +1,9 @@ +sources += files('SDL_locale.c') + +if host_machine.system() == 'windows' + subdir('windows') +elif host_machine.system() == 'linux' or host_machine.system() == 'darwin' + subdir('unix') +else + error('Platform not supported yet.') +endif diff --git a/subprojects/packagefiles/sdl3/src/locale/unix/meson.build b/subprojects/packagefiles/sdl3/src/locale/unix/meson.build new file mode 100644 index 00000000000..403213358ee --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/locale/unix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syslocale.c') diff --git a/subprojects/packagefiles/sdl3/src/locale/windows/meson.build b/subprojects/packagefiles/sdl3/src/locale/windows/meson.build new file mode 100644 index 00000000000..403213358ee --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/locale/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syslocale.c') diff --git a/subprojects/packagefiles/sdl3/src/main/gdk/meson.build b/subprojects/packagefiles/sdl3/src/main/gdk/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/main/gdk/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/main/generic/meson.build b/subprojects/packagefiles/sdl3/src/main/generic/meson.build new file mode 100644 index 00000000000..abcf75afa9f --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/main/generic/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysmain_callbacks.c') diff --git a/subprojects/packagefiles/sdl3/src/main/ios/meson.build b/subprojects/packagefiles/sdl3/src/main/ios/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/main/ios/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/main/meson.build b/subprojects/packagefiles/sdl3/src/main/meson.build new file mode 100644 index 00000000000..b998fb404f4 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/main/meson.build @@ -0,0 +1,8 @@ +if host_machine.system() == 'windows' + subdir('windows') + subdir('generic') +else + subdir('generic') +endif + +sources += files('SDL_main_callbacks.c', 'SDL_runapp.c') diff --git a/subprojects/packagefiles/sdl3/src/main/windows/meson.build b/subprojects/packagefiles/sdl3/src/main/windows/meson.build new file mode 100644 index 00000000000..18eee7c4252 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/main/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysmain_runapp.c') diff --git a/subprojects/packagefiles/sdl3/src/meson.build b/subprojects/packagefiles/sdl3/src/meson.build new file mode 100644 index 00000000000..337ff341da7 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/meson.build @@ -0,0 +1,43 @@ +subdir('atomic') +subdir('audio') +subdir('camera') +subdir('core') +subdir('cpuinfo') +subdir('dialog') +subdir('dynapi') +subdir('events') +subdir('filesystem') +subdir('gpu') +subdir('haptic') +subdir('hidapi') +subdir('io') +subdir('joystick') +subdir('libm') +subdir('loadso') +subdir('locale') +subdir('main') +subdir('misc') +subdir('power') +subdir('process') +subdir('render') +subdir('sensor') +subdir('stdlib') +subdir('storage') +subdir('thread') +subdir('time') +subdir('timer') +subdir('tray') +subdir('video') + +sources += files( + 'SDL.c', + 'SDL_assert.c', + 'SDL_error.c', + 'SDL_guid.c', + 'SDL_hashtable.c', + 'SDL_hints.c', + 'SDL_list.c', + 'SDL_log.c', + 'SDL_properties.c', + 'SDL_utils.c', +) diff --git a/subprojects/packagefiles/sdl3/src/misc/dummy/meson.build b/subprojects/packagefiles/sdl3/src/misc/dummy/meson.build new file mode 100644 index 00000000000..ba19d5cccd6 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/misc/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysurl.c') diff --git a/subprojects/packagefiles/sdl3/src/misc/ios/meson.build b/subprojects/packagefiles/sdl3/src/misc/ios/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/misc/ios/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/misc/macos/meson.build b/subprojects/packagefiles/sdl3/src/misc/macos/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/misc/macos/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/misc/meson.build b/subprojects/packagefiles/sdl3/src/misc/meson.build new file mode 100644 index 00000000000..238d85539f6 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/misc/meson.build @@ -0,0 +1,7 @@ +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('unix') +endif + +sources += files('SDL_url.c') diff --git a/subprojects/packagefiles/sdl3/src/misc/unix/meson.build b/subprojects/packagefiles/sdl3/src/misc/unix/meson.build new file mode 100644 index 00000000000..ba19d5cccd6 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/misc/unix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysurl.c') diff --git a/subprojects/packagefiles/sdl3/src/misc/windows/meson.build b/subprojects/packagefiles/sdl3/src/misc/windows/meson.build new file mode 100644 index 00000000000..ba19d5cccd6 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/misc/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_sysurl.c') diff --git a/subprojects/packagefiles/sdl3/src/power/linux/meson.build b/subprojects/packagefiles/sdl3/src/power/linux/meson.build new file mode 100644 index 00000000000..fb728641c34 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/power/linux/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syspower.c') diff --git a/subprojects/packagefiles/sdl3/src/power/macos/meson.build b/subprojects/packagefiles/sdl3/src/power/macos/meson.build new file mode 100644 index 00000000000..fb728641c34 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/power/macos/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syspower.c') diff --git a/subprojects/packagefiles/sdl3/src/power/meson.build b/subprojects/packagefiles/sdl3/src/power/meson.build new file mode 100644 index 00000000000..938221f4bdd --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/power/meson.build @@ -0,0 +1,9 @@ +if host_machine.system() == 'windows' + subdir('windows') +elif host_machine.system() == 'darwin' + subdir('macos') +else + subdir('linux') +endif + +sources += files('SDL_power.c') diff --git a/subprojects/packagefiles/sdl3/src/power/uikit/meson.build b/subprojects/packagefiles/sdl3/src/power/uikit/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/power/uikit/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/power/windows/meson.build b/subprojects/packagefiles/sdl3/src/power/windows/meson.build new file mode 100644 index 00000000000..fb728641c34 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/power/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_syspower.c') diff --git a/subprojects/packagefiles/sdl3/src/process/dummy/meson.build b/subprojects/packagefiles/sdl3/src/process/dummy/meson.build new file mode 100644 index 00000000000..208a4839d8f --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/process/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_dummyprocess.c') diff --git a/subprojects/packagefiles/sdl3/src/process/meson.build b/subprojects/packagefiles/sdl3/src/process/meson.build new file mode 100644 index 00000000000..2ddc935613b --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/process/meson.build @@ -0,0 +1,7 @@ +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('posix') +endif + +sources += files('SDL_process.c') diff --git a/subprojects/packagefiles/sdl3/src/process/posix/meson.build b/subprojects/packagefiles/sdl3/src/process/posix/meson.build new file mode 100644 index 00000000000..48bd6e1be9c --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/process/posix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_posixprocess.c') diff --git a/subprojects/packagefiles/sdl3/src/process/windows/meson.build b/subprojects/packagefiles/sdl3/src/process/windows/meson.build new file mode 100644 index 00000000000..fb8a5cd1500 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/process/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_windowsprocess.c') diff --git a/subprojects/packagefiles/sdl3/src/render/direct3d/meson.build b/subprojects/packagefiles/sdl3/src/render/direct3d/meson.build new file mode 100644 index 00000000000..8b9f3652fc5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/direct3d/meson.build @@ -0,0 +1 @@ +sources += files('SDL_render_d3d.c', 'SDL_shaders_d3d.c') diff --git a/subprojects/packagefiles/sdl3/src/render/direct3d11/meson.build b/subprojects/packagefiles/sdl3/src/render/direct3d11/meson.build new file mode 100644 index 00000000000..a1f52e2f628 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/direct3d11/meson.build @@ -0,0 +1 @@ +sources += files('SDL_render_d3d11.c', 'SDL_shaders_d3d11.c') diff --git a/subprojects/packagefiles/sdl3/src/render/direct3d12/meson.build b/subprojects/packagefiles/sdl3/src/render/direct3d12/meson.build new file mode 100644 index 00000000000..6d9f57cbb0b --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/direct3d12/meson.build @@ -0,0 +1 @@ +sources += files('SDL_render_d3d12.c', 'SDL_shaders_d3d12.c') diff --git a/subprojects/packagefiles/sdl3/src/render/gpu/meson.build b/subprojects/packagefiles/sdl3/src/render/gpu/meson.build new file mode 100644 index 00000000000..89e43c34acd --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/gpu/meson.build @@ -0,0 +1 @@ +sources += files('SDL_pipeline_gpu.c', 'SDL_render_gpu.c', 'SDL_shaders_gpu.c') diff --git a/subprojects/packagefiles/sdl3/src/render/gpu/shaders/meson.build b/subprojects/packagefiles/sdl3/src/render/gpu/shaders/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/gpu/shaders/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/render/meson.build b/subprojects/packagefiles/sdl3/src/render/meson.build new file mode 100644 index 00000000000..6fb3515e5d8 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/meson.build @@ -0,0 +1,16 @@ +subdir('gpu') +subdir('software') + +if host_machine.system() == 'windows' + subdir('direct3d12') + subdir('opengl') + subdir('vulkan') +elif host_machine.system() == 'darwin' + subdir('metal') + subdir('vulkan') +else + subdir('opengl') + subdir('vulkan') +endif + +sources += files('SDL_render.c', 'SDL_render_unsupported.c', 'SDL_yuv_sw.c') diff --git a/subprojects/packagefiles/sdl3/src/render/metal/meson.build b/subprojects/packagefiles/sdl3/src/render/metal/meson.build new file mode 100644 index 00000000000..7806d5496e9 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/metal/meson.build @@ -0,0 +1 @@ +sources += files('SDL_render_metal.m') diff --git a/subprojects/packagefiles/sdl3/src/render/opengl/meson.build b/subprojects/packagefiles/sdl3/src/render/opengl/meson.build new file mode 100644 index 00000000000..b8ff4293c49 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/opengl/meson.build @@ -0,0 +1 @@ +sources += files('SDL_render_gl.c', 'SDL_shaders_gl.c') diff --git a/subprojects/packagefiles/sdl3/src/render/opengles2/meson.build b/subprojects/packagefiles/sdl3/src/render/opengles2/meson.build new file mode 100644 index 00000000000..7d76dee82f9 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/opengles2/meson.build @@ -0,0 +1 @@ +sources += files('SDL_render_gles2.c', 'SDL_shaders_gles2.c') diff --git a/subprojects/packagefiles/sdl3/src/render/software/meson.build b/subprojects/packagefiles/sdl3/src/render/software/meson.build new file mode 100644 index 00000000000..932a3dee1af --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/software/meson.build @@ -0,0 +1,9 @@ +sources += files( + 'SDL_blendfillrect.c', + 'SDL_blendline.c', + 'SDL_blendpoint.c', + 'SDL_drawline.c', + 'SDL_drawpoint.c', + 'SDL_render_sw.c', + 'SDL_triangle.c', +) diff --git a/subprojects/packagefiles/sdl3/src/render/vitagxm/meson.build b/subprojects/packagefiles/sdl3/src/render/vitagxm/meson.build new file mode 100644 index 00000000000..59ac7686847 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/vitagxm/meson.build @@ -0,0 +1,5 @@ +sources += files( + 'SDL_render_vita_gxm.c', + 'SDL_render_vita_gxm_memory.c', + 'SDL_render_vita_gxm_tools.c', +) diff --git a/subprojects/packagefiles/sdl3/src/render/vitagxm/shader_src/meson.build b/subprojects/packagefiles/sdl3/src/render/vitagxm/shader_src/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/vitagxm/shader_src/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/render/vulkan/meson.build b/subprojects/packagefiles/sdl3/src/render/vulkan/meson.build new file mode 100644 index 00000000000..f07d9a51d28 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/render/vulkan/meson.build @@ -0,0 +1 @@ +sources += files('SDL_render_vulkan.c', 'SDL_shaders_vulkan.c') diff --git a/subprojects/packagefiles/sdl3/src/sensor/coremotion/meson.build b/subprojects/packagefiles/sdl3/src/sensor/coremotion/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/sensor/coremotion/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/sensor/dummy/meson.build b/subprojects/packagefiles/sdl3/src/sensor/dummy/meson.build new file mode 100644 index 00000000000..32808556097 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/sensor/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_dummysensor.c') diff --git a/subprojects/packagefiles/sdl3/src/sensor/meson.build b/subprojects/packagefiles/sdl3/src/sensor/meson.build new file mode 100644 index 00000000000..66a8c10f88a --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/sensor/meson.build @@ -0,0 +1,7 @@ +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('dummy') +endif + +sources += files('SDL_sensor.c') diff --git a/subprojects/packagefiles/sdl3/src/sensor/windows/meson.build b/subprojects/packagefiles/sdl3/src/sensor/windows/meson.build new file mode 100644 index 00000000000..90790ef4178 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/sensor/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_windowssensor.c') diff --git a/subprojects/packagefiles/sdl3/src/stdlib/meson.build b/subprojects/packagefiles/sdl3/src/stdlib/meson.build new file mode 100644 index 00000000000..924fe133c5d --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/stdlib/meson.build @@ -0,0 +1,17 @@ +sources += files( + 'SDL_crc16.c', + 'SDL_crc32.c', + 'SDL_getenv.c', + 'SDL_iconv.c', + 'SDL_malloc.c', + 'SDL_memcpy.c', + 'SDL_memmove.c', + 'SDL_memset.c', + 'SDL_mslibc.c', + 'SDL_murmur3.c', + 'SDL_qsort.c', + 'SDL_random.c', + 'SDL_stdlib.c', + 'SDL_string.c', + 'SDL_strtokr.c', +) diff --git a/subprojects/packagefiles/sdl3/src/storage/generic/meson.build b/subprojects/packagefiles/sdl3/src/storage/generic/meson.build new file mode 100644 index 00000000000..800d373c72d --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/storage/generic/meson.build @@ -0,0 +1 @@ +sources += files('SDL_genericstorage.c') diff --git a/subprojects/packagefiles/sdl3/src/storage/meson.build b/subprojects/packagefiles/sdl3/src/storage/meson.build new file mode 100644 index 00000000000..c0db831f6c9 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/storage/meson.build @@ -0,0 +1,3 @@ +subdir('generic') + +sources += files('SDL_storage.c') diff --git a/subprojects/packagefiles/sdl3/src/storage/steam/meson.build b/subprojects/packagefiles/sdl3/src/storage/steam/meson.build new file mode 100644 index 00000000000..f29d2d2efef --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/storage/steam/meson.build @@ -0,0 +1 @@ +sources += files('SDL_steamstorage.c') diff --git a/subprojects/packagefiles/sdl3/src/test/meson.build b/subprojects/packagefiles/sdl3/src/test/meson.build new file mode 100644 index 00000000000..faae212be4b --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/test/meson.build @@ -0,0 +1,12 @@ +sources += files( + 'SDL_test_assert.c', + 'SDL_test_common.c', + 'SDL_test_compare.c', + 'SDL_test_crc32.c', + 'SDL_test_font.c', + 'SDL_test_fuzzer.c', + 'SDL_test_harness.c', + 'SDL_test_log.c', + 'SDL_test_md5.c', + 'SDL_test_memory.c', +) diff --git a/subprojects/packagefiles/sdl3/src/thread/generic/meson.build b/subprojects/packagefiles/sdl3/src/thread/generic/meson.build new file mode 100644 index 00000000000..50cd3005f7d --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/thread/generic/meson.build @@ -0,0 +1,8 @@ +sources += files( + 'SDL_syscond.c', + 'SDL_sysmutex.c', + 'SDL_sysrwlock.c', + 'SDL_syssem.c', + 'SDL_systhread.c', + 'SDL_systls.c', +) diff --git a/subprojects/packagefiles/sdl3/src/thread/meson.build b/subprojects/packagefiles/sdl3/src/thread/meson.build new file mode 100644 index 00000000000..68236d7f005 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/thread/meson.build @@ -0,0 +1,9 @@ +#subdir('generic') + +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('pthread') +endif + +sources += files('SDL_thread.c') diff --git a/subprojects/packagefiles/sdl3/src/thread/pthread/meson.build b/subprojects/packagefiles/sdl3/src/thread/pthread/meson.build new file mode 100644 index 00000000000..50cd3005f7d --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/thread/pthread/meson.build @@ -0,0 +1,8 @@ +sources += files( + 'SDL_syscond.c', + 'SDL_sysmutex.c', + 'SDL_sysrwlock.c', + 'SDL_syssem.c', + 'SDL_systhread.c', + 'SDL_systls.c', +) diff --git a/subprojects/packagefiles/sdl3/src/thread/windows/meson.build b/subprojects/packagefiles/sdl3/src/thread/windows/meson.build new file mode 100644 index 00000000000..b6f4e4987e6 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/thread/windows/meson.build @@ -0,0 +1,10 @@ +sources += files( + '../generic/SDL_syscond.c', + '../generic/SDL_sysrwlock.c', + 'SDL_syscond_cv.c', + 'SDL_sysmutex.c', + 'SDL_sysrwlock_srw.c', + 'SDL_syssem.c', + 'SDL_systhread.c', + 'SDL_systls.c', +) diff --git a/subprojects/packagefiles/sdl3/src/time/meson.build b/subprojects/packagefiles/sdl3/src/time/meson.build new file mode 100644 index 00000000000..98138f95acf --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/time/meson.build @@ -0,0 +1,9 @@ +if host_machine.system() == 'windows' + cdata.set('SDL_TIME_WINDOWS', 1) + subdir('windows') +else + cdata.set('SDL_TIME_UNIX', 1) + subdir('unix') +endif + +sources += files('SDL_time.c') diff --git a/subprojects/packagefiles/sdl3/src/time/unix/meson.build b/subprojects/packagefiles/sdl3/src/time/unix/meson.build new file mode 100644 index 00000000000..72424ebf259 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/time/unix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_systime.c') diff --git a/subprojects/packagefiles/sdl3/src/time/windows/meson.build b/subprojects/packagefiles/sdl3/src/time/windows/meson.build new file mode 100644 index 00000000000..72424ebf259 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/time/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_systime.c') diff --git a/subprojects/packagefiles/sdl3/src/timer/meson.build b/subprojects/packagefiles/sdl3/src/timer/meson.build new file mode 100644 index 00000000000..e52abe4ad35 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/timer/meson.build @@ -0,0 +1,7 @@ +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('unix') +endif + +sources += files('SDL_timer.c') diff --git a/subprojects/packagefiles/sdl3/src/timer/unix/meson.build b/subprojects/packagefiles/sdl3/src/timer/unix/meson.build new file mode 100644 index 00000000000..e2177eaf088 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/timer/unix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_systimer.c') diff --git a/subprojects/packagefiles/sdl3/src/timer/windows/meson.build b/subprojects/packagefiles/sdl3/src/timer/windows/meson.build new file mode 100644 index 00000000000..e2177eaf088 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/timer/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_systimer.c') diff --git a/subprojects/packagefiles/sdl3/src/tray/cocoa/meson.build b/subprojects/packagefiles/sdl3/src/tray/cocoa/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/tray/cocoa/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/tray/dummy/meson.build b/subprojects/packagefiles/sdl3/src/tray/dummy/meson.build new file mode 100644 index 00000000000..ce9165761a4 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/tray/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_tray.c') diff --git a/subprojects/packagefiles/sdl3/src/tray/meson.build b/subprojects/packagefiles/sdl3/src/tray/meson.build new file mode 100644 index 00000000000..b4a1bad2ef5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/tray/meson.build @@ -0,0 +1,7 @@ +if host_machine.system() == 'windows' + subdir('windows') +else + subdir('unix') +endif + +sources += files('SDL_tray_utils.c') diff --git a/subprojects/packagefiles/sdl3/src/tray/unix/meson.build b/subprojects/packagefiles/sdl3/src/tray/unix/meson.build new file mode 100644 index 00000000000..ce9165761a4 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/tray/unix/meson.build @@ -0,0 +1 @@ +sources += files('SDL_tray.c') diff --git a/subprojects/packagefiles/sdl3/src/tray/windows/meson.build b/subprojects/packagefiles/sdl3/src/tray/windows/meson.build new file mode 100644 index 00000000000..ce9165761a4 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/tray/windows/meson.build @@ -0,0 +1 @@ +sources += files('SDL_tray.c') diff --git a/subprojects/packagefiles/sdl3/src/video/cocoa/meson.build b/subprojects/packagefiles/sdl3/src/video/cocoa/meson.build new file mode 100644 index 00000000000..32648fffd22 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/cocoa/meson.build @@ -0,0 +1,16 @@ +sources += files( + 'SDL_cocoaclipboard.m', + 'SDL_cocoaevents.m', + 'SDL_cocoakeyboard.m', + 'SDL_cocoamessagebox.m', + 'SDL_cocoametalview.m', + 'SDL_cocoamodes.m', + 'SDL_cocoamouse.m', + 'SDL_cocoaopengl.m', + 'SDL_cocoaopengles.m', + 'SDL_cocoapen.m', + 'SDL_cocoashape.m', + 'SDL_cocoavideo.m', + 'SDL_cocoavulkan.m', + 'SDL_cocoawindow.m', +) diff --git a/subprojects/packagefiles/sdl3/src/video/directx/meson.build b/subprojects/packagefiles/sdl3/src/video/directx/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/directx/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/dummy/meson.build b/subprojects/packagefiles/sdl3/src/video/dummy/meson.build new file mode 100644 index 00000000000..88d2f213900 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/dummy/meson.build @@ -0,0 +1 @@ +sources += files('SDL_nullevents.c', 'SDL_nullframebuffer.c', 'SDL_nullvideo.c') diff --git a/subprojects/packagefiles/sdl3/src/video/gdk/meson.build b/subprojects/packagefiles/sdl3/src/video/gdk/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/gdk/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/khronos/EGL/meson.build b/subprojects/packagefiles/sdl3/src/video/khronos/EGL/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/khronos/EGL/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/khronos/GLES2/meson.build b/subprojects/packagefiles/sdl3/src/video/khronos/GLES2/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/khronos/GLES2/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/khronos/GLES3/meson.build b/subprojects/packagefiles/sdl3/src/video/khronos/GLES3/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/khronos/GLES3/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/khronos/KHR/meson.build b/subprojects/packagefiles/sdl3/src/video/khronos/KHR/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/khronos/KHR/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/khronos/meson.build b/subprojects/packagefiles/sdl3/src/video/khronos/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/khronos/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/khronos/vk_video/meson.build b/subprojects/packagefiles/sdl3/src/video/khronos/vk_video/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/khronos/vk_video/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/khronos/vulkan/meson.build b/subprojects/packagefiles/sdl3/src/video/khronos/vulkan/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/khronos/vulkan/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/kmsdrm/meson.build b/subprojects/packagefiles/sdl3/src/video/kmsdrm/meson.build new file mode 100644 index 00000000000..59a383424d9 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/kmsdrm/meson.build @@ -0,0 +1,8 @@ +sources += files( + 'SDL_kmsdrmdyn.c', + 'SDL_kmsdrmevents.c', + 'SDL_kmsdrmmouse.c', + 'SDL_kmsdrmopengles.c', + 'SDL_kmsdrmvideo.c', + 'SDL_kmsdrmvulkan.c', +) diff --git a/subprojects/packagefiles/sdl3/src/video/meson.build b/subprojects/packagefiles/sdl3/src/video/meson.build new file mode 100644 index 00000000000..ed45869d657 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/meson.build @@ -0,0 +1,66 @@ +subdir('yuv2rgb') + +if host_machine.system() == 'windows' + cdata.set('SDL_VIDEO_DRIVER_WINDOWS', 1) + subdir('windows') +elif host_machine.system() == 'darwin' + subdir('cocoa') +else + cdata.set('SDL_VIDEO_DRIVER_WAYLAND', 1) + subdir('wayland') + x11_dep = dependency( + 'x11', + required: false, + ) + xext_dep = dependency( + 'xext', + required: false, + ) + # xproto is required for some XInput2 functions + xproto_dep = dependency( + 'xproto', + required: false, + ) + # SDL3 assumes XInput2 is always available + xi_dep = dependency( + 'xi', + required: false, + ) + + + if x11_dep.found() and xext_dep.found() and xproto_dep.found() and xi_dep.found() + cdata.set('SDL_VIDEO_DRIVER_X11', 1) + cdata.set('SDL_VIDEO_DRIVER_X11_XINPUT2', 1) + sdl_deps += x11_dep + sdl_deps += xext_dep + sdl_deps += xproto_dep + sdl_deps += xi_dep + subdir('x11') + endif +endif + +sources += files( + 'SDL_RLEaccel.c', + 'SDL_blit.c', + 'SDL_blit_0.c', + 'SDL_blit_1.c', + 'SDL_blit_A.c', + 'SDL_blit_N.c', + 'SDL_blit_auto.c', + 'SDL_blit_copy.c', + 'SDL_blit_slow.c', + 'SDL_bmp.c', + 'SDL_clipboard.c', + 'SDL_egl.c', + 'SDL_fillrect.c', + 'SDL_pixels.c', + 'SDL_rect.c', + 'SDL_rotate.c', + 'SDL_stb.c', + 'SDL_stretch.c', + 'SDL_surface.c', + 'SDL_video.c', + 'SDL_video_unsupported.c', + 'SDL_vulkan_utils.c', + 'SDL_yuv.c', +) diff --git a/subprojects/packagefiles/sdl3/src/video/offscreen/meson.build b/subprojects/packagefiles/sdl3/src/video/offscreen/meson.build new file mode 100644 index 00000000000..bb7d91cb545 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/offscreen/meson.build @@ -0,0 +1,8 @@ +sources += files( + 'SDL_offscreenevents.c', + 'SDL_offscreenframebuffer.c', + 'SDL_offscreenopengles.c', + 'SDL_offscreenvideo.c', + 'SDL_offscreenvulkan.c', + 'SDL_offscreenwindow.c', +) diff --git a/subprojects/packagefiles/sdl3/src/video/openvr/meson.build b/subprojects/packagefiles/sdl3/src/video/openvr/meson.build new file mode 100644 index 00000000000..b53d3778e61 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/openvr/meson.build @@ -0,0 +1 @@ +sources += files('SDL_openvrvideo.c') diff --git a/subprojects/packagefiles/sdl3/src/video/qnx/meson.build b/subprojects/packagefiles/sdl3/src/video/qnx/meson.build new file mode 100644 index 00000000000..194a34f3b2a --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/qnx/meson.build @@ -0,0 +1 @@ +sources += files('SDL_qnxgl.c', 'SDL_qnxkeyboard.c', 'SDL_qnxvideo.c') diff --git a/subprojects/packagefiles/sdl3/src/video/raspberry/meson.build b/subprojects/packagefiles/sdl3/src/video/raspberry/meson.build new file mode 100644 index 00000000000..3d27debd230 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/raspberry/meson.build @@ -0,0 +1,6 @@ +sources += files( + 'SDL_rpievents.c', + 'SDL_rpimouse.c', + 'SDL_rpiopengles.c', + 'SDL_rpivideo.c', +) diff --git a/subprojects/packagefiles/sdl3/src/video/uikit/meson.build b/subprojects/packagefiles/sdl3/src/video/uikit/meson.build new file mode 100644 index 00000000000..3b34f0df8c5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/uikit/meson.build @@ -0,0 +1 @@ +sources += files() diff --git a/subprojects/packagefiles/sdl3/src/video/vivante/meson.build b/subprojects/packagefiles/sdl3/src/video/vivante/meson.build new file mode 100644 index 00000000000..e0be8f56a2a --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/vivante/meson.build @@ -0,0 +1,6 @@ +sources += files( + 'SDL_vivanteopengles.c', + 'SDL_vivanteplatform.c', + 'SDL_vivantevideo.c', + 'SDL_vivantevulkan.c', +) diff --git a/subprojects/packagefiles/sdl3/src/video/wayland/meson.build b/subprojects/packagefiles/sdl3/src/video/wayland/meson.build new file mode 100644 index 00000000000..e66d7bc09e5 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/wayland/meson.build @@ -0,0 +1,26 @@ +sources += files( + 'SDL_waylandclipboard.c', + 'SDL_waylandcolor.c', + 'SDL_waylanddatamanager.c', + 'SDL_waylanddyn.c', + 'SDL_waylandevents.c', + 'SDL_waylandkeyboard.c', + 'SDL_waylandmessagebox.c', + 'SDL_waylandmouse.c', + 'SDL_waylandopengles.c', + 'SDL_waylandshmbuffer.c', + 'SDL_waylandvideo.c', + 'SDL_waylandvulkan.c', + 'SDL_waylandwindow.c', +) + +# parse XKB version to avoid issues within SDL3 config +xkdbcommon_version = xkbcommon_dep.version().split('.') + +xkdbcommon_major = xkdbcommon_version[0].to_int() +xkdbcommon_minor = xkdbcommon_version[1].to_int() +xkdbcommon_patch = xkdbcommon_version[2].to_int() + +cdata.set('SDL_XKBCOMMON_VERSION_MAJOR', xkdbcommon_major) +cdata.set('SDL_XKBCOMMON_VERSION_MINOR', xkdbcommon_minor) +cdata.set('SDL_XKBCOMMON_VERSION_PATCH', xkdbcommon_patch) diff --git a/subprojects/packagefiles/sdl3/src/video/windows/meson.build b/subprojects/packagefiles/sdl3/src/video/windows/meson.build new file mode 100644 index 00000000000..e706702407a --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/windows/meson.build @@ -0,0 +1,17 @@ +sources += files( + 'SDL_windowsclipboard.c', + 'SDL_windowsevents.c', + 'SDL_windowsframebuffer.c', + 'SDL_windowsgameinput.cpp', + 'SDL_windowskeyboard.c', + 'SDL_windowsmessagebox.c', + 'SDL_windowsmodes.c', + 'SDL_windowsmouse.c', + 'SDL_windowsopengl.c', + 'SDL_windowsopengles.c', + 'SDL_windowsrawinput.c', + 'SDL_windowsshape.c', + 'SDL_windowsvideo.c', + 'SDL_windowsvulkan.c', + 'SDL_windowswindow.c', +) diff --git a/subprojects/packagefiles/sdl3/src/video/x11/meson.build b/subprojects/packagefiles/sdl3/src/video/x11/meson.build new file mode 100644 index 00000000000..14b8a1cf2ae --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/x11/meson.build @@ -0,0 +1,162 @@ + +sources += files( + 'SDL_x11clipboard.c', + 'SDL_x11dyn.c', + 'SDL_x11events.c', + 'SDL_x11framebuffer.c', + 'SDL_x11keyboard.c', + 'SDL_x11messagebox.c', + 'SDL_x11modes.c', + 'SDL_x11mouse.c', + 'SDL_x11opengl.c', + 'SDL_x11opengles.c', + 'SDL_x11pen.c', + 'SDL_x11settings.c', + 'SDL_x11shape.c', + 'SDL_x11toolkit.c', + 'SDL_x11touch.c', + 'SDL_x11video.c', + 'SDL_x11vulkan.c', + 'SDL_x11window.c', + 'SDL_x11xfixes.c', + 'SDL_x11xinput2.c', + 'SDL_x11xsync.c', + 'SDL_x11xtest.c', + 'edid-parse.c', + 'xsettings-client.c', +) + + +xfixes_dep = dependency( + 'xfixes', + required: false, +) +xcursor_dep = dependency( + 'xcursor', + required: false, +) +xrandr_dep = dependency( + 'xrandr', + required: false, +) + +if xfixes_dep.found() + sdl_deps += xfixes_dep +endif +if xcursor_dep.found() + cdata.set('SDL_VIDEO_DRIVER_X11_XCURSOR', 1) + sdl_deps += xcursor_dep +endif +if xrandr_dep.found() + cdata.set('SDL_VIDEO_DRIVER_X11_XRANDR', 1) + sdl_deps += xrandr_dep +endif + + +have_XSYNC_header = cc.has_header('X11/extensions/sync.h') +have_XSS_header = cc.has_header('X11/extensions/scrnsaver.h') +have_XSHAPE_header = cc.has_header('X11/extensions/shape.h') +have_XTEST_header = cc.has_header('X11/extensions/XTest.h') +have_XDBE_header = cc.has_header('X11/extensions/Xdbe.h') +have_XEXT_header = cc.has_header('X11/extensions/Xext.h') + +have_shmat_in_libc_code = ''' + #include + int main(int argc, char **argv) { shmat;} +''' +have_shmat_in_libc = cc.compiles( + have_shmat_in_libc_code, + name: 'have shmat in libc', +) + +if not have_shmat_in_libc + cdata.set('NO_SHARED_MEMORY', 1) +endif + +have_X11_genericevent_code = ''' + #include + int main(int argc, char **argv) { + Display *display; + XEvent event; + XGenericEventCookie *cookie = &event.xcookie; + XNextEvent(display, &event); + XGetEventData(display, cookie); + XFreeEventData(display, cookie); + return 0; } +''' +have_X11_genericevent = cc.compiles( + have_X11_genericevent_code, + name: 'have OpenGL genericevent support', +) + +if have_X11_genericevent + cdata.set('SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS', 1) +endif + + +# X11/XKBlib is not used within CMake script + + +# X11 scroll info +have_XInput2_ScrollInfo_code = ''' + #include + #include + #include + XIScrollClassInfo *s; + int main(int argc, char **argv) {} +''' +have_XInput2_ScrollInfo = cc.compiles( + have_XInput2_ScrollInfo_code, + name: 'have XInput2 scrollinfo', +) + +if have_XInput2_ScrollInfo + cdata.set('SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO', 1) +endif + + +# X11 multitouch + +have_XInput2_multitouch_code = ''' + #include + #include + #include + int event_type = XI_TouchBegin; + XITouchClassInfo *t; + Status XIAllowTouchEvents(Display *a,int b,unsigned int c,Window d,int f) { + return (Status)0; + } + int main(int argc, char **argv) { return 0; } +''' +have_XInput2_multitouch = cc.compiles( + have_XInput2_multitouch_code, + name: 'have XInput2 multi-touch', +) + +if have_XInput2_multitouch + cdata.set('SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH', 1) +endif + + +# X11 touch gestures + +have_XInput2_gesture_code = ''' + #include + #include + #include + int event_type = XI_GesturePinchBegin; + XITouchClassInfo *t; + Status XIAllowTouchEvents(Display *a,int b,unsigned int c,Window d,int f) { + return (Status)0; + } + int main(int argc, char **argv) { return 0; } +''' +have_XInput2_gesture = cc.compiles( + have_XInput2_gesture_code, + name: 'have XInput2 touch gesture', +) + +if have_XInput2_gesture + cdata.set('SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_GESTURE', 1) +endif + diff --git a/subprojects/packagefiles/sdl3/src/video/yuv2rgb/meson.build b/subprojects/packagefiles/sdl3/src/video/yuv2rgb/meson.build new file mode 100644 index 00000000000..f8afc76df35 --- /dev/null +++ b/subprojects/packagefiles/sdl3/src/video/yuv2rgb/meson.build @@ -0,0 +1 @@ +sources += files('yuv_rgb_lsx.c', 'yuv_rgb_sse.c', 'yuv_rgb_std.c') diff --git a/subprojects/packagefiles/sdl3/wayland-protocols/meson.build b/subprojects/packagefiles/sdl3/wayland-protocols/meson.build new file mode 100644 index 00000000000..81e23b7a075 --- /dev/null +++ b/subprojects/packagefiles/sdl3/wayland-protocols/meson.build @@ -0,0 +1,42 @@ +files = [ + 'alpha-modifier-v1.xml', + 'color-management-v1.xml', + 'cursor-shape-v1.xml', + 'fractional-scale-v1.xml', + 'frog-color-management-v1.xml', + 'idle-inhibit-unstable-v1.xml', + 'input-timestamps-unstable-v1.xml', + 'keyboard-shortcuts-inhibit-unstable-v1.xml', + 'pointer-constraints-unstable-v1.xml', + 'pointer-gestures-unstable-v1.xml', + 'pointer-warp-v1.xml', + 'primary-selection-unstable-v1.xml', + 'relative-pointer-unstable-v1.xml', + 'tablet-v2.xml', + 'text-input-unstable-v3.xml', + 'viewporter.xml', + 'wayland.xml', + 'xdg-activation-v1.xml', + 'xdg-decoration-unstable-v1.xml', + 'xdg-dialog-v1.xml', + 'xdg-foreign-unstable-v2.xml', + 'xdg-output-unstable-v1.xml', + 'xdg-shell.xml', + 'xdg-toplevel-icon-v1.xml', +] + +wlheadergen = generator( + wayland_scanner, + arguments: ['client-header', '@INPUT@', '@OUTPUT@'], + output: '@BASENAME@-client-protocol.h', +) +wlcodegen = generator( + wayland_scanner, + arguments: ['private-code', '@INPUT@', '@OUTPUT@'], + output: '@BASENAME@-client-protocol.c', +) + +wlheaders = wlheadergen.process(files) +wlsources = wlcodegen.process(files) +sources += wlheaders +sources += wlsources diff --git a/subprojects/sdl3.wrap b/subprojects/sdl3.wrap index d6013ed50c5..212bcdb29b3 100644 --- a/subprojects/sdl3.wrap +++ b/subprojects/sdl3.wrap @@ -1,14 +1,10 @@ [wrap-file] -directory = SDL3-3.4.0 -source_url = https://github.com/libsdl-org/SDL/releases/download/release-3.4.0/SDL3-3.4.0.tar.gz -source_filename = SDL3-3.4.0.tar.gz -source_hash = 082cbf5f429e0d80820f68dc2b507a94d4cc1b4e70817b119bbb8ec6a69584b8 -source_fallback_url = https://wrapdb.mesonbuild.com/v2/sdl3_3.4.0-2/get_source/SDL3-3.4.0.tar.gz -patch_filename = sdl3_3.4.0-2_patch.zip -patch_url = https://wrapdb.mesonbuild.com/v2/sdl3_3.4.0-2/get_patch -patch_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sdl3_3.4.0-2/sdl3_3.4.0-2_patch.zip -patch_hash = 0ef4e75d1a2416c71406d81cfbe5733caabfb86d1a2a551e62cd66e78bf23472 -wrapdb_version = 3.4.0-2 +directory = SDL3-3.4.2 +source_url = https://github.com/libsdl-org/SDL/releases/download/release-3.4.2/SDL3-3.4.2.tar.gz +source_filename = SDL3-3.4.2.tar.gz +source_hash = ef39a2e3f9a8a78296c40da701967dd1b0d0d6e267e483863ce70f8a03b4050c +source_fallback_url = https://github.com/libsdl-org/SDL/releases/download/release-3.4.2/SDL3-3.4.2.tar.gz +patch_directory = sdl3 [provide] dependency_names = sdl3