* Add support for RPI4 and generic KMS targets
* Allow configuration of rpi3 platform in favour of rpi2 platform
* Move build configuration into separate function to avoid duplication between
build and install functions.
* avoid duplication of addEmulator definitions due to audio backend options
* Set alsa as default audio backend for mesa (omx doesn't work, and oss backend via
aoss causes emulator stuttering).
Patch details (may be removed after upstream is fixed):
* Add SDL/gles2 sub-platform for rpi4 to allow kmsdrm compatibility
* Ensure vsync is enforced for SDL, otherwise KMSDRM will run at unlocked framerate.
* Fix signal handler conflict by disabling SDL2's exit signal handler, and ensuring that
reicast gracefully cleans up by stopping emulation and invoking SDL_Quit() during exit.
* don't use broken symlink - incompatible with fat32. Use a +Start script
* rework reicast.sh launch script parameter handling so ROM / AUDIO settings are only added if included on commandline
-use /configs/all/autoconf.cfg to enable/disable autoconf functionality.
-add two new functions to add set read config file content.
-add functions to mupen64plus and reicast modules.
-use reicast upstream repo
-remove or replace cpu related flags
-use system libs instead of precompiled libs
-link emu.cfg and mappings dir into /opt/retropie/configs/dreamcast/
-update input script. create controller config files under
/opt/retropie/configs/dreamcast/mappings
-reicast does not have a dynamic setup. The current event device and
mapping file muste be stored in emu.cfg.
-add startup script. Startup script sets the current /dev/input/event*
device and related mapping file in
/opt/retropie/configs/dreamcast/emu.cfg.