summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author S.Z <yz70s@users.noreply.github.com>2019-08-13 19:20:53 +0200
committer R. Belmont <rb6502@users.noreply.github.com>2019-08-13 13:20:53 -0400
commita3588c18bf225e4e2174b0e71ee3f6564f3735cb (patch)
tree7ca52d1e77576ec3304f7ce786de3ce760c2e383
parent5384701b766ee4b89ebcc8ad04c7dbe8be0ef856 (diff)
Enable precompiled header usage in the Visual Studio compiler (#5473)
* Enable precompiled header usage in the Visual Studio compiler But only for libraries emu frontend precompile dasm optional Also add emu.h include to hpcdasm.cpp * Include emu.h in some disassembler sources to use precompiled headers * Remove debug message
-rw-r--r--scripts/genie.lua11
-rw-r--r--scripts/src/devices.lua10
-rw-r--r--scripts/src/emu.lua9
-rw-r--r--scripts/src/mame/frontend.lua2
-rw-r--r--scripts/target/mame/arcade.lua2
-rw-r--r--scripts/target/mame/dummy.lua2
-rw-r--r--scripts/target/mame/mess.lua2
-rw-r--r--scripts/target/mame/nl.lua2
-rw-r--r--scripts/target/mame/tiny.lua2
-rw-r--r--scripts/target/mame/virtual.lua2
-rw-r--r--src/devices/cpu/bcp/bcpdasm.cpp1
-rw-r--r--src/devices/cpu/cr16b/cr16bdasm.cpp1
-rw-r--r--src/devices/cpu/f2mc16/f2mc16dasm.cpp1
-rw-r--r--src/devices/cpu/hpc/hpcdasm.cpp1
-rw-r--r--src/devices/cpu/rii/riidasm.cpp2
15 files changed, 43 insertions, 7 deletions
diff --git a/scripts/genie.lua b/scripts/genie.lua
index 346ff439db8..b1d76df09bf 100644
--- a/scripts/genie.lua
+++ b/scripts/genie.lua
@@ -77,6 +77,16 @@ function precompiledheaders()
end
end
+function precompiledheaders_novs()
+ precompiledheaders()
+ if string.sub(_ACTION,1,4) == "vs20" then
+ --print("Disabling pch for Visual Studio")
+ flags {
+ "NoPCH"
+ }
+ end
+end
+
function addprojectflags()
local version = str_to_version(_OPTIONS["gcc_version"])
if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "gcc") then
@@ -486,7 +496,6 @@ configuration { "vs20*" }
"/bigobj",
}
flags {
- "NoPCH",
"ExtraWarnings",
}
if not _OPTIONS["NOWERROR"] then
diff --git a/scripts/src/devices.lua b/scripts/src/devices.lua
index 79bcdec11d4..4940ccdaafd 100644
--- a/scripts/src/devices.lua
+++ b/scripts/src/devices.lua
@@ -54,6 +54,8 @@ function devicesProject(_target, _subtarget)
dofile(path.join("src", "bus.lua"))
+ pchsource(MAME_DIR .. "src/devices/machine/timer.cpp")
+
if #disasm_files > 0 then
project ("dasm")
uuid ("f2d28b0a-6da5-4f78-b629-d834aa00429d")
@@ -78,6 +80,14 @@ if #disasm_files > 0 then
disasm_files
}
+ for key,value in pairs(disasm_files) do
+ if string.endswith(value, ".cpp") then
+ --print("calling pchsource with " .. value)
+ pchsource(value)
+ break
+ end
+ end
+
if #disasm_dependency > 0 then
dependency(disasm_dependency)
end
diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua
index 4e763996a2c..6ab5f100cba 100644
--- a/scripts/src/emu.lua
+++ b/scripts/src/emu.lua
@@ -259,6 +259,12 @@ files {
MAME_DIR .. "src/emu/video/rgbvmx.h",
}
+pchsource(MAME_DIR .. "src/emu/main.cpp")
+-- 3 files do not inlcude emu.h
+nopch(MAME_DIR .. "src/emu/emualloc.cpp")
+nopch(MAME_DIR .. "src/emu/attotime.cpp")
+nopch(MAME_DIR .. "src/emu/debug/textbuf.cpp")
+
dependency {
--------------------------------------------------
-- additional dependencies
@@ -306,6 +312,9 @@ includedirs {
files {
MAME_DIR .. "src/emu/drivers/empty.cpp",
}
+
+pchsource(MAME_DIR .. "src/emu/drivers/empty.cpp")
+
dependency {
{ "$(OBJDIR)/src/emu/drivers/empty.o", "$(GCH)", true },
}
diff --git a/scripts/src/mame/frontend.lua b/scripts/src/mame/frontend.lua
index c8f21daa4a6..b785785416e 100644
--- a/scripts/src/mame/frontend.lua
+++ b/scripts/src/mame/frontend.lua
@@ -166,3 +166,5 @@ files {
MAME_DIR .. "src/frontend/mame/ui/widgets.cpp",
MAME_DIR .. "src/frontend/mame/ui/widgets.h",
}
+
+pchsource(MAME_DIR .. "src/frontend/mame/audit.cpp")
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 0d2551fb88e..7302f27528e 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -913,7 +913,7 @@ function createMAMEProjects(_target, _subtarget, _name)
kind (LIBTYPE)
uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name))
addprojectflags()
- precompiledheaders()
+ precompiledheaders_novs()
includedirs {
MAME_DIR .. "src/osd",
diff --git a/scripts/target/mame/dummy.lua b/scripts/target/mame/dummy.lua
index ec5d366abc6..d19a054cfc8 100644
--- a/scripts/target/mame/dummy.lua
+++ b/scripts/target/mame/dummy.lua
@@ -18,7 +18,7 @@ function createProjects_mame_dummy(_target, _subtarget)
kind (LIBTYPE)
uuid (os.uuid("drv-mame_dummy"))
addprojectflags()
- precompiledheaders()
+ precompiledheaders_novs()
includedirs {
MAME_DIR .. "src/osd",
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 2afb4a2df59..5866afa0eaa 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -1288,7 +1288,7 @@ function createMESSProjects(_target, _subtarget, _name)
kind (LIBTYPE)
uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name))
addprojectflags()
- precompiledheaders()
+ precompiledheaders_novs()
includedirs {
MAME_DIR .. "src/osd",
diff --git a/scripts/target/mame/nl.lua b/scripts/target/mame/nl.lua
index cd36d568184..d16244d7ea4 100644
--- a/scripts/target/mame/nl.lua
+++ b/scripts/target/mame/nl.lua
@@ -108,7 +108,7 @@ function createProjects_mame_nl(_target, _subtarget)
kind (LIBTYPE)
uuid (os.uuid("drv-mame-nl"))
addprojectflags()
- precompiledheaders()
+ precompiledheaders_novs()
includedirs {
MAME_DIR .. "src/osd",
diff --git a/scripts/target/mame/tiny.lua b/scripts/target/mame/tiny.lua
index 2f62d3560bc..c3f8c48b505 100644
--- a/scripts/target/mame/tiny.lua
+++ b/scripts/target/mame/tiny.lua
@@ -93,7 +93,7 @@ function createProjects_mame_tiny(_target, _subtarget)
kind (LIBTYPE)
uuid (os.uuid("drv-mame-tiny"))
addprojectflags()
- precompiledheaders()
+ precompiledheaders_novs()
includedirs {
MAME_DIR .. "src/osd",
diff --git a/scripts/target/mame/virtual.lua b/scripts/target/mame/virtual.lua
index 3cd2a980a60..bac83176d3f 100644
--- a/scripts/target/mame/virtual.lua
+++ b/scripts/target/mame/virtual.lua
@@ -101,7 +101,7 @@ function createVirtualProjects(_target, _subtarget, _name)
kind (LIBTYPE)
uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name))
addprojectflags()
- precompiledheaders()
+ precompiledheaders_novs()
includedirs {
MAME_DIR .. "src/osd",
diff --git a/src/devices/cpu/bcp/bcpdasm.cpp b/src/devices/cpu/bcp/bcpdasm.cpp
index d8d11b107cf..84b77327f37 100644
--- a/src/devices/cpu/bcp/bcpdasm.cpp
+++ b/src/devices/cpu/bcp/bcpdasm.cpp
@@ -6,6 +6,7 @@
***************************************************************************/
+#include "emu.h"
#include "util/disasmintf.h"
#include "bcpdasm.h"
diff --git a/src/devices/cpu/cr16b/cr16bdasm.cpp b/src/devices/cpu/cr16b/cr16bdasm.cpp
index d9a20830513..528c817f845 100644
--- a/src/devices/cpu/cr16b/cr16bdasm.cpp
+++ b/src/devices/cpu/cr16b/cr16bdasm.cpp
@@ -19,6 +19,7 @@
***************************************************************************/
+#include "emu.h"
#include "util/disasmintf.h"
#include "cr16bdasm.h"
diff --git a/src/devices/cpu/f2mc16/f2mc16dasm.cpp b/src/devices/cpu/f2mc16/f2mc16dasm.cpp
index 95b287b625e..ede0b35ac65 100644
--- a/src/devices/cpu/f2mc16/f2mc16dasm.cpp
+++ b/src/devices/cpu/f2mc16/f2mc16dasm.cpp
@@ -6,6 +6,7 @@
***************************************************************************/
+#include "emu.h"
#include "util/disasmintf.h"
#include "f2mc16dasm.h"
diff --git a/src/devices/cpu/hpc/hpcdasm.cpp b/src/devices/cpu/hpc/hpcdasm.cpp
index 86c575a826e..bbfa77b8eca 100644
--- a/src/devices/cpu/hpc/hpcdasm.cpp
+++ b/src/devices/cpu/hpc/hpcdasm.cpp
@@ -10,6 +10,7 @@
***************************************************************************/
+#include "emu.h"
#include "util/disasmintf.h"
#include "hpcdasm.h"
diff --git a/src/devices/cpu/rii/riidasm.cpp b/src/devices/cpu/rii/riidasm.cpp
index 72023ce5f9a..6cc0d85a384 100644
--- a/src/devices/cpu/rii/riidasm.cpp
+++ b/src/devices/cpu/rii/riidasm.cpp
@@ -4,8 +4,10 @@
ELAN Microelectronics RISC II (RII) Series disassembler
+
***************************************************************************/
+#include "emu.h"
#include "util/disasmintf.h"
#include "riidasm.h"