Commit Graph

405 Commits

Author SHA1 Message Date
Peter Ferrie
4e04aa3224 silence MS-LLVM (nw) 2019-02-16 11:49:07 -08:00
Peter Ferrie
e769e76ce4 enable sub-second snapshot timers (nw) (#4493)
* enable sub-second snapshot timers (nw)

* switch to attotime, accept doubles

* support LLVM extension in MSVC

make vsllvm

using extension from here:

https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain
2019-02-04 13:05:46 -05:00
Justin Kerk
3c34a1d307 Fix errors with single-driver build of vsnes.cpp [Justin Kerk] 2018-12-30 12:54:48 -08:00
Vas Crabb
c2dc4316bd (nw) fix stuff:
* Add per-language compiler flag options to help with exotic setups
* Get rid of a potention buffer overrun in NuBus image card
* CHAR_WIDTH and LONG_WIDTH are preprocessor macros in limits.h with glibc if __GLIBC_USE (IEC_60559_BFP_EXT) is enabled - avoid using them as names
* Make formats/upd765_dsk.h slightly safer with defualt initialisers for key format members
* Don't rely on random BSS data being zero in imagedev/floppy.cpp
2018-11-29 14:10:27 +11:00
smf-
94f0181e59 enable edit and continue in visual studio debug builds (nw) 2018-08-29 10:21:36 +01:00
smf-
6d39a913e5 disable multiple constructor warning for rendlay.cpp (nw) 2018-07-22 11:31:37 +01:00
smf-
b747b711bb fix building with clang 6.0.1 (nw) 2018-07-07 11:28:01 +01:00
Justin Kerk
32ee215a38 Remove -mbig-obj, which breaks the build on Windows clang and is not actually needed now that the emumem files have been split up (nw) 2018-07-07 02:07:13 -07:00
Olivier Galibert
a704ed7b1b emumem: Backend modernization [O. Galibert] 2018-06-29 20:04:28 +02:00
Julian Sikorski
fe162f615b Enable building on riscv64 (#3655)
* First attempt at enabling building on riscv64

* PTR64=1 needs to be defined on riscv64 otherwise build fails
2018-06-13 19:21:30 -04:00
Vas Crabb
c15531dddc srcclean (nw) 2018-05-27 04:48:13 +10:00
Justin Kerk
f857d267f5 rm dead code (nw) 2018-05-03 19:30:24 +00:00
arbee
45977d9baa More GCC 8 (nw) 2018-05-01 22:04:06 -04:00
arbee
73beb07213 don't use C++ flags on plain C files (nw) 2018-05-01 21:40:43 -04:00
arbee
e651a1678d begin preliminary GCC 8 support (nw) 2018-05-01 21:34:55 -04:00
Vas Crabb
2047471723 Bind devcb relative to current device. This is probably going to break
plenty of things with late bind errors.  Sorry.

Remaining things to switch over include sound routes and things with
custom delegates.
2018-05-01 04:19:51 +10:00
Julian Sikorski
9a154947d1 Added possibility of building using system pugixml 2018-03-27 10:19:22 +11:00
Vas Crabb
910d2267ca Start squeezing out the poor-performing parts of the output_manager:
* Turn deprecated declataion warnings on by default and make them non-fatal
* Make output_finder iterable in algorithms and range-based for loops
* Replace a lot of set_something with output_finder
2018-02-28 21:19:37 +11:00
Justin Kerk
d1b11e5c80 Fix issue linking Emscripten build with certain single-driver compiles (e.g. spectrum.cpp). Emscripten 1.37.29 or higher is now required. [Justin Kerk] 2018-01-31 02:26:47 +00:00
Vas Crabb
4e8bb7c7e5 srcclean and regenerate localisations (nw) 2018-01-28 14:25:52 +11:00
firewave
e2d7b45434 removed implict usage of "nullability" from SANITIZE=undefined (nw) 2018-01-14 13:54:21 +11:00
Oliver Stöneberg
35e5a75243 restored SANITIZE make option (#3043)
* restored basic support for SANITIZE make option

* disabled some unwanted UBSAN checks / enabled nullability checks / enabled ASAN use-after-scope checks (nw)
2018-01-11 19:18:12 -05:00
smf-
b0223ac413 Use dynamic linking for windows SDL builds to workround an error during linking about liblualibs.a being corrupt, which is dependant on the order of the .o files contained within it. [smf] 2017-12-26 11:11:51 +00:00
smf-
f789821121 Added workround for clang static builds and enable them again, don't force -O1 on clang builds. [smf] 2017-12-26 11:11:50 +00:00
Miso Kim
41e044ae01 Modification for Android build (NDK r14b, build-tools 21.1.2 and gradle 2.2.1) (#2585) 2017-08-23 13:09:38 +10:00
Vas Crabb
a0e5e36bd5 looks like 32-bit release builds need /bigobj as well (nw) 2017-05-28 20:11:44 +10:00
smf-
104fe318ac don't use -static on msys2 clang 4.0.0 as it's currently broken, also removed -static-libgcc & -static-libstdc++ on gcc builds as they have no effect if you use -static (nw) 2017-05-25 11:02:24 +01:00
smf-
dc1dcd260b fix MSVC debug builds by specifying /bigobj (needed for mpu4). Release builds don't seem to require it. (nw) 2017-05-16 07:56:04 +01:00
Miodrag Milanovic
a877c987fb detect if SOURCES file do not exist (nw) 2016-12-09 13:00:51 +01:00
Miodrag Milanovic
124f30dbbc Enable building projects that are separate of MAME but use same core and lives in separate git tree (nw) 2016-12-08 11:46:15 +01:00
Miodrag Milanovic
581e5c03b3 Disable incremental linking for VS debug builds (nw) 2016-11-29 08:45:12 +01:00
Miodrag Milanovic
8e61a7d3d3 Added VS2017 support into project files (nw) 2016-11-16 21:00:29 +01:00
Brad Hughes
31e0041051 Fix UWP build issue (nw) 2016-11-16 08:06:28 -05:00
Miodrag Milanovic
145822e21b fix build (nw) 2016-11-16 13:58:52 +01:00
Brad Hughes
234620bc1b UWP: Remove explicit links for winstore builds (nw) 2016-11-16 07:39:37 -05:00
Miodrag Milanovic
0d17e0ff72 fix mingw-clang linking for latest version (nw) 2016-11-16 10:27:15 +01:00
Miodrag Milanovic
0d1f5b6be4 Make 3rdparty compile for UWP and start adding new OSD for UWP based on previous Brad work (nw) 2016-11-09 14:53:19 +01:00
Miodrag Milanovic
330e3cb28e Finally sync with GENie, no more local changes (nw) 2016-11-03 10:04:29 +01:00
Miodrag Milanovic
a2c76b34d8 Fix macOS build (nw) 2016-11-02 17:19:29 +01:00
Justin Kerk
b99be73f2d Experimental support for compiling to WebAssembly using Emscripten (not yet working) (nw) 2016-10-29 06:00:45 +00:00
Miodrag Milanovic
b515a00e55 cleanup (nw) 2016-10-07 14:31:35 +02:00
smf-
c44f52f1a9 disable unknown-attributes & ignored_qualifiers to allow font_dwrite.cpp to build with clang. (nw) 2016-09-17 11:52:12 +01:00
Vas Crabb
234e91f9fb Add Lua-cleaning ability to srcclean 2016-08-30 14:57:38 +10:00
Miodrag Milanovic
85f7413a69 Cleanup for VS2015 build (nw) 2016-08-28 11:58:12 +02:00
Miodrag Milanovic
62fe8b8980 some C++14 features are not supported by VS2013. VS2015 is free for home use so no need for legacy support (nw) 2016-08-27 11:15:38 +02:00
Miodrag Milanovic
0137c5b6a5 Setting GCC bar bit higher (nw) 2016-08-27 10:33:59 +02:00
Miodrag Milanovic
ff1a5cf6fa Temporary fix for debug compile till we fix assert (nw) 2016-08-27 10:11:30 +02:00
AJR
717e1eb9d2 Change warning flags for Clang build (nw)
-Wno-missing-braces is unfortunately now necessary to avoid errors on almost every single use of the std::array initializer in devfind.h. (Apparently C++14 does make double braces optional for std::array initializers, but clang and GCC's -Wmissing-braces never took that into proper account, which is why GCC may still have it disabled by default.)

Several other Clang-specific warnings have been undisabled; some might perhaps need to be locally reenabled if legacy 3rdparty code or sundry OSD includes happen to disagree with them. The only warning to require any code changes was -Wabsolute-value, which seems to have caught a minor render bug (and nothing more).
2016-08-25 00:22:14 -04:00
Miodrag Milanovic
4f84793a05 made proper formats compiled only if needed (nw) 2016-08-12 18:27:54 +02:00
Vas Crabb
159fa2ef9e Attempt to prevent GCC optimising away global_alloc_clear (MT06335) 2016-07-30 18:03:24 +10:00
Jordi Mallach
0e5db039d8 Add arch defines for Linux alpha and mips64el.
Add detection for Linux architectures alpha and mips64el, to avoid
using gcc -m64, which isn't available on them.
2016-07-14 01:01:04 +02:00
Vas Crabb
847ecb65a6 damn circular deps (nw) 2016-06-26 23:48:27 +10:00
Julian Sikorski
6dd5a5fe05 Fixed double hyphen in -pipe 2016-06-14 23:25:32 +02:00
Miodrag Milanovic
4a7cd83c6e Sync GENie, one thing changed, and I have revoked one patch that is going to be removed or changed anyway (nw) 2016-06-10 18:54:55 +02:00
Miodrag Milanovic
3547905acc Synced GENie with latest and applied few changes sent as PR (nw) 2016-06-10 10:56:31 +02:00
Vas Crabb
93cd0cd40b Fix git version [Vas Crabb]
* git version is set by top-level make, not just when GENie runs
* can set IGNORE_GIT=1 for make to ignore git
* git ignored/unavailable uses "unknown" in version string
* mark modified trees as dirty
* note that version now comes from makefile
2016-06-10 00:36:29 +10:00
Miodrag Milanovic
ebd8e7d74b Added initial ninja support to use add MAKETYPE=ninja to compile command line (nw)
Custom build tasks are not yet working
2016-06-09 13:46:36 +02:00
Jeffrey Clark
551d9998f5 support msbuild from posix shell
preliminary fastbuild support (experimental in genie)
2016-05-31 20:26:34 -07:00
Miodrag Milanovic
80a70226f9 disable BGFX debug info (nw) 2016-05-24 11:39:20 +02:00
Miodrag Milanovic
175084897e Added ability to create standalone emulators, added zexall as example (nw) 2016-05-08 19:07:18 +02:00
Miodrag Milanovic
1c726824f2 Split UI and frontend part from core [Miodrag Milanovic] 2016-04-23 11:26:47 +02:00
Miodrag Milanovic
0d980951c9 set GIT_VERSION only where it is used (nw) 2016-04-21 15:50:15 +02:00
Miodrag Milanovic
3e8559ad7b Always rebuild version.cpp when there is git version change (nw) 2016-04-16 17:18:17 +02:00
Miodrag Milanovic
6bb33aa52c Add short git version if building non-release build, also if git command is not available or if .git is not there (so building out of other sources) (nw) 2016-04-16 10:19:59 +02:00
Miodrag Milanovic
c833268236 Added DEBUG_DIR and DEBUG_ARGS parameters, make sense right now for VS build (nw) 2016-04-12 15:43:15 +02:00
Justin Kerk
a1bad36d22 Add more clang output to tell where #include errors are coming from 2016-04-09 22:28:04 +00:00
Miodrag Milanovic
ae5258faec Added PRECOMPILE=0 so in conjunction with ccache it gives better compile speed (nw) 2016-04-02 17:48:31 +02:00
Jeffrey Clark
001d49c5b7 support build without optimize flag (nw)
OPTIMIZE= to disable the current default value 3
Also allow ARCHOPTS to be set regardless of OPTIMIZE, useful for
 debug flags.
2016-03-30 21:56:03 +00:00
Miodrag Milanovic
9353a1ccb3 Compressed internal layouts [David Haywood] 2016-03-30 20:40:05 +02:00
Miodrag Milanovic
f67cb62dbc Fix VS build (it was reverse logic then others) (nw) 2016-03-30 11:03:03 +02:00
Miodrag Milanovic
9b3788035c scrclean on lua scripts (nw) 2016-03-29 08:49:47 +02:00
Jeffrey Clark
18d7e34620 cleanup build includes (nw) 2016-03-28 22:46:00 -05:00
Jeffrey Clark
9d9c8fad6a Extend system library support (nw)
Extend USE_SYSTEM_LIB_* to support providing the library name and include directory.
To link against system specific lib names and header path: (ref #711)

USE_SYSTEM_LIB_LUA=lua5.3:/usr/include/lua5.3
2016-03-28 22:26:52 -05:00
Miodrag Milanovic
c22a27df81 Ci20 wip support (nw) 2016-03-23 21:23:14 +01:00
Miodrag Milanovic
356d419b0a BGFX_CONFIG_DEBUG=1 for Debug builds (nw) 2016-03-20 15:15:46 +01:00
Miodrag Milanovic
95a2e4c2c6 compile BGFX for RPI as well (nw) 2016-03-19 16:09:34 +01:00
Miodrag Milanovic
6590600990 Added support for Raspberry Pi cross-compile (nw) 2016-03-19 16:09:34 +01:00
Justin Kerk
d0ce8784a7 Build more of font_sdl.cpp with Emscripten since there is an SDL2_ttf port now (nw) 2016-03-17 01:42:48 +00:00
smf-
593c9d5ce6 Build with vs2015 Update 2 RC 2016-03-16 18:19:11 +00:00
Vas Crabb
fc87913612 Fix SDL Windows build 2016-03-14 19:32:17 +11:00
Miodrag Milanovic
fc3f2b67b9 fix error (nw) 2016-03-13 08:25:47 +01:00
Julian Sikorski
d0f99d22a7 Added ability to build using system libuv (1.8.0 or higher required) 2016-03-12 13:07:14 +01:00
Miodrag Milanovic
f2ce314206 mingw clang build is working, there seams to still be some issue with optimization (nw) 2016-03-11 19:31:07 +01:00
Miodrag Milanovic
e6142ef558 Support for aarch64 (nw) 2016-03-11 13:09:47 +01:00
Miodrag Milanovic
b489eb202c made sources build use info from mame.lst (nw) 2016-03-02 14:21:26 +01:00
Miodrag Milanovic
2287efaab3 Enabled multi core compile on VS (nw) 2016-03-01 15:30:42 +01:00
Miodrag Milanovic
23c28c48af Build SDL2 for Android (nw) 2016-02-29 16:20:51 +01:00
Miodrag Milanovic
ea6b854844 Made Visual Studio use by default bundled SDL2 (nw) 2016-02-27 16:53:49 +01:00
Miodrag Milanovic
9d4c8c5de5 Made xcode params more generic (nw) 2016-02-26 20:30:37 +01:00
Miodrag Milanovic
5a567f3541 Added support for x64 Androids (nw) 2016-02-26 16:00:29 +01:00
Miodrag Milanovic
3a811376d9 Made pnacl to compile (nw) 2016-02-26 14:50:09 +01:00
Miodrag Milanovic
2582ce7f16 cleanup (nw) 2016-02-26 14:16:50 +01:00
Miodrag Milanovic
4727b0d97f OS/2 can not support SDL2 which is needed for MAME to run (nw) 2016-02-26 13:20:43 +01:00
Miodrag Milanovic
e740bb6915 Fixing some more Android related things (nw) 2016-02-26 11:59:17 +01:00
Miodrag Milanovic
add7a65f3f Make Android targets compile but not link, using clang compiler in NDK, since GCC will be removed in next one (nw) 2016-02-25 20:44:35 +01:00
Miodrag Milanovic
4173530610 removed nacl, fixed android and pnacl (nw) 2016-02-25 14:58:39 +01:00
Miodrag Milanovic
34acb73777 Makes xcode compile fine if generated files are already there (nw) 2016-02-23 15:57:36 +01:00
Miodrag Milanovic
a87419ea5c Forgot to commit this one (nw) 2016-02-23 14:33:30 +01:00
Miodrag Milanovic
2043e6ce2d added proper platform for xcode (nw) 2016-02-21 21:03:22 +01:00
Miodrag Milanovic
412814f80d changes towards compiling with XCode (nw) 2016-02-21 19:48:16 +01:00
Miodrag Milanovic
9eb2734495 BGFX mandatory requirement (nw) 2016-02-16 17:35:27 +01:00
Miodrag Milanovic
22e6c350ed Enabled BGFX support for SteamLink 2016-02-16 11:36:13 +01:00
Jeffrey Clark
3570d4f0eb check STRIP_SYMBOLS in strip function and add strip support for osx (nw) 2016-02-15 12:09:48 -06:00
Jeffrey Clark
36df7413dc add TOOLCHAIN make flag for explicit toolchain prefix cross compiling (nw) 2016-02-15 12:09:35 -06:00
Miodrag Milanovic
09fd282dc8 fix build on some linuxes (nw) 2016-02-15 11:20:54 +01:00
Miodrag Milanovic
2db4908814 Added lua-zlib, lfs and luv support for LUA, exposed all using luaengine (nw) 2016-02-14 08:16:35 +01:00
dankan1890
4710c9c263 suppressed C4592 warning in VS 2015. (nw) 2016-02-08 01:53:08 +01:00
Miodrag Milanovic
f924d4bd42 link into main project and link deps (nw) 2016-01-31 15:38:51 +01:00
Miodrag Milanovic
042050ef67 Added Google Benchmark library (nw)
Included sample benchmark for eminline for native and noasm
Made GoogleTest compile only if tests are compiled
2016-01-29 11:47:40 +01:00
Miodrag Milanovic
e691634439 Added SteamLink initial support [Sam Lantiga, Miodrag Milanovic] 2016-01-25 20:01:40 +01:00
Miodrag Milanovic
2ac3018ee7 fix start project for custom builds in Visual Studio (nw) 2016-01-21 08:41:13 +01:00
Miodrag Milanovic
4e8e3066f8 reverting:
SHA-1: 1f90ceab07

* tags are now strings (nw)
fix start project for custom builds in Visual Studio (nw)
2016-01-20 21:42:13 +01:00
Miodrag Milanovic
18ec822ac3 Keep naming of binaries for builds made with SOURCES to be same as usual, (nw)
fixed propagation of flags for builds made with SOURCES
2016-01-17 17:53:03 +01:00
Miodrag Milanovic
56f37631da OS/2 patch [KO Myung-Hun] 2016-01-16 18:02:19 +01:00
Miodrag Milanovic
1f90ceab07 tags are now strings (nw)
fix start project for custom builds in Visual Studio (nw)
2016-01-16 14:54:42 +01:00
Justin Kerk
1e61410aa8 Revert "Disable pre-compiled headers on Emscripten for now, fixes build (nw)"
This reverts commit a8a9b4158a.
2016-01-08 15:18:08 +00:00
Justin Kerk
a8a9b4158a Disable pre-compiled headers on Emscripten for now, fixes build (nw) 2016-01-07 23:22:20 +00:00
Miodrag Milanovic
3f4fe77c75 cleaner solution for linking (nw) 2016-01-04 16:33:23 +01:00
Miodrag Milanovic
8172839141 Some cleanup in build scripts, GNU C99 for 3rdparty C files (nw) 2016-01-04 15:31:32 +01:00
Miodrag Milanovic
e0deb80b54 Fix building on clang, executable fail starting due to mixed allocators (nw) 2016-01-04 13:29:42 +01:00
Miodrag Milanovic
698cec6344 Removed FILTER_DEPS, not stable and not functional (nw) 2016-01-03 17:13:16 +01:00
Miodrag Milanovic
729d3d3f16 Make linking of winpthreads static for posix mingw build (nw) 2016-01-01 12:27:00 +01:00
Miodrag Milanovic
f1a0a3cb88 Added pre-compiled headers support to build system (nw) 2016-01-01 08:23:58 +01:00
Miodrag Milanovic
9c2669081c Added platform parameter and some ARM fixes (nw) 2015-12-27 15:35:29 +01:00
Miodrag Milanovic
c8583ebdc9 os calls do not follow MAKE escaping 2015-12-20 09:45:39 +01:00
AJR
ad4d85f68f Fixed wrong number of arguments to makedep.py in SOURCES build 2015-12-19 20:00:22 -05:00
AJR
8567ac0d64 Allow SDLMAME to build on OS X from paths containing spaces 2015-12-19 11:09:57 -05:00
Miodrag Milanovic
379581fb36 macro removal INLINE -> static inline (nw) 2015-12-12 08:58:57 +01:00
Miodrag Milanovic
ee942ae0fb some MSBUILD fixes (nw) 2015-12-10 12:16:06 +01:00
Cowering
00a496face (retrying) fix up some lto things (still can't compile full MAME on Windows) Also add a few msg texts for VS warnings (NW) 2015-12-09 12:58:08 -06:00
Vas Crabb
e706b93447 propagate ARCHOPTS to linker 2015-12-07 22:07:29 +11:00
Miodrag Milanovic
6a765a95ec Added addprojectflags function and added -Wsuggest-override for all that are not 3rdparty projects.
It is place where all additional checks we should put
2015-12-06 17:07:50 +01:00
Miodrag Milanovic
ccc677d0e5 Need this on linux 2015-12-04 20:36:05 +01:00
Miodrag Milanovic
2ce19e896b Removed need for -Wno-c++11-narrowing for clang
and -Wno-unused-result,-Wno-narrowing and -Wno-attributes on gcc (nw)
2015-12-04 20:22:48 +01:00
Miodrag Milanovic
20b32acb8b OSX version is taken on different way so it is considered 6.0 (nw) 2015-12-03 14:50:04 +01:00
Miodrag Milanovic
d9db2350fb OSX version of clang 3.5 is actually 3.4 with features (nw) 2015-12-03 14:40:03 +01:00
Miodrag Milanovic
7433c42f30 it is available in all version from 3.4 (nw) 2015-12-03 14:32:20 +01:00
Miodrag Milanovic
eba667fdb3 fix for QT headers compile as c++14 (nw) 2015-12-03 14:26:00 +01:00
Miodrag Milanovic
29bfbddaac stupid me (nw) 2015-12-03 14:02:36 +01:00
Miodrag Milanovic
871428ef9e Set -std=c++1y to clang 3.4 (nw) 2015-12-03 13:33:40 +01:00
Miodrag Milanovic
b9e242db21 Cleanup of genie.lua (nw) 2015-12-03 11:54:51 +01:00
Miodrag Milanovic
92f81361d6 Initial conversion of core to C++14. Note that compilers are now limited to GCC 4.9.0 and up, Clang 3.4.0 and up, and VS2013 and up [Miodrag Milanovic] 2015-12-03 11:40:45 +01:00
Trammell Hudson
d005322e2b Merge clang++ version 30000 and 30400 sections to enable -Wno-constant-logical-operand 2015-11-28 09:12:34 -05:00
Trammell Hudson
74db76d146 revert sqlite3 changes, update version detection to silence warnings on OSX clang++ 3.0 (issue #480) 2015-11-28 09:06:30 -05:00
Justin Kerk
d1d8a66ab1 Cleanup (nw) 2015-11-25 03:10:20 +00:00
Miodrag Milanovic
8a91bc9f0e disable this for CPP11 builds (nw) 2015-11-19 13:34:44 +01:00
Vas Crabb
05109871be all VMX registers are alike (nw) 2015-11-18 19:32:15 +11:00
David Haywood
15f6df6d66 disable some intel compiler remarks that are shown in a release config (nw) 2015-11-14 19:15:12 +00:00
Miodrag Milanovic
47f03ddabc fix uninitialized class members for bus devices (nw) 2015-11-14 19:05:20 +01:00
Miodrag Milanovic
8c0d01d426 Fix compile for Intel C++ 15 compiler (nw) 2015-11-14 11:52:15 +01:00