OSDN Git Service

[feature] Linux/UNIX環境でのビルドにプリコンパイルヘッダを導入
authorHabu <habu1010+github@gmail.com>
Mon, 22 Mar 2021 09:01:54 +0000 (18:01 +0900)
committerHabu <habu1010+github@gmail.com>
Mon, 22 Mar 2021 09:34:17 +0000 (18:34 +0900)
VSでのビルドに導入したプリコンパイルヘッダをLinux/UNIX環境に
おけるgcc/clangでのビルドにおいても採用する。

.gitignore
src/Makefile.am
src/stdafx.cpp [new file with mode: 0644]
src/stdafx.h [new file with mode: 0644]

index a7e70a9..b16edd7 100644 (file)
@@ -6,6 +6,7 @@ src/stamp-h1
 # generated by gcc
 src/**/*.o
 src/hengband
+src/stdafx.h.gch
 
 # Ignore generated documents by Doxygen
 doxygen/html/
@@ -433,8 +434,8 @@ m4/ltsugar.m4
 m4/ltversion.m4
 m4/lt~obsolete.m4
 
-# Generated Makefile 
-# (meta build system like autotools, 
+# Generated Makefile
+# (meta build system like autotools,
 # can automatically generate from config.status script
 # (which is called by configure script))
 Makefile
index 9759769..471b5ff 100644 (file)
@@ -930,19 +930,25 @@ EXTRA_hengband_SOURCES = \
        main-win/main-win-sound.cpp main-win/main-win-sound.h \
        main-win/main-win-tokenizer.cpp main-win/main-win-tokenizer.h \
        main-win/main-win-windows.h \
-       makefile.bcc makefile.std term/readdib.cpp term/readdib.h wall.bmp
+       makefile.bcc makefile.std term/readdib.cpp term/readdib.h wall.bmp \
+       stdafx.cpp stdafx.h
 
 EXTRA_DIST = \
        gcc-wrap
 
 DEFAULT_INCLUDES = -I$(srcdir) -I$(top_builddir)/src
-CPPFLAGS += $(XFT_CFLAGS) $(libcurl_CFLAGS)
+CPPFLAGS += $(XFT_CFLAGS) $(libcurl_CFLAGS) -include stdafx.h
 LIBS += $(XFT_LIBS) $(libcurl_LIBS)
 COMPILE = $(srcdir)/gcc-wrap $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CXXCOMPILE = $(srcdir)/gcc-wrap $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CXXFLAGS)
 
+stdafx.h.gch: stdafx.h stdafx.cpp Makefile
+       $(CXX) -x c++-header $(CXXFLAGS) stdafx.cpp -o $@
+
+$(hengband_SOURCES:.cpp=.$(OBJEXT)): stdafx.h.gch
+
 install-exec-hook:
 if SET_GID
        chgrp "@GAMEGROUP@" "$(DESTDIR)$(bindir)/hengband"
diff --git a/src/stdafx.cpp b/src/stdafx.cpp
new file mode 100644 (file)
index 0000000..d1303f3
--- /dev/null
@@ -0,0 +1 @@
+#include "stdafx.h"
diff --git a/src/stdafx.h b/src/stdafx.h
new file mode 100644 (file)
index 0000000..ff2f37b
--- /dev/null
@@ -0,0 +1,15 @@
+#pragma once
+#include <algorithm>
+#include <array>
+#include <bitset>
+#include <iterator>
+#include <functional>
+#include <map>
+#include <queue>
+#include <sstream>
+#include <stack>
+#include <string>
+#include <string_view>
+#include <unordered_map>
+#include <utility>
+#include <vector>