From 7652d47d8ecaa5bd751d6408442d1ce309d17ba1 Mon Sep 17 00:00:00 2001 From: Cesare Falco Date: Mon, 11 May 2015 09:37:45 +0200 Subject: [PATCH] Add makefile switch to choose linking against bundled OR system expat library. --- makefile | 9 +++++++++ scripts/genie.lua | 5 +++++ scripts/src/3rdparty.lua | 12 +++++++++++- scripts/src/emu.lua | 26 +++++++++++++++++++++----- scripts/src/lib.lua | 6 +++++- 5 files changed, 51 insertions(+), 7 deletions(-) diff --git a/makefile b/makefile index 9dc8141c45a..385c04eca61 100644 --- a/makefile +++ b/makefile @@ -53,6 +53,8 @@ # ARCHOPTS = # LDOPTS = +# USE_SYSTEM_LIB_EXPAT = 1 + # MESA_INSTALL_ROOT = /opt/mesa # SDL_INSTALL_ROOT = /opt/sdl2 # SDL_FRAMEWORK_PATH = $(HOME)/Library/Frameworks @@ -285,6 +287,13 @@ OSD := sdl endif endif +#------------------------------------------------- +# which 3rdparty library to build; +# link against system (common) library otherwise +#------------------------------------------------- +ifndef USE_SYSTEM_LIB_EXPAT +PARAMS += --with-bundled-expat +endif #------------------------------------------------- # distribution may change things diff --git a/scripts/genie.lua b/scripts/genie.lua index 7936a1486f8..aeb901b0f2e 100644 --- a/scripts/genie.lua +++ b/scripts/genie.lua @@ -88,6 +88,11 @@ newoption { }, } +newoption { + trigger = 'with-bundled-expat', + description = 'Build bundled Expat library', +} + newoption { trigger = "distro", description = "Choose distribution", diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua index 23773651346..a401853f88b 100644 --- a/scripts/src/3rdparty.lua +++ b/scripts/src/3rdparty.lua @@ -5,6 +5,7 @@ -- expat library objects -------------------------------------------------- +if _OPTIONS["with-bundled-expat"] then project "expat" uuid "f4cd40b1-c37c-452d-9785-640f26f0bf54" kind "StaticLib" @@ -23,6 +24,11 @@ project "expat" "-Wshadow" } end +else +links { + "expat", +} +end -------------------------------------------------- -- zlib library objects @@ -84,8 +90,12 @@ project "softfloat" MAME_DIR .. "src/lib", MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/expat/lib/", } + if _OPTIONS["with-bundled-expat"] then + includedirs { + MAME_DIR .. "3rdparty/expat/lib/", + } + end files { MAME_DIR .. "3rdparty/softfloat/softfloat.c", diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua index ebe9e894f54..3b020839b14 100644 --- a/scripts/src/emu.lua +++ b/scripts/src/emu.lua @@ -14,12 +14,16 @@ includedirs { MAME_DIR .. "src/lib", MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/expat/lib", MAME_DIR .. "3rdparty/lua/src", MAME_DIR .. "3rdparty/zlib", GEN_DIR .. "emu", GEN_DIR .. "emu/layout", } +if _OPTIONS["with-bundled-expat"] then + includedirs { + MAME_DIR .. "3rdparty/expat/lib", + } +end files { MAME_DIR .. "src/emu/emu.h", @@ -368,13 +372,17 @@ function emuProject(_target, _subtarget) MAME_DIR .. "src/lib", MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/expat/lib", MAME_DIR .. "3rdparty/lua/src", MAME_DIR .. "3rdparty/zlib", GEN_DIR .. "emu", GEN_DIR .. "emu/layout", MAME_DIR .. "src/emu/cpu/m68000", } + if _OPTIONS["with-bundled-expat"] then + includedirs { + MAME_DIR .. "3rdparty/expat/lib", + } + end dofile(path.join("src", "cpu.lua")) @@ -402,7 +410,6 @@ function emuProject(_target, _subtarget) MAME_DIR .. "src/lib", MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/expat/lib", MAME_DIR .. "3rdparty/lua/src", MAME_DIR .. "3rdparty/zlib", MAME_DIR .. "src/mess", -- some mess bus devices need this @@ -410,6 +417,11 @@ function emuProject(_target, _subtarget) GEN_DIR .. "emu", GEN_DIR .. "emu/layout", } + if _OPTIONS["with-bundled-expat"] then + includedirs { + MAME_DIR .. "3rdparty/expat/lib", + } + end dofile(path.join("src", "bus.lua")) @@ -428,11 +440,15 @@ function emuProject(_target, _subtarget) MAME_DIR .. "src/lib", MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/expat/lib", MAME_DIR .. "3rdparty/lua/src", MAME_DIR .. "3rdparty/zlib", GEN_DIR .. "emu", } + if _OPTIONS["with-bundled-expat"] then + includedirs { + MAME_DIR .. "3rdparty/expat/lib", + } + end files { disasm_files @@ -449,4 +465,4 @@ function emuProject(_target, _subtarget) disasm_custombuildtask[1] } end -end \ No newline at end of file +end diff --git a/scripts/src/lib.lua b/scripts/src/lib.lua index 743dd2c1905..ba72f3cc140 100644 --- a/scripts/src/lib.lua +++ b/scripts/src/lib.lua @@ -13,9 +13,13 @@ project "utils" MAME_DIR .. "src/osd", MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", - MAME_DIR .. "3rdparty/expat/lib", MAME_DIR .. "3rdparty/zlib", } + if _OPTIONS["with-bundled-expat"] then + includedirs { + MAME_DIR .. "3rdparty/expat/lib", + } + end files { MAME_DIR .. "src/lib/util/bitstream.h",