[FFmpeg-devel] [PATCH] build: fix make checkheaders in out-of-tree builds

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Sun Jan 24 15:45:51 CET 2016


On 24.01.2016 13:38, Hendrik Leppkes wrote:
> On Sun, Jan 24, 2016 at 12:52 PM, Andreas Cadhalpun
>> Thus I object to reverting this before the regression caused by 31741ae is fixed.
> 
> So you break building of git master, and you try to leverage this to
> get your own agenda forward? Seriously?
> I already conceded the other issue as long as it doesn't cause serious
> regressions (ie. vp9), so get over yourself. Is this how debian does
> business? Sounds like a fun place to be.

Let's just not continue along this way.
Your behavior annoyed me and I guess my behavior annoyed you, leading to
harsh words from both sides. I'm sorry about that.

>> Also, please be a bit more constructive. Just complaining that it doesn't work
>> in your setup is not helpful, as I don't have that setup and thus can't investigate
>> the problem. At the very least I'd need to see the output of 'make V=1'.
>>
> 
> Here have some output:
> D:\Multimedia\ffmpeg\build>make V=1
> cl -nologo -ID:/Multimedia/ffmpeg/build/
> -I/d/Multimedia/ffmpeg/develop/ -D_ISOC99_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_WIN32_WINNT=0x0502
> -DZLIB_CONST -DHAVE_AV_CONFIG_H -ID:/Multimedia/ffmpeg/build/
> -I/d/Multimedia/ffmpeg/develop/ -D_ISOC99_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_WIN32_WINNT=0x0502
> -DZLIB_CONST -DHAVE_AV_CONFIG_H -nologo -D_USE_MATH_DEFINES
> -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS    -Z7 -W4
> -wd4244 -wd4127 -wd4018 -wd4389 -wd4146 -wd4057 -wd4204 -wd4706
> -wd4305 -wd4152 -wd4324 -we4013 -wd4100 -wd4214 -wd4307 -wd4273
> -wd4554 -wd4701 -O2   -Oy-  -showIncludes -Zs
> /d/Multimedia/ffmpeg/develop/libavdevice/alldevices.c 2>&1 | awk
> '/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($0,
> / /)) print "libavdevice/alldevices.o:", $0 }' >
> libavdevice/alldevices.d
> cd /d/Multimedia/ffmpeg/develop; if [ -n
> "/d/Multimedia/ffmpeg/develop" ]; then dest=libavdevice/alldevices.c;
> else dest=D:/Multimedia/ffmpeg/build//d/Multimedia/ffmpeg/develop/libavdevice/alldevices.c;
> fi; cl -ID:/Multimedia/ffmpeg/build/ -I/d/Multimedia/ffmpeg/develop/
> -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_WIN32_WINNT=0x0502 -DZLIB_CONST -DHAVE_AV_CONFIG_H -nologo
> -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS
> -D_CRT_NONSTDC_NO_WARNINGS    -Z7 -W4 -wd4244 -wd4127 -wd4018 -wd4389
> -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 -wd4152 -wd4324 -we4013
> -wd4100 -wd4214 -wd4307 -wd4273 -wd4554 -wd4701 -O2   -Oy-   -c
> -FoD:/Multimedia/ffmpeg/build/libavdevice/alldevices.o $dest
> alldevices.c

So here the correct path is passed to '-Fo'.

> D:\Multimedia\ffmpeg\develop\libavdevice\alldevices.c : fatal error
> C1083: Cannot open compiler generated file:
> 'D:\Multimedia\ffmpeg\develop\D:\Multimedia\BuildEnv\MSYS2\Multimedia\ffmpeg\build\libavdevice\alldevices.o':
> Invalid argument

But it seems MSYS2 interpreted it as unix path and tried to convert it
to a Windows path. This is probably caused by the original path using
'/' instead of '\'.

Does the following fix it?
--- a/configure
+++ b/configure
@@ -6234,7 +6234,7 @@ enabled stripping || strip="echo skipping strip"
 config_files="$TMPH config.mak doc/config.texi"
 
 if enabled msvc; then
-    dst_path=$(pwd -W)
+    dst_path=$(pwd -W | sed 's_/_\\_g')
 else
     dst_path=$(pwd)
 fi

Best regards,
Andreas


More information about the ffmpeg-devel mailing list