diff --git a/Makefile.target b/Makefile.target
index bc63d192e9d0f78b095a34b91b162be4ea1d80da..947d7d234687d34520f2d1f8216bf7b39bc16907 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -152,8 +152,8 @@ OBJCXXFLAGS := $(CXXFLAGS)
 ####################
 # PRECOMPILED HEADER
 ####################
-ifeq (yes, $(PRECOMPILED_HEADER))
-  ifdef PRECOMPILED_HEADER_NAME
+ifdef PRECOMPILED_HEADER_NAME
+  ifeq (yes, $(PRECOMPILED_HEADER))
     CXXFLAGS += -include $(PRECOMPILED_HEADER_NAME) $(PCHFLAGS)
     # This hack is required until we can use the 'private' keyword (gmake 3.82) to avoid all the
     # per-object CXXFLAGS being triggered by the ($OBJ) line.
@@ -161,6 +161,8 @@ ifeq (yes, $(PRECOMPILED_HEADER))
     $(OBJ): | $(PRECOMPILED_HEADER_NAME).gch
     $(PRECOMPILED_HEADER_NAME).gch: CXXFLAGS = $(CXXFLAGS_GNU_MAKE_SUCKS)
     $(PRECOMPILED_HEADER_NAME).gch: $(PRECOMPILED_HEADER_NAME)
+  else
+    CXXFLAGS += -include acconf.h
   endif
 endif
 
diff --git a/automation/tests/aegisub.cpp b/automation/tests/aegisub.cpp
index 0a02b749d0931794b9e5ef049fd29a097e13e98a..48467e95de7748397e892cf8bdca5e036babb2bc 100644
--- a/automation/tests/aegisub.cpp
+++ b/automation/tests/aegisub.cpp
@@ -14,7 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
 
 #include "auto4_lua_utils.h"
 
diff --git a/libaegisub/ass/dialogue_parser.cpp b/libaegisub/ass/dialogue_parser.cpp
index 921518c886eab0584a90ef948c3048b3324b4494..f4bd4d300cf6ce3d79b41d697ae8a58240409a5d 100644
--- a/libaegisub/ass/dialogue_parser.cpp
+++ b/libaegisub/ass/dialogue_parser.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "libaegisub/ass/dialogue_parser.h"
 
 #include "libaegisub/spellchecker.h"
diff --git a/libaegisub/common/cajun/elements.cpp b/libaegisub/common/cajun/elements.cpp
index 20c38aebdf6728d8957f896323a123dcbd0aeeae..51c901c203c841a0f234aaa0ced50d4530c56d1c 100644
--- a/libaegisub/common/cajun/elements.cpp
+++ b/libaegisub/common/cajun/elements.cpp
@@ -5,8 +5,6 @@ Project Webpage: http://cajun-jsonapi.sourceforge.net/
 Author: Terry Caton
 ***********************************************/
 
-#include "../../config.h"
-
 #include "libaegisub/cajun/elements.h"
 
 #include "libaegisub/cajun/visitor.h"
@@ -62,7 +60,6 @@ public:
    virtual void Accept(Visitor& visitor) = 0;
 };
 
-
 template <typename ElementTypeT>
 class UnknownElement::Imp_T final : public UnknownElement::Imp
 {
@@ -155,7 +152,6 @@ ElementTypeT& UnknownElement::CastTo()
 void UnknownElement::Accept(ConstVisitor& visitor) const { m_pImp->Accept(visitor); }
 void UnknownElement::Accept(Visitor& visitor)            { m_pImp->Accept(visitor); }
 
-
 bool UnknownElement::operator == (const UnknownElement& element) const
 {
    return m_pImp->Compare(*element.m_pImp);
diff --git a/libaegisub/common/cajun/reader.cpp b/libaegisub/common/cajun/reader.cpp
index 26166bec6a3bc9ede476ae94e9906c77c9881e58..0f2102c83656b6f1715c0ec301c1f9c6b8ceb36b 100644
--- a/libaegisub/common/cajun/reader.cpp
+++ b/libaegisub/common/cajun/reader.cpp
@@ -192,7 +192,6 @@ void Reader::Scan(Tokens& tokens, InputStream& inputStream) {
 	}
 }
 
-
 void Reader::EatWhiteSpace(InputStream& inputStream) {
 	while (!inputStream.EOS() && ::isspace(inputStream.Peek()))
 		inputStream.Get();
diff --git a/libaegisub/common/calltip_provider.cpp b/libaegisub/common/calltip_provider.cpp
index 545c2e6cb5eca8e9281b35129901c2b1cd9f3ddd..63cf2b54f5555d3cb2cf1d417248db2b69e7408a 100644
--- a/libaegisub/common/calltip_provider.cpp
+++ b/libaegisub/common/calltip_provider.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "libaegisub/calltip_provider.h"
 
 #include "libaegisub/ass/dialogue_parser.h"
diff --git a/libaegisub/common/charset_6937.cpp b/libaegisub/common/charset_6937.cpp
index e45ed4fdbfb4f1139d7086a4031e16d738074261..f796993a605e5af02ede9f33baea8230987c0406 100644
--- a/libaegisub/common/charset_6937.cpp
+++ b/libaegisub/common/charset_6937.cpp
@@ -16,8 +16,6 @@
 /// @brief A charset converter for ISO-6937-2
 /// @ingroup libaegisub
 
-#include "../config.h"
-
 #include "charset_6937.h"
 
 #include <algorithm>
diff --git a/libaegisub/common/charset_conv.cpp b/libaegisub/common/charset_conv.cpp
index 6902ac34d6ae9a25dfd884430d98870095c9186e..b147456f17fe2a88af32bd0fd974c01368188471 100644
--- a/libaegisub/common/charset_conv.cpp
+++ b/libaegisub/common/charset_conv.cpp
@@ -22,8 +22,6 @@
 #include <cassert>
 #include <map>
 
-#include "../config.h"
-
 #include <libaegisub/charset_conv.h>
 #include <iconv.h>
 
@@ -312,7 +310,7 @@ void IconvWrapper::Convert(const char *src, size_t srcLen, std::string &dest) {
 
 		dest.append(buff, sizeof(buff) - dstLen);
 	} while (res == iconv_failed && errno == E2BIG);
-	
+
 	if (res == iconv_failed) {
 		switch (errno) {
 			case EINVAL:
diff --git a/libaegisub/common/color.cpp b/libaegisub/common/color.cpp
index 027632effcd92c131146cab6f4435bc49e3043ac..58e9afdf30ec8e804d854a05722b4509ce408f61 100644
--- a/libaegisub/common/color.cpp
+++ b/libaegisub/common/color.cpp
@@ -12,8 +12,6 @@
 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-#include "../config.h"
-
 #include "libaegisub/color.h"
 
 #include "parser.h"
diff --git a/libaegisub/common/dispatch.cpp b/libaegisub/common/dispatch.cpp
index 66dc58af64e7a8a74b1538a998447f6447bf104b..509dc93ea2ebd5d7156446ae2914eab7a8bb1893 100644
--- a/libaegisub/common/dispatch.cpp
+++ b/libaegisub/common/dispatch.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "libaegisub/dispatch.h"
 
 #include "libaegisub/util.h"
diff --git a/libaegisub/common/file_mapping.cpp b/libaegisub/common/file_mapping.cpp
index 3e592d9e616ed5a141397923e3a5a5f5c4c0676c..bf96e3223e8aea2adeae62c0009b94c04bbd6258 100644
--- a/libaegisub/common/file_mapping.cpp
+++ b/libaegisub/common/file_mapping.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "libaegisub/file_mapping.h"
 
 #include "libaegisub/fs.h"
diff --git a/libaegisub/common/fs.cpp b/libaegisub/common/fs.cpp
index 59904677854344d75e1aa6efcadf43406cf1048a..6d7d71452cfff0aa866fd99da633af5560944762 100644
--- a/libaegisub/common/fs.cpp
+++ b/libaegisub/common/fs.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "libaegisub/fs.h"
 
 #include "libaegisub/access.h"
diff --git a/libaegisub/common/hotkey.cpp b/libaegisub/common/hotkey.cpp
index e8a12438074f3717b908e72046d5c61245db875a..4a527e7c8d3016372de96f38987bcc7a66cbe750 100644
--- a/libaegisub/common/hotkey.cpp
+++ b/libaegisub/common/hotkey.cpp
@@ -16,8 +16,6 @@
 /// @brief Hotkey handler
 /// @ingroup hotkey menu event window
 
-#include "../config.h"
-
 #include "libaegisub/hotkey.h"
 
 #include "libaegisub/cajun/writer.h"
diff --git a/libaegisub/common/json.cpp b/libaegisub/common/json.cpp
index 256f4a0bd3a2a15842bc29833222546386159f03..a1be75fbdd433f1e11e0744e0ba7cf689c5d77cd 100644
--- a/libaegisub/common/json.cpp
+++ b/libaegisub/common/json.cpp
@@ -16,8 +16,6 @@
 /// @brief Parse JSON files and return json::UnknownElement
 /// @ingroup libaegisub io
 
-#include "../config.h"
-
 #include "libaegisub/json.h"
 
 #include "libaegisub/fs.h"
diff --git a/libaegisub/common/kana_table.cpp b/libaegisub/common/kana_table.cpp
index e265d285da6df957f035a579ddc7a2d83db73933..0c7c352287a412a06f7162c966c2dd5409166b43 100644
--- a/libaegisub/common/kana_table.cpp
+++ b/libaegisub/common/kana_table.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "libaegisub/kana_table.h"
 
 #include <boost/range/algorithm.hpp>
diff --git a/libaegisub/common/karaoke_matcher.cpp b/libaegisub/common/karaoke_matcher.cpp
index 68f2f35240d4d6cc91543cecfb80d7e35c967166..562b0273fe972cc6a5d6f841741b1e29bbd19321 100644
--- a/libaegisub/common/karaoke_matcher.cpp
+++ b/libaegisub/common/karaoke_matcher.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "libaegisub/karaoke_matcher.h"
 
 #include "libaegisub/kana_table.h"
diff --git a/libaegisub/common/keyframe.cpp b/libaegisub/common/keyframe.cpp
index b4efe06bfc90058f21f9158c9b717c737c4c18ae..98b7ee15fa2fc4fb5921627a5582d0aebf7b0ff4 100644
--- a/libaegisub/common/keyframe.cpp
+++ b/libaegisub/common/keyframe.cpp
@@ -17,8 +17,6 @@
 /// @ingroup libaegisub
 ///
 
-#include "../config.h"
-
 #include "libaegisub/keyframe.h"
 
 #include <algorithm>
diff --git a/libaegisub/common/log.cpp b/libaegisub/common/log.cpp
index f78b32fd33276d580158b402dedbf8e145e1161f..7c59b288a50dfe2999377f3cf3aa735f59d4488d 100644
--- a/libaegisub/common/log.cpp
+++ b/libaegisub/common/log.cpp
@@ -16,8 +16,6 @@
 /// @brief Logging
 /// @ingroup libaegisub
 
-#include "../config.h"
-
 #include "libaegisub/log.h"
 
 #include "libaegisub/cajun/elements.h"
diff --git a/libaegisub/common/mru.cpp b/libaegisub/common/mru.cpp
index 03bf165f6b563d06e491350914ab429bdfcc1ffc..733576e2f897e9f18a94841e9847560a05450f09 100644
--- a/libaegisub/common/mru.cpp
+++ b/libaegisub/common/mru.cpp
@@ -16,8 +16,6 @@
 /// @brief Most Recently Used (MRU) Lists
 /// @ingroup libaegisub
 
-#include "../config.h"
-
 #include "libaegisub/mru.h"
 
 #include "libaegisub/cajun/writer.h"
diff --git a/libaegisub/common/option.cpp b/libaegisub/common/option.cpp
index fb011184cc7f0de7a25a6043754ea028baebb253..59bad38c0e99ab9221550f6b85ce526fa32310ca 100644
--- a/libaegisub/common/option.cpp
+++ b/libaegisub/common/option.cpp
@@ -16,8 +16,6 @@
 /// @brief Option interface.
 /// @ingroup libaegisub
 
-#include "../config.h"
-
 #include "libaegisub/option.h"
 
 #include "libaegisub/cajun/reader.h"
diff --git a/libaegisub/common/option_visit.cpp b/libaegisub/common/option_visit.cpp
index f2b57ca7bb04e2d64fdd3b7aa164f8d5f2688067..ef2756e0f61d86f3e9e28d49093c45731cd421da 100644
--- a/libaegisub/common/option_visit.cpp
+++ b/libaegisub/common/option_visit.cpp
@@ -17,8 +17,6 @@
 /// @see option_visit.h
 /// @ingroup libaegisub
 
-#include "../config.h"
-
 #include "option_visit.h"
 
 #include <cassert>
diff --git a/libaegisub/common/parser.cpp b/libaegisub/common/parser.cpp
index f1d3305295215838492a8d58b5aa958e0971f458..b793c5e7efb6f09012cc1bd4ed3dc03076bb4415 100644
--- a/libaegisub/common/parser.cpp
+++ b/libaegisub/common/parser.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "parser.h"
 
 #include "libaegisub/color.h"
diff --git a/libaegisub/common/path.cpp b/libaegisub/common/path.cpp
index d251c2f2a40a74d5aa79039726f1b6096584540a..a710e5b606e619d2b2f1ef23c3a147569178369b 100644
--- a/libaegisub/common/path.cpp
+++ b/libaegisub/common/path.cpp
@@ -18,8 +18,6 @@
 /// @brief Platform-independent path code
 /// @ingroup libaegisub
 
-#include "../config.h"
-
 #include "libaegisub/path.h"
 
 #include "libaegisub/fs.h"
diff --git a/libaegisub/common/util.cpp b/libaegisub/common/util.cpp
index 765e759c0a103f3c68e97fd8ed02261b95359100..6485d6828b954fc0f3366f821e9e217941ba0958 100644
--- a/libaegisub/common/util.cpp
+++ b/libaegisub/common/util.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "libaegisub/util.h"
 #include "libaegisub/util_osx.h"
 
diff --git a/libaegisub/common/vfr.cpp b/libaegisub/common/vfr.cpp
index 3550958419bba25bfa66793a4b6474961d4b0f43..ad7d4ca09beaf3426e49c31ff5272dd74525908e 100644
--- a/libaegisub/common/vfr.cpp
+++ b/libaegisub/common/vfr.cpp
@@ -16,8 +16,6 @@
 /// @brief Framerate handling of all sorts
 /// @ingroup libaegisub video_input
 
-#include "../config.h"
-
 #include "libaegisub/vfr.h"
 
 #include "libaegisub/charset.h"
diff --git a/libaegisub/config.h b/libaegisub/config.h
deleted file mode 100644
index 349f61158fb6f93a750b9565b43d5ea3cd1c3052..0000000000000000000000000000000000000000
--- a/libaegisub/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#ifdef _WIN32 // Windows specific settings
-#define HAVE_PTHREAD 1
-#else
-
-// Generated by configure.in
-#include "../acconf.h"
-
-#endif // _WIN32
diff --git a/libaegisub/lagi_pre.h b/libaegisub/lagi_pre.h
index 158c1453544ee44ef01c6ea10c0b29da2ab12cfb..59e94d6eabfd8a5a02088070fe8d0d05a7a45db5 100644
--- a/libaegisub/lagi_pre.h
+++ b/libaegisub/lagi_pre.h
@@ -1,4 +1,6 @@
-#include "config.h"
+#ifndef _WIN32
+#include "../acconf.h"
+#endif
 
 #define WIN32_LEAN_AND_MEAN
 
diff --git a/libaegisub/osx/util.mm b/libaegisub/osx/util.mm
index 0e1206f4cba8bffc0946d3a21ec251a353838030..bff37296f534879e98062e19b68b07f859ec2df6 100644
--- a/libaegisub/osx/util.mm
+++ b/libaegisub/osx/util.mm
@@ -16,8 +16,6 @@
 /// @brief OSX Utilities
 /// @ingroup libosxutil osx
 
-#include "config.h"
-
 #include "libaegisub/util_osx.h"
 
 #import <ApplicationServices/ApplicationServices.h>
diff --git a/libaegisub/unix/access.cpp b/libaegisub/unix/access.cpp
index 8562e2cc5ae0f1e4788f0a0afbfced0f5282a617..73da19d224b9fa159afaad4dfeee231e1790ded1 100644
--- a/libaegisub/unix/access.cpp
+++ b/libaegisub/unix/access.cpp
@@ -16,8 +16,6 @@
 /// @brief Unix access methods.
 /// @ingroup libaegisub unix
 
-#include "config.h"
-
 #include "libaegisub/access.h"
 
 #include "libaegisub/fs.h"
diff --git a/libaegisub/unix/fs.cpp b/libaegisub/unix/fs.cpp
index 6c6f9df530f92418a24452da0f6e51fa2f980e03..b5f6af13984799589a355284b559abc71ecafaca 100644
--- a/libaegisub/unix/fs.cpp
+++ b/libaegisub/unix/fs.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "libaegisub/access.h"
 #include "libaegisub/fs.h"
 #include "libaegisub/io.h"
diff --git a/libaegisub/unix/log.cpp b/libaegisub/unix/log.cpp
index 50d86821db927558644fcd9228baf975dffbcc23..7e0169af975f7c4753cd9502e37fcbf2fa4b502a 100644
--- a/libaegisub/unix/log.cpp
+++ b/libaegisub/unix/log.cpp
@@ -16,8 +16,6 @@
 /// @brief Unix logging
 /// @ingroup libaegisub
 
-#include "config.h"
-
 #include <cstdio>
 #include <ctime>
 #include <cstring>
diff --git a/libaegisub/unix/util.cpp b/libaegisub/unix/util.cpp
index c7d62701f4b9d3e756b49bf2c50cbf5af5549061..99265119cb8aae9f110613b473f06ed83d30a1f3 100644
--- a/libaegisub/unix/util.cpp
+++ b/libaegisub/unix/util.cpp
@@ -16,8 +16,6 @@
 /// @brief Unix utility methods.
 /// @ingroup libaegisub unix
 
-#include "config.h"
-
 #include "libaegisub/util.h"
 
 #include <boost/thread.hpp>
diff --git a/libaegisub/windows/access.cpp b/libaegisub/windows/access.cpp
index 9d42b64e7b6aebcd36e8d0610550ce5a2f8b37ce..01d0df643a5c4d9063464c89ef9e8f091ca0cf67 100644
--- a/libaegisub/windows/access.cpp
+++ b/libaegisub/windows/access.cpp
@@ -16,7 +16,6 @@
 /// @brief Windows access methods.
 /// @ingroup libaegisub windows
 
-
 #include <libaegisub/access.h>
 
 #include <libaegisub/fs.h>
diff --git a/libaegisub/windows/fs.cpp b/libaegisub/windows/fs.cpp
index a22d7556f56a65bb595f128e5b66098e7d86d222..fcfd22f695434334c7efb6f2d30a02225aa2ad49 100644
--- a/libaegisub/windows/fs.cpp
+++ b/libaegisub/windows/fs.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "libaegisub/fs.h"
 
 #include "libaegisub/access.h"
diff --git a/libaegisub/windows/util_win.cpp b/libaegisub/windows/util_win.cpp
index 3a6fa1e34a92156e93f0edace83a407025426117..65be3c6e63315fb9fe891641aaad19e8215e0268 100644
--- a/libaegisub/windows/util_win.cpp
+++ b/libaegisub/windows/util_win.cpp
@@ -16,8 +16,6 @@
 /// @brief Windows utility methods.
 /// @ingroup libaegisub windows
 
-#include "../config.h"
-
 #include "libaegisub/util.h"
 
 #include "libaegisub/charset_conv_win.h"
diff --git a/src/aegisublocale.cpp b/src/aegisublocale.cpp
index 8ef2e9ff03f8093bb02dd521c1dbe808d2b9916d..91ebc9bc33aec26ce8df5f874927442e2971f1b9 100644
--- a/src/aegisublocale.cpp
+++ b/src/aegisublocale.cpp
@@ -32,8 +32,6 @@
 /// @ingroup utility
 ///
 
-#include "config.h"
-
 #include "aegisublocale.h"
 
 #include "options.h"
diff --git a/src/agi_pre.cpp b/src/agi_pre.cpp
index 0d3b6c295c7c87b63cc2199b4a91bacc6df50d49..c5bf1a35b8a41af19a95dadab556a461ef032539 100644
--- a/src/agi_pre.cpp
+++ b/src/agi_pre.cpp
@@ -32,7 +32,6 @@
 /// @ingroup main
 ///
 
-
 //
 // Precompiled Header Source File for MSVC
 //
diff --git a/src/agi_pre.h b/src/agi_pre.h
index d020283e12ab9288ea9bbe80089ebea2106292b7..c18513f0161fa9a9939b2a496fa6618b49577eae 100644
--- a/src/agi_pre.h
+++ b/src/agi_pre.h
@@ -49,8 +49,6 @@
 // Ensure we get a consistent SDK with VS2012 + Win8 SDK
 #define _USING_V110_SDK71_ 1
 
-#include "config.h"
-
 #include "../libaegisub/lagi_pre.h"
 
 // General headers
diff --git a/src/ass_attachment.cpp b/src/ass_attachment.cpp
index 044df14efc71b870ff914b5d64e0c548683f3023..ae967c85c22d7bc2d3ba12ea6f7d0e8beb43cea5 100644
--- a/src/ass_attachment.cpp
+++ b/src/ass_attachment.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "ass_attachment.h"
 
 #include <libaegisub/ass/uuencode.h>
diff --git a/src/ass_dialogue.cpp b/src/ass_dialogue.cpp
index 7902a9c709d0251ad94438afa7b4957e7d71a9ea..38577ca75b16d61f53db9f9d3f563d238567b05b 100644
--- a/src/ass_dialogue.cpp
+++ b/src/ass_dialogue.cpp
@@ -31,8 +31,6 @@
 /// @brief Class for dialogue lines in subtitles
 /// @ingroup subs_storage
 
-#include "config.h"
-
 #include "ass_dialogue.h"
 #include "subtitle_format.h"
 #include "utils.h"
diff --git a/src/ass_entry.cpp b/src/ass_entry.cpp
index f6d06dbe4422b764bfbac676dd7a24f3030975a5..30ec7f8dc2ce112a42d9e242686f3993d5fba445 100644
--- a/src/ass_entry.cpp
+++ b/src/ass_entry.cpp
@@ -19,8 +19,6 @@
 /// @ingroup subs_storage
 ///
 
-#include "config.h"
-
 #include "ass_entry.h"
 
 std::string const& AssEntry::GroupHeader(bool ssa) const {
diff --git a/src/ass_export_filter.cpp b/src/ass_export_filter.cpp
index 7bb31a1e87a70c92cb9a8a1f6d2ac2496afa4c2d..65ee0271548144c5d1f8038d6c79d718f568bc7c 100644
--- a/src/ass_export_filter.cpp
+++ b/src/ass_export_filter.cpp
@@ -32,8 +32,6 @@
 /// @ingroup export
 ///
 
-#include "config.h"
-
 #include "ass_export_filter.h"
 
 #include <boost/format.hpp>
diff --git a/src/ass_exporter.cpp b/src/ass_exporter.cpp
index ff8605ed2ee7ff9f27031a9af64bb803b4c07803..33739c6fbd416baaa19e49ee605fe9145c954e92 100644
--- a/src/ass_exporter.cpp
+++ b/src/ass_exporter.cpp
@@ -32,8 +32,6 @@
 /// @ingroup export
 ///
 
-#include "config.h"
-
 #include "ass_exporter.h"
 
 #include "ass_export_filter.h"
diff --git a/src/ass_file.cpp b/src/ass_file.cpp
index 122deb3ef7cff58eeebbeceef73d723ba7ab606e..8ceafe5d1ecf4fa0d0e5920ac178613e8aee5ba9 100644
--- a/src/ass_file.cpp
+++ b/src/ass_file.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "ass_file.h"
 
 #include "ass_attachment.h"
diff --git a/src/ass_karaoke.cpp b/src/ass_karaoke.cpp
index e9622068d625a19584ea412769d8387b24a430bd..7b256cc3fdd510103c6e8403d5e952ef992439cb 100644
--- a/src/ass_karaoke.cpp
+++ b/src/ass_karaoke.cpp
@@ -19,8 +19,6 @@
 /// @ingroup subs_storage
 ///
 
-#include "config.h"
-
 #include "ass_karaoke.h"
 
 #include "ass_dialogue.h"
@@ -49,7 +47,6 @@ std::string AssKaraoke::Syllable::GetText(bool k_tag) const {
 	return ret;
 }
 
-
 AssKaraoke::AssKaraoke(AssDialogue *line, bool auto_split, bool normalize) {
 	if (line) SetLine(line, auto_split, normalize);
 }
diff --git a/src/ass_override.cpp b/src/ass_override.cpp
index 123bc6eada81b0e297db29306a497441a9c30e70..1b7400006fe6cd04afc8828103763597a7903c3d 100644
--- a/src/ass_override.cpp
+++ b/src/ass_override.cpp
@@ -33,8 +33,6 @@
 /// @ingroup subs_storage
 ///
 
-#include "config.h"
-
 #include "ass_dialogue.h"
 
 #include "utils.h"
diff --git a/src/ass_parser.cpp b/src/ass_parser.cpp
index 262db94afd36d3434d26ec52ccc088d26fe54a94..1099cc7a70951748af577d6553bcd6eb32cc1db0 100644
--- a/src/ass_parser.cpp
+++ b/src/ass_parser.cpp
@@ -12,8 +12,6 @@
 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-#include "config.h"
-
 #include "ass_parser.h"
 
 #include "ass_attachment.h"
diff --git a/src/ass_style.cpp b/src/ass_style.cpp
index 0b9216a9d0b607e9cf9dcebb6ebb8f7846c81fc5..a7c6282e9f996e382004010eb12a3f526da6f948 100644
--- a/src/ass_style.cpp
+++ b/src/ass_style.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subs_storage
 ///
 
-#include "config.h"
-
 #include "ass_style.h"
 
 #include "subtitle_format.h"
diff --git a/src/ass_style_storage.cpp b/src/ass_style_storage.cpp
index 45a2dba8b18c531b5b5b9080f15bad4515fca1aa..98d2c3cb834de5793d2d215eab336b37c3d5a96d 100644
--- a/src/ass_style_storage.cpp
+++ b/src/ass_style_storage.cpp
@@ -32,8 +32,6 @@
 /// @ingroup style_editor
 ///
 
-#include "config.h"
-
 #include "ass_style_storage.h"
 
 #include "ass_style.h"
diff --git a/src/ass_time.cpp b/src/ass_time.cpp
index 57fd968526e080b3ab3cc4f587ab9fc904dae673..070bbd5eba3659df349043e6cfa3ed32ee951260 100644
--- a/src/ass_time.cpp
+++ b/src/ass_time.cpp
@@ -19,8 +19,6 @@
 /// @ingroup subs_storage
 ///
 
-#include "config.h"
-
 #include "ass_time.h"
 
 #include "utils.h"
diff --git a/src/audio_box.cpp b/src/audio_box.cpp
index d85ca85090b8971ea082e4551203e0f43eed1ca0..f21e79238073c583da1a9851e2d5c96b1bbc1d5a 100644
--- a/src/audio_box.cpp
+++ b/src/audio_box.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_ui
 ///
 
-#include "config.h"
-
 #include <cmath>
 
 #include <wx/bmpbuttn.h>
diff --git a/src/audio_colorscheme.cpp b/src/audio_colorscheme.cpp
index 007c951b1deb3efa346760a63e951b32988603c6..d8fb74127b6502f877aeb2e615ee1da3b8e9cd14 100644
--- a/src/audio_colorscheme.cpp
+++ b/src/audio_colorscheme.cpp
@@ -32,8 +32,6 @@
 ///
 /// Manage colour schemes for the audio display
 
-#include "config.h"
-
 #include <algorithm>
 
 #include "audio_colorscheme.h"
diff --git a/src/audio_controller.cpp b/src/audio_controller.cpp
index 27ec41b7cbccd1a17edd5b1f9acdc8dc2c77f5e8..a6e5e76a2a33be8b0426b192b4d59b6e2c673116 100644
--- a/src/audio_controller.cpp
+++ b/src/audio_controller.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_ui
 ///
 
-#include "config.h"
-
 #include "audio_controller.h"
 
 #include "ass_file.h"
@@ -150,7 +148,6 @@ void AudioController::OnAudioProviderChanged()
 		OpenAudio(agi::fs::path(audio_url));
 }
 
-
 void AudioController::OpenAudio(agi::fs::path const& url)
 {
 	if (url.empty())
@@ -214,7 +211,6 @@ void AudioController::CloseAudio()
 	AnnounceAudioClose();
 }
 
-
 bool AudioController::IsAudioOpen() const
 {
 	return player && provider;
@@ -258,7 +254,6 @@ void AudioController::PlayRange(const TimeRange &range)
 	AnnouncePlaybackPosition(range.begin());
 }
 
-
 void AudioController::PlayPrimaryRange()
 {
 	PlayRange(GetPrimaryPlaybackRange());
@@ -287,7 +282,6 @@ void AudioController::PlayToEnd(int start_ms)
 	AnnouncePlaybackPosition(start_ms);
 }
 
-
 void AudioController::Stop()
 {
 	if (!IsAudioOpen()) return;
@@ -299,13 +293,11 @@ void AudioController::Stop()
 	AnnouncePlaybackStop();
 }
 
-
 bool AudioController::IsPlaying()
 {
 	return IsAudioOpen() && playback_mode != PM_NotPlaying;
 }
 
-
 int AudioController::GetPlaybackPosition()
 {
 	if (!IsPlaying()) return 0;
@@ -338,7 +330,6 @@ void AudioController::SetVolume(double volume)
 	player->SetVolume(volume);
 }
 
-
 int64_t AudioController::SamplesFromMilliseconds(int64_t ms) const
 {
 	/// @todo There might be some subtle rounding errors here.
@@ -352,7 +343,6 @@ int64_t AudioController::SamplesFromMilliseconds(int64_t ms) const
 	return (millisamples + 999) / 1000;
 }
 
-
 int64_t AudioController::MillisecondsFromSamples(int64_t samples) const
 {
 	/// @todo There might be some subtle rounding errors here.
diff --git a/src/audio_display.cpp b/src/audio_display.cpp
index a8fe3c7383172dd1d21c1d0e45db3d386ed0f7d2..4f654ba97f06b2da10ccc67558888867b1cb52e0 100644
--- a/src/audio_display.cpp
+++ b/src/audio_display.cpp
@@ -33,8 +33,6 @@
 /// @ingroup audio_ui
 ///
 
-#include "config.h"
-
 #include "audio_display.h"
 
 #include "ass_time.h"
@@ -246,7 +244,6 @@ public:
 
 const int AudioDisplayScrollbar::min_width;
 
-
 class AudioDisplayTimeline final : public AudioDisplayInteractionObject {
 	int duration;        ///< Total duration in ms
 	double ms_per_pixel; ///< Milliseconds per pixel
@@ -940,7 +937,6 @@ void AudioDisplay::SetDraggedObject(AudioDisplayInteractionObject *new_obj)
 		audio_marker.reset();
 }
 
-
 void AudioDisplay::SetTrackCursor(int new_pos, bool show_time)
 {
 	if (new_pos == track_cursor_pos) return;
diff --git a/src/audio_karaoke.cpp b/src/audio_karaoke.cpp
index 500d9bb4620b80ee7e768d8ebc1b7c454e006414..b5523ed62d87dc214e90884cfa9e43c58e2c8573 100644
--- a/src/audio_karaoke.cpp
+++ b/src/audio_karaoke.cpp
@@ -19,8 +19,6 @@
 /// @ingroup audio_ui
 ///
 
-#include "config.h"
-
 #include "audio_karaoke.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/audio_marker.cpp b/src/audio_marker.cpp
index 92022a8c52dbba020a385b57208ab8e2e7e584f5..ecef26423453f3dcc53f14d5b1d75cb17782cd3c 100644
--- a/src/audio_marker.cpp
+++ b/src/audio_marker.cpp
@@ -19,8 +19,6 @@
 /// @ingroup audio_ui
 ///
 
-#include "config.h"
-
 #include "audio_marker.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/audio_player.cpp b/src/audio_player.cpp
index 47d55bfab8e10a0c1827b3f626b7bef1c4586179..3ec5743d70f5ee3b8f930755ef40f2f75be62547 100644
--- a/src/audio_player.cpp
+++ b/src/audio_player.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #include "include/aegisub/audio_player.h"
 
 #include "audio_controller.h"
diff --git a/src/audio_player_alsa.cpp b/src/audio_player_alsa.cpp
index 338fecfe644e27f091f45ba19008ccfbe98c81b2..0bf76eaad152c6b42e06ea1127cd90d36ca72359 100644
--- a/src/audio_player_alsa.cpp
+++ b/src/audio_player_alsa.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #ifdef WITH_ALSA
 #include "include/aegisub/audio_player.h"
 
@@ -250,7 +248,7 @@ do_setup:
 		{
 			int64_t orig_position = position;
 			int64_t orig_ps_end_position = ps.end_position;
-			
+
 			ScopedAliveFlag playing_flag(ps.playing);
 
 			// Sleep a bit, or until an event
diff --git a/src/audio_player_dsound.cpp b/src/audio_player_dsound.cpp
index 47e3654a21e59ca0135146b42ad9746d20e3f4e7..c5b690f79d1049f53f4f75563fbbd403758359f0 100644
--- a/src/audio_player_dsound.cpp
+++ b/src/audio_player_dsound.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #ifdef WITH_DIRECTSOUND
 #include "include/aegisub/audio_player.h"
 
@@ -374,4 +372,3 @@ std::unique_ptr<AudioPlayer> CreateDirectSoundPlayer(AudioProvider *provider, wx
 }
 
 #endif // WITH_DIRECTSOUND
-
diff --git a/src/audio_player_dsound2.cpp b/src/audio_player_dsound2.cpp
index 5d1d20d873e9dd9aa6b886a2a8d3e72f40209be2..81e6a021357079611e090f013ab0625d9eae5df8 100644
--- a/src/audio_player_dsound2.cpp
+++ b/src/audio_player_dsound2.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #ifdef WITH_DIRECTSOUND
 #include "include/aegisub/audio_player.h"
 
@@ -234,14 +232,12 @@ class DirectSoundPlayer2Thread {
 	/// Audio frame to end playback at
 	int64_t end_frame = 0;
 
-
 	/// Desired length in milliseconds to write ahead of the playback cursor
 	int wanted_latency;
 
 	/// Multiplier for WantedLatency to get total buffer length
 	int buffer_length;
 
-
 	/// System millisecond timestamp of last playback start, used to calculate playback position
 	DWORD last_playback_restart;
 
@@ -364,7 +360,6 @@ void DirectSoundPlayer2Thread::Run()
 
 	//wx Log Debug("DirectSoundPlayer2: Created buffer of %d bytes, supposed to be %d milliseconds or %d frames", bufSize, WANTED_LATENCY*BUFFER_LENGTH, bufSize/provider->GetBytesPerSample());
 
-
 	// Now we're ready to roll!
 	SetEvent(thread_running);
 	bool running = true;
diff --git a/src/audio_player_openal.cpp b/src/audio_player_openal.cpp
index 253ed2289f4ccd423008e5988125f3a64fbd4b87..3dbe849348395647eb9c3e071d4f96209c539417 100644
--- a/src/audio_player_openal.cpp
+++ b/src/audio_player_openal.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #ifdef WITH_OPENAL
 #include "include/aegisub/audio_player.h"
 
diff --git a/src/audio_player_oss.cpp b/src/audio_player_oss.cpp
index bef741dedc58fffd5277df0b71b41268ced70774..ea3262b93c01a4ad96cbd2bfa6adfd2bc92ffdfc 100644
--- a/src/audio_player_oss.cpp
+++ b/src/audio_player_oss.cpp
@@ -30,8 +30,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #ifdef WITH_OSS
 #include "include/aegisub/audio_player.h"
 
@@ -103,7 +101,6 @@ public:
         ::close(dspdev);
     }
 
-
     void Play(int64_t start, int64_t count);
     void Stop();
     bool IsPlaying() { return playing; }
diff --git a/src/audio_player_portaudio.cpp b/src/audio_player_portaudio.cpp
index ec7e88af6269f214d341fa443f69a6d12d96c0ab..d4dfcf9892bdb294f286ad8d2e23d9177460fa9c 100644
--- a/src/audio_player_portaudio.cpp
+++ b/src/audio_player_portaudio.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #ifdef WITH_PORTAUDIO
 #include "audio_player_portaudio.h"
 
diff --git a/src/audio_player_pulse.cpp b/src/audio_player_pulse.cpp
index 15a4f262a47e7c7e6d704d8f33637dcc7bb23d33..fe47ebb3ae257bd1375a5f02074715115bc81574 100644
--- a/src/audio_player_pulse.cpp
+++ b/src/audio_player_pulse.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_output
 ///
 
-#include "config.h"
-
 #ifdef WITH_LIBPULSE
 #include "include/aegisub/audio_player.h"
 
diff --git a/src/audio_provider.cpp b/src/audio_provider.cpp
index 365ea8a979e9c89ba59fe6301a71b8a7903f7cbd..5200d58cc2a565fcf8337764e9d50cff627a7378 100644
--- a/src/audio_provider.cpp
+++ b/src/audio_provider.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_input
 ///
 
-#include "config.h"
-
 #include "include/aegisub/audio_provider.h"
 
 #include "audio_controller.h"
diff --git a/src/audio_provider_avs.cpp b/src/audio_provider_avs.cpp
index 06fdd6be25891629760e749704571bd2633df1a6..c50b7c549801475d898c8c79fd6021975d960f38 100644
--- a/src/audio_provider_avs.cpp
+++ b/src/audio_provider_avs.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_input
 ///
 
-#include "config.h"
-
 #ifdef WITH_AVISYNTH
 #include "include/aegisub/audio_provider.h"
 
diff --git a/src/audio_provider_convert.cpp b/src/audio_provider_convert.cpp
index 5592db5ceee0ffa30f21c1166486920eff12d4d3..01c7ccb0db77c34f1c5aafdff03ae1daaa66b53e 100644
--- a/src/audio_provider_convert.cpp
+++ b/src/audio_provider_convert.cpp
@@ -19,8 +19,6 @@
 /// @ingroup audio_input
 ///
 
-#include "config.h"
-
 #include "include/aegisub/audio_provider.h"
 
 #include "audio_controller.h"
diff --git a/src/audio_provider_dummy.cpp b/src/audio_provider_dummy.cpp
index a68bd7f362c228da6b0781f5c8818463aead1263..727719de798c050f9d580143ebd380f2236f8f8c 100644
--- a/src/audio_provider_dummy.cpp
+++ b/src/audio_provider_dummy.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_input
 ///
 
-#include "config.h"
-
 #include "include/aegisub/audio_provider.h"
 
 #include <libaegisub/fs.h>
diff --git a/src/audio_provider_ffmpegsource.cpp b/src/audio_provider_ffmpegsource.cpp
index 85077897d48217e9df9c76c222ee239d52cf69dd..81c10576e0a6df3b0941d12bdf159dcdaf741f52 100644
--- a/src/audio_provider_ffmpegsource.cpp
+++ b/src/audio_provider_ffmpegsource.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_input ffms
 ///
 
-#include "config.h"
-
 #ifdef WITH_FFMS2
 #include "include/aegisub/audio_provider.h"
 
diff --git a/src/audio_provider_hd.cpp b/src/audio_provider_hd.cpp
index defea3b1d69f7c9cf4dee74c37158f89f67769c0..cf4fb2e0fa47366bf92e1321c0197189b2858ad1 100644
--- a/src/audio_provider_hd.cpp
+++ b/src/audio_provider_hd.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "include/aegisub/audio_provider.h"
 
 #include "audio_controller.h"
diff --git a/src/audio_provider_lock.cpp b/src/audio_provider_lock.cpp
index 8e68256402b1d6d2aed33541a41263e814c0b2d3..c89437ac7d6105d88c85f5c48154165b6898f42a 100644
--- a/src/audio_provider_lock.cpp
+++ b/src/audio_provider_lock.cpp
@@ -16,8 +16,6 @@
 /// @brief An audio provider adapter for un-threadsafe audio providers
 /// @ingroup audio_input
 
-#include "config.h"
-
 #include "include/aegisub/audio_provider.h"
 
 #include <libaegisub/util.h>
diff --git a/src/audio_provider_pcm.cpp b/src/audio_provider_pcm.cpp
index 10702dd4b0869b72c1600ac04beb80a54922b140..308dc4fa4664fb6a5b71a651ad3ca89128b40790 100644
--- a/src/audio_provider_pcm.cpp
+++ b/src/audio_provider_pcm.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_input
 ///
 
-#include "config.h"
-
 #include "include/aegisub/audio_provider.h"
 
 #include "audio_controller.h"
diff --git a/src/audio_provider_ram.cpp b/src/audio_provider_ram.cpp
index 9b0df16d8cdc862f3433e546b71e1c8f32ec5af6..20609070de2639eb257121dd7b7be449bb2518b5 100644
--- a/src/audio_provider_ram.cpp
+++ b/src/audio_provider_ram.cpp
@@ -32,8 +32,6 @@
 /// @ingroup audio_input
 ///
 
-#include "config.h"
-
 #include "include/aegisub/audio_provider.h"
 
 #include "audio_controller.h"
diff --git a/src/audio_renderer.cpp b/src/audio_renderer.cpp
index b86dac828d7dbdefec23f3a75cbbc1e8f97d73f4..0c54b290aa071d9010295a26e99c22ecc61215dd 100644
--- a/src/audio_renderer.cpp
+++ b/src/audio_renderer.cpp
@@ -31,8 +31,6 @@
 /// @brief Base classes for audio renderers (spectrum, waveform, ...)
 /// @ingroup audio_ui
 
-#include "config.h"
-
 #include "audio_renderer.h"
 
 #include "include/aegisub/audio_provider.h"
@@ -61,7 +59,6 @@ size_t AudioRendererBitmapCacheBitmapFactory::GetBlockSize() const
 	return sizeof(wxBitmap) + renderer->cache_bitmap_width * renderer->pixel_height * 3;
 }
 
-
 AudioRenderer::AudioRenderer()
 {
 	for (int i = 0; i < AudioStyle_MAX; ++i)
@@ -84,7 +81,6 @@ void AudioRenderer::SetMillisecondsPerPixel(double new_pixel_ms)
 	ResetBlockCount();
 }
 
-
 void AudioRenderer::SetHeight(int _pixel_height)
 {
 	if (pixel_height == _pixel_height) return;
@@ -93,7 +89,6 @@ void AudioRenderer::SetHeight(int _pixel_height)
 	Invalidate();
 }
 
-
 void AudioRenderer::SetAmplitudeScale(float _amplitude_scale)
 {
 	if (amplitude_scale == _amplitude_scale) return;
@@ -108,7 +103,6 @@ void AudioRenderer::SetAmplitudeScale(float _amplitude_scale)
 	Invalidate();
 }
 
-
 void AudioRenderer::SetRenderer(AudioRendererBitmapProvider *_renderer)
 {
 	if (renderer == _renderer) return;
@@ -124,7 +118,6 @@ void AudioRenderer::SetRenderer(AudioRendererBitmapProvider *_renderer)
 	}
 }
 
-
 void AudioRenderer::SetAudioProvider(AudioProvider *_provider)
 {
 	if (provider == _provider) return;
@@ -138,7 +131,6 @@ void AudioRenderer::SetAudioProvider(AudioProvider *_provider)
 	ResetBlockCount();
 }
 
-
 void AudioRenderer::SetCacheMaxSize(size_t max_size)
 {
 	// Limit the bitmap cache sizes to 16 MB hard, to avoid the risk of exhausting
@@ -149,7 +141,6 @@ void AudioRenderer::SetCacheMaxSize(size_t max_size)
 	cache_renderer_maxsize = max_size - 4*cache_bitmap_maxsize;
 }
 
-
 void AudioRenderer::ResetBlockCount()
 {
 	if (provider)
@@ -161,7 +152,6 @@ void AudioRenderer::ResetBlockCount()
 	}
 }
 
-
 const wxBitmap *AudioRenderer::GetCachedBitmap(int i, AudioRenderingStyle style)
 {
 	assert(provider);
@@ -180,7 +170,6 @@ const wxBitmap *AudioRenderer::GetCachedBitmap(int i, AudioRenderingStyle style)
 	return bmp;
 }
 
-
 void AudioRenderer::Render(wxDC &dc, wxPoint origin, int start, int length, AudioRenderingStyle style)
 {
 	assert(start >= 0);
@@ -225,14 +214,12 @@ void AudioRenderer::Render(wxDC &dc, wxPoint origin, int start, int length, Audi
 	}
 }
 
-
 void AudioRenderer::Invalidate()
 {
 	for (auto& bmp : bitmaps) bmp.Age(0);
 	needs_age = false;
 }
 
-
 void AudioRendererBitmapProvider::SetProvider(AudioProvider *_provider)
 {
 	if (provider == _provider) return;
@@ -242,7 +229,6 @@ void AudioRendererBitmapProvider::SetProvider(AudioProvider *_provider)
 	OnSetProvider();
 }
 
-
 void AudioRendererBitmapProvider::SetMillisecondsPerPixel(double new_pixel_ms)
 {
 	if (pixel_ms == new_pixel_ms) return;
@@ -252,7 +238,6 @@ void AudioRendererBitmapProvider::SetMillisecondsPerPixel(double new_pixel_ms)
 	OnSetMillisecondsPerPixel();
 }
 
-
 void AudioRendererBitmapProvider::SetAmplitudeScale(float _amplitude_scale)
 {
 	if (amplitude_scale == _amplitude_scale) return;
diff --git a/src/audio_renderer_spectrum.cpp b/src/audio_renderer_spectrum.cpp
index 017c34468cf59e38a4306955aa99e24df51fe43c..4d75ab24171ea3b482d46f43b2d90f00b0772a97 100644
--- a/src/audio_renderer_spectrum.cpp
+++ b/src/audio_renderer_spectrum.cpp
@@ -32,8 +32,6 @@
 /// @brief Caching frequency-power spectrum renderer for audio display
 /// @ingroup audio_ui
 
-#include "config.h"
-
 #include "audio_renderer_spectrum.h"
 
 #include "audio_colorscheme.h"
@@ -83,7 +81,6 @@ struct AudioSpectrumCacheBlockFactory {
 	}
 };
 
-
 /// @brief Cache for audio spectrum frequency-power data
 class AudioSpectrumCache
 : public DataBlockCache<float, 10, AudioSpectrumCacheBlockFactory> {
@@ -95,7 +92,6 @@ public:
 	}
 };
 
-
 AudioSpectrumRenderer::AudioSpectrumRenderer(std::string const& color_scheme_name)
 {
 	colors.reserve(AudioStyle_MAX);
diff --git a/src/audio_renderer_waveform.cpp b/src/audio_renderer_waveform.cpp
index 4ebdd3ce9aacb4093415cd70008e2f709f10903d..f0dab3386ce3d50939bf17bc54397132d0ba2227 100644
--- a/src/audio_renderer_waveform.cpp
+++ b/src/audio_renderer_waveform.cpp
@@ -32,8 +32,6 @@
 ///
 /// Render a waveform display of PCM audio data
 
-#include "config.h"
-
 #include "audio_renderer_waveform.h"
 
 #include <algorithm>
@@ -67,7 +65,6 @@ AudioWaveformRenderer::~AudioWaveformRenderer()
 	delete[] audio_buffer;
 }
 
-
 void AudioWaveformRenderer::Render(wxBitmap &bmp, int start, AudioRenderingStyle style)
 {
 	wxMemoryDC dc(bmp);
@@ -144,7 +141,6 @@ void AudioWaveformRenderer::Render(wxBitmap &bmp, int start, AudioRenderingStyle
 	dc.DrawLine(0, midpoint, rect.width, midpoint);
 }
 
-
 void AudioWaveformRenderer::RenderBlank(wxDC &dc, const wxRect &rect, AudioRenderingStyle style)
 {
 	const AudioColorScheme *pal = &colors[style];
diff --git a/src/audio_timing_dialogue.cpp b/src/audio_timing_dialogue.cpp
index cebc3ada1326bc82f8cb17819d10a836951da4f0..93b60d47c7fb02e8d2886a3e3e0e14335c1e32d7 100644
--- a/src/audio_timing_dialogue.cpp
+++ b/src/audio_timing_dialogue.cpp
@@ -31,8 +31,6 @@
 /// @brief Default timing mode for dialogue subtitles
 /// @ingroup audio_ui
 
-#include "config.h"
-
 #include "ass_dialogue.h"
 #include "ass_file.h"
 #include "ass_time.h"
diff --git a/src/audio_timing_karaoke.cpp b/src/audio_timing_karaoke.cpp
index 5871d2f2c8853951e1bf5f1adaf79a4000561c68..08bc233fb891bc9fd258b324fb44cb2110475a44 100644
--- a/src/audio_timing_karaoke.cpp
+++ b/src/audio_timing_karaoke.cpp
@@ -19,8 +19,6 @@
 /// @ingroup audio_ui
 ///
 
-#include "config.h"
-
 #include <libaegisub/signal.h>
 
 #include "ass_dialogue.h"
diff --git a/src/auto4_base.cpp b/src/auto4_base.cpp
index 9f004bf50d1826d32daeec019d15e9d4d40f25dc..dc73cd7c0771c8474950fa71647d0e5c312daae4 100644
--- a/src/auto4_base.cpp
+++ b/src/auto4_base.cpp
@@ -32,8 +32,6 @@
 /// @ingroup scripting
 ///
 
-#include "config.h"
-
 #include "auto4_base.h"
 
 #include "ass_file.h"
diff --git a/src/auto4_lua.cpp b/src/auto4_lua.cpp
index 08c97b8096ecca51157fcd88cd5d098e82656e6b..ac46108d01069243efbdd7d2061dcdfa997f072b 100644
--- a/src/auto4_lua.cpp
+++ b/src/auto4_lua.cpp
@@ -32,8 +32,6 @@
 /// @ingroup scripting
 ///
 
-#include "config.h"
-
 #include "auto4_lua.h"
 
 #include "auto4_lua_utils.h"
diff --git a/src/auto4_lua_assfile.cpp b/src/auto4_lua_assfile.cpp
index fc12ab8eb24e4748c1de05cca95c2809d113f78c..615e4b5a3870d8c858add4dc916d8d6bfcc2b0c1 100644
--- a/src/auto4_lua_assfile.cpp
+++ b/src/auto4_lua_assfile.cpp
@@ -32,8 +32,6 @@
 /// @ingroup scripting
 ///
 
-#include "config.h"
-
 #include "auto4_lua.h"
 
 #include "auto4_lua_utils.h"
diff --git a/src/auto4_lua_dialog.cpp b/src/auto4_lua_dialog.cpp
index c35038540c541827b25d6f6a1d3e5f90e3d86345..7deee7a74dc3588611e5e02fa8959550ea3ed666 100644
--- a/src/auto4_lua_dialog.cpp
+++ b/src/auto4_lua_dialog.cpp
@@ -32,8 +32,6 @@
 /// @ingroup scripting
 ///
 
-#include "config.h"
-
 #include "auto4_lua.h"
 
 #include "auto4_lua_utils.h"
@@ -234,7 +232,6 @@ namespace Automation4 {
 			}
 		};
 
-
 		/// Integer only edit
 		class IntEdit final : public Edit {
 			wxSpinCtrl *cw;
diff --git a/src/auto4_lua_progresssink.cpp b/src/auto4_lua_progresssink.cpp
index 9610c2621c8368a53872b6876064afc6dff0d41e..f966dff9d851a75864643743fb3aa0d756a85586 100644
--- a/src/auto4_lua_progresssink.cpp
+++ b/src/auto4_lua_progresssink.cpp
@@ -32,8 +32,6 @@
 /// @ingroup scripting
 ///
 
-#include "config.h"
-
 #include "auto4_lua.h"
 
 #include "auto4_lua_utils.h"
diff --git a/src/auto4_lua_scriptreader.cpp b/src/auto4_lua_scriptreader.cpp
index f979053aab68645382b5b7d761fa8cd3afaad5d0..d041067292dfa1a53153f126a47687a4f7f15c8e 100644
--- a/src/auto4_lua_scriptreader.cpp
+++ b/src/auto4_lua_scriptreader.cpp
@@ -17,8 +17,6 @@
 /// @ingroup scripting
 ///
 
-#include "config.h"
-
 #include "auto4_lua_scriptreader.h"
 
 #include "auto4_lua_utils.h"
diff --git a/src/auto4_regex.cpp b/src/auto4_regex.cpp
index 138dbaec176518bfd0b375c54e6910470a3c045b..e2cd19c93233c8527ee7cc740753a397d0a7b259 100644
--- a/src/auto4_regex.cpp
+++ b/src/auto4_regex.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "auto4_lua_utils.h"
 
 #include <boost/regex/icu.hpp>
diff --git a/src/avisynth_wrap.cpp b/src/avisynth_wrap.cpp
index 52839b40a5e0d10a4547d14c2c1ae178c54dd401..d76a377d2845a99396f21cbe22d3aee56ac2c901 100644
--- a/src/avisynth_wrap.cpp
+++ b/src/avisynth_wrap.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_input audio_input
 ///
 
-#include "config.h"
-
 #ifdef WITH_AVISYNTH
 #include "avisynth_wrap.h"
 
diff --git a/src/base_grid.cpp b/src/base_grid.cpp
index b412dd5897da8b96e5782cdaac59e9ce0ac2d55c..3520b835902f141f944ed54b1fb0d8f333dd1379 100644
--- a/src/base_grid.cpp
+++ b/src/base_grid.cpp
@@ -32,8 +32,6 @@
 /// @ingroup main_ui
 ///
 
-#include "config.h"
-
 #include "base_grid.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/charset_detect.cpp b/src/charset_detect.cpp
index daf0e923bd45229ad3ed20f4784fc6dcff536a72..e71ce7ef282ba9e84110e54b8dc0aabfcbc9741a 100644
--- a/src/charset_detect.cpp
+++ b/src/charset_detect.cpp
@@ -32,8 +32,6 @@
 /// @ingroup utility
 ///
 
-#include "config.h"
-
 #include "charset_detect.h"
 
 #include "compat.h"
@@ -89,4 +87,3 @@ std::string GetEncoding(agi::fs::path const& filename) {
 }
 
 }
-
diff --git a/src/colorspace.cpp b/src/colorspace.cpp
index b63506d386979f42a5aaf50cae1a58ca7f2d3d27..2d9df415ca67a1be8b3ed538cac514386b9e9f44 100644
--- a/src/colorspace.cpp
+++ b/src/colorspace.cpp
@@ -32,8 +32,6 @@
 /// @ingroup utility
 ///
 
-#include "config.h"
-
 #include "colorspace.h"
 #include "utils.h"
 
diff --git a/src/colour_button.cpp b/src/colour_button.cpp
index a70b1df1c510ff9aa457b5e9e41682ea6b7cfe9c..85791098d849d5c751155eb3cdba09b1dc0bda84 100644
--- a/src/colour_button.cpp
+++ b/src/colour_button.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "colour_button.h"
 
 #include "compat.h"
diff --git a/src/command/app.cpp b/src/command/app.cpp
index 6e0a1f57f0c18eefc41401979e53762719f3702f..50d16e3da58d971f1b418edfb19ab908d6f251b4 100644
--- a/src/command/app.cpp
+++ b/src/command/app.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include <wx/msgdlg.h>
 
 #include "command.h"
diff --git a/src/command/audio.cpp b/src/command/audio.cpp
index 06c270e96d35275115fd5e260bf2ff64d8299c63..45acf2ee8425636d40e3b42b4fadbcf4461e2af8 100644
--- a/src/command/audio.cpp
+++ b/src/command/audio.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../ass_dialogue.h"
diff --git a/src/command/automation.cpp b/src/command/automation.cpp
index a298c01dead68027c5308942701b0c2313217b2d..57b2a260844805abde236308ef79fc3208df5883 100644
--- a/src/command/automation.cpp
+++ b/src/command/automation.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../auto4_base.h"
diff --git a/src/command/edit.cpp b/src/command/edit.cpp
index a23f9e04e9625dce080a48fdbf3c35b26c261502..9b6a46cbd5cdc075ebf2841109f7c202de400586 100644
--- a/src/command/edit.cpp
+++ b/src/command/edit.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../ass_dialogue.h"
diff --git a/src/command/grid.cpp b/src/command/grid.cpp
index b5fd5b8aaf98cb7e7b529d488e1a623585cd2972..74f9ad2588bb752e2a34b83d65ff930d47e5ed92 100644
--- a/src/command/grid.cpp
+++ b/src/command/grid.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../ass_dialogue.h"
diff --git a/src/command/help.cpp b/src/command/help.cpp
index 1ac636d9b9d320520838c3f87d84aa0457233e8d..e128e987b803d160297c32db3bcb722e40142443 100644
--- a/src/command/help.cpp
+++ b/src/command/help.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../help_button.h"
diff --git a/src/command/keyframe.cpp b/src/command/keyframe.cpp
index 73d5c4db298688c8790752889a2d5c8d96853616..671244f8fe6f641e0932c417534a8f996da34ecc 100644
--- a/src/command/keyframe.cpp
+++ b/src/command/keyframe.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../include/aegisub/context.h"
diff --git a/src/command/recent.cpp b/src/command/recent.cpp
index 73f892a20e6104bf2876548309ffc05a25905624..fe1515cad0a09fcb9a582e157bbd736a4596635b 100644
--- a/src/command/recent.cpp
+++ b/src/command/recent.cpp
@@ -27,8 +27,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../audio_controller.h"
diff --git a/src/command/subtitle.cpp b/src/command/subtitle.cpp
index c7524c4df9ccd1f0463ad5f614827cfb5843d1cd..3338d11c9d2db2bf30a40553b3187ad33ea6e0fd 100644
--- a/src/command/subtitle.cpp
+++ b/src/command/subtitle.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../ass_dialogue.h"
diff --git a/src/command/time.cpp b/src/command/time.cpp
index 53b7b5f7e367df5705eb4c88e3b7a618012d860b..519f8060472c423783d4b6c069e8c3ba4c93d8fd 100644
--- a/src/command/time.cpp
+++ b/src/command/time.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../ass_dialogue.h"
diff --git a/src/command/timecode.cpp b/src/command/timecode.cpp
index 74cc30252da7480fb3e5dc5e1400c73e6f4bc373..d6199a11c0098f451f3e22bd888791eddb032401 100644
--- a/src/command/timecode.cpp
+++ b/src/command/timecode.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../include/aegisub/context.h"
diff --git a/src/command/tool.cpp b/src/command/tool.cpp
index 1bafb943bb71e1aa2b4747e05073610b29fa647e..3ac69d83b3de18b033ab559067d66f59ea11b7d9 100644
--- a/src/command/tool.cpp
+++ b/src/command/tool.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../compat.h"
diff --git a/src/command/video.cpp b/src/command/video.cpp
index 85e21d98c2fdc757609046b206e14f82e09c7943..0c3aed41b51c8b839e99dc1182956124147b8058 100644
--- a/src/command/video.cpp
+++ b/src/command/video.cpp
@@ -29,8 +29,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../ass_dialogue.h"
diff --git a/src/command/vis_tool.cpp b/src/command/vis_tool.cpp
index a3f33c88a3d919a52e81ef40de083ec056cdb163..582e9857d025d676b1da382137422d08ebc9c5f4 100644
--- a/src/command/vis_tool.cpp
+++ b/src/command/vis_tool.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "../config.h"
-
 #include "command.h"
 
 #include "../include/aegisub/context.h"
diff --git a/src/config.h b/src/config.h
deleted file mode 100644
index 9467f9cda5a1c2ed631a2d2fa72af62edb459a26..0000000000000000000000000000000000000000
--- a/src/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef _WIN32
-// Generated by configure.in
-#include "../acconf.h"
-#endif
diff --git a/src/context.cpp b/src/context.cpp
index 847dd208a96c38bfa3935a675dc8b857809fd143..2e89d56ebcd6ed73f0d97b1db179e43c3fcb2c34 100644
--- a/src/context.cpp
+++ b/src/context.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "include/aegisub/context.h"
 
 #include "ass_file.h"
diff --git a/src/crash_writer.cpp b/src/crash_writer.cpp
index e20ba851350ba1415257b3521cf7640679bbbd0e..dcf325c4b89f4dc6831e5a4a8db9bebb574e7a0c 100644
--- a/src/crash_writer.cpp
+++ b/src/crash_writer.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "crash_writer.h"
 
 #include "version.h"
diff --git a/src/crash_writer_minidump.cpp b/src/crash_writer_minidump.cpp
index 61a67ff1eb5c6b13387bbe8d748f47ac1b798d2e..053730f750a098566546e200b4a265423d60aad3 100644
--- a/src/crash_writer_minidump.cpp
+++ b/src/crash_writer_minidump.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "crash_writer.h"
 
 #include "version.h"
diff --git a/src/dialog_about.cpp b/src/dialog_about.cpp
index 578829a421fbdb67c7a2091f2f693118b0cd2db8..8abaf34ef7f33b64c4647d10ac3e906bcc6a500b 100644
--- a/src/dialog_about.cpp
+++ b/src/dialog_about.cpp
@@ -32,8 +32,6 @@
 /// @ingroup configuration_ui
 ///
 
-#include "config.h"
-
 #include <wx/button.h>
 #include <wx/panel.h>
 #include <wx/sizer.h>
diff --git a/src/dialog_attachments.cpp b/src/dialog_attachments.cpp
index 23e34b5f188db6039a633f63234fd9158006834e..ce7100a5597a32ef5a60a57b44027d2547281379 100644
--- a/src/dialog_attachments.cpp
+++ b/src/dialog_attachments.cpp
@@ -32,8 +32,6 @@
 /// @ingroup tools_ui
 ///
 
-#include "config.h"
-
 #include "dialog_attachments.h"
 
 #include <wx/button.h>
diff --git a/src/dialog_automation.cpp b/src/dialog_automation.cpp
index a5488b563ed6675048af679ce1dae3da6be70dae..2ba5468688c9ee88d3308cbe83139e74e77f7432 100644
--- a/src/dialog_automation.cpp
+++ b/src/dialog_automation.cpp
@@ -32,8 +32,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_automation.h"
 
 #include "auto4_base.h"
diff --git a/src/dialog_autosave.cpp b/src/dialog_autosave.cpp
index a68ca4359144675da13e81e745d9d5e612a0caa6..30f0dd639728c0a884af9fa78d820ed86149c121 100644
--- a/src/dialog_autosave.cpp
+++ b/src/dialog_autosave.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "dialog_autosave.h"
 
 #include "compat.h"
diff --git a/src/dialog_colorpicker.cpp b/src/dialog_colorpicker.cpp
index bc56bd9b3f0b966b721f6a673b7ccd8b06cabf61..97ebe097df675544903963516b26b3f5f9a397cf 100644
--- a/src/dialog_colorpicker.cpp
+++ b/src/dialog_colorpicker.cpp
@@ -32,8 +32,6 @@
 /// @ingroup tools_ui
 ///
 
-#include "config.h"
-
 #include "dialog_colorpicker.h"
 
 #include "ass_style.h"
@@ -433,7 +431,6 @@ void ColorPickerScreenDropper::DropFromScreenXY(int x, int y) {
 	Refresh(false);
 }
 
-
 class DialogColorPicker final : public wxDialog {
 	std::unique_ptr<PersistLocation> persist;
 
diff --git a/src/dialog_detached_video.cpp b/src/dialog_detached_video.cpp
index 399aa43e8c541fc4e03b2a20f560d93a0a439061..488b810314e7e985c34c1c4b3942b3f1665298be 100644
--- a/src/dialog_detached_video.cpp
+++ b/src/dialog_detached_video.cpp
@@ -32,8 +32,6 @@
 /// @ingroup main_ui
 ///
 
-#include "config.h"
-
 #include "dialog_detached_video.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/dialog_dummy_video.cpp b/src/dialog_dummy_video.cpp
index 02bbf45bea7de80694722d08887b4120dbcf52eb..0743db8b87955f4eafd55652c40f81f3b71b83ad 100644
--- a/src/dialog_dummy_video.cpp
+++ b/src/dialog_dummy_video.cpp
@@ -19,8 +19,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_dummy_video.h"
 
 #include <wx/checkbox.h>
diff --git a/src/dialog_export.cpp b/src/dialog_export.cpp
index 001e43e0c7a79d63433716af7434aa3e94671cc8..90009c9eb1b6d9de3412a84785bcf6ccb9767c38 100644
--- a/src/dialog_export.cpp
+++ b/src/dialog_export.cpp
@@ -32,8 +32,6 @@
 /// @ingroup export
 ///
 
-#include "config.h"
-
 #include "dialog_export.h"
 
 #include "ass_exporter.h"
diff --git a/src/dialog_export_ebu3264.cpp b/src/dialog_export_ebu3264.cpp
index a7d627db20cb0853db05be6000c2ac6cff0e3428..b23456f0f488ebe75857e579f31cecb74240cc4d 100644
--- a/src/dialog_export_ebu3264.cpp
+++ b/src/dialog_export_ebu3264.cpp
@@ -19,8 +19,6 @@
 /// @see dialog_export_ebu3264.h
 /// @ingroup subtitle_io export
 
-#include "config.h"
-
 #include "dialog_export_ebu3264.h"
 
 #include "compat.h"
diff --git a/src/dialog_fonts_collector.cpp b/src/dialog_fonts_collector.cpp
index 8bd4442810ed67552efdf23152fc77ca315c8317..41d33da77cc2e8acca35c4f163fd57f4adcc47d0 100644
--- a/src/dialog_fonts_collector.cpp
+++ b/src/dialog_fonts_collector.cpp
@@ -19,8 +19,6 @@
 /// @ingroup tools_ui font_collector
 ///
 
-#include "config.h"
-
 #include "dialog_fonts_collector.h"
 
 #include "font_file_lister.h"
@@ -42,7 +40,6 @@
 #include <libaegisub/path.h>
 
 #include <wx/button.h>
-#include <wx/config.h>
 #include <wx/dirdlg.h>
 #include <wx/filedlg.h>
 #include <wx/filename.h>
diff --git a/src/dialog_jumpto.cpp b/src/dialog_jumpto.cpp
index 49f7f83bb001210641def0060a688edeb5c4d100..91c9d5828231bfb0a69060c3a3023a3a0cd7bacc 100644
--- a/src/dialog_jumpto.cpp
+++ b/src/dialog_jumpto.cpp
@@ -32,8 +32,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_jumpto.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/dialog_kara_timing_copy.cpp b/src/dialog_kara_timing_copy.cpp
index e71bb6c1692f7136dd9e5e61582109471afff2e6..5c903f8ce608255b96ee1afd0abca243e06c93d5 100644
--- a/src/dialog_kara_timing_copy.cpp
+++ b/src/dialog_kara_timing_copy.cpp
@@ -33,8 +33,6 @@
 /// @ingroup tools_ui kara_timing_copy
 ///
 
-#include "config.h"
-
 #include "dialog_kara_timing_copy.h"
 
 #include "ass_dialogue.h"
@@ -116,7 +114,6 @@ public:
 	/// Undo last match, adding it back to the unmatched input
 	bool UndoMatch();
 
-
 	KaraokeLineMatchDisplay(wxWindow *parent);
 
 	wxSize GetBestSize() const;
diff --git a/src/dialog_log.cpp b/src/dialog_log.cpp
index 7ff9169c8f0e9aec62e988401be93245434edde4..9fc4d45829a640e4e7701338bdcae796a64aa3db 100644
--- a/src/dialog_log.cpp
+++ b/src/dialog_log.cpp
@@ -32,8 +32,6 @@
 /// @ingroup libaegisub
 ///
 
-#include "config.h"
-
 #include "dialog_log.h"
 
 #include "compat.h"
diff --git a/src/dialog_paste_over.cpp b/src/dialog_paste_over.cpp
index 189289f548152e07a59ab68fed2c6d4ef7509766..2e12a42e42df1474758287b85443d0f12789443f 100644
--- a/src/dialog_paste_over.cpp
+++ b/src/dialog_paste_over.cpp
@@ -32,8 +32,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_paste_over.h"
 
 #include <functional>
diff --git a/src/dialog_progress.cpp b/src/dialog_progress.cpp
index d48ade4a1726be393097d22e00983d6b5e93eff3..1b115de1fff5e4546729ac6aa27266136e6560b9 100644
--- a/src/dialog_progress.cpp
+++ b/src/dialog_progress.cpp
@@ -17,8 +17,6 @@
 /// @ingroup utility
 ///
 
-#include "config.h"
-
 #include "dialog_progress.h"
 
 #include "compat.h"
diff --git a/src/dialog_properties.cpp b/src/dialog_properties.cpp
index 9ec9dc97851d7a8d4a5e70b75f039f1df1242c73..3613e19acace9a8b1fdce71df6512415c6613246 100644
--- a/src/dialog_properties.cpp
+++ b/src/dialog_properties.cpp
@@ -32,8 +32,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_properties.h"
 
 #include "ass_file.h"
diff --git a/src/dialog_resample.cpp b/src/dialog_resample.cpp
index 44afb944f590b3f696936a0597f433b6f330fef8..52bdce081b6c67c818a3838125c0cdc5727d916a 100644
--- a/src/dialog_resample.cpp
+++ b/src/dialog_resample.cpp
@@ -17,8 +17,6 @@
 /// @ingroup tools_ui
 ///
 
-#include "config.h"
-
 #include "dialog_resample.h"
 
 #include "ass_file.h"
diff --git a/src/dialog_search_replace.cpp b/src/dialog_search_replace.cpp
index 37c734ae8d211bd01e1568389799f52f27fdcecd..4470f8bd2c233a2089a60f8ba117f813268b9d18 100644
--- a/src/dialog_search_replace.cpp
+++ b/src/dialog_search_replace.cpp
@@ -19,8 +19,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_search_replace.h"
 
 #include "compat.h"
diff --git a/src/dialog_selection.cpp b/src/dialog_selection.cpp
index d0eb3e7316f0f33c9ef51d67f466ca321412d637..3d30cc1c1f24665adf7ed16dfe285b3c7a340f5b 100644
--- a/src/dialog_selection.cpp
+++ b/src/dialog_selection.cpp
@@ -19,8 +19,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_selection.h"
 
 #include "ass_dialogue.h"
diff --git a/src/dialog_shift_times.cpp b/src/dialog_shift_times.cpp
index b8e888da22fde95be67734aedbc294fa2a183aca..e3392ef4e8769cf82ade899e035542cd5f994d1f 100644
--- a/src/dialog_shift_times.cpp
+++ b/src/dialog_shift_times.cpp
@@ -19,8 +19,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_shift_times.h"
 
 #include "ass_dialogue.h"
@@ -156,7 +154,6 @@ DialogShiftTimes::DialogShiftTimes(agi::Context *context)
 	else
 		shift_frames->Disable();
 
-
 	// Position controls
 	wxSizer *shift_amount_sizer = new wxFlexGridSizer(2, 2, 5, 5);
 	shift_amount_sizer->Add(shift_by_time, wxSizerFlags(0).Align(wxALIGN_CENTER_VERTICAL));
diff --git a/src/dialog_spellchecker.cpp b/src/dialog_spellchecker.cpp
index 7d3ffb201bff129bdbda120053fdad6890b1fefb..3f2688d20663c4ee85eb86aeca67508260f9a21d 100644
--- a/src/dialog_spellchecker.cpp
+++ b/src/dialog_spellchecker.cpp
@@ -19,8 +19,6 @@
 /// @ingroup spelling
 ///
 
-#include "config.h"
-
 #include "dialog_spellchecker.h"
 
 #include "ass_dialogue.h"
diff --git a/src/dialog_style_editor.cpp b/src/dialog_style_editor.cpp
index c95452de5ad03a335e7d6c863e4bed12cbcbc7ca..68e5b55a46ff40547dff6d5128bb2c04dae8abb2 100644
--- a/src/dialog_style_editor.cpp
+++ b/src/dialog_style_editor.cpp
@@ -32,8 +32,6 @@
 /// @ingroup style_editor
 ///
 
-#include "config.h"
-
 #include "ass_dialogue.h"
 #include "ass_file.h"
 #include "ass_style.h"
diff --git a/src/dialog_style_manager.cpp b/src/dialog_style_manager.cpp
index 33b1e98d31339d0af50e6f153b9fed19ab0274fc..847285c5775b78cee1b0bb394dc36a4cb241d2fd 100644
--- a/src/dialog_style_manager.cpp
+++ b/src/dialog_style_manager.cpp
@@ -31,8 +31,6 @@
 /// @brief Style Manager dialogue box and partial logic
 /// @ingroup style_editor
 
-#include "config.h"
-
 #include "dialog_style_manager.h"
 
 #include "ass_dialogue.h"
@@ -452,7 +450,7 @@ void DialogStyleManager::OnCopyToCurrent() {
 	c->ass->Commit(_("style copy"), AssFile::COMMIT_STYLES);
 
 	CurrentList->DeselectAll();
-	for (auto const& style_name : copied) 
+	for (auto const& style_name : copied)
 		CurrentList->SetStringSelection(style_name, true);
 	UpdateButtons();
 }
@@ -670,7 +668,6 @@ void DialogStyleManager::UpdateButtons() {
 	StorageMoveBottom->Enable(contStor && lastStor != -1 && lastStor < itemsStor-1);
 	StorageSort->Enable(itemsStor > 1);
 
-
 	// Get current selection
 	n = CurrentList->GetSelections(sels);
 
diff --git a/src/dialog_styling_assistant.cpp b/src/dialog_styling_assistant.cpp
index 85829e2672fee1e326984c15740e95da05147726..174f771aed09b08b6079e915e7f16dc6b90375ff 100644
--- a/src/dialog_styling_assistant.cpp
+++ b/src/dialog_styling_assistant.cpp
@@ -19,8 +19,6 @@
 /// @ingroup tools_ui
 ///
 
-#include "config.h"
-
 #include "dialog_styling_assistant.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/dialog_text_import.cpp b/src/dialog_text_import.cpp
index a36f9839575d9fd458d75a75b33abc385ae86853..630168b8811ee1804b27bd924c1c51f2e9d06c32 100644
--- a/src/dialog_text_import.cpp
+++ b/src/dialog_text_import.cpp
@@ -32,8 +32,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_text_import.h"
 
 #include "options.h"
@@ -67,7 +65,6 @@ DialogTextImport::DialogTextImport()
 	main_sizer->Add(CreateSeparatedButtonSizer(wxOK|wxCANCEL), 0, wxALL|wxEXPAND, 5);
 	SetSizerAndFit(main_sizer);
 
-
 	Bind(wxEVT_BUTTON, [=](wxCommandEvent&) {
 		TransferDataFromWindow();
 
diff --git a/src/dialog_timing_processor.cpp b/src/dialog_timing_processor.cpp
index 9e5215ac59077f1c0c8b480b6b81d4cb81c50842..a0b3f4da10d487d66468dff1fb60ef1ff699a86c 100644
--- a/src/dialog_timing_processor.cpp
+++ b/src/dialog_timing_processor.cpp
@@ -32,8 +32,6 @@
 /// @ingroup tools_ui
 ///
 
-#include "config.h"
-
 #include "dialog_timing_processor.h"
 
 #include "ass_dialogue.h"
diff --git a/src/dialog_translation.cpp b/src/dialog_translation.cpp
index 850d2f42ea9097dcbe57bccf6b718ea96f9ada0a..d2fb140533c0251ca40df1074f562cdb6397b758 100644
--- a/src/dialog_translation.cpp
+++ b/src/dialog_translation.cpp
@@ -19,8 +19,6 @@
 /// @ingroup tools_ui
 ///
 
-#include "config.h"
-
 #include "dialog_translation.h"
 
 #include "include/aegisub/context.h"
@@ -294,7 +292,6 @@ void DialogTranslation::InsertOriginal() {
 	translated_text->AddText(to_wx(blocks[cur_block]->GetText()));
 }
 
-
 void DialogTranslation::OnKeyDown(wxKeyEvent &evt) {
 	hotkey::check("Translation Assistant", c, evt);
 }
diff --git a/src/dialog_version_check.cpp b/src/dialog_version_check.cpp
index f99c3155795d66b4caf3b6af3e29e8b104eb6c4d..050ce085aba040270a0fe2cc50c756baada15e5a 100644
--- a/src/dialog_version_check.cpp
+++ b/src/dialog_version_check.cpp
@@ -32,8 +32,6 @@
 /// @ingroup configuration_ui
 ///
 
-#include "config.h"
-
 #ifdef WITH_UPDATE_CHECKER
 
 #include "dialog_version_check.h"
diff --git a/src/dialog_video_details.cpp b/src/dialog_video_details.cpp
index 0a871a176fbf2e5e0fdd37a3152b7f89eb421e1d..96acc1082561089368b4e3ca6291fe4c6054f40f 100644
--- a/src/dialog_video_details.cpp
+++ b/src/dialog_video_details.cpp
@@ -32,8 +32,6 @@
 /// @ingroup secondary_ui
 ///
 
-#include "config.h"
-
 #include "dialog_video_details.h"
 
 #include "ass_time.h"
diff --git a/src/export_fixstyle.cpp b/src/export_fixstyle.cpp
index 54de56bdd34e611c54f31ddcc49bacac09528eb5..ecd1c7c470934e4096c9b40dca7f72726ac80180 100644
--- a/src/export_fixstyle.cpp
+++ b/src/export_fixstyle.cpp
@@ -32,8 +32,6 @@
 /// @ingroup export
 ///
 
-#include "config.h"
-
 #include "export_fixstyle.h"
 
 #include "ass_file.h"
diff --git a/src/export_framerate.cpp b/src/export_framerate.cpp
index 12cce72ca457b0132ea608ecca3a88272e0dcc1b..bec33214596250fda9bbf5e89c9999b26e66da37 100644
--- a/src/export_framerate.cpp
+++ b/src/export_framerate.cpp
@@ -32,8 +32,6 @@
 /// @ingroup export
 ///
 
-#include "config.h"
-
 #include "export_framerate.h"
 
 #include "ass_dialogue.h"
diff --git a/src/ffmpegsource_common.cpp b/src/ffmpegsource_common.cpp
index 38fe4f32b987d7b7f3cc5587de608b0407601dbd..be7732a80847af278df4c2ed69065c8b164eb449 100644
--- a/src/ffmpegsource_common.cpp
+++ b/src/ffmpegsource_common.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_input audio_input ffms
 ///
 
-#include "config.h"
-
 #ifdef WITH_FFMS2
 #include "ffmpegsource_common.h"
 
@@ -52,7 +50,6 @@
 #include <boost/filesystem.hpp>
 #include <inttypes.h>
 
-#include <wx/config.h>
 #include <wx/choicdlg.h> // Keep this last so wxUSE_CHOICEDLG is set.
 
 #ifdef _WIN32
diff --git a/src/fft.cpp b/src/fft.cpp
index d3120793c3f2c95c9aa8e91a88100bc362af4a58..1d900701035e1193e2f99ab0f982a57553fca547 100644
--- a/src/fft.cpp
+++ b/src/fft.cpp
@@ -34,8 +34,6 @@
 /// Most of this code was taken from http://www.codeproject.com/audio/waveInFFT.asp
 /// And rewriten by Rodrigo Braz Monteiro
 
-#include "config.h"
-
 #include "fft.h"
 
 #include <cmath>
diff --git a/src/font_file_lister.cpp b/src/font_file_lister.cpp
index 146ebee357d811577266a31c48b234388b2eeaa0..2f90949336b380a3ddc68ebf7eeb2c383324e8e5 100644
--- a/src/font_file_lister.cpp
+++ b/src/font_file_lister.cpp
@@ -19,8 +19,6 @@
 /// @ingroup font_collector
 ///
 
-#include "config.h"
-
 #include "font_file_lister.h"
 
 #include "ass_dialogue.h"
diff --git a/src/font_file_lister_fontconfig.cpp b/src/font_file_lister_fontconfig.cpp
index 8ac201a79f9b9f45f611516c67d6aae8412b08bc..e2dbd0c077eea22bd9ac5f6270ca86622623d5f7 100644
--- a/src/font_file_lister_fontconfig.cpp
+++ b/src/font_file_lister_fontconfig.cpp
@@ -19,12 +19,8 @@
 /// @ingroup font_collector
 ///
 
-#include "config.h"
-
 #include "font_file_lister_fontconfig.h"
 
-#include <fontconfig/fontconfig.h>
-
 #include <libaegisub/log.h>
 #include <libaegisub/util.h>
 
@@ -34,7 +30,7 @@
 
 #include <boost/algorithm/string/case_conv.hpp>
 #include <boost/filesystem/path.hpp>
-
+#include <fontconfig/fontconfig.h>
 #include <wx/intl.h>
 
 namespace {
diff --git a/src/frame_main.cpp b/src/frame_main.cpp
index d032306d354d310ab044ef778272fce360d61fcc..a7583cef5899a6fca163c14e4c05f060eeffbc22 100644
--- a/src/frame_main.cpp
+++ b/src/frame_main.cpp
@@ -31,8 +31,6 @@
 /// @brief Main window creation and control management
 /// @ingroup main_ui
 
-#include "config.h"
-
 #include "frame_main.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/gl_text.cpp b/src/gl_text.cpp
index bef359c160da08204a5c08ac36879632ab00abab..1a7bb778fbf75f7d20744fa92f4d254a1cc00df1 100644
--- a/src/gl_text.cpp
+++ b/src/gl_text.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_output
 ///
 
-#include "config.h"
-
 #include "gl_text.h"
 
 #include "compat.h"
diff --git a/src/gl_wrap.cpp b/src/gl_wrap.cpp
index 6ec32605037b164f9cf08198232e7d8d1a27574d..a7eb769f678a48b92ab3d594ff147c4a451827fb 100644
--- a/src/gl_wrap.cpp
+++ b/src/gl_wrap.cpp
@@ -19,9 +19,6 @@
 /// @ingroup video_output
 ///
 
-
-#include "config.h"
-
 #include "gl_wrap.h"
 
 #include <wx/colour.h>
diff --git a/src/help_button.cpp b/src/help_button.cpp
index bd596d977151d301c8cbc69fb4a9e59822f68d0e..043f4c7fa45ad8353257fb909b1e10c6000e37e1 100644
--- a/src/help_button.cpp
+++ b/src/help_button.cpp
@@ -32,8 +32,6 @@
 /// @ingroup custom_control
 ///
 
-#include "config.h"
-
 #include "help_button.h"
 
 #include "options.h"
@@ -95,4 +93,3 @@ void HelpButton::OpenPage(wxString const& pageID) {
 
 	wxLaunchDefaultBrowser(wxString::Format("http://docs.aegisub.org/3.1/%s/#%s", page, section));
 }
-
diff --git a/src/hotkey.cpp b/src/hotkey.cpp
index d07006eb9a114b34cfebac022d90a1df59535332..70d1b15b198dcb24a68786c412f22db556643e65 100644
--- a/src/hotkey.cpp
+++ b/src/hotkey.cpp
@@ -16,8 +16,6 @@
 /// @brief Hotkey handler
 /// @ingroup hotkey menu event window
 
-#include "config.h"
-
 #include <libaegisub/hotkey.h>
 
 #include "include/aegisub/hotkey.h"
diff --git a/src/hotkey_data_view_model.cpp b/src/hotkey_data_view_model.cpp
index e9d6861a481f166f0b82b3720f0afcd9e392b516..6d124be9204e2b44d706890d4b915244317ec710 100644
--- a/src/hotkey_data_view_model.cpp
+++ b/src/hotkey_data_view_model.cpp
@@ -19,8 +19,6 @@
 /// @ingroup hotkey configuration_ui
 ///
 
-#include "config.h"
-
 #include "hotkey_data_view_model.h"
 
 #include <libaegisub/exception.h>
@@ -198,7 +196,6 @@ public:
 			model->ItemsDeleted(wxDataViewItem(this), removed);
 	}
 
-
 	wxDataViewItem GetParent() const override { return wxDataViewItem(nullptr); }
 	bool IsContainer() const override { return true; }
 	bool SetValue(wxVariant const&, unsigned int) override { return false; }
@@ -261,7 +258,6 @@ public:
 	}
 };
 
-
 HotkeyDataViewModel::HotkeyDataViewModel(Preferences *parent)
 : root(agi::util::make_unique<HotkeyModelRoot>(this))
 , parent(parent)
diff --git a/src/initial_line_state.cpp b/src/initial_line_state.cpp
index b7c0425b4f03bec42f650d6ea9257490a1722def..387cb5eaf7755006c6e0b9a773887e417c994d99 100644
--- a/src/initial_line_state.cpp
+++ b/src/initial_line_state.cpp
@@ -12,8 +12,6 @@
 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-#include "config.h"
-
 #include "initial_line_state.h"
 
 #include "ass_dialogue.h"
diff --git a/src/libresrc/libresrc.cpp b/src/libresrc/libresrc.cpp
index 3018e44c2534f70943385db3faa959ad4bd7e915..fa4e9f6e84d65d96fa1bc73f3778ee5ecc871167 100644
--- a/src/libresrc/libresrc.cpp
+++ b/src/libresrc/libresrc.cpp
@@ -12,8 +12,6 @@
 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-#include "../config.h"
-
 #include "libresrc.h"
 
 #include <wx/bitmap.h>
diff --git a/src/main.cpp b/src/main.cpp
index 74e98557c23ae8bbf483e15c4ff5716d4aa78b26..83dc8b8735c736db6b9b9272bb135fb6c85859de 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -32,8 +32,6 @@
 /// @ingroup main
 ///
 
-#include "config.h"
-
 #include "main.h"
 
 #include "command/command.h"
@@ -71,7 +69,6 @@
 #include <boost/locale.hpp>
 
 #include <wx/clipbrd.h>
-#include <wx/config.h>
 #include <wx/msgdlg.h>
 #include <wx/stackwalk.h>
 #include <wx/utils.h>
diff --git a/src/menu.cpp b/src/menu.cpp
index 4be26c289acd13852fb86093bd3bb1b0f844c1f8..9b3f1db605d61de594c03aa1128125738020a75d 100644
--- a/src/menu.cpp
+++ b/src/menu.cpp
@@ -16,8 +16,6 @@
 /// @brief Dynamic menu and toolbar generator.
 /// @ingroup menu
 
-#include "config.h"
-
 #include "include/aegisub/menu.h"
 
 #include "include/aegisub/context.h"
diff --git a/src/mkv_wrap.cpp b/src/mkv_wrap.cpp
index 835762f1ee97fe47dd02aba8d4d56758f61e9e14..0436464402a6b309fafd5e8745cc243a156a1618 100644
--- a/src/mkv_wrap.cpp
+++ b/src/mkv_wrap.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_input
 ///
 
-#include "config.h"
-
 #include "mkv_wrap.h"
 
 #include "ass_file.h"
diff --git a/src/osx_utils.mm b/src/osx_utils.mm
index 3250a315548d4407b3174128657cad764e2ccd2c..e85ab63340a5d7db80b849718ea50590050e8926 100644
--- a/src/osx_utils.mm
+++ b/src/osx_utils.mm
@@ -19,8 +19,6 @@
 /// @ingroup utils
 ///
 
-#include "config.h"
-
 #include <wx/window.h>
 #include <wx/osx/core/cfstring.h>
 
@@ -61,4 +59,3 @@ void SetPlaceholderText(wxWindow *window, wxString const& placeholder) {
         cell.placeholderString = wxCFStringRef(placeholder).AsNSString();
     }
 }
-
diff --git a/src/pen.cpp b/src/pen.cpp
index f51fdedc3678eed89ab863fcbc70f2da5aaae672..b7d0d147c1cd03db18d3a281791aa1e7ee1ab3f2 100644
--- a/src/pen.cpp
+++ b/src/pen.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "pen.h"
 
 #include "compat.h"
diff --git a/src/persist_location.cpp b/src/persist_location.cpp
index a0447580772d58a6f17163793dc51459f04e5315..8b1498ced3f7c56ea4784904368d6de0b5382d10 100644
--- a/src/persist_location.cpp
+++ b/src/persist_location.cpp
@@ -18,8 +18,6 @@
 /// @see persist_location.h
 /// @ingroup utility
 
-#include "config.h"
-
 #include "persist_location.h"
 
 #include "options.h"
diff --git a/src/preferences.cpp b/src/preferences.cpp
index 1956b920fdb8b228a78c1da0d619bf0ca645b931..55732104bd15c009f9f7212691f70f1156fc62d6 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -16,8 +16,6 @@
 /// @brief Preferences dialogue
 /// @ingroup configuration_ui
 
-#include "config.h"
-
 #include "preferences.h"
 
 #include "audio_renderer_waveform.h"
@@ -479,7 +477,6 @@ Automation::Automation(wxTreebook *book, Preferences *parent): OptionPage(book,
 	SetSizerAndFit(sizer);
 }
 
-
 /// Advanced preferences page
 Advanced::Advanced(wxTreebook *book, Preferences *parent): OptionPage(book, parent, _("Advanced")) {
 	wxFlexGridSizer *general = PageSizer(_("General"));
diff --git a/src/resolution_resampler.cpp b/src/resolution_resampler.cpp
index d4cd155edecf018a071fec173beb43704b90cfce..e6672d2c3ae450a925a57167d2b70f106c8237d3 100644
--- a/src/resolution_resampler.cpp
+++ b/src/resolution_resampler.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "resolution_resampler.h"
 
 #include "ass_dialogue.h"
diff --git a/src/retina_helper.mm b/src/retina_helper.mm
index f69bd52e0c961c88c3160c03d161a97521605512..3c211e2534fe653f9f83295d076e6404e7fa9fef 100644
--- a/src/retina_helper.mm
+++ b/src/retina_helper.mm
@@ -14,14 +14,11 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "retina_helper.h"
 
 #include <Cocoa/Cocoa.h>
 #include <wx/window.h>
 
-
 @interface RetinaObserver : NSObject
 @property (nonatomic, assign) NSWindow *window;
 @property (nonatomic, copy) void (^block)();
@@ -65,4 +62,3 @@ RetinaHelper::~RetinaHelper() {
 int RetinaHelper::GetScaleFactor() const {
 	return static_cast<int>(window->GetHandle().window.backingScaleFactor);
 }
-
diff --git a/src/scintilla_text_ctrl.cpp b/src/scintilla_text_ctrl.cpp
index 04d9d0231e83d121d7887d9332cb7c1b01ae6bc9..4e5892a0995177071a11819fcb52aaf4cfbc106b 100644
--- a/src/scintilla_text_ctrl.cpp
+++ b/src/scintilla_text_ctrl.cpp
@@ -32,8 +32,6 @@
 /// @ingroup custom_control
 ///
 
-#include "config.h"
-
 #include "scintilla_text_ctrl.h"
 #include "utils.h"
 
diff --git a/src/scintilla_text_selection_controller.cpp b/src/scintilla_text_selection_controller.cpp
index 642b05bdac8df3fa922b00177b04a13f7f9ac83a..f54e6841862ed89b0a75cb9d8001388342376b37 100644
--- a/src/scintilla_text_selection_controller.cpp
+++ b/src/scintilla_text_selection_controller.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "scintilla_text_selection_controller.h"
 
 #include "scintilla_text_ctrl.h"
diff --git a/src/search_replace_engine.cpp b/src/search_replace_engine.cpp
index 137a4693b0644291e2474691f3929f26b93ba110..d680fff763fc99f0544f1a4f3585dcd187896916 100644
--- a/src/search_replace_engine.cpp
+++ b/src/search_replace_engine.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "search_replace_engine.h"
 
 #include "ass_dialogue.h"
diff --git a/src/selection_controller.cpp b/src/selection_controller.cpp
index 02c184e9e58a31db75797c4e16357da26ec7ffe1..74a93f63c8373d0973d583958c9cfa836287cb37 100644
--- a/src/selection_controller.cpp
+++ b/src/selection_controller.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "selection_controller.h"
 
 #include "ass_dialogue.h"
diff --git a/src/spellchecker.cpp b/src/spellchecker.cpp
index 5dc0a2a104a91a1a57766719822cc1db493df2e5..f8872b549cd4d194609e1b0309cf383eb6028bf1 100644
--- a/src/spellchecker.cpp
+++ b/src/spellchecker.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "include/aegisub/spellchecker.h"
 #include "spellchecker_hunspell.h"
 
diff --git a/src/spellchecker_hunspell.cpp b/src/spellchecker_hunspell.cpp
index 9eec783bc5788fa770cec6b6f72fcbae1b311a10..3da4d93e9fe3f40492d5db72dbaecaaa293d4974 100644
--- a/src/spellchecker_hunspell.cpp
+++ b/src/spellchecker_hunspell.cpp
@@ -18,8 +18,6 @@
 /// @ingroup spelling
 ///
 
-#include "config.h"
-
 #ifdef WITH_HUNSPELL
 #include "spellchecker_hunspell.h"
 
diff --git a/src/spline.cpp b/src/spline.cpp
index 68599daa450714e9c97f55a3394ca64d67ccd97b..851eaa03da881e947dd70613ab3ec4601a493d22 100644
--- a/src/spline.cpp
+++ b/src/spline.cpp
@@ -32,8 +32,6 @@
 /// @ingroup visual_ts
 ///
 
-#include "config.h"
-
 #include "spline.h"
 
 #include "utils.h"
diff --git a/src/spline_curve.cpp b/src/spline_curve.cpp
index 48df6409f2ba5e016fd53ba91fa0d8a4a608c0b9..1cc546af50686cc878e3daf40a6b952eed8cee4e 100644
--- a/src/spline_curve.cpp
+++ b/src/spline_curve.cpp
@@ -32,8 +32,6 @@
 /// @ingroup visual_ts
 ///
 
-#include "config.h"
-
 #include "spline_curve.h"
 #include "utils.h"
 
diff --git a/src/string_codec.cpp b/src/string_codec.cpp
index a2b57085e054bdb4b9fb27996593afd7cf3ff190..5e48d214ae3d4c424d47368a7dec04c91b54f2f5 100644
--- a/src/string_codec.cpp
+++ b/src/string_codec.cpp
@@ -35,8 +35,6 @@
 // Functions for inline string encoding.
 // See header file for details.
 
-#include "config.h"
-
 #include "string_codec.h"
 
 #include <boost/format.hpp>
diff --git a/src/subs_controller.cpp b/src/subs_controller.cpp
index 208831936f115bdfc608fb2d5b898f2f059db104..df261045b370bdc64a56ae7b0ea4e7013db9214f 100644
--- a/src/subs_controller.cpp
+++ b/src/subs_controller.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "subs_controller.h"
 
 #include "ass_attachment.h"
diff --git a/src/subs_edit_box.cpp b/src/subs_edit_box.cpp
index 7f7de7c1ed18d8fd48dfd637d69b79fc8a1863ba..ad05bdd3412844262218f4787af1f9468a8d6d32 100644
--- a/src/subs_edit_box.cpp
+++ b/src/subs_edit_box.cpp
@@ -32,8 +32,6 @@
 /// @brief Main subtitle editing area, including toolbars around the text control
 /// @ingroup main_ui
 
-#include "config.h"
-
 #include "subs_edit_box.h"
 
 #include "ass_dialogue.h"
diff --git a/src/subs_edit_ctrl.cpp b/src/subs_edit_ctrl.cpp
index a6c4bf4bc593d3a64254677517233c7ea7d7a46d..afe8e81b15cde5957ecc54b6d1425ce568e715c0 100644
--- a/src/subs_edit_ctrl.cpp
+++ b/src/subs_edit_ctrl.cpp
@@ -32,8 +32,6 @@
 /// @ingroup main_ui
 ///
 
-#include "config.h"
-
 #include "subs_edit_ctrl.h"
 
 #include "ass_dialogue.h"
diff --git a/src/subs_preview.cpp b/src/subs_preview.cpp
index affbb97a99b20c51b1e5a1b3634a9793d2cfeab2..11713ba7cac96f80db06d70b45ae5e320ebd5c61 100644
--- a/src/subs_preview.cpp
+++ b/src/subs_preview.cpp
@@ -32,9 +32,6 @@
 /// @ingroup custom_control
 ///
 
-
-#include "config.h"
-
 #include "ass_dialogue.h"
 #include "ass_file.h"
 #include "ass_style.h"
diff --git a/src/subtitle_format.cpp b/src/subtitle_format.cpp
index 25eaa06e2869bae6116cfb0162b63869271e41d5..bc09823ddc630e0af4cd4e02d18b5b7c2cbec082 100644
--- a/src/subtitle_format.cpp
+++ b/src/subtitle_format.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io
 ///
 
-#include "config.h"
-
 #include "subtitle_format.h"
 
 #include <wx/intl.h>
@@ -272,7 +270,6 @@ void SubtitleFormat::MergeIdentical(AssFile &file) {
 	}
 }
 
-
 void SubtitleFormat::LoadFormats() {
 	if (formats.empty()) {
 		formats.emplace_back(agi::util::make_unique<AssSubtitleFormat>());
diff --git a/src/subtitle_format_ass.cpp b/src/subtitle_format_ass.cpp
index b7d5303a1c6df4b72fb6bc206728660e6ee1bd47..3fdc30e3969b4c900a90cef8a09dd8bcca58efa6 100644
--- a/src/subtitle_format_ass.cpp
+++ b/src/subtitle_format_ass.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "subtitle_format_ass.h"
 
 #include "ass_attachment.h"
diff --git a/src/subtitle_format_ebu3264.cpp b/src/subtitle_format_ebu3264.cpp
index f8134d43244fd4fb71d7e2ebdfd0a6e2ddec2ad3..282b57c859feded43dbcc37a70c3be79e165f0b4 100644
--- a/src/subtitle_format_ebu3264.cpp
+++ b/src/subtitle_format_ebu3264.cpp
@@ -21,8 +21,6 @@
 // This implements support for the EBU tech 3264 (1991) subtitling data exchange format.
 // Work on support for this format was sponsored by Bandai.
 
-#include "config.h"
-
 #include "subtitle_format_ebu3264.h"
 
 #include "ass_dialogue.h"
diff --git a/src/subtitle_format_encore.cpp b/src/subtitle_format_encore.cpp
index 0811850acae76108e8d24012720663e4dc2e4fbd..040d5d2a79ede3499dbf0c43048cd257a43ac099 100644
--- a/src/subtitle_format_encore.cpp
+++ b/src/subtitle_format_encore.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io
 ///
 
-#include "config.h"
-
 #include "subtitle_format_encore.h"
 
 #include "ass_dialogue.h"
diff --git a/src/subtitle_format_microdvd.cpp b/src/subtitle_format_microdvd.cpp
index b64e16e5d699a58c86c98664fc782a88206b3eee..04406f4c715a776f1e9bb493a3a87df92405a5a0 100644
--- a/src/subtitle_format_microdvd.cpp
+++ b/src/subtitle_format_microdvd.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io
 ///
 
-#include "config.h"
-
 #include "subtitle_format_microdvd.h"
 
 #include "ass_dialogue.h"
diff --git a/src/subtitle_format_mkv.cpp b/src/subtitle_format_mkv.cpp
index f56add910625555a29a607372d4bec0c984a5a04..ae4ac2893ed03813e7207f6e1bcb14395c22c342 100644
--- a/src/subtitle_format_mkv.cpp
+++ b/src/subtitle_format_mkv.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io matroska
 ///
 
-#include "config.h"
-
 #include "subtitle_format_mkv.h"
 
 #include "mkv_wrap.h"
diff --git a/src/subtitle_format_srt.cpp b/src/subtitle_format_srt.cpp
index 4b19933c213d77528823c3455d1e50679318d556..9f1ce165f2f390157898d869b79180548b2bb6bb 100644
--- a/src/subtitle_format_srt.cpp
+++ b/src/subtitle_format_srt.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io
 ///
 
-#include "config.h"
-
 #include "subtitle_format_srt.h"
 
 #include "ass_attachment.h"
diff --git a/src/subtitle_format_transtation.cpp b/src/subtitle_format_transtation.cpp
index 1c620103a4e0658f269cb03177ce94ed8e51851f..e0646c094ecd1484ceb0eedbf64cb91688bed773 100644
--- a/src/subtitle_format_transtation.cpp
+++ b/src/subtitle_format_transtation.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io
 ///
 
-#include "config.h"
-
 #include <cstdio>
 
 #include "subtitle_format_transtation.h"
diff --git a/src/subtitle_format_ttxt.cpp b/src/subtitle_format_ttxt.cpp
index de4c237a0f3e52529662d42f08aa0ce63085d750..48df989ac680aed09ab52887154a16c5425eefef 100644
--- a/src/subtitle_format_ttxt.cpp
+++ b/src/subtitle_format_ttxt.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io
 ///
 
-#include "config.h"
-
 #include "subtitle_format_ttxt.h"
 
 #include <wx/xml/xml.h>
diff --git a/src/subtitle_format_txt.cpp b/src/subtitle_format_txt.cpp
index a7c2e0b919d5859d2c3e29a1a5abe8e1883ecfc9..f2ce7f1b707f5f055414f5d259cfdb49ecbd3f17 100644
--- a/src/subtitle_format_txt.cpp
+++ b/src/subtitle_format_txt.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_io
 ///
 
-#include "config.h"
-
 #include "subtitle_format_txt.h"
 
 #include "ass_dialogue.h"
diff --git a/src/subtitles_provider.cpp b/src/subtitles_provider.cpp
index 42d03ef2dea22d8581597bf96317636abc0d5aae..4edf37507f9da8c392e23c2515cfb0bb470ffb65 100644
--- a/src/subtitles_provider.cpp
+++ b/src/subtitles_provider.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "include/aegisub/subtitles_provider.h"
 
 #include "factory_manager.h"
diff --git a/src/subtitles_provider_csri.cpp b/src/subtitles_provider_csri.cpp
index 245f710c521e28f683a91982ef0e32031c348e9c..a5f1183ec966f50b463ff5dfa93ecea0f886dcac 100644
--- a/src/subtitles_provider_csri.cpp
+++ b/src/subtitles_provider_csri.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_rendering
 ///
 
-#include "config.h"
-
 #ifdef WITH_CSRI
 #include "subtitles_provider_csri.h"
 
diff --git a/src/subtitles_provider_libass.cpp b/src/subtitles_provider_libass.cpp
index e015118ef721672cdeccb9ca1fa314ae6b46c709..44fa78a98ad82d887828a2e29e1ed669c8528c9e 100644
--- a/src/subtitles_provider_libass.cpp
+++ b/src/subtitles_provider_libass.cpp
@@ -32,8 +32,6 @@
 /// @ingroup subtitle_rendering
 ///
 
-#include "config.h"
-
 #include "subtitles_provider_libass.h"
 
 #include "ass_info.h"
diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp
index a56a695b3f00e2794372da32d7da8fcfcb3094cf..645e79ad1982bf5239c0e41da7757ee58c38eb3d 100644
--- a/src/text_file_reader.cpp
+++ b/src/text_file_reader.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "text_file_reader.h"
 
 #include <libaegisub/file_mapping.h>
diff --git a/src/text_file_writer.cpp b/src/text_file_writer.cpp
index 57e6179e801c0547159ed745d77085ebe31ed955..6de65a4d806d471fa79b5fdc63f1206fdf1aef63 100644
--- a/src/text_file_writer.cpp
+++ b/src/text_file_writer.cpp
@@ -19,8 +19,6 @@
 /// @ingroup utility
 ///
 
-#include "config.h"
-
 #include "text_file_writer.h"
 
 #include "options.h"
diff --git a/src/thesaurus.cpp b/src/thesaurus.cpp
index 0eaaee77726cfef77899ec2167693d1a1b36cf4a..158bbad794029d93e1c86c520c9a4bab6b064007 100644
--- a/src/thesaurus.cpp
+++ b/src/thesaurus.cpp
@@ -19,8 +19,6 @@
 /// @ingroup thesaurus
 ///
 
-#include "config.h"
-
 #include "thesaurus.h"
 
 #include "options.h"
diff --git a/src/timeedit_ctrl.cpp b/src/timeedit_ctrl.cpp
index 05971dcc65a0a9e093db223379ade73c5c53932c..6450379867a1bcbb6c0d66b8f0022f4281defcec 100644
--- a/src/timeedit_ctrl.cpp
+++ b/src/timeedit_ctrl.cpp
@@ -32,8 +32,6 @@
 /// @ingroup custom_control
 ///
 
-#include "config.h"
-
 #include "timeedit_ctrl.h"
 
 #include <functional>
diff --git a/src/toggle_bitmap.cpp b/src/toggle_bitmap.cpp
index a78121471cfbe01c03e75509bbeaaf2af5a638a2..abf21e1d87660e3b37e0a5201d6feafd79172b7e 100644
--- a/src/toggle_bitmap.cpp
+++ b/src/toggle_bitmap.cpp
@@ -32,8 +32,6 @@
 /// @ingroup custom_control
 ///
 
-#include "config.h"
-
 #include <wx/dcbuffer.h>
 #include <wx/settings.h>
 #include <wx/tglbtn.h>
diff --git a/src/toolbar.cpp b/src/toolbar.cpp
index 208f8b14a80f232b1faabc0a0bf129062927db63..837c36afd84e97f96c225ca90cfd13d64d81795b 100644
--- a/src/toolbar.cpp
+++ b/src/toolbar.cpp
@@ -16,8 +16,6 @@
 /// @brief Dynamic menu toolbar generator.
 /// @ingroup toolbar menu
 
-#include "config.h"
-
 #include "include/aegisub/toolbar.h"
 
 #include "command/command.h"
@@ -138,7 +136,6 @@ namespace {
 
 				last_was_sep = false;
 
-
 				int flags = command->Type();
 				wxItemKind kind =
 					flags & cmd::COMMAND_RADIO ? wxITEM_RADIO :
diff --git a/src/tooltip_manager.cpp b/src/tooltip_manager.cpp
index 89b21117bb027902d9ad07438f7fbf82f30526f0..447dbef4b4a3ae928719287b9825ece3159ec5e3 100644
--- a/src/tooltip_manager.cpp
+++ b/src/tooltip_manager.cpp
@@ -32,8 +32,6 @@
 /// @ingroup custom_control
 ///
 
-#include "config.h"
-
 #include "tooltip_manager.h"
 
 #include "compat.h"
diff --git a/src/utils.cpp b/src/utils.cpp
index 6b25d0bb502d416fba6c1becf544e21d6d9aec2a..2abd32926f82f6039cff48c084117f9ae8f5fa3c 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -32,8 +32,6 @@
 /// @ingroup utility
 ///
 
-#include "config.h"
-
 #include "utils.h"
 
 #include "compat.h"
@@ -262,7 +260,6 @@ size_t MaxLineLength(std::string const& text, bool ignore_whitespace) {
 	return std::max(max_line_length, current_line_length);
 }
 
-
 #ifndef __WXOSX_COCOA__
 // OS X implementation in osx_utils.mm
 void AddFullScreenButton(wxWindow *) { }
@@ -316,4 +313,3 @@ agi::fs::path OpenFileSelector(wxString const& message, std::string const& optio
 agi::fs::path SaveFileSelector(wxString const& message, std::string const& option_name, std::string const& default_filename, std::string const& default_extension, wxString const& wildcard, wxWindow *parent) {
 	return FileSelector(message, option_name, default_filename, default_extension, wildcard, wxFD_SAVE | wxFD_OVERWRITE_PROMPT, parent);
 }
-
diff --git a/src/validators.cpp b/src/validators.cpp
index dc8cfa5ef0ddee492706cad800256482191f525c..2ca5f72f4656d584418687ebb2a6fcf78d07aa84 100644
--- a/src/validators.cpp
+++ b/src/validators.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "validators.h"
 
 #include "compat.h"
diff --git a/src/vector2d.cpp b/src/vector2d.cpp
index 8ee263483cc8222d7e51e5d52cb84fc6d33e9ffb..a8dfae25ceb6607297bf979789a947fa66a84449 100644
--- a/src/vector2d.cpp
+++ b/src/vector2d.cpp
@@ -19,8 +19,6 @@
 /// @ingroup utility visual_ts
 ///
 
-#include "config.h"
-
 #include "vector2d.h"
 
 #include "utils.h"
diff --git a/src/version.cpp b/src/version.cpp
index 4b60cfefb2909467057a5001d6f5367035743d44..ec4f27073aecd09cdcd06d9e9a1956d087db39f2 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -32,8 +32,6 @@
 /// @ingroup main
 ///
 
-#include "config.h"
-
 #include "version.h"
 #include "git_version.h"
 
@@ -84,4 +82,3 @@ int GetSVNRevision() {
 	return 0;
 #endif
 }
-
diff --git a/src/video_box.cpp b/src/video_box.cpp
index 5b3a77f8d7a9fd892479c56b2ee9c01307fb8158..301b1d1af7378a5772b171d77bc5741205fb4f7a 100644
--- a/src/video_box.cpp
+++ b/src/video_box.cpp
@@ -32,8 +32,6 @@
 /// @ingroup main_ui video
 ///
 
-#include "config.h"
-
 #include <wx/combobox.h>
 #include <wx/sizer.h>
 #include <wx/statline.h>
diff --git a/src/video_context.cpp b/src/video_context.cpp
index 4b3545dc43bb5396895484a1c921622ea2e54c64..330fafa99fea66adcd1ed31ea8d7e3bec1b7e8cc 100644
--- a/src/video_context.cpp
+++ b/src/video_context.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video
 ///
 
-#include "config.h"
-
 #include "video_context.h"
 
 #include "ass_dialogue.h"
diff --git a/src/video_display.cpp b/src/video_display.cpp
index 0dd2a94dd92c13333028b6fa1b0ed215c6e17132..fdf061c31df55d7ef13dfe88dcb448974413d1e5 100644
--- a/src/video_display.cpp
+++ b/src/video_display.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video main_ui
 ///
 
-#include "config.h"
-
 #include "video_display.h"
 
 #include "ass_file.h"
diff --git a/src/video_frame.cpp b/src/video_frame.cpp
index 2ed01695b038e7b031e5e037b41cafc52fdbf098..91639318a2bcb7ae0e4cd4fec44fba9a920d11be 100644
--- a/src/video_frame.cpp
+++ b/src/video_frame.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "video_frame.h"
 
 #include <boost/gil/gil_all.hpp>
diff --git a/src/video_out_gl.cpp b/src/video_out_gl.cpp
index cbfe2c251160c0d013b2d7b60a2f3c87da94fd1e..3f73361cb75e208d16bf89d8d3fa5e9969ae89a0 100644
--- a/src/video_out_gl.cpp
+++ b/src/video_out_gl.cpp
@@ -19,8 +19,6 @@
 /// @ingroup video
 ///
 
-#include "config.h"
-
 #include <algorithm>
 #include <utility>
 
diff --git a/src/video_provider_avs.cpp b/src/video_provider_avs.cpp
index e992805c40249696911f7e2dd9ea82a4b240f134..02b9dc7e2b5d1448f0d1ba249d199dc440eec787 100644
--- a/src/video_provider_avs.cpp
+++ b/src/video_provider_avs.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_input
 ///
 
-#include "config.h"
-
 #ifdef WITH_AVISYNTH
 #include "include/aegisub/video_provider.h"
 
diff --git a/src/video_provider_cache.cpp b/src/video_provider_cache.cpp
index 69a03dd7ff791c7483810cd3b7472d6fe774ea73..e5e99805a0fd63087d961288552206dc56d89e53 100644
--- a/src/video_provider_cache.cpp
+++ b/src/video_provider_cache.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "include/aegisub/video_provider.h"
 
 #include "options.h"
diff --git a/src/video_provider_dummy.cpp b/src/video_provider_dummy.cpp
index 9bb18a0e0a70cb9c9ce27655ba8b8c6821f85c69..34ccf53903a218c94eb662a2055e58902120c27e 100644
--- a/src/video_provider_dummy.cpp
+++ b/src/video_provider_dummy.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_input
 ///
 
-#include "config.h"
-
 #include "video_provider_dummy.h"
 
 #include "colorspace.h"
diff --git a/src/video_provider_ffmpegsource.cpp b/src/video_provider_ffmpegsource.cpp
index 7947142181bd7349b0437009ffcb26a8b197fde2..5405c8758cedfbe6b72f9c2b628c46a7f9d4a3f4 100644
--- a/src/video_provider_ffmpegsource.cpp
+++ b/src/video_provider_ffmpegsource.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_input ffms
 ///
 
-#include "config.h"
-
 #ifdef WITH_FFMS2
 #include "ffmpegsource_common.h"
 #include "include/aegisub/video_provider.h"
diff --git a/src/video_provider_manager.cpp b/src/video_provider_manager.cpp
index 468d66b6c7f4bbc0d26f1539a597622fa2c4b792..dfe257749a0e0fe572390501e03ef1f8bee0ea68 100644
--- a/src/video_provider_manager.cpp
+++ b/src/video_provider_manager.cpp
@@ -14,8 +14,6 @@
 //
 // Aegisub Project http://www.aegisub.org/
 
-#include "config.h"
-
 #include "video_provider_manager.h"
 
 #include "factory_manager.h"
diff --git a/src/video_provider_yuv4mpeg.cpp b/src/video_provider_yuv4mpeg.cpp
index 08bd0626b4393cbfe34dd9a960309d8d69b858d1..b38f8ce67e5d1d1e444493aeddd2c433bc56ba34 100644
--- a/src/video_provider_yuv4mpeg.cpp
+++ b/src/video_provider_yuv4mpeg.cpp
@@ -32,8 +32,6 @@
 /// @ingroup video_input
 ///
 
-#include "config.h"
-
 #include "include/aegisub/video_provider.h"
 
 #include "compat.h"
@@ -77,7 +75,6 @@ class YUV4MPEGVideoProvider final : public VideoProvider {
 		Y4M_PIXFMT_MONO		/// luma only (grayscale)
 	};
 
-
 	/// Interlacing mode for an entire stream
 	enum Y4M_InterlacingMode {
 		Y4M_ILACE_NOTSET = -1,	/// undefined
@@ -90,7 +87,6 @@ class YUV4MPEGVideoProvider final : public VideoProvider {
 		Y4M_ILACE_UNKNOWN		/// unknown interlacing mode (not the same as undefined)
 	};
 
-
 	/// Frame information flags
 	enum Y4M_FrameFlags {
 		Y4M_FFLAG_NOTSET	= -1,		/// undefined
diff --git a/src/video_slider.cpp b/src/video_slider.cpp
index db5fa076d362f008c7467934799c8b61b6878ada..b6370847b7062a16064f6e4fc295d066a8d3a752 100644
--- a/src/video_slider.cpp
+++ b/src/video_slider.cpp
@@ -32,8 +32,6 @@
 /// @ingroup custom_control
 ///
 
-#include "config.h"
-
 #include "video_slider.h"
 
 #include "base_grid.h"
diff --git a/src/visual_feature.cpp b/src/visual_feature.cpp
index 366694b0c93a8a2f40a8acdeedf768cf1b688ccb..533d417e8c436fde3894730ddcf00f59b59c1a53 100644
--- a/src/visual_feature.cpp
+++ b/src/visual_feature.cpp
@@ -32,8 +32,6 @@
 /// @ingroup visual_ts
 ///
 
-#include "config.h"
-
 #include "gl_wrap.h"
 #include "visual_feature.h"
 
diff --git a/src/visual_tool.cpp b/src/visual_tool.cpp
index b1f29f4bd536ad166df7e4a177bf2fd28583455a..f5a25dfd18298f730a31f2ba95fef141174fd457 100644
--- a/src/visual_tool.cpp
+++ b/src/visual_tool.cpp
@@ -18,8 +18,6 @@
 /// @brief Base class for visual typesetting functions
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include "visual_tool.h"
 
 #include "ass_dialogue.h"
diff --git a/src/visual_tool_clip.cpp b/src/visual_tool_clip.cpp
index c7f8ce6a868e107c20781d9ab23dd198bcfdb4a7..754f5ab9ce112d60778d151a3ccd2acc1090c434 100644
--- a/src/visual_tool_clip.cpp
+++ b/src/visual_tool_clip.cpp
@@ -18,8 +18,6 @@
 /// @brief Rectangular clipping visual typesetting tool
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include "visual_tool_clip.h"
 
 #include "ass_dialogue.h"
diff --git a/src/visual_tool_cross.cpp b/src/visual_tool_cross.cpp
index 7757b924c3e17f0615a21b216371994f232fab3d..3f09082998aecc17ea15e8f82616f41474206635 100644
--- a/src/visual_tool_cross.cpp
+++ b/src/visual_tool_cross.cpp
@@ -18,8 +18,6 @@
 /// @brief Crosshair double-click-to-position visual typesetting tool
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include "visual_tool_cross.h"
 
 #include "gl_text.h"
diff --git a/src/visual_tool_drag.cpp b/src/visual_tool_drag.cpp
index 672d68d2d7ef7e0165890c280735042a3816833a..07967dd8e6fadf020268519e82b6b4224a80b9af 100644
--- a/src/visual_tool_drag.cpp
+++ b/src/visual_tool_drag.cpp
@@ -18,8 +18,6 @@
 /// @brief Position all visible subtitles by dragging visual typesetting tool
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include "visual_tool_drag.h"
 
 #include "ass_dialogue.h"
diff --git a/src/visual_tool_rotatexy.cpp b/src/visual_tool_rotatexy.cpp
index ae1c47b7dc4b07d988af7f841eb8a93371a79792..e3fc503e1ced43c181a14e2d62a1e068eef4f0c2 100644
--- a/src/visual_tool_rotatexy.cpp
+++ b/src/visual_tool_rotatexy.cpp
@@ -18,8 +18,6 @@
 /// @brief 3D rotation in X/Y axes visual typesetting tool
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include "visual_tool_rotatexy.h"
 
 #include <boost/format.hpp>
diff --git a/src/visual_tool_rotatez.cpp b/src/visual_tool_rotatez.cpp
index a23b935e164b9a3a6a71273aec21475191c00cf7..6fb0bb3f29ea05192c6d063e507eaf400b9bf7db 100644
--- a/src/visual_tool_rotatez.cpp
+++ b/src/visual_tool_rotatez.cpp
@@ -18,8 +18,6 @@
 /// @brief 2D rotation in Z axis visual typesetting tool
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include "visual_tool_rotatez.h"
 
 #include "utils.h"
diff --git a/src/visual_tool_scale.cpp b/src/visual_tool_scale.cpp
index 8e4670ac2ff869399867d8962c4c0d81ddb5b7f8..50f26844b14e1678e351ca8a70fb41648fe64362 100644
--- a/src/visual_tool_scale.cpp
+++ b/src/visual_tool_scale.cpp
@@ -18,8 +18,6 @@
 /// @brief X/Y scaling visual typesetting tool
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include <cmath>
 
 #include "visual_tool_scale.h"
diff --git a/src/visual_tool_vector_clip.cpp b/src/visual_tool_vector_clip.cpp
index 260a82d0d11a5f49be0ef905edcbd2be9fb02250..ac5751be3e678307f2df35118fb22404e9e14667 100644
--- a/src/visual_tool_vector_clip.cpp
+++ b/src/visual_tool_vector_clip.cpp
@@ -18,8 +18,6 @@
 /// @brief Vector clipping visual typesetting tool
 /// @ingroup visual_ts
 
-#include "config.h"
-
 #include "visual_tool_vector_clip.h"
 
 #include "ass_dialogue.h"