mame/3rdparty
Pino Toscano de1d577492
Various GNU/Hurd fixes (#13792)
* bx: Small platform detection/usage improvements

* Use BX_PLATFORM_POSIX where needed

The semaphone implementation already uses BX_PLATFORM_POSIX to include
<pthread.h> on all the POSIX platforms; do the same also in other places
for consistency. This is done also for <sched.h>, which is a POSIX API,
and sched_yield() from it is already guarded by BX_PLATFORM_POSIX.

* Drop support for GNU libc older than 2.12

glibc 2.12 was released on 2010, and at this point any supported Linux
distro has that version or way greather than that.

From bkaradzic/bx@b59b7debd3

* bx: fix <pthread/pthread.h> include on Hurd

<pthread/pthread.h> does not exist, the standard <pthread.h> does exist
so switch to it.

* osd/modules/file: use dirent::d_type on any GNU libc platform

This BSD extension is provided by GNU libc, so enable its usage with
that C library.

* osd/modules/file: use <pty.h> on any GNU libc platform

openpty() is implemented by GNU libc for all the OSes, so include
<pty.h> when using that C library.

* osd/modules/file: cast dirent::d_name to const char* before using it

According to POSIX [1], the type of dirent::d_name is loosely defined
as "char d_name[]", as array with an undefined size. In particular, few
ways are seen in the wild:
(a) "char d_name[size]", i.e. as proper array with a full size
(b) "char d_name[1]"/"char d_name[0]", i.e. as C flexible arrays
Regardless of its type, dirent::d_name is used as if it was a classic
const char *, i.e. as pointer to a null-terminated string.

util::string_format() uses C++ templates to collect all the arguments,
and thus it will use the actual type of dirent::d_name. In case of (a)
there is no issue, however for (b) the result is that only the first
character is used.

To ensure that dirent::d_name is fully used, explicitly cast it to
const char * before passing it to util::string_format(), so the whole
string is used.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/dirent.h.html
2025-06-09 10:35:50 +02:00
..
asio 3rdparty/asio: Patch config.hpp to hopefully work with strict preprocessor warnings. 2024-04-22 09:19:30 +10:00
asmjit cpu/drcbearm64.cpp: Added a 64-bit ARMv8 (AArch64) DRC back-end. (#13162) 2025-01-14 02:44:16 +11:00
benchmark Fix cross compiling benchmarks 2021-06-22 14:42:42 +02:00
bgfx 3rdparty: cherry-pick upstream fixes for clangcl 2025-05-13 11:41:23 +07:00
bimg Revert "Updated bgfx, bx and bimg to current upstream versions. (#11493)" 2023-09-08 05:14:35 +10:00
bx Various GNU/Hurd fixes (#13792) 2025-06-09 10:35:50 +02:00
catch Updated Catch to latest (nw) 2017-02-05 15:46:07 +01:00
compat ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915) 2022-06-11 21:47:19 +10:00
dxsdk removed not needed DirectX files (nw) 2015-09-12 11:04:54 +02:00
expat 3rdparty/expat: Updated expat to version 2.7.1. (#13643) 2025-05-03 00:18:06 +10:00
flac 3rdparty: cherry-pick upstream fixes for clangcl 2025-05-13 11:41:23 +07:00
genie genie: disable command line string escaping, fixes #13150 2025-01-02 13:26:11 +07:00
glm temp workaround for gcc 7.3 (nw) 2018-01-27 17:40:38 +02:00
libjpeg 3rdparty/libjpeg: Updated to version 9e. 2023-12-06 06:05:40 +11:00
linenoise 3rdparty/linenoise: Support keypad Enter on Windows. (#11109) 2023-04-18 03:34:25 +10:00
lsqlite3 3rdparty: Avoid the need for -fpermissive since clang doesn't like it. 2023-03-07 04:19:36 +11:00
lua 3rdparty/lua: Updated to Lua 5.4.7. 2025-03-12 17:02:57 +11:00
lua-linenoise Updated forked linenoise to latest upstream. 2023-03-07 05:33:37 +11:00
lua-zlib 3rdparty: Avoid the need for -fpermissive since clang doesn't like it. 2023-03-07 04:19:36 +11:00
luafilesystem 3rdparty: Avoid the need for -fpermissive since clang doesn't like it. 2023-03-07 04:19:36 +11:00
lzma 3rdparty/lzma: Updated to version 23.01. 2023-12-06 07:58:49 +11:00
minimp3 namco/namcos10.cpp: Add MP3 decoder support to the MEM(P3) board. (#11210) 2023-05-15 14:38:30 +10:00
nanosvg 3rdparty/nanosvg: Re-base on latest upstream. 2023-05-05 05:57:39 +10:00
portaudio 3rdparty/portaudio: Fixed inadvertent assignment in PulseAudio callback. 2023-10-24 06:39:17 +11:00
portmidi 3rdparty/portmidi: Another undefined macro warning. 2025-04-20 18:46:19 +10:00
pugixml -Switch to building MAME as C++17. 2020-11-15 03:53:47 +11:00
rapidjson Update rapidjson to 012be8528783cdbf4b7a9e64f78bd8f056b97e24 (#10842) 2023-01-20 15:44:28 -05:00
softfloat softfloat: remove unused global LITTLEENDIAN/BIGENDIAN macros, as well as TRUE/FALSE macros 2025-03-15 19:00:34 +01:00
softfloat3 3rdparty/softfloat3: Proper way to detect presence of __int128 on GCC/clang. 2025-04-20 08:38:43 +10:00
sol2/sol 3rdparty/sol2: Fixed build with clang 19. 2024-11-18 06:19:06 +11:00
sqlite3 3rdparty/sqlite3: Updated to SQLite 3.33.0 2020-10-04 13:54:52 +11:00
tap-windows6 taptun: fix adapter detection on windows for newer versions of taptun driver 2023-04-25 14:46:24 +07:00
utf8proc 3rdparty/utf8proc: Updated to 2.9.0. 2023-12-06 07:05:45 +11:00
wdlfft Maintenance: 2020-03-04 22:41:15 +11:00
ymfm ymfm_opl: no need to check for IsOpl2Plus here 2025-02-01 00:47:03 +01:00
zlib 3rdparty/zlib: Updated to 1.3.1. (#13505) 2025-03-26 21:52:28 -04:00
zstd Added Zstandard support for zip archives and CHDs. (#11827) 2023-12-11 10:48:02 +11:00
README.md Added Zstandard support for zip archives and CHDs. (#11827) 2023-12-11 10:48:02 +11:00

3rdparty

asio - Boost Software License

asmjit - zlib license

benchmark - Apache License, Version 2.0 (used only for testing, not part of distribution)

bgfx - The BSD 2-Clause License

bimg - The BSD 2-Clause License

bx - The BSD 2-Clause License

catch - Boost Software License

compat - Wine headers missing in MinGW The GNU Lesser General Public License, version 2.1 (LGPL-2.1)

note that this one contain headers only and that real library/dll is dynamically loaded so use in commercial project is allowed, will be removed when becomes part of MinGW distribution

dxsdk - DirectX SDK EULA

expat - The MIT License (MIT)

flac - The BSD 3-Clause License (codecs), The GNU General Public License, version 2

genie - The BSD 3-Clause License

glm - The MIT License (MIT)

libjpeg - Custom BSD-like

linenoise - The BSD 2-Clause License

lsqlite3 - The MIT License (MIT)

lua - The MIT License (MIT)

lua-linenoise - The MIT License (MIT)

lua-zlib - The MIT License (MIT)

luafilesystem - The MIT License (MIT)

lzma - Custom public domain license

minimp3 - Creative Commons Zero v1.0 Universal

nanosvg - zlib license

portaudio - The MIT License (MIT) explanation at their site

portmidi - The MIT License (MIT)

pugixml - The MIT License (MIT)

rapidjson - The MIT License (MIT), The BSD 3-Clause License (msinttypes), JSON license (JSON_checker)

softfloat - "Softfloat 2b" U.C. Berkeley modified license MIT compatible

softfloat3 - The BSD 3-Clause License

sol2 - The MIT License (MIT)

sqlite3 - Custom public domain license

tap-windows6.h - Dual-licensed The GNU General Public License, version 2 and The MIT License (MIT)

utf8proc - The MIT License (MIT)

wdlfft - zlib license

zlib - zlib license

zstd - Dual-licensed The BSD 3-Clause License and The GNU General Public License, version 2