Reproducible builds

Alexandre Julliard julliard at winehq.org
Mon Mar 6 09:44:50 CST 2017


Marcus Meissner <marcus at jet.franken.de> writes:

> Which is caused by these Makefile rules:
>
> mcy.tab.h: /home/marcus/projects/wine/tools/wmc/mcy.y
>         $(BISON) -p mcy_ -o mcy.tab.c -d /home/marcus/projects/wine/tools/wmc/mcy.y
> mcy.tab.c: /home/marcus/projects/wine/tools/wmc/mcy.y mcy.tab.h
>         $(BISON) -p mcy_ -o $@ /home/marcus/projects/wine/tools/wmc/mcy.y
>
> The same bison call will generate both mcy.tab.h and mcy.tab.c, but the rules race each other
> due to the timestamp of mcy.tab.h being too close to mcy.tab.c.
>
> A rule like:
>
> mcy.tab.h mcy.tab.c: /home/marcus/projects/wine/tools/wmc/mcy.y
>         $(BISON) -p mcy_ -o mcy.tab.c -d /home/marcus/projects/wine/tools/wmc/mcy.y
>
> will also work. I will be sending a patch.

No, that doesn't work because both commands can run at the same time and
overwrite each other files. That's why the .tab.c needs a dependency on
the .tab.h.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list