diff options
author | 2018-02-08 22:06:25 +0100 | |
---|---|---|
committer | 2018-02-08 16:06:25 -0500 | |
commit | 8cc758355d51920adb7dc5b5899cf5fdca9fbd74 (patch) | |
tree | c806616593f525c9deba1a8cfd7b9bb1e708c035 | |
parent | 556bdf249f76f415cc7fc8f2d72762688ef97440 (diff) |
Enable use of system-wide asio, glm and rapidjson (#3172)
* 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
-rw-r--r-- | makefile | 15 | ||||
-rw-r--r-- | scripts/extlib.lua | 18 | ||||
-rw-r--r-- | scripts/src/devices.lua | 4 | ||||
-rw-r--r-- | scripts/src/emu.lua | 3 | ||||
-rw-r--r-- | scripts/src/mame/frontend.lua | 4 | ||||
-rw-r--r-- | scripts/src/osd/modules.lua | 4 | ||||
-rw-r--r-- | scripts/target/mame/arcade.lua | 5 | ||||
-rw-r--r-- | scripts/target/mame/mess.lua | 2 | ||||
-rw-r--r-- | scripts/target/mame/nl.lua | 1 | ||||
-rw-r--r-- | src/emu/machine.cpp | 4 | ||||
-rw-r--r-- | src/lib/util/client_https.hpp | 2 | ||||
-rw-r--r-- | src/lib/util/client_wss.hpp | 2 | ||||
-rw-r--r-- | src/lib/util/server_http_impl.hpp | 2 | ||||
-rw-r--r-- | src/lib/util/server_https.hpp | 2 | ||||
-rw-r--r-- | src/lib/util/server_ws_impl.hpp | 2 | ||||
-rw-r--r-- | src/lib/util/server_wss.hpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/prodigy.cpp | 6 | ||||
-rw-r--r-- | src/mame/includes/model1.h | 2 | ||||
-rw-r--r-- | src/mame/video/model1.cpp | 2 | ||||
-rw-r--r-- | src/osd/asio.h | 2 |
20 files changed, 62 insertions, 22 deletions
@@ -55,6 +55,7 @@ # OPT_FLAGS = # LDOPTS = +# USE_SYSTEM_LIB_ASIO = 1 # USE_SYSTEM_LIB_EXPAT = 1 # USE_SYSTEM_LIB_ZLIB = 1 # USE_SYSTEM_LIB_JPEG = 1 @@ -65,6 +66,8 @@ # USE_SYSTEM_LIB_PORTAUDIO = 1 # USE_BUNDLED_LIB_SDL2 = 1 # USE_SYSTEM_LIB_UTF8PROC = 1 +# USE_SYSTEM_LIB_GLM = 1 +# USE_SYSTEM_LIB_RAPIDJSON = 1 # MESA_INSTALL_ROOT = /opt/mesa # SDL_INSTALL_ROOT = /opt/sdl2 @@ -429,6 +432,10 @@ endif # which 3rdparty library to build; # link against system (common) library otherwise #------------------------------------------------- +ifdef USE_SYSTEM_LIB_ASIO +PARAMS += --with-system-asio='$(USE_SYSTEM_LIB_ASIO)' +endif + ifdef USE_SYSTEM_LIB_EXPAT PARAMS += --with-system-expat='$(USE_SYSTEM_LIB_EXPAT)' endif @@ -465,6 +472,14 @@ ifdef USE_SYSTEM_LIB_UTF8PROC PARAMS += --with-system-utf8proc='$(USE_SYSTEM_LIB_UTF8PROC)' endif +ifdef USE_SYSTEM_LIB_GLM +PARAMS += --with-system-glm='$(USE_SYSTEM_LIB_GLM)' +endif + +ifdef USE_SYSTEM_LIB_RAPIDJSON +PARAMS += --with-system-rapidjson='$(USE_SYSTEM_LIB_RAPIDJSON)' +endif + # reverse logic for this one ifdef USE_BUNDLED_LIB_SDL2 diff --git a/scripts/extlib.lua b/scripts/extlib.lua index 674f1b1d881..ad97ac220b8 100644 --- a/scripts/extlib.lua +++ b/scripts/extlib.lua @@ -6,6 +6,7 @@ local extlibs = { -- 3rdparty system 3rdparty -- lib name: lib name, include dir -- + asio = { "asio", "3rdparty/asio/include" }, expat = { "expat", "3rdparty/expat/lib" }, zlib = { "z", "3rdparty/zlib" }, jpeg = { "jpeg", "3rdparty/libjpeg" }, @@ -15,10 +16,17 @@ local extlibs = { portaudio = { "portaudio", "3rdparty/portaudio/include" }, lua = { "lua", "3rdparty/lua/src" }, utf8proc = { "utf8proc", "3rdparty/utf8proc" }, + glm = { "glm", "3rdparty/glm" }, + rapidjson = { "rapidjson", "3rdparty/rapidjson/include" }, } -- system lib options newoption { + trigger = 'with-system-asio', + description = 'Use system Asio library', +} + +newoption { trigger = 'with-system-expat', description = 'Use system Expat library', } @@ -63,6 +71,16 @@ newoption { description = "Use system utf8proc library", } +newoption { + trigger = "with-system-glm", + description = "Use system glm library", +} + +newoption { + trigger = "with-system-rapidjson", + description = "Use system rapidjson library", +} + -- build helpers function ext_lib(lib) local opt = _OPTIONS["with-system-" .. lib] diff --git a/scripts/src/devices.lua b/scripts/src/devices.lua index 89d88fd7274..79bcdec11d4 100644 --- a/scripts/src/devices.lua +++ b/scripts/src/devices.lua @@ -39,9 +39,9 @@ function devicesProject(_target, _subtarget) MAME_DIR .. "3rdparty", GEN_DIR .. "emu", GEN_DIR .. "emu/layout", + ext_includedir("asio"), ext_includedir("expat"), ext_includedir("flac"), - MAME_DIR .. "3rdparty/asio/include", } dofile(path.join("src", "cpu.lua")) @@ -69,8 +69,8 @@ if #disasm_files > 0 then MAME_DIR .. "src/lib", MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/asio/include", GEN_DIR .. "emu", + ext_includedir("asio"), ext_includedir("expat"), } diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua index b0188cde94d..3a135d39c44 100644 --- a/scripts/src/emu.lua +++ b/scripts/src/emu.lua @@ -29,11 +29,12 @@ includedirs { } includedirs { + ext_includedir("asio"), ext_includedir("expat"), ext_includedir("zlib"), ext_includedir("flac"), ext_includedir("jpeg"), - MAME_DIR .. "3rdparty/asio/include", + ext_includedir("rapidjson"), } files { diff --git a/scripts/src/mame/frontend.lua b/scripts/src/mame/frontend.lua index 452c812dd03..60e955f8773 100644 --- a/scripts/src/mame/frontend.lua +++ b/scripts/src/mame/frontend.lua @@ -29,18 +29,18 @@ includedirs { MAME_DIR .. "src/devices", -- till deps are fixed MAME_DIR .. "src/lib", MAME_DIR .. "src/lib/util", - MAME_DIR .. "3rdparty/rapidjson/include", MAME_DIR .. "3rdparty", GEN_DIR .. "emu", GEN_DIR .. "emu/layout", } includedirs { + ext_includedir("asio"), ext_includedir("expat"), ext_includedir("lua"), ext_includedir("zlib"), ext_includedir("flac"), - MAME_DIR .. "3rdparty/asio/include", + ext_includedir("rapidjson") } configuration { } diff --git a/scripts/src/osd/modules.lua b/scripts/src/osd/modules.lua index 06392a6c34e..ddd2e4b06f2 100644 --- a/scripts/src/osd/modules.lua +++ b/scripts/src/osd/modules.lua @@ -116,7 +116,7 @@ function osdmodulesbuild() MAME_DIR .. "src/osd/modules/monitor/monitor_sdl.cpp", } includedirs { - MAME_DIR .. "3rdparty/asio/include", + ext_includedir("asio"), } if _OPTIONS["targetos"]=="windows" then @@ -215,7 +215,7 @@ function osdmodulesbuild() MAME_DIR .. "3rdparty/bgfx/include", MAME_DIR .. "3rdparty/bgfx/3rdparty", MAME_DIR .. "3rdparty/bx/include", - MAME_DIR .. "3rdparty/rapidjson/include", + ext_includedir("rapidjson") } if _OPTIONS["NO_USE_PORTAUDIO"]=="1" then diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index efe9a981e51..e477cc695be 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -3156,6 +3156,11 @@ files { } createMAMEProjects(_target, _subtarget, "sega") + +includedirs { + ext_includedir("glm"), +} + files { MAME_DIR .. "src/mame/drivers/angelkds.cpp", MAME_DIR .. "src/mame/includes/angelkds.h", diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index bae57cbc9b8..bf08e0d8f44 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2706,7 +2706,7 @@ files { MAME_DIR .. "src/mame/machine/nl_prodigy.h", } includedirs { - MAME_DIR .. "3rdparty/rapidjson/include", + ext_includedir("rapidjson"), } createMESSProjects(_target, _subtarget, "psion") diff --git a/scripts/target/mame/nl.lua b/scripts/target/mame/nl.lua index c47cea4deb4..53f16ba42cc 100644 --- a/scripts/target/mame/nl.lua +++ b/scripts/target/mame/nl.lua @@ -114,6 +114,7 @@ function createProjects_mame_nl(_target, _subtarget) MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", GEN_DIR .. "mame/layout", + ext_includedir("rapidjson"), } files{ diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp index 8d84f412de9..72e78e96759 100644 --- a/src/emu/machine.cpp +++ b/src/emu/machine.cpp @@ -84,8 +84,8 @@ #include "network.h" #include "ui/uimain.h" #include <time.h> -#include "rapidjson/include/rapidjson/writer.h" -#include "rapidjson/include/rapidjson/stringbuffer.h" +#include <rapidjson/writer.h> +#include <rapidjson/stringbuffer.h> #if defined(EMSCRIPTEN) #include <emscripten.h> diff --git a/src/lib/util/client_https.hpp b/src/lib/util/client_https.hpp index 3300ea6865f..835a7ee613d 100644 --- a/src/lib/util/client_https.hpp +++ b/src/lib/util/client_https.hpp @@ -4,7 +4,7 @@ #define CLIENT_HTTPS_HPP #include "client_http.hpp" -#include "asio/ssl.hpp" +#include <asio/ssl.hpp> namespace webpp { using HTTPS = asio::ssl::stream<asio::ip::tcp::socket>; diff --git a/src/lib/util/client_wss.hpp b/src/lib/util/client_wss.hpp index ef30b459607..6ff51658f30 100644 --- a/src/lib/util/client_wss.hpp +++ b/src/lib/util/client_wss.hpp @@ -4,7 +4,7 @@ #define CLIENT_WSS_HPP #include "client_ws.hpp" -#include "asio/ssl.hpp" +#include <asio/ssl.hpp> namespace webpp { using WSS = asio::ssl::stream<asio::ip::tcp::socket>; diff --git a/src/lib/util/server_http_impl.hpp b/src/lib/util/server_http_impl.hpp index 4f909c023ef..e949e6b2483 100644 --- a/src/lib/util/server_http_impl.hpp +++ b/src/lib/util/server_http_impl.hpp @@ -9,7 +9,7 @@ #include "server_http.hpp" #include "asio.h" -#include "asio/system_timer.hpp" +#include <asio/system_timer.hpp> #include "path_to_regex.hpp" #include <map> diff --git a/src/lib/util/server_https.hpp b/src/lib/util/server_https.hpp index e721cbb3e25..d76aa377762 100644 --- a/src/lib/util/server_https.hpp +++ b/src/lib/util/server_https.hpp @@ -4,7 +4,7 @@ #define SERVER_HTTPS_HPP #include "server_http.hpp" -#include "asio/ssl.hpp" +#include <asio/ssl.hpp> #include <openssl/ssl.h> #include <algorithm> diff --git a/src/lib/util/server_ws_impl.hpp b/src/lib/util/server_ws_impl.hpp index cbb6f9b4908..9fc5876cab2 100644 --- a/src/lib/util/server_ws_impl.hpp +++ b/src/lib/util/server_ws_impl.hpp @@ -6,7 +6,7 @@ #include "crypto.hpp" #include "asio.h" -#include "asio/system_timer.hpp" +#include <asio/system_timer.hpp> #include "server_ws.hpp" #include <unordered_map> diff --git a/src/lib/util/server_wss.hpp b/src/lib/util/server_wss.hpp index ecf46fb1524..ea0bc47626e 100644 --- a/src/lib/util/server_wss.hpp +++ b/src/lib/util/server_wss.hpp @@ -4,7 +4,7 @@ #define SERVER_WSS_HPP #include "server_ws.hpp" -#include "asio/ssl.hpp" +#include <asio/ssl.hpp> #include <openssl/ssl.h> #include <algorithm> diff --git a/src/mame/drivers/prodigy.cpp b/src/mame/drivers/prodigy.cpp index 3d4dadf1684..c134c40cc29 100644 --- a/src/mame/drivers/prodigy.cpp +++ b/src/mame/drivers/prodigy.cpp @@ -81,9 +81,9 @@ #include <zlib.h> #include <iostream> #include <fstream> -#include "rapidjson/include/rapidjson/document.h" -#include "rapidjson/include/rapidjson/stringbuffer.h" -#include "rapidjson/include/rapidjson/writer.h" +#include <rapidjson/document.h> +#include <rapidjson/stringbuffer.h> +#include <rapidjson/writer.h> #endif // Generated artwork includes diff --git a/src/mame/includes/model1.h b/src/mame/includes/model1.h index 5b09d05d296..a9a7bb4e2b3 100644 --- a/src/mame/includes/model1.h +++ b/src/mame/includes/model1.h @@ -17,7 +17,7 @@ #include "screen.h" -#include <glm/glm/vec3.hpp> +#include <glm/vec3.hpp> #include <functional> diff --git a/src/mame/video/model1.cpp b/src/mame/video/model1.cpp index b128650fbbb..2a15cb21157 100644 --- a/src/mame/video/model1.cpp +++ b/src/mame/video/model1.cpp @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Olivier Galibert -#include <glm/glm/geometric.hpp> +#include <glm/geometric.hpp> #include "emu.h" #include "cpu/mb86233/mb86233.h" diff --git a/src/osd/asio.h b/src/osd/asio.h index 64acfab9674..3ee31a467d7 100644 --- a/src/osd/asio.h +++ b/src/osd/asio.h @@ -31,5 +31,5 @@ #define ASIO_NOEXCEPT_OR_NOTHROW noexcept(true) #define ASIO_ERROR_CATEGORY_NOEXCEPT noexcept(true) -#include "asio/include/asio.hpp" +#include <asio.hpp> #undef interface |