diff --git a/build/boost/boost.vcxproj b/build/boost/boost.vcxproj
index f708057d9..64598c176 100644
--- a/build/boost/boost.vcxproj
+++ b/build/boost/boost.vcxproj
@@ -44,12 +44,44 @@
/>
+
+
+
+ {f934ab7b-186b-4e96-b20c-a58c38c1b818}
+
+
+ {965054d2-44f2-4eb2-9879-051cc3d7ef08}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -61,55 +93,20 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
@@ -119,6 +116,8 @@
+
+
diff --git a/build/boost/boost.vcxproj.filters b/build/boost/boost.vcxproj.filters
index 8eb1ecd14..c8e796a47 100644
--- a/build/boost/boost.vcxproj.filters
+++ b/build/boost/boost.vcxproj.filters
@@ -117,21 +117,12 @@
locale\icu
-
- locale\icu
-
-
- locale\icu
-
locale\icu
locale\icu
-
- locale\icu
-
locale\util
@@ -200,9 +191,6 @@
locale\icu
-
- locale\icu
-
locale\icu
@@ -212,9 +200,6 @@
locale\icu
-
- locale\icu
-
locale\icu
@@ -257,4 +242,4 @@
locale\encoding
-
+
\ No newline at end of file
diff --git a/build/boost/locale_stubs.cpp b/build/boost/locale_stubs.cpp
new file mode 100644
index 000000000..57c3e921c
--- /dev/null
+++ b/build/boost/locale_stubs.cpp
@@ -0,0 +1,69 @@
+// Copyright (c) 2014, Thomas Goyne
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// Aegisub Project http://www.aegisub.org/
+
+#include
+#include
+#include
+
+// Boost.locale doesn't support partial builds of ICU, so provide stub versions
+// of some of the things we don't use
+namespace boost { namespace locale {
+namespace impl_icu {
+struct cdata {
+ icu::Locale locale;
+ std::string encoding;
+ bool utf8;
+};
+
+std::locale create_formatting(std::locale const& in, cdata const& cd, character_facet_type type) {
+ return in;
+}
+
+std::locale create_parsing(std::locale const& in, cdata const& cd, character_facet_type type) {
+ return in;
+}
+
+std::locale create_calendar(std::locale const& in, cdata const& cd) {
+ return in;
+}
+
+}
+namespace gnu_gettext {
+template<>
+message_format *create_messages_facet(messages_info const &info) {
+ return nullptr;
+}
+
+template<>
+message_format *create_messages_facet(messages_info const &info) {
+ return nullptr;
+}
+
+#ifdef BOOST_HAS_CHAR16_T
+template<>
+message_format *create_messages_facet(messages_info const &info) {
+ return nullptr;
+}
+#endif
+
+#ifdef BOOST_HAS_CHAR32_T
+template<>
+message_format *create_messages_facet(messages_info const &info) {
+ return nullptr;
+}
+#endif
+}
+} }
diff --git a/build/icu/icu.vcxproj b/build/icu/icu.vcxproj
index b220b61df..56bb9e331 100644
--- a/build/icu/icu.vcxproj
+++ b/build/icu/icu.vcxproj
@@ -23,6 +23,15 @@
%(AdditionalIncludeDirectories)
+ U_ENABLE_DYLOAD=0;
+ U_CHECK_DYLOAD=0;
+ UCONFIG_NO_FILE_IO=1;
+ UCONFIG_NO_LEGACY_CONVERSION=1;
+ U_CHARSET_IS_UTF8=1;
+ UCONFIG_NO_IDNA=1;
+ UCONFIG_NO_FORMATTING=1;
+ UCONFIG_NO_TRANSLITERATION=1;
+
U_ATTRIBUTE_DEPRECATED=;
_CRT_SECURE_NO_DEPRECATE;
U_COMMON_IMPLEMENTATION;