Remove all the stuff that causes driver and emu sources to be compiled

differently with different OSDs
Switch back to building for all OSDs in common directory
Move more OSD-specific stuff into OSD scripts
It still isn't completely safe to be building all OSD into same directory
Common OSD "module" files, e.g. debuggers and renderers, build with
different options for each OSD.  It works at the moment, but you will end
up with slightly different executables depending on the order you build
OSDs.
This commit is contained in:
Vas Crabb 2015-03-29 14:48:29 +11:00
parent dce0421517
commit c878883667
9 changed files with 132 additions and 157 deletions

View File

@ -581,8 +581,6 @@ GEN_FOLDERS := \
$(GENDIR)/mess/layout/ \
$(GENDIR)/mess/drivers/ \
$(GENDIR)/ldplayer/layout/ \
$(GENDIR)/osd/windows/ \
$(GENDIR)/osd/sdl/ \
$(GENDIR)/emu/cpu/arcompact/ \
$(GENDIR)/emu/cpu/h8/ \
$(GENDIR)/emu/cpu/mcs96/ \
@ -591,6 +589,7 @@ GEN_FOLDERS := \
$(GENDIR)/emu/cpu/m68000/ \
$(GENDIR)/emu/cpu/tms57002/ \
$(GENDIR)/osd/modules/debugger/qt/ \
$(GENDIR)/resource/
LAYOUTS=$(wildcard $(SRC)/emu/layout/*.lay) $(wildcard $(SRC)/mame/layout/*.lay) $(wildcard $(SRC)/mess/layout/*.lay) $(wildcard $(SRC)/ldplayer/layout/*.lay)
@ -633,8 +632,8 @@ generate: \
$(patsubst $(SRC)/%.lay,$(GENDIR)/%.lh,$(LAYOUTS)) \
$(patsubst $(SRC)/%.h,$(GENDIR)/%.moc.c,$(MOC_FILES)) \
$(GENDIR)/emu/uismall.fh \
$(GENDIR)/osd/windows/$(TARGET)vers.rc \
$(GENDIR)/osd/sdl/$(TARGET)-Info.plist \
$(GENDIR)/resource/$(TARGET)vers.rc \
$(GENDIR)/resource/$(TARGET)-Info.plist \
$(GENDIR)/$(TARGET)/$(SUBTARGET)/drivlist.c \
$(GENDIR)/mess/drivers/ymmu100.inc \
$(GENDIR)/emu/cpu/arcompact/arcompact.inc \
@ -654,11 +653,11 @@ $(GENDIR)/%.fh: $(SRC)/%.png $(SRC)/build/png2bdc.py $(SRC)/build/file2str.py
$(PYTHON) $(SRC)/build/png2bdc.py $< $(GENDIR)/temp.bdc
$(PYTHON) $(SRC)/build/file2str.py $(GENDIR)/temp.bdc $@ font_$(basename $(notdir $<)) UINT8
$(GENDIR)/osd/windows/$(TARGET)vers.rc: $(SRC)/build/verinfo.py $(SRC)/version.c
$(GENDIR)/resource/$(TARGET)vers.rc: $(SRC)/build/verinfo.py $(SRC)/version.c
@echo Emitting $@...
$(PYTHON) $(SRC)/build/verinfo.py -r -b $(TARGET) $(SRC)/version.c > $@
$(GENDIR)/osd/sdl/$(TARGET)-Info.plist: $(SRC)/build/verinfo.py $(SRC)/version.c
$(GENDIR)/resource/$(TARGET)-Info.plist: $(SRC)/build/verinfo.py $(SRC)/version.c
@echo Emitting $@...
$(PYTHON) $(SRC)/build/verinfo.py -p -b $(TARGET) $(SRC)/version.c > $@

View File

@ -34,6 +34,13 @@ function findfunction(x)
end
end
function includeosd()
includedirs {
MAME_DIR .. "src/osd",
}
end
CPUS = {}
SOUNDS = {}
MACHINES = {}
@ -618,7 +625,7 @@ else
subdir = _OPTIONS["osd"] .. "/" .. _OPTIONS["target"] .. _OPTIONS["subtarget"]
end
if not toolchain(_OPTIONS["osd"], MAME_BUILD_DIR, subdir) then
if not toolchain(MAME_BUILD_DIR, subdir) then
return -- no action specified
end

View File

@ -22,15 +22,7 @@ function mainProject(_target, _subtarget)
}
end
configuration { "osx*" }
linkoptions {
"-sectcreate __TEXT __info_plist " .. GEN_DIR .. "/osd/sdl/" .. _OPTIONS["target"] .. "-Info.plist"
}
configuration { "mingw*" or "vs*" }
if _OPTIONS["osd"]=="sdl" then
targetprefix "sdl"
end
targetextension ".exe"
configuration { "asmjs" }
@ -69,34 +61,28 @@ function mainProject(_target, _subtarget)
links{
"ocore_" .. _OPTIONS["osd"],
}
dofile("src/osd/" .. _OPTIONS["osd"] .. "_cfg.lua")
maintargetosdoptions(_target)
includedirs {
MAME_DIR .. "src/emu",
MAME_DIR .. "src/mame",
MAME_DIR .. "src/" .. _target,
MAME_DIR .. "src/lib",
MAME_DIR .. "src/lib/util",
MAME_DIR .. "3rdparty",
MAME_DIR .. "3rdparty/zlib",
GEN_DIR .. "mame/layout",
GEN_DIR .. "ldplayer/layout",
GEN_DIR .. "osd/windows",
GEN_DIR .. _target .. "/layout",
GEN_DIR .. "resource",
}
includeosd()
if _OPTIONS["osd"]=="windows" then
local rcfile = MAME_DIR .. "src/" .. _target .. "/osd/windows/" .. _target ..".rc"
if os.isfile(rcfile) then
files {
rcfile,
}
else
files {
MAME_DIR .. "src/osd/windows/mame.rc",
}
end
if _OPTIONS["targetos"]=="macosx" then
linkoptions {
"-sectcreate __TEXT __info_plist " .. GEN_DIR .. "/resource/" .. _OPTIONS["target"] .. "-Info.plist"
}
end
if _OPTIONS["targetos"]=="windows" then
end
files {

View File

@ -1,7 +1,4 @@
function includeosd()
includedirs {
MAME_DIR .. "src/osd",
}
function maintargetosdoptions(_target)
end

View File

@ -1,16 +1,33 @@
function includeosd()
includedirs {
MAME_DIR .. "src/osd",
MAME_DIR .. "src/osd/sdl",
}
function maintargetosdoptions(_target)
if _OPTIONS["targetos"]=="windows" then
linkoptions{
"-L$(shell qmake -query QT_INSTALL_LIBS)",
}
links {
"qtmain",
"QtGui4",
"QtCore4",
}
end
if _OPTIONS["targetos"]=="linux" then
links {
'QtGui',
'QtCore',
}
linkoptions {
'$(shell pkg-config --libs QtGui)',
}
end
configuration { "mingw*" or "vs*" }
targetprefix "sdl"
configuration { }
end
forcedincludes {
MAME_DIR .. "src/osd/sdl/sdlprefix.h"
}
configuration { "mingw*" }
linkoptions {
"-Wl,--allow-multiple-definition",

View File

@ -1,6 +1,6 @@
--forcedincludes {
-- MAME_DIR .. "src/osd/sdl/sdlprefix.h"
--}
forcedincludes {
MAME_DIR .. "src/osd/sdl/sdlprefix.h"
}
if _OPTIONS["targetos"]=="windows" then
defines {
@ -20,16 +20,6 @@ if _OPTIONS["targetos"]=="windows" then
"-I$(shell qmake -query QT_INSTALL_HEADERS)/QtGui",
"-I$(shell qmake -query QT_INSTALL_HEADERS)",
}
linkoptions{
"-L$(shell qmake -query QT_INSTALL_LIBS)",
}
links {
"qtmain",
"QtGui4",
"QtCore4",
}
end
if _OPTIONS["targetos"]=="linux" then
@ -52,15 +42,6 @@ if _OPTIONS["targetos"]=="linux" then
buildoptions {
'$(shell pkg-config --cflags QtGui)',
}
links {
'QtGui',
'QtCore',
}
linkoptions {
'$(shell pkg-config --libs QtGui)',
}
end
if _OPTIONS["targetos"]=="macosx" then

View File

@ -1,16 +1,18 @@
function includeosd()
includedirs {
MAME_DIR .. "src/osd",
MAME_DIR .. "src/osd/windows",
}
function maintargetosdoptions(_target)
local rcfile = MAME_DIR .. "src/" .. _target .. "/osd/windows/" .. _target ..".rc"
if os.isfile(rcfile) then
files {
rcfile,
}
else
files {
MAME_DIR .. "src/osd/windows/mame.rc",
}
end
end
forcedincludes {
MAME_DIR .. "src/osd/windows/winprefix.h"
}
project ("osd_" .. _OPTIONS["osd"])
uuid (os.uuid("osd_" .. _OPTIONS["osd"]))
kind "StaticLib"
@ -116,23 +118,9 @@ project ("ocore_" .. _OPTIONS["osd"])
MAME_DIR .. "src/lib/util",
}
--if _OPTIONS["targetos"]=="linux" then
-- BASE_TARGETOS = "unix"
-- SDLOS_TARGETOS = "unix"
-- SYNC_IMPLEMENTATION = "tc"
--end
--if _OPTIONS["targetos"]=="windows" then
BASE_TARGETOS = "win32"
SDLOS_TARGETOS = "win32"
SYNC_IMPLEMENTATION = "windows"
--end
--if _OPTIONS["targetos"]=="macosx" then
-- BASE_TARGETOS = "unix"
-- SDLOS_TARGETOS = "macosx"
-- SYNC_IMPLEMENTATION = "ntc"
--end
BASE_TARGETOS = "win32"
SDLOS_TARGETOS = "win32"
SYNC_IMPLEMENTATION = "windows"
includedirs {
MAME_DIR .. "src/osd/windows",

View File

@ -1,7 +1,10 @@
forcedincludes {
MAME_DIR .. "src/osd/windows/winprefix.h"
}
defines {
"UNICODE",
"_UNICODE",
"X64_WINDOWS_ABI",
"OSD_WINDOWS",
"USE_SDL=0",
"USE_QTDEBUG=0",
@ -9,6 +12,3 @@ defines {
"USE_DISPATCH_GL=1",
"DIRECTINPUT_VERSION=0x0800"
}
--forcedincludes {
-- MAME_DIR .. "src/osd/windows/winprefix.h"
--}

View File

@ -60,7 +60,7 @@ newoption {
description = "Set iOS target version (default: 8.0).",
}
function toolchain(_osd, _buildDir, _subDir)
function toolchain(_buildDir, _subDir)
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION)
@ -352,37 +352,37 @@ function toolchain(_osd, _buildDir, _subDir)
configuration { "x32", "vs*" }
targetdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "/bin")
objdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "/obj")
targetdir (_buildDir .. "win32_" .. _ACTION .. "/bin")
objdir (_buildDir .. "win32_" .. _ACTION .. "/obj")
configuration { "x64", "vs*" }
defines { "_WIN64" }
targetdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "/bin")
objdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "/obj")
targetdir (_buildDir .. "win64_" .. _ACTION .. "/bin")
objdir (_buildDir .. "win64_" .. _ACTION .. "/obj")
configuration { "ARM", "vs*" }
targetdir (_buildDir .. _osd .. "/arm_" .. _ACTION .. "/bin")
objdir (_buildDir .. _osd .. "/arm_" .. _ACTION .. "/obj")
targetdir (_buildDir .. "arm_" .. _ACTION .. "/bin")
objdir (_buildDir .. "arm_" .. _ACTION .. "/obj")
configuration { "x32", "vs*-clang" }
targetdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "-clang/bin")
objdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "-clang/obj")
targetdir (_buildDir .. "win32_" .. _ACTION .. "-clang/bin")
objdir (_buildDir .. "win32_" .. _ACTION .. "-clang/obj")
configuration { "x64", "vs*-clang" }
targetdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "-clang/bin")
objdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "-clang/obj")
targetdir (_buildDir .. "win64_" .. _ACTION .. "-clang/bin")
objdir (_buildDir .. "win64_" .. _ACTION .. "-clang/obj")
configuration { "mingw*" }
defines { "WIN32" }
configuration { "x32", "mingw32-gcc" }
targetdir (_buildDir .. _osd .. "/win32_mingw-gcc" .. "/bin")
objdir (_buildDir .. _osd .. "/win32_mingw-gcc" .. "/obj")
targetdir (_buildDir .. "win32_mingw-gcc" .. "/bin")
objdir (_buildDir .. "win32_mingw-gcc" .. "/obj")
buildoptions { "-m32" }
configuration { "x64", "mingw64-gcc" }
targetdir (_buildDir .. _osd .. "/win64_mingw-gcc" .. "/bin")
objdir (_buildDir .. _osd .. "/win64_mingw-gcc" .. "/obj")
targetdir (_buildDir .. "win64_mingw-gcc" .. "/bin")
objdir (_buildDir .. "win64_mingw-gcc" .. "/obj")
buildoptions { "-m64" }
configuration { "mingw-clang" }
@ -392,8 +392,8 @@ function toolchain(_osd, _buildDir, _subDir)
}
configuration { "x32", "mingw-clang" }
targetdir (_buildDir .. _osd .. "/win32_mingw-clang/bin")
objdir ( _buildDir .. _osd .. "/win32_mingw-clang/obj")
targetdir (_buildDir .. "win32_mingw-clang/bin")
objdir ( _buildDir .. "win32_mingw-clang/obj")
buildoptions { "-m32" }
buildoptions {
"-isystem$(MINGW32)/i686-w64-mingw32/include/c++",
@ -402,8 +402,8 @@ function toolchain(_osd, _buildDir, _subDir)
}
configuration { "x64", "mingw-clang" }
targetdir (_buildDir .. _osd .. "/win64_mingw-clang/bin")
objdir (_buildDir .. _osd .. "/win64_mingw-clang/obj")
targetdir (_buildDir .. "win64_mingw-clang/bin")
objdir (_buildDir .. "win64_mingw-clang/obj")
buildoptions { "-m64" }
buildoptions {
"-isystem$(MINGW64)/x86_64-w64-mingw32/include/c++",
@ -412,29 +412,29 @@ function toolchain(_osd, _buildDir, _subDir)
}
configuration { "linux-gcc", "x32" }
targetdir (_buildDir .. _osd .. "/linux32_gcc" .. "/bin")
objdir (_buildDir .. _osd .. "/linux32_gcc" .. "/obj")
targetdir (_buildDir .. "linux32_gcc" .. "/bin")
objdir (_buildDir .. "linux32_gcc" .. "/obj")
buildoptions {
"-m32",
}
configuration { "linux-gcc", "x64" }
targetdir (_buildDir .. _osd .. "/linux64_gcc" .. "/bin")
objdir (_buildDir .. _osd .. "/linux64_gcc" .. "/obj")
targetdir (_buildDir .. "linux64_gcc" .. "/bin")
objdir (_buildDir .. "linux64_gcc" .. "/obj")
buildoptions {
"-m64",
}
configuration { "linux-clang", "x32" }
targetdir (_buildDir .. _osd .. "/linux32_clang" .. "/bin")
objdir (_buildDir .. _osd .. "/linux32_clang" .. "/obj")
targetdir (_buildDir .. "linux32_clang" .. "/bin")
objdir (_buildDir .. "linux32_clang" .. "/obj")
buildoptions {
"-m32",
}
configuration { "linux-clang", "x64" }
targetdir (_buildDir .. _osd .. "/linux64_clang" .. "/bin")
objdir (_buildDir .. _osd .. "/linux64_clang" .. "/obj")
targetdir (_buildDir .. "linux64_clang" .. "/bin")
objdir (_buildDir .. "linux64_clang" .. "/obj")
buildoptions {
"-m64",
}
@ -481,8 +481,8 @@ function toolchain(_osd, _buildDir, _subDir)
configuration { "android-arm" }
targetdir (_buildDir .. _osd .. "/android-arm" .. "/bin")
objdir (_buildDir .. _osd .. "/android-arm" .. "/obj")
targetdir (_buildDir .. "android-arm" .. "/bin")
objdir (_buildDir .. "android-arm" .. "/obj")
libdirs {
"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a",
}
@ -507,8 +507,8 @@ function toolchain(_osd, _buildDir, _subDir)
}
configuration { "android-mips" }
targetdir (_buildDir .. _osd .. "/android-mips" .. "/bin")
objdir (_buildDir .. _osd .. "/android-mips" .. "/obj")
targetdir (_buildDir .. "android-mips" .. "/bin")
objdir (_buildDir .. "android-mips" .. "/obj")
libdirs {
"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips",
}
@ -527,8 +527,8 @@ function toolchain(_osd, _buildDir, _subDir)
}
configuration { "android-x86" }
targetdir (_buildDir .. _osd .. "/android-x86" .. "/bin")
objdir (_buildDir .. _osd .. "/android-x86" .. "/obj")
targetdir (_buildDir .. "android-x86" .. "/bin")
objdir (_buildDir .. "android-x86" .. "/obj")
libdirs {
"$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86",
}
@ -553,8 +553,8 @@ function toolchain(_osd, _buildDir, _subDir)
configuration { "asmjs" }
targetdir (_buildDir .. _osd .. "/asmjs" .. "/bin")
objdir (_buildDir .. _osd .. "/asmjs" .. "/obj")
targetdir (_buildDir .. "asmjs" .. "/bin")
objdir (_buildDir .. "asmjs" .. "/obj")
buildoptions {
"-isystem$(EMSCRIPTEN)/system/include",
"-isystem$(EMSCRIPTEN)/system/include/compat",
@ -571,8 +571,8 @@ function toolchain(_osd, _buildDir, _subDir)
}
configuration { "freebsd" }
targetdir (_buildDir .. _osd .. "/freebsd" .. "/bin")
objdir (_buildDir .. _osd .. "/freebsd" .. "/obj")
targetdir (_buildDir .. "freebsd" .. "/bin")
objdir (_buildDir .. "freebsd" .. "/obj")
configuration { "nacl or nacl-arm or pnacl" }
buildoptions {
@ -600,8 +600,8 @@ function toolchain(_osd, _buildDir, _subDir)
}
configuration { "x32", "nacl" }
targetdir (_buildDir .. _osd .. "/nacl-x86" .. "/bin")
objdir (_buildDir .. _osd .. "/nacl-x86" .. "/obj")
targetdir (_buildDir .. "nacl-x86" .. "/bin")
objdir (_buildDir .. "nacl-x86" .. "/obj")
configuration { "x32", "nacl", "Debug" }
libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Debug" }
@ -610,8 +610,8 @@ function toolchain(_osd, _buildDir, _subDir)
libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Release" }
configuration { "x64", "nacl" }
targetdir (_buildDir .. _osd .. "/nacl-x64" .. "/bin")
objdir (_buildDir .. _osd .. "/nacl-x64" .. "/obj")
targetdir (_buildDir .. "nacl-x64" .. "/bin")
objdir (_buildDir .. "nacl-x64" .. "/obj")
configuration { "x64", "nacl", "Debug" }
libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Debug" }
@ -620,8 +620,8 @@ function toolchain(_osd, _buildDir, _subDir)
libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Release" }
configuration { "nacl-arm" }
targetdir (_buildDir .. _osd .. "/nacl-arm" .. "/bin")
objdir (_buildDir .. _osd .. "/nacl-arm" .. "/obj")
targetdir (_buildDir .. "nacl-arm" .. "/bin")
objdir (_buildDir .. "nacl-arm" .. "/obj")
configuration { "nacl-arm", "Debug" }
libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Debug" }
@ -630,8 +630,8 @@ function toolchain(_osd, _buildDir, _subDir)
libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Release" }
configuration { "pnacl" }
targetdir (_buildDir .. _osd .. "/pnacl" .. "/bin")
objdir (_buildDir .. _osd .. "/pnacl" .. "/obj")
targetdir (_buildDir .. "pnacl" .. "/bin")
objdir (_buildDir .. "pnacl" .. "/obj")
configuration { "pnacl", "Debug" }
libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Debug" }
@ -640,34 +640,34 @@ function toolchain(_osd, _buildDir, _subDir)
libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Release" }
configuration { "osx*", "x32" }
targetdir (_buildDir .. _osd .. "/osx32_clang" .. "/bin")
objdir (_buildDir .. _osd .. "/osx32_clang" .. "/obj")
targetdir (_buildDir .. "osx32_clang" .. "/bin")
objdir (_buildDir .. "osx32_clang" .. "/obj")
buildoptions {
"-m32",
}
configuration { "osx*", "x64" }
targetdir (_buildDir .. _osd .. "/osx64_clang" .. "/bin")
objdir (_buildDir .. _osd .. "/osx64_clang" .. "/obj")
targetdir (_buildDir .. "osx64_clang" .. "/bin")
objdir (_buildDir .. "osx64_clang" .. "/obj")
buildoptions {
"-m64",
}
configuration { "ios-arm" }
targetdir (_buildDir .. _osd .. "/ios-arm" .. "/bin")
objdir (_buildDir .. _osd .. "/ios-arm" .. "/obj")
targetdir (_buildDir .. "ios-arm" .. "/bin")
objdir (_buildDir .. "ios-arm" .. "/obj")
configuration { "ios-simulator" }
targetdir (_buildDir .. _osd .. "/ios-simulator" .. "/bin")
objdir (_buildDir .. _osd .. "/ios-simulator" .. "/obj")
targetdir (_buildDir .. "ios-simulator" .. "/bin")
objdir (_buildDir .. "ios-simulator" .. "/obj")
configuration { "qnx-arm" }
targetdir (_buildDir .. _osd .. "/qnx-arm" .. "/bin")
objdir (_buildDir .. _osd .. "/qnx-arm" .. "/obj")
targetdir (_buildDir .. "qnx-arm" .. "/bin")
objdir (_buildDir .. "qnx-arm" .. "/obj")
configuration { "rpi" }
targetdir (_buildDir .. _osd .. "/rpi" .. "/bin")
objdir (_buildDir .. _osd .. "/rpi" .. "/obj")
targetdir (_buildDir .. "rpi" .. "/bin")
objdir (_buildDir .. "rpi" .. "/obj")
configuration {} -- reset configuration