Commit Graph

407 Commits

Author SHA1 Message Date
Justin Kerk
663464d169 Slightly different fix for asio compilation with newer Emscripten (#12098)
This restores the previous status quo from Emscripten 3.1.28 where asio is always compiled with pthread support, however threading is still not actually functional in the Emscripten target.

The change in behaviour appears to be due to emscripten-core/emscripten@690f1bdb9e
2024-03-13 23:03:49 -07:00
Justin Kerk
39db822d4e Fix compile error in 3rdparty/asio with newer Emscripten versions (#12098) 2024-03-13 11:04:01 -07:00
Miodrag Milanović
d5340b8be4 Make building emulator optional (allow building tools without building MAME) (#11889) 2023-12-31 20:41:59 -05:00
Olivier Galibert
1cea8b8df6 Ensure that the has_* file actually has data in them. The previous PR had clearly never been tested 2023-12-09 23:37:24 +01:00
Bernhard M. Wiedemann
e15b7dfcdc Make generation of has_foo.h files deterministic (#11651)
Without this patch, order of entries in
generated/has_{buses,cpus,formats,machines,sounds,videos}.h
varied across builds.

This patch was done while working on reproducible builds for openSUSE.

Co-authored-by: Bernhard M. Wiedemann <bernhard+gitcommit lsmod.de>
2023-10-24 12:33:43 -04:00
Vas Crabb
6911b9198f Set LinkSupportCircularDependencies for FreeBSD as well as NetBSD (#11271). 2023-05-28 03:39:39 +10:00
Vas Crabb
a504bde3a7 3rdparty/lzma: Updated to LZMA SDK version 22.01 2023-05-04 02:41:16 +10:00
Vas Crabb
c649fa82fd ui: Don't use facets of destructed locales. 2023-05-01 02:37:28 +10:00
arbee
006389f631 Fixed another warning, a full compile now completes with GCC 13.1. [R. Belmont] 2023-04-29 22:33:00 -04:00
arbee
e17706aec2 Support GCC 13.1 / Fedora 38 [R. Belmont] 2023-04-29 21:46:16 -04:00
Vas Crabb
5f97af903c -Lua engine: run everything in coroutines. (#11019)
* This lets you use emu.wait(...) directly without mucking around creating coroutines.
* Allow emu.wait to accept an attotime argument.
* Added a couple more wait helper functions.

-emu/profiler.h: Actually use scope-based profiling helpers.
* This makes the comment at the top of emu/profile.h less dishonest, and makes it easier to write exception-safe code.
* Got rid of some do { ... } while (0) loops that only existed so break could be used like a goto.
2023-03-25 05:53:58 +11:00
Miodrag Milanović
bd59a0d447 Removed local copy of SDL source and update Android build support. (#10899)
* Removed SDL2 source.
* Updated gradle.
* Updated SDL2 Java support glue code.
* Increased minimum supported Android API version to 24.
* Updated required asset files for Android app.
* Added proper tag for Android logging.
* Added SDL2 hint to make BGFX work on Android.
2023-02-27 05:40:37 +11:00
Vas Crabb
0ae68e4dea Use EQUIVALENT_ARRAY to avoid issues with std::size on member arrays, enable warnings for VLAs in C++. 2023-02-01 16:12:58 +11:00
Vas Crabb
5a984699b3 Fail earlier in the build process if SOURCES= specifies no files containing system definitions 2022-07-07 11:54:01 +10:00
Thomas Klausner
174e6bdf44 genie: Explicitly set LinkSupportCircularDependencies for NetBSD. (#10020)
Fixes GitHub #10011.
2022-07-04 03:51:04 +10:00
Vas Crabb
4b66663afb Allow leaving off the src/<target>/ prefix in SOURCES= 2022-07-01 23:19:10 +10:00
Vas Crabb
c51c443be1 -Added support for directory names in SOURCES=
-Retired the messshared project (combined with shared).

-bus/nubus: Added table of video modes for Mac monitor sense values.
2022-06-30 00:37:49 +10:00
Vas Crabb
871837b123 More quality of life features for new source layout:
Added support for wildcards in .flt filter files.  You'll need to quote
them to avoid /* being parsed as a comment initiator, like "seta/*.cpp"
on a line including the quotes.

Added an XSLT filter for listing system driver sources, like
mame -lx | xsltproc scripts/xslt/list-system-sources.xslt

Converted the ci subtarget (which isn't really used much) into a .flt
rather than .lua and .lst files.
2022-06-29 01:29:04 +10:00
Vas Crabb
513e30cbbb Added make opions for filter file, adjusted source path display.
Added SOURCEFILTER option to specify a driver filter file in your make
options, e.g. like make SUBTARGET=custom SOURCEFILTER=mydrivers.flt (or
put it in your useroptions.mak if you'll be using it a lot).  It
functions more-or-less like SOURCES on steroids.

Changed the way system/device source file paths are displayed to suit
the new source layout better.  INI file loading hasn't changed, that
still just uses the base file name.

Added overlooked trigger to src/bus.lua to include NES controller bus if
the NES zapper sensor is needed.
2022-06-28 16:33:06 +10:00
Vas Crabb
ab6237da82 Eliminated cross dependencies between driver projects.
Driver projects now use globs to search for files.  There's less effort
editing the Lua files when things are moved around.  Remember it won't
automatically pick up a change, so if you add/remove/change files, you
should touch makefile to get it to find the change.

Driver projects no longer get the top-level MAME directory as an include
path.  This means you need to think about how you structure things and
not introduce nasty circular dependencies.

Subtarget projects can now be generated entirely from .flt files without
the need for separate Lua scripts and .lst files.  This has been done
for the arcade, mess and virtual targets.  It effectively works like a
SOURCES= build on a large scale.  This means you need to organise things
so the dependency genrators can find them.

There's an issue with the mess subtarget right now.  For some reason,
decmate2.cpp isn't picking up the dependency on the PDP8 CPU core for
the HD6120 device.  I'll debug it later
2022-06-27 18:06:20 +10:00
Vas Crabb
60179d8c95 Acknowledge presence of circular dependencies to keep GNU ld happy on Linux. 2022-06-17 23:51:57 +10:00
Vas Crabb
d8854e4e55 Updated scripts to support SOURCES= builds after the reorganisation happens. 2022-06-15 05:07:09 +10:00
Vas Crabb
ea1e51636c Adjust toolchain versions for triggering workarounds:
* Make netlist/plib noexcept issue workaround trigger for clang 8 or
  Apple clang 11.0.0.
* Disable lifetime DSE optimisation for GCC 10.2 (this may be an issue
  in GNU libstdc++ rather than GCC itself - using compiler version as a
  proxy for standard library version is bad, but it's the path of least
  resistance for now).
2022-06-06 04:00:02 +10:00
yz70s
deddb5626c Remove spurious /wx option from prjects generated for visual studio
With that warnings as errors were always enabled even if option
NOWERROR=1 was specified
2022-05-23 20:13:38 +02:00
smf-
33f069cac0 fix for building with clang 14 as asmjit uses | & operators on bools [smf] 2022-05-18 18:39:43 +01:00