[x264-devel] [PATCH] build: Generate dependency information as a side-effect of compilation
Diego Biurrun
diego at biurrun.de
Wed May 7 11:24:55 CEST 2014
On Sun, May 04, 2014 at 09:50:35PM +0200, Janne Grunau wrote:
> On 2014-05-03 16:30:31 +0200, Diego Biurrun wrote:
> > This allows updating dependency information each time a file is changed,
> > instead of creating dependency information once at the first build. In the
> > latter case, dependency information is not updated each time a file is
> > changed so that it can get out of date quickly.
> > ---
> >
> > This could still use some testing on ARM and ICL.
>
> Works as expected for C sources on ARM, no change for assembler files.
> Adding 'ASFLAGS="$ASFLAGS -MMD"' to the non MACOSX ARM section generates
> dependency files as expected. The same doesn't work for darwin/macosx on arm
> due to gas-preprocessor.
Why does it conflict with gas-preprocessor?
> > .gitignore | 2 +-
> > Makefile | 27 +++++++++++----------------
> > configure | 8 ++------
> > 3 files changed, 14 insertions(+), 23 deletions(-)
>
> the change looks ok, I can't judge whether it's worth it. What is causing
> the slowdown? I'd guess including many small files in the Makefile and
> writing them during compilation. How large is the slowdown?
This patch iteration adds a separate step to generate dependencies for .asm
files. That causes a slowdown because the assembly files are processed
twice. In my local latest revision I have dropped that. NASM supports
generating dependencies as a side-effect of assembling, I'll check if
that also works with YASM.
> A full build is slightly faster on linux (cross-compiling with gcc for arm).
> make in a fully build tree (i.e. only dependency checking) is 2-3 times
> slower but still takes less then 0.1s with hot fs caches.
Does not sound like a relevant quantity to me.
Diego
More information about the x264-devel
mailing list