[FFmpeg-devel] [PATCH 2/2] configure: instruct MSVC 2015 to properly process UTF-8 string literals
protogonoi at gmail.com
Sat Feb 4 06:50:42 EET 2017
On 4 February 2017 at 02:32, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
> On Fri, Feb 3, 2017 at 3:05 PM, James Almer <jamrial at gmail.com> wrote:
> > On 2/3/2017 5:41 AM, Hendrik Leppkes wrote:
> >> Without the /UTF-8 switch, the MSVC compiler treats all files as in the
> >> system codepage, instead of in UTF-8, which causes UTF-8 string literals
> >> to be interpreted wrong.
> >> This switch was only introduced in VS2015 Update 2, and any earlier
> >> versions do not have an equivalent solution.
> >> Fixes fate-sub-scc on MSVC 2015+
> >> ---
> >> configure | 3 +++
> >> 1 file changed, 3 insertions(+)
> >> diff --git a/configure b/configure
> >> index d3d652f0f4..231cc3eca7 100755
> >> --- a/configure
> >> +++ b/configure
> >> @@ -6327,6 +6327,9 @@ EOF
> >> # Issue has been fixed in MSVC v19.00.24218.
> >> check_cpp_condition windows.h "_MSC_FULL_VER >= 190024218" ||
> >> check_cflags -d2SSAOptimizer-
> >> + # enable utf-8 source processing on VS2015 U2 and newer
> >> + check_cpp_condition windows.h "_MSC_FULL_VER >= 190023918" &&
> >> + add_cflags -utf-8
> > Probably better use check_cflags, just in case.
> check_cflags doesn't work, since most wrong options just cause it to
> emit a warning but not error out (although confusingly some do error
> out, like the d2 option above, since the d2 prefix directly targets
> the c2 compiler stage, and unknown options there error instead of
> Thats the whole reason I added a version check in the first place
> instead of solely using check_cflags with it.
> I mean, no real harm to use check_cflags together with the version
> check, but since it doesn't do anything, I figured I would save the
> extra check and a few forks.
Is there any possibility to also find a fix for this on older msvc
versions? If you direct me to the specific lines of code that are
mis-compiling/executing ill have a look.
In the mean time this patch looks good to me.
More information about the ffmpeg-devel