Compiling Fails (OSX)
Perhaps it's too early to create an issue for this, so if so feel free to close/delete this.

Attempting to compile on OSX fails as follows:
```
xxxs-MacBook-Pro:~ xxx$ cd /Volumes/xxx/GIT/retro8/
xxxs-MacBook-Pro:retro8 xxx$ make -j$(nproc)
-bash: nproc: command not found
CC src/lua/lapi.c
CC src/lua/lauxlib.c
CC src/lua/lbaselib.c
CC src/lua/lbitlib.c
CC src/lua/lcode.c
CC src/lua/lcorolib.c
CC src/lua/lctype.c
CC src/lua/ldblib.c
CC src/lua/ldebug.c
CC src/lua/ldo.c
CC src/lua/ldump.c
CC src/lua/lfunc.c
CC src/lua/lgc.c
CC src/lua/linit.c
CC src/lua/liolib.c
CC src/lua/llex.c
CC src/lua/lmathlib.c
CC src/lua/lmem.c
CC src/lua/loadlib.c
CC src/lua/lobject.c
CC src/lua/lopcodes.c
CC src/lua/loslib.c
CC src/lua/lparser.c
CC src/lua/lstate.c
CC src/lua/lstring.c
CC src/lua/lstrlib.c
CC src/lua/ltable.c
CC src/lua/ltablib.c
CC src/lua/ltests.c
CC src/lua/ltm.c
CC src/lua/lundump.c
CC src/lua/lutf8lib.c
CC src/lua/lvm.c
CC src/lua/lzio.c
CXX src/io/loader.cpp
CXX src/io/picopng.cpp
CXX src/io/stegano.cpp
CXX src/retroarch/libretro.cpp
CXX src/vm/gfx.cpp
CXX src/vm/lua_bridge.cpp
CXX src/vm/machine.cpp
CXX src/vm/memory.cpp
CXX src/vm/sound.cpp
In file included from src/io/picopng.cpp:2:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
In file included from src/vm/sound.cpp:1:
In file included from ./src/vm/sound.h:3:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
In file included from src/vm/gfx.cpp:1:
In file included from ./src/vm/gfx.h:3:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26: error: expected ';' after top level declarator
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26: error: expected ';' after top level declarator
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:32:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_flags_t = uint8_t;
                         ^
./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h./src/vm/defines.h::3236::2621::  warningwarning: : aliasalias  declarationsdeclarations  areare  aa  C++11C++11  extensionextension  [-Wc++11-extensions][-Wc++11-extensions]

  using address_t = int32_t;
  using sprite_flags_t = uint8_t;
                    ^                         ^

./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h:36:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using address_t = int32_t;
                    ^
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/vm/gfx.cpp:1:
./src/vm/gfx.h:12:12: error: unknown type name 'constexpr'
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
           ^
./src/vm/gfx.h:12:28: error: expected ';' after top level declarator
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
                           ^
                           ;
./src/vm/gfx.h:14:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_WIDTH = 8;
           ^
./src/vm/gfx.h:14:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_WIDTH = 8;
                           ^
                           ;
./src/vm/gfx.h:15:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_HEIGHT = 8;
           ^
./src/vm/gfx.h:15:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_HEIGHT = 8;
                           ^
                           ;
./src/vm/gfx.h:17:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_WIDTH = 4;
           ^
./src/vm/gfx.h:17:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_WIDTH = 4;
                           ^
                           ;
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/retroarch/libretro.cpp:3:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
In file included from src/retroarch/libretro.cpp:4:
In file included from ./src/vm/gfx.h:3:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
./src/vm/gfx.h:18:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_HEIGHT = 6;
           ^
./src/vm/gfx.h:18:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_HEIGHT = 6;
                           ^
                           ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26: error: expected ';' after top level declarator
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:32:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_flags_t = uint8_t;
                         ^
./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h:36:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using address_t = int32_t;
                    ^
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/io/stegano.cpp:1:
In file included from ./src/io/stegano.h:3:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
In file included from src/io/stegano.cpp:1:
In file included from ./src/io/stegano.h:5:
In file included from ./src/vm/machine.h:4:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26: error: expected ';' after top level declarator
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
In file included from src/io/loader.cpp:1:
In file included from ./src/io/loader.h:1:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declaraIn file included from src/retroarch/libretro.cpp:4:
./src/vm/gfx.h:12:12: error: unknown type name 'constexpr'
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
           ^
./src/vm/gfx.h:12:28: error: expected ';' after top level declarator
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
                           ^
                           ;
tions are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
./src/vm/gfx.h:14:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_WIDTH = 8;
           ^
./src/vm/gfx.h:14:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_WIDTH = 8;
                           ^
                           ;
./src/vm/gfx.h:15:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_HEIGHT = 8;
           ^
./src/vm/gfx.h:15:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_HEIGHT = 8;
                           ^
                           ;
./src/vm/gfx.h:17:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_WIDTH = 4;
           ^
./src/vm/gfx.h:17:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_WIDTH = 4;
                           ^
                           ;
In file included from src/io/loader.cpp:1:
In file included from ./src/io/loader.h:3:
In file included from ./src/vm/machine.h:4:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:32:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_flags_t = uint8_t;
                         ^
./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h:36:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using address_t = int32_t;
                    ^
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/vm/memory.cpp:1:
In file included from ./src/vm/memory.h:3:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
./src/vm/gfx.h:18:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_HEIGHT = 6;
           ^
./src/vm/gfx.h:18:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_HEIGHT = 6;
                           ^
                           ;
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26: error: expected ';' after top level declarator
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:32:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_flags_t = uint8_t;
                         ^
./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h:36:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using address_t = int32_t;
                    ^
In file included from src/vm/sound.cpp:1:
In file included from ./src/vm/sound.h:4:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/io/loader.cpp:1:
In file included from ./src/io/loader.h:3:
In file included from ./src/vm/machine.h:5:
./src/vm/gfx.h:12:12: error: unknown type name 'constexpr'
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
           ^
./src/vm/gfx.h:12:28: error: expected ';' after top level declarator
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
                           ^
                           ;
./src/vm/gfx.h:14:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_WIDTH = 8;
           ^
./src/vm/gfx.h:14:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_WIDTH = 8;
                           ^
                           ;
In file included from src/io/stegano.cpp:1:
In file included from ./src/io/stegano.h:5:
In file included from ./src/vm/machine.h:5:
./src/vm/gfx.h:12:12: error: unknown type name 'constexpr'
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
           ^
./src/vm/gfx.h:12:28: error: expected ';' after top level declarator
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
                           ^
                           ;
./src/vm/gfx.h:14:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_WIDTH = 8;
           ^
./src/vm/gfx.h:14:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_WIDTH = 8;
                           ^
                           ;
In file included from src/vm/memory.cpp:1:
In file included from ./src/vm/memory.h:4:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
./src/vm/gfx.h:15:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_HEIGHT = 8;
           ^
./src/vm/gfx.h:15:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_HEIGHT = 8;
                           ^
                           ;
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26./src/vm/gfx.h:: 17:12error::  expectederror : ';' afterunknown  toptype  levelname  declarator'constexpr'

    static constexpr size_t GLYPH_WIDTH = 4;
           ^
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
./src/vm/gfx.h:17:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_WIDTH = 4;
                           ^
                           ;
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:32:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_flags_t = uint8_t;
                         ^
./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h:36:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using address_t = int32_t;
                    ^
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/vm/memory.cpp:1:
In file included from ./src/vm/memory.h:5:
./src/vm/gfx.h:12:12: error: unknown type name 'constexpr'
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
           ^
./src/vm/gfx.h:12:28: error: expected ';' after top level declarator
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
                           ^
                           ;
In file included from src/vm/machine.cpp:1:
In file included from ./src/vm/machine.h:3:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
./src/vm/gfx.h:15:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_HEIGHT = 8;
           ^
./src/vm/gfx.h:15:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_HEIGHT = 8;
                           ^
                           ;
./src/vm/gfx.h:18:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_HEIGHT = 6;
           ^
./src/vm/gfx.h:18:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_HEIGHT = 6;
                           ^
                           ;
In file included from src/vm/machine.cpp:1:
In file included from ./src/vm/machine.h:4:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
./src/vm/gfx.h:17:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_WIDTH = 4;
           ^
./src/vm/gfx.h:17:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_WIDTH = 4;
                           ^
                           ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
./src/vm/gfx.h:18:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_HEIGHT = 6;
           ^
./src/vm/gfx.h:18:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_HEIGHT = 6;
                           ^
                           ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
./src/vm/gfx.h:14:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_WIDTH = 8;
           ^
./src/vm/gfx.h:14:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_WIDTH = 8;
                           ^
                           ;
./src/vm/gfx.h:15:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_HEIGHT = 8;
           ^
./src/vm/gfx.h:15:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_HEIGHT = 8;
                           ^
                           ;
10 warnings and 20 errors generated.
./src/vm/gfx.h:17:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_WIDTH = 4;
           ^
./src/vm/gfx.h:17:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_WIDTH = 4;
                           ^
                           ;
./src/vm/gfx.h:18:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_HEIGHT = 6;
           ^
make: *** [src/vm/gfx.o] Error 1
make: *** Waiting for unfinished jobs....
./src/vm/gfx.h:18:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_HEIGHT = 6;
                           ^
                           ;
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26: error: expected ';' after top level declarator
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:32:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_flags_t = uint8_t;
                         ^
./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h:36:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using address_t = int32_t;
                    ^
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/vm/machine.cpp:1:
In file included from ./src/vm/machine.h:5:
./src/vm/gfx.h:12:12: error: unknown type name 'constexpr'
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
           ^
./src/vm/gfx.h:12:28: error: expected ';' after top level declarator
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
                           ^
                           ;
./src/vm/gfx.h:14:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_WIDTH = 8;
           ^
./src/vm/gfx.h:14:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_WIDTH = 8;
                           ^
                           ;
./src/vm/gfx.h:15:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_HEIGHT = 8;
           ^
./src/vm/gfx.h:15:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_HEIGHT = 8;
                           ^
                           ;
./src/vm/gfx.h:17:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_WIDTH = 4;
           ^
./src/vm/gfx.h:17:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_WIDTH = 4;
                           ^
                           ;
./src/vm/gfx.h:18:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_HEIGHT = 6;
           ^
./src/vm/gfx.h:18:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_HEIGHT = 6;
                           ^
                           ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from src/vm/lua_bridge.cpp:3:
In file included from ./src/vm/machine.h:3:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
In file included from src/vm/lua_bridge.cpp:3:
In file included from ./src/vm/machine.h:4:
./src/vm/defines.h:7:8: error: ISO C++ forbids forward references to 'enum' types
  enum color_t : uint8_t
       ^
./src/vm/defines.h:7:16: error: expected unqualified-id
  enum color_t : uint8_t
               ^
./src/vm/defines.h:15:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class button_t
       ^
./src/vm/defines.h:25:10: error: unknown type name 'constexpr'
  static constexpr size_t BUTTON_COUNT = 6;
         ^
./src/vm/defines.h:25:26: error: expected ';' after top level declarator
  static constexpr size_t BUTTON_COUNT = 6;
                         ^
                         ;
./src/vm/defines.h:26:10: error: unknown type name 'constexpr'
  static constexpr size_t PLAYER_COUNT = 2;
         ^
./src/vm/defines.h:26:26: error: expected ';' after top level declarator
  static constexpr size_t PLAYER_COUNT = 2;
                         ^
                         ;
./src/vm/defines.h:28:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using coord_t = int32_t;
                  ^
./src/vm/defines.h:29:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using amount_t = int32_t;
                   ^
./src/vm/defines.h:30:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using index_t = uint32_t;
                  ^
./src/vm/defines.h:31:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_index_t = uint8_t;
                         ^
./src/vm/defines.h:32:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using sprite_flags_t = uint8_t;
                         ^
./src/vm/defines.h:33:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using integral_t = int32_t;
                     ^
./src/vm/defines.h:34:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using color_index_t = uint8_t;
                        ^
./src/vm/defines.h:35:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using palette_index_t = size_t;
                          ^
./src/vm/defines.h:35:27: error: unknown type name 'size_t'
./src/vm/defines.h:36:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using address_t = int32_t;
                    ^
./src/vm/defines.h:39:10: error: unknown type name 'constexpr'
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
         ^
./src/vm/defines.h:39:27: error: expected ';' after top level declarator
  static constexpr coord_t TEXT_LINE_HEIGHT = 6;
                          ^
                          ;
In file included from src/vm/lua_bridge.cpp:3:
In file included from ./src/vm/machine.h:5:
./src/vm/gfx.h:12:12: error: unknown type name 'constexpr'
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
           ^
./src/vm/gfx.h:12:28: error: expected ';' after top level declarator
    static constexpr size_t PIXEL_TO_BYTE_RATIO = 2;
                           ^
                           ;
./src/vm/gfx.h:14:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_WIDTH = 8;
           ^
./src/vm/gfx.h:14:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_WIDTH = 8;
                           ^
                           ;
./src/vm/gfx.h:15:12: error: unknown type name 'constexpr'
    static constexpr size_t SPRITE_HEIGHT = 8;
           ^
./src/vm/gfx.h:15:28: error: expected ';' after top level declarator
    static constexpr size_t SPRITE_HEIGHT = 8;
                           ^
                           ;
./src/vm/gfx.h:17:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_WIDTH = 4;
           ^
./src/vm/gfx.h:17:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_WIDTH = 4;
                           ^
                           ;
./src/vm/gfx.h:18:12: error: unknown type name 'constexpr'
    static constexpr size_t GLYPH_HEIGHT = 6;
           ^
./src/vm/gfx.h:18:28: error: expected ';' after top level declarator
    static constexpr size_t GLYPH_HEIGHT = 6;
                           ^
                           ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from src/vm/sound.cpp:1:
./src/vm/sound.h:18:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
    using volume_t = int32_t;
                     ^
./src/vm/sound.h:19:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
    using pitch_t = int32_t;
                    ^
./src/vm/sound.h:20:25: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
    using frequency_t = int32_t;
                        ^
./src/vm/sound.h:21:29: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
    using channel_index_t = int32_t;
                            ^
./src/vm/sound.h:22:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
    using sound_index_t = int32_t;
                          ^
./src/vm/sound.h:23:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
    using music_index_t = int32_t;
                          ^
./src/vm/sound.h:25:10: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
    enum class Waveform
         ^
./src/vm/sound.h:30:10: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
    enum class Effect
         ^
./src/vm/sound.h:35:10: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
    enum class Tone { C, CS, D, DS, E, F, FS, G, GS, A, AS, B };
         ^
./src/vm/sound.h:39:7: error: unknown type name 'constexpr'
      constexpr static std::array<float, 12> frequencies = {
      ^
./src/vm/sound.h:39:17: error: expected member name or ';' after declaration specifiers
      constexpr static std::array<float, 12> frequencies = {
      ~~~~~~~~~ ^
./src/vm/sound.h:46:76: error: use of undeclared identifier 'frequencies'; did you mean 'frequency'?
      static frequency_t frequency(Tone tone, int32_t octave = 1) { return frequencies[size_t(tone)] * octave; };
                                                                           ^~~~~~~~~~~
                                                                           frequency
./src/vm/sound.h:47:28: note: 'frequency' declared here
        static frequency_t frequency(pitch_t pitch) { return frequencies[pitch % 12] / 2 * (1 << (pitch / 12)); }
                           ^
./src/vm/sound.h:47:62: error: use of undeclared identifier 'frequencies'
        static frequency_t frequency(pitch_t pitch) { return frequencies[pitch % 12] / 2 * (1 << (pitch / 12)); }
                                                             ^
./src/vm/sound.h:52:14: error: unknown type name 'constexpr'
      static constexpr uint16_t EffectMask = 0x7000;
             ^
./src/vm/sound.h:52:32: error: expected ';' at end of declaration list
      static constexpr uint16_t EffectMask = 0x7000;
                               ^
                               ;
./src/vm/sound.h:53:14: error: unknown type name 'constexpr'
      static constexpr uint16_t VolumeMask = 0x0E00;
             ^
./src/vm/sound.h:53:32: error: expected ';' at end of declaration list
      static constexpr uint16_t VolumeMask = 0x0E00;
                               ^
                               ;
./src/vm/sound.h:54:14: error: unknown type name 'constexpr'
      static constexpr uint16_t WaveformMask = 0x01C0;
             ^
./src/vm/sound.h:54:32: error: expected ';' at end of declaration list
      static constexpr uint16_t WaveformMask = 0x01C0;
                               ^
                               ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
16 warnings and 20 errors generated.
16 warnings and 20 errors generated.
make: *** [src/io/stegano.o] Error 1
make: *** [src/retroarch/libretro.o] Error 1
16 warnings and 20 errors generated.
make: *** [src/vm/memory.o] Error 1
16 warnings and 20 errors generated.
16 warnings and 20 errors generated.
make: *** [src/io/loader.o] Error 1
make: *** [src/vm/machine.o] Error 1
25 warnings and 20 errors generated.
make: *** [src/vm/sound.o] Error 1
16 warnings and 20 errors generated.
make: *** [src/vm/lua_bridge.o] Error 1
6 warnings generated.
In file included from src/io/picopng.cpp:2:
./src/common.h:7:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u32 = uint32_t;
            ^
./src/common.h:8:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using u16 = uint16_t;
            ^
./src/common.h:10:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s32 = int32_t;
            ^
./src/common.h:11:13: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using s64 = int64_t;
            ^
./src/common.h:13:14: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
using byte = uint8_t;
             ^
./src/common.h:18:17: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using utype = typename std::underlying_type<T>::type;
                ^
6 warnings generated.
```

Anything specific to configure for compiling?