Commit Graph

409 Commits

Author SHA1 Message Date
Peter Ferrie 487cb60ae6 further quieting of MS-LLVM (nw) 2019-02-25 14:48:37 -08:00
Patrick Mackinlay 61db5737b5 genie: restore msvc build (nw)
I don't really understand why this works, but it enables building with VS 2017 15.7.6 as before. Apologies if it breaks LLVM on VS - I don't have that configuration to test.
2019-02-19 18:59:26 +07:00
Vas Crabb 01ccbd89c9 (nw) remove some superfluous const, eliminate a superfluous temp, remove superflous semicolons, etc. and also fix a known broken build script change 2019-02-18 00:48:52 +11:00
couriersud c1ea281761 Fix testkeys compile/link on windows. (nw) 2019-02-17 14:01:57 +01:00
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