[FFmpeg-devel] [PATCH 2/2] configure: instruct MSVC 2015 to properly process UTF-8 string literals

Hendrik Leppkes h.leppkes at gmail.com
Fri Feb 3 17:32:39 EET 2017


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
warn).
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.

- Hendrik


More information about the ffmpeg-devel mailing list