* psixptty: Fix for FreeBSD
We need to check for __FreeBSD__ not __FreeBSD_kernel__
* FreeBSD: Use gl includes from pkg-config
FreeBSD doesn't install the includes from 3rdparty software in a default
location so use pkg-config to get the correct path.
* FreeBSD: genieos is named simple bsd
PowerPC architecture is special in a way that it has some inline assembly
code but no DRC support. As a result, NOASM=1 was never configured.
In contrast to the old DRC, asmjit only compiles on the architectures it
supports. FORCE_C_DRC_BACKEND=1 needs to be passed to the makefile or
the compilation will fail.
(nw) The pcap.h header itself has the problematic original BSD license,
including the obnoxious advertising clause. Using tap/tun networking on
Windows provides a much better experience, so the extra setup is worth
it. This patch also allows you to enable pcap on platforms where it's
disabled by default with USE_PCAP=1 if you really want to use it.
* Allow specifying NO_OPENGL manually
* Switch bgfx to OpenGL ES renderer if NO_X11 is specified
* Only link against EGL when NO_X11 is specified on linux, netbsd and openbsd
* Only switch bgfx to OpenGL ES on linux, netbsd and openbsd
* Indentation fix
* Sync with bgfx upstream revision b91d0b6
* Sync with bx upstream revision d60912b
* Sync with bimg upstream revision bd81f60
* Add astc-codec decoder
* Rename VertexDecl to VertexLayout
* Rename UniformType enum Int1 to Sampler.
* Add NVN stub
* Fix unused-const-variable error on macOS
* Drop redundant explicit language parameters
buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only
applied to objective c++ files. As such, hardcoding -x offers no benefit while
preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on
macOS) from working.
* Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning
* Build bgfx as Objective-C++ on macOS
It is needed due to included headers
* Enable Direct3D12 and Vulkan bgfx rendering backends
* Enable building of spirv shaders
* Properly escape /c in cmd call
* Comment out dx12 bgfx renderer
* Honor VERBOSE setting during shaders build
* Only invert hlsl shader XYZ_TO_sRGB matrix for opengl
* Add spirv shaders
* OpenGL ES needs transposed matrix too
* Metal needs transposed matrix as well
* Synced with GENie upstream revision e78d6c1
* Add Visual Studio 2019 support
* Fix hardcoded -m64
* Switch appveyor to Visual Studio 2019
* Fix genie being built as 32-bit
* MSVC build is known to be broken currently. Let it fail until all the known issues are fixed.
* Update the packages before building
* Build with 3 threads
Appveyor VMs have only 2 cores and 8 GB RAM.
* Enable caching of pacman cache
On Linux, enable Xinput support by default. The Xinput lightgun driver is the
only reliable+accurate method to use lightguns on Linux, we should enable this
by default to reduce the friction for Linux Lightgun users. This should have no
effect on users of Windows/Mac etc.
Eventually, the svg should be used instead of the pre-rendered ppm.
I'm a little afraid of the performance impact of the 3840 outputs
though, so one thing at a time...
* Document cross-compilation options
* Use lowercase for some libraries that are lowercase in system32 on Windows anyway
* Make USE_BUNDLED_LIB_SDL2=0 not use the bundled SDL
* Fix compile for Android, set API to 24
* Update Android Studio project to API 24
* Fixed project file to latest Android Studio
* fix build with gradle alone
* 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
* Make more #include guards follow standard format - using MAME_ as the prefix makes it easy to see which ones come from our code in a preprocessor dump, and having both src/devices/machine/foo.h and src/mame/machine/foo.h causes issues anyway
* Get #include "emu.h" out of headers - it should only be the first thing in a complilation unit or we get differences in behaviour with PCH on/off
* Add out-of-line destructors to some devices - it forces the compiler to instantiate the vtable in a certain location and avoids some non-deterministic compiler behaviours
* 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
* Fixed building using system utf8proc
* Fixed building using system portaudio
* Allow using system-wide asio headers (1.11.0 or higher required).
* Allow using system-wide glm headers
* Allow using system-wide rapidjson headers
* restored basic support for SANITIZE make option
* disabled some unwanted UBSAN checks / enabled nullability checks / enabled ASAN use-after-scope checks (nw)
* Change makefile rules to treat mame.pot as a target so rules can depend on it
* Put mame.pot inside the build directory so it will get cleaned
* Couldn't get xgettext to scrape lua and C++ in the same command and still remove stale strings
* Use larger strings and format specifiers to fix some localisation issues
- Issue with "None" lacking context in Russian and Turkish translations
- Issue with "Not implemented" changing depending on the noun in Serbian
- Issues with lua plugins not allowing for languages with different grammar/punctuation
Strings that need to be translated after this change - most of these are existing text that's been made into larger chunks or reworded slightly:
"Mechanical Machine\tYes\n"
"Mechanical Machine\tNo\n"
"Requires Artwork\tYes\n"
"Requires Artwork\tNo\n"
"Requires Clickable Artwork\tYes\n"
"Requires Clickable Artwork\tNo\n"
"Support Cocktail\tYes\n"
"Support Cocktail\tNo\n"
"Driver is BIOS\tYes\n"
"Driver is BIOS\tNo\n"
"Support Save\tYes\n"
"Support Save\tNo\n"
"Screen Orientation\tVertical\n"
"Screen Orientation\tHorizontal\n"
"Requires CHD\tYes\n"
"Requires CHD\tNo\n"
"ROM Audit Result\tOK\n"
"ROM Audit Result\tBAD\n"
"Samples Audit Result\tNone Needed\n"
"Samples Audit Result\tOK\n"
"Samples Audit Result\tBAD\n"
"ROM Audit Disabled\t\n"
"Samples Audit Disabled\t\n"
"Activated: %s = %s"
"Activated: %s"
"Enabled: %s"
"Disabled: %s"
"%s added"
"Default name is %s"
"Cheat written to %s and added to cheat.simple"
"Unable to write file\n"
"Ensure that cheatpath folder exists"
* 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
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