PHP plugin doesn't support parallel make
apaku at gmx.de
Tue Jul 27 18:23:28 UTC 2010
On 27.07.10 09:15:04, Andreas Pakulat wrote:
> On 27.07.10 00:15:09, Milian Wolff wrote:
> > On Monday 26 July 2010 23:21:04 Alexander Shaduri wrote:
> > > Hello,
> > >
> > > Not sure if this is already known (and/or unsupported), but
> > > the PHP plugin has difficulties building with make -jN.
> > > KDevelop and KDevplatform build fine.
> > >
> > > Below is the output of "make -j3" (may need several
> > > "make clean" / "make -j3" cycles to reproduce).
> > >
> > > Is this worthy of a bug report?
> > Ahhh! So that is the problem. I'm often bugged by it myself while developing.
> > This definitely is a bug and I really want to fix it.
> > Can someone tell me how to force CMake to run one job and let the others wait
> > for that?
> Create the necessary dependencies. I'll have a look later tonight, is
> this with master and 1.0?
I've looked at this now and couldn't reproduce this here (within 5
minutes of running cmake; make (aborting after generation of the
parser); rm -rf *). Also the only files outside the parser dir that
use phpast.h are part of targets that won't be built before the parser
library as they depend on it. So I'm guessing that something with the
generated dependency information from cmake is wrong, if anybody feels
like uploading his build-tree (from a broken make -j3) somewhere I'd be
willing to take a peek.
Nonetheless I did a small change to the macro for the generation of the
parser code in kdevelop-pg-qt's master branch. The ast.h file is now
part of the source file list. This means its listed as source file when
creating the kdev4phpparser target, which is a good thing according to
the cmake documentation:
"A target created in the same directory (CMakeLists.txt file) that
speci‐ fies any output of the custom command as a source file is given a
rule to generate the file using the command at build time"
As I said, I couldn't reproduce it without the change either, so no idea
wether it fixes anything or not. Other than that I can't see any
problems with the cmake code related to missing dependencies.
If you stand on your head, you will get footprints in your hair.
More information about the KDevelop-devel