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

Hendrik Leppkes h.leppkes at gmail.com
Sun Jan 24 20:40:17 CET 2016


On Sun, Jan 24, 2016 at 7:27 PM, Andreas Cadhalpun
<andreas.cadhalpun at googlemail.com> wrote:
> On 24.01.2016 17:14, Henrik Gramner wrote:
>> On Sun, Jan 24, 2016 at 5:02 PM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
>>> Windows doesn't particularly care which slash direction you give it,
>>> so no, that changes nothing. I'm not quite sure why it fails with the
>>> include path this way, maybe some msys shenanigans.
>>> For fun and giggles, I hard-coded the correct include path in the
>>> common.mak file and that made config.h show up again of course, but
>>> the good old compiler error came back just like before.
>>>
>>> Might be msys thats interfering here and translating something it
>>> shouldn't, or double-translating something, I can't really tell just
>>> from the commands it calls.
>>> Like I said before, when initial MSVC support was build by Ronald and
>>> Martin, there were lots of troubles with absolute paths, which in the
>>> end were solved by not using them (sorry, no answers here).
>
> I have a hard time believing that there are environments, where one
> can't use absolute paths...

Its about the combination of msys and its automatic path translation
and the special option syntax msvc uses which msys doesn't recognize,
otherwise it would be fine.
But alas it is how it is, and we have to deal with what we have.

>
>> Is there any reason why we're using absolute paths then?
>
> It is what $(pwd) gives us.
>
>> Can't we just stick to relative paths with forward slashes since
>> they seem to work with all tools?
>
> OK, let's try this.
> Attached is a patch calculating dst_path as relative path.
> That should hopefully work everywhere. Please test it.
>

Unfortunately that doesn't work when there is no common path, ie.
sources on another drive (say D:) as my build directory (say C:)
The script produces a long chain of "../.." then of course, which
would work on a unix-like filesystem, but the only way to switch
drives in windows-path is using absolute paths.

- Hendrik


More information about the ffmpeg-devel mailing list