Commit Graph

176 Commits

Author SHA1 Message Date
Thomas Goyne 2269dbcfe0 Reuse previously calculated string widths 2015-02-07 14:56:48 -08:00
Niels Martin Hansen 0f618d94df Enable assembly routines for libass on Windows 2015-01-20 21:22:23 +01:00
Niels Martin Hansen bfa416c583 Build fribidi with standard-malloc flag
Not using this may cause unpredictable crashes in some builds
on some systems. Fribidi's own allocator is not thread safe.
2015-01-20 21:22:21 +01:00
Niels Martin Hansen 2cfa6f14f2 Split Yasm targets into reusable file 2015-01-20 21:22:20 +01:00
Niels Martin Hansen e692759ea1 Change standard-outdirs.props to space indents 2015-01-20 21:22:19 +01:00
Niels Martin Hansen 5e446264a2 Use new task in relative-ObjectFileName target 2015-01-20 21:22:18 +01:00
Niels Martin Hansen 59ab4cd09b Rework InstallHeaders target to be more regular 2015-01-20 21:22:16 +01:00
Niels Martin Hansen 773b60c36c Rework header copy in boost build 2015-01-20 21:22:15 +01:00
Niels Martin Hansen b97ea87b4c Fix libass project for FastUptodateCheck 2015-01-20 02:53:47 +01:00
Niels Martin Hansen 76b776d483 Fix libaegisub project for FastUptodateCheck 2015-01-20 02:53:46 +01:00
Niels Martin Hansen 8ca73559bd Fix boost project for FastUptodateCheck 2015-01-20 02:53:44 +01:00
Niels Martin Hansen 9016a61ec4 Fix freetype project for FastUptodateCheck 2015-01-20 02:53:43 +01:00
Niels Martin Hansen 722e979419 Fix luajit project for FastUptodateCheck 2015-01-20 02:53:28 +01:00
Niels Martin Hansen a0bf50dc8a Upgrade all MSBuild projects to v12 tools
Has no real effect, it's what VS 2013 already uses and detailed
logging reveals that the build system doesn't even recognize v4
and assumes v12 anyway.
Might prevent builds with outdated tools.
2015-01-18 03:03:42 +01:00
Niels Martin Hansen 52d4955064 Clean up object dirs for Yasm'd files on Windows 2015-01-14 04:45:45 +01:00
Niels Martin Hansen 5bcfc81df5 Clean up produced object dirs during Windows build
Adds some additional MSBuild magic that chops dir names
from a given base, to avoid making deep, thin hierarchies
of dirs when building especially FFmpeg and libaegisub.
2015-01-14 04:45:02 +01:00
Niels Martin Hansen 719eff39b1 Integrate Yasm assembling better in VC build
By not having it blindly run before the ClCompile target
it won't be checked every time you choose to build a single
file from the IDE. Instead it becomes a separate build stage
of its own.
2015-01-14 03:40:36 +01:00
Niels Martin Hansen a0a6194a26 Partially revert 68781a9
The change in source file paths breaks on some systems
2015-01-14 01:06:42 +01:00
Niels Martin Hansen 68781a95b2 Log names of files Yasm'd in FFmpeg build 2015-01-14 00:21:24 +01:00
Thomas Goyne 0b0eaed049 Also disable unused boost stuff on Windows 2015-01-01 10:24:01 -08:00
Thomas Goyne 069af7cfca Build wx without wxAny 2015-01-01 10:24:01 -08:00
Thomas Goyne e485c469e2 Pull some of OptionValue to a cpp file 2014-12-28 20:21:48 -08:00
Thomas Goyne a6b1639320 Extract some bits that don't need to be templated from templates
Cuts compile time by about 10% and shrinks the final binary a little.
2014-12-28 16:46:38 -08:00
Thomas Goyne 7fc2b248ad Update dependencies 2014-11-30 15:28:58 -08:00
Thomas Goyne 97a19d4fe2 Shut up strdup "deprecation" warnings 2014-07-28 15:52:37 -07:00
Thomas Goyne a01a84fb4f Extract some common ffi API stuff 2014-07-28 12:30:44 -07:00
Thomas Goyne cf252fa91a Add simple type -> type name string compile time reflection stuff
This is needed for passing types to the LuaJIT ffi.
2014-07-28 12:30:44 -07:00
Thomas Goyne bffbae0ed9 Fix vc++ compilation 2014-07-10 12:55:38 -07:00
Thomas Goyne 3b34ed9a77 Move AssTime to libaegisub and add tests 2014-07-06 19:25:49 -07:00
Thomas Goyne dd70da35d4 Remove some cruft from the fonts collector 2014-07-06 19:25:48 -07:00
Thomas Goyne df8ad34838 Eliminate pointless runtime datastructures for CalltipProvider
And add some tests and make it actually work correctly.
2014-07-04 20:37:36 -07:00
Thomas Goyne 71b74a6e86 Remove -D__STDC_FORMAT_MACROS from CXXFLAGS
The inttypes defines are no longer used anywhere due to that agi::Format
doesn't require them.
2014-07-01 12:22:39 -07:00
Thomas Goyne a38793497f Drop support for the DirectX SDK and require the Windows 8 SDK for DirectSound 2014-06-29 10:45:27 -07:00
Thomas Goyne bc410a99f6 Change the in-memory storage of options to a sorted vector 2014-06-29 10:01:00 -07:00
Thomas Goyne 6a3a401f57 Update fontconfig 2014-06-26 16:50:54 -07:00
Thomas Goyne b8f20dfe49 Add a custom stream IO implementation for Freetype
Freetype expects its IO to perform like mmap (i.e. seeking to be free),
but the non-unix implementation uses fseek and fread. This
implementation simply reads the entire file into a buffer, as fonts
generally aren't very big.

Cuts the time to recreate the fontconfig cache on my machine by about
60%.
2014-06-26 16:50:54 -07:00
Thomas Goyne 99cf941edd Trim a bit more out of the ICU data files 2014-06-26 16:50:43 -07:00
Thomas Goyne 3c57dda9ac Update to hunspell 1.3.3 2014-06-26 16:50:43 -07:00
Thomas Goyne 5816af6c01 Disable RTTI for ffms2, hunspell, and universalchardet
They don't actually use it so it's just pointless bloat.
2014-06-24 13:14:21 -07:00
Thomas Goyne 556d655c0b Update ffmpeg, ffms2, libass 2014-06-06 12:08:51 -07:00
Thomas Goyne 3bd6c302c3 Add a bunch of missing project references 2014-06-02 13:02:05 -07:00
Thomas Goyne 9f8a648017 Disable a bunch of ICU stuff we don't use
Bumps ~800KB off the executable (and 100MB off icu.lib).
2014-06-02 13:02:05 -07:00
Thomas Goyne ff9beb850c Build wx without iostream support 2014-05-31 08:11:32 -07:00
Thomas Goyne 060536824b Kill ScintillaTextCtrl and just always use the UTF-8 methods
Trivially improves performance and reduces the opportunities for wxSTC
to fuck up.
2014-05-30 13:24:38 -07:00
Thomas Goyne e6b495dc1b Enable ffmpeg's png decoder 2014-05-30 13:24:38 -07:00
Thomas Goyne db3452bcde Disable decoders for dumb rarely-used formats which have huge data tables 2014-05-30 13:24:38 -07:00
Thomas Goyne 59489b8f8c Extract some of the string formatter implementation to format.cpp 2014-05-30 11:53:15 -07:00
Thomas Goyne 37c02ae127 Replace wxString::Format with agi::format
It's modestly faster, significantly more type-safe, and doesn't assert
when there's too few arguments, which causes problems for plural forms.

Closes #1733.
2014-05-30 11:53:14 -07:00
Thomas Goyne b43788fa7f Replace boost::format with agi::format
boost::format is slow to compile, slow to run, and has an unpleasant
interface.
2014-05-30 08:30:31 -07:00
Thomas Goyne 1f7c47239b Replace timeval junk with std::chrono 2014-05-26 09:34:19 -07:00