summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/genie.lua
Commit message (Collapse)AuthorAgeFilesLines
* Turn off the sfinae-incomplete warning for GCC 16. Vas Crabb10 days1-11/+8
|
* build: retire superseded Intel C++ Compiler target Patrick Mackinlay2026-04-081-43/+0
|
* Cleaned up unsupportable legacy stuff: Vas Crabb2026-04-061-7/+0
| | | | | | | | | | | | | | | | | | | | cpu/drcbex86.cpp: Removed i686 recompiler back-end. Without a practical way to make Windows i686 builds, it's just going to rot. Also, x86-64 is now older than Pac-Man was when MAME was initially created. It's dead on the desktop tools: Removed aueffectutil - it's no longer useful. emu/video/rgbutil.cpp: Removed Altivec/VMX bilinear filtering implementation. PowerPC on desktop is dead. file/posixptty.cpp, sdl, sdl3, scripts: Removed support for SysV operating systems. They’re dead on the desktop. scripts: Removed outdated Lua compatibility macros. They weren't doing anything sice we updated to Lua 5.4 (the compatibility options changed, but we just left the old macros in place, which no longer had any effect).
* Move build system adjusttment and fixes: Vas Crabb2026-04-051-14/+8
| | | | | | | | | * Bumped minimum clang version to 13 - clang 12 is just too buggy. * Assume Qt 6 will be used, dropped Qt 5 support. * Fixed finding Qt headers on Fedora and hopefully other distros. * Always use static SDL2 on Windows. * debugger/qt/debuggerview.cpp: Fixed build with Qt < 6.6. * imgtool/modules/vzdos.cpp: Fixed build with Linux GCC 11.
* scripts/genie.lua: updated clangcl build settings to c++20 Patrick Mackinlay2026-04-031-4/+5
| | | | emu/sound.h: removed unused function declarations
* Switched language standard to C++20, bumped compiler requirement to GCC 11. ↵ Vas Crabb2026-04-021-6/+6
| | | | | | | | | | | (#15182) * Hackery to allow UTF-8 strings as well as plain strings: - emu/ioport.h: Allow char8_t for names in field configuration helper. - emu/device.h, emu/gamedrv.h: Allow char8_t for descriptions and manufacturers. - util/language.h: Allow char8_t message input. * util/strformat.h: Allow char8_t format and string arguments with char output. * ui/videoopt.cpp: Deal with UTF-8 strings as a distinct type. * osd/windows: Assume Windows 8 or later.
* Hopedfully improve building in more configurations. Vas Crabb2026-03-031-3/+3
|
* Fixed MAME_PROFILER leaking from a debug build to subsequent release builds. Vas Crabb2026-02-231-1/+5
|
* Promote tautological comparison warning to an error. Vas Crabb2026-01-261-2/+0
|
* Added support for generating PDB symbols with MinGW clang and lld. (#14352) Vas Crabb2025-10-201-2/+10
| | | | | Also don't disable sibling/tail call optimisation when symbols are enabled. This is hurting our release builds since they're built with symbols.
* Emscripten build: Prevent excessive link times with the default optimization ↵ Justin Kerk2025-07-051-1/+13
| | | | level
* sound: Set SOUND_DISABLE_THREADING for Emscripten target Justin Kerk2025-06-051-0/+1
|
* build: update vs/msbuild settings to reflect current clangcl (#13633) Patrick Mackinlay2025-05-131-33/+34
|
* Fixed the last GCC class memory access warnings and cleaned up some stuff. Vas Crabb2025-04-211-3/+0
| | | | | | | | | | | * shared/exidysound.cpp: Use real 8253 PIT device rather than a local implementation, fixed class memory access error, cleaned up code to use virtual member functions idiomatically. * cpu/alto2: Fixed class memory access error (was nuking unique pointers). * interton/vc4000_v.cpp: Fixed class memory access error, got rid of indirection on bitmap, cleaned up a little. * Enabled error for GCC class memory access warning to avoid rot.
* Made PTR64 a makefile-only thing - it isn't necessary in the code. Vas Crabb2025-04-201-25/+0
|
* Cleaned up build scripts and compiling documentation: Vas Crabb2025-04-201-37/+7
| | | | | | | | | | | | | | | | | | | * Made it a bit easier to cross-compile for x86-64 or i686 on an AArch64 Windows system. * Choose the default native recompiler back-end based on predefined macros rather than requiring the build scripts to set it. * Don't require every target without a native recompiler to declare this. * Got rid of the code that was supposed to set -m32 or -m64 when building GENie (it didn't work - it tried to use ARCHITECTURE before setting it). * Avoid relying on the unreliable PROCESSOR_ARCHITECTURE environment variable. * Got rid of stuff for versions of Xcode that are definitely no longer supported. * Got rid of workarounds for very old Linux distros. * Use newer makefile syntax for if/else/if structures, comment some else and endif statements for clarity.
* emscripten: fixes to get bgfx working (#13255) algestam2025-02-061-6/+5
| | | | | | | | | * Emscripten: Fixes to get BGFX working * Move emscripten specific setup into an #elif statement * Fix indentation * emscripten: remove no longer link option DEMANGLE_SUPPORT
* -cpu/drcbex64.cpp: Directly dispatch memory accesses no larger than native ↵ Vas Crabb2025-02-051-8/+0
| | | | | | width to specific handlers. (#13325) emu/emumem_aspace.cpp: Got rid of static accessors structure, added a helper for obtaining info for dispatching specific accessors.
* cpu/drcbearm64.cpp: Added a 64-bit ARMv8 (AArch64) DRC back-end. (#13162) 9871238791132025-01-141-9/+21
| | | | | * cpu/uml.cpp: Removed unused vector type. * 3rdparty/asmjit: Update asmjit to latest upstream. * cpu/drcbex64.cpp: Fixed crash with LOG_HASHJMPS enabled (stack needs to be 16-byte aligned before calling debug_log_hashjmp_fail).
* build: adjust msvc warning settings Patrick Mackinlay2025-01-031-4/+4
|
* Actually demote tautological-compare to a warning. Vas Crabb2024-11-271-0/+1
|
* Enable tautological-compare warning as error. Vas Crabb2024-11-271-1/+0
| | | | | If it causes too much trouble with a supported compiler, it can be downgraded to a warning.
* Updated GENie and changed Visual Studio target to Visual Studio 2022. (#13000) Patrick Mackinlay2024-11-271-0/+3
| | | | | * Updated to GENie 1181. * Applied local fix for GENie resource include directory bug, sent upstream as bkaradzic/GENie#572. * Set MSVC flags to use conformant preprocessor, standards conformance mode, and assume UTF-8 encoding.
* -nes.xml: Use self-closing tags for data areas with no load commands - saves ↵ Vas Crabb2024-03-311-1/+1
| | | | | | a lot of lines in a file this big. -Disabled GCC stringop-overflow warning due to numerous false positives.
* Drop support for GCC < 10.3, clang 6, SDL < 2.0.14 and Qt 5.10. Vas Crabb2024-03-281-25/+10
|
* Slightly different fix for asio compilation with newer Emscripten (#12098) Justin Kerk2024-03-131-1/+1
| | | | | | 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@690f1bdb9ecac731a071225d33cb5b4a192144e9
* Fix compile error in 3rdparty/asio with newer Emscripten versions (#12098) Justin Kerk2024-03-131-0/+3
|
* Make building emulator optional (allow building tools without building MAME) ↵ Miodrag Milanović2023-12-311-41/+50
| | | | (#11889)
* Ensure that the has_* file actually has data in them. The previous PR had ↵ Olivier Galibert2023-12-091-2/+7
| | | | clearly never been tested
* Make generation of has_foo.h files deterministic (#11651) Bernhard M. Wiedemann2023-10-241-1/+1
| | | | | | | | | 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>
* Set LinkSupportCircularDependencies for FreeBSD as well as NetBSD (#11271). Vas Crabb2023-05-281-1/+1
|
* 3rdparty/lzma: Updated to LZMA SDK version 22.01 Vas Crabb2023-05-041-5/+0
|
* ui: Don't use facets of destructed locales. Vas Crabb2023-05-011-3/+3
|
* Fixed another warning, a full compile now completes with GCC 13.1. [R. Belmont] arbee2023-04-291-0/+1
|
* Support GCC 13.1 / Fedora 38 [R. Belmont] arbee2023-04-291-0/+9
|
* -Lua engine: run everything in coroutines. (#11019) Vas Crabb2023-03-251-1/+1
| | | | | | | | | * 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.
* Removed local copy of SDL source and update Android build support. (#10899) Miodrag Milanović2023-02-271-37/+2
| | | | | | | | | * 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.
* Use EQUIVALENT_ARRAY to avoid issues with std::size on member arrays, enable ↵ Vas Crabb2023-02-011-0/+1
| | | | warnings for VLAs in C++.
* Fail earlier in the build process if SOURCES= specifies no files containing ↵ Vas Crabb2022-07-071-2/+12
| | | | system definitions
* genie: Explicitly set LinkSupportCircularDependencies for NetBSD. (#10020) Thomas Klausner2022-07-041-0/+4
| | | Fixes GitHub #10011.
* Allow leaving off the src/<target>/ prefix in SOURCES= Vas Crabb2022-07-011-1/+5
|
* -Added support for directory names in SOURCES= Vas Crabb2022-06-301-2/+3
| | | | | | -Retired the messshared project (combined with shared). -bus/nubus: Added table of video modes for Mac monitor sense values.
* More quality of life features for new source layout: Vas Crabb2022-06-291-5/+5
| | | | | | | | | | | | 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.
* Added make opions for filter file, adjusted source path display. Vas Crabb2022-06-281-15/+47
| | | | | | | | | | | | | | 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.
* Eliminated cross dependencies between driver projects. Vas Crabb2022-06-271-13/+15
| | | | | | | | | | | | | | | | | | | | | 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
* Acknowledge presence of circular dependencies to keep GNU ld happy on Linux. Vas Crabb2022-06-171-0/+3
|
* Updated scripts to support SOURCES= builds after the reorganisation happens. Vas Crabb2022-06-151-3/+3
|
* Adjust toolchain versions for triggering workarounds: Vas Crabb2022-06-061-2/+2
| | | | | | | | | * 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).
* Remove spurious /wx option from prjects generated for visual studio yz70s2022-05-231-1/+0
| | | | | With that warnings as errors were always enabled even if option NOWERROR=1 was specified
* fix for building with clang 14 as asmjit uses | & operators on bools [smf] smf-2022-05-181-0/+5
|