[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] MSVC (was Build Again) (OT)
|
Thanks, Leo. I think you are right. The internal builder had a parallel build capability. Haven't tried it though.
On Thu, Apr 29, 2010 at 12:17 PM, Treggiari, Leo
<leo.treggiari@xxxxxxxxx> wrote:
For /MP to work, whatever build system is invoking the compiler
needs to understand what source files are out of date and what compiler options
are used with each source file – i.e. you can only compile multiple files
when all of the files are using the same compiler options.
There are also some significant restrictions on when /MP can be
used. I don’t remember what they are but the last time I looked it appeared
that they made /MP useless in a typical Visual Studio “debug”
configuration build. I think Visual Studio’s parallel build
capabilities are pretty much restricted to building different projects in
parallel, not individual source files.
MBS has 2 “modes”:
1.
Makefile generating – in this case you are still stuck
with the make restrictions
2.
Internal builder – I suspect the internal builder could be
made to do this if it doesn’t already (I don’t know)
Leo
On Thu, Apr 29, 2010 at 4:25 AM, Jesper Eskilson <jesper.eskilson@xxxxxx> wrote:
On 2010-04-28 15:25, Doug
Schaefer wrote:
It wouldn't be that complicated. You'd probably do it the
same way you
pass the list of object files to the linker.
No, because the linker ALWAYS receives ALL the objects files. The rule
typically looks like this
foo.exe: $(OBJS)
$(LINK) $^ -o $@
If you would do the same with the compiler, you would *always* compile *all*
source files. Instead, compiler rules typically look something like this:
.c.h:
$(CC) -c $< -o $@
This will invoke "cl -c foo.c -o foo.o", once for each source file
which is out of date. I cannot see how the /MP option allows cl to parallellize
over all the source files it should compile.
This is getting too off-topic for CDT, so I'll stop here. Sorry if I'm not able
to make myself clear.
No, it's on topic. How we handle this will make a difference
on the MSVC integration.
We keep talking about nmake, but I imagine VS users will
likely want to use CDT's managed build for their projects. Is this something
managed build can take care of?
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev