Javac works with what you give it. If there are dependencies between datasets, then they will not build; otherwise, they will compile just fine. There are optimization concerns though and here are some cases:
Java('build', [source1, source2], JAVASOURCEPATH='src') Note: keep in mind that the javac call will multithread automatically; I don't know if it default to 2 threads or to physical_core_count, but there is some auto-optimization here. Case 1: source1 = [ 1.java, 2.java, #.java ] source2 = [ a.java, b.java, n.java ] This is probably fine since you are optimizing the compilation by splitting of build trees. Case 2: source1 = 1.java source2 = 2.java sourceN = N.java This is bad; there is a lot of overhead. Java builds are not synonomous to c-like compiles. Case 3: source1 = dir1 source2 = dir2 This is essentially equivalent to case 1 and is fine. --- Long story short, the sources should probably be flattened, but there is also a performance issue with SCons java toolset atm which chokes on Java( ... ) calls with a large number of source inputs. Dirk and I have been discussing this on BitBucket and allowing for splitting of files like this may be useful currently. V/R, William On Sat, Jul 12, 2014 at 10:31 AM, Gary Oberbrunner <ga...@oberbrunner.com> wrote: > > > > On Sat, Jul 12, 2014 at 10:22 AM, William Blevins <wblevins...@gmail.com> > wrote: > >> >> 2432 definitely duplicates 1772. The only difference is that 2432 >> proposes a (bad) solution to the problem. >> >> Both give the example: >> >> Java('build', >> [source1, source2], >> JAVASOURCEPATH='src') >> >> And explain that "their" issue is that source1 and source2 build in parallel >> with separate javac commands; this is easily fixable with a FLATTEN call, >> but we still haven't asked the important question. Is this working as >> designed and the documentation needs to be updated to reflect or is this a >> software failure? >> >> I see what you mean now, William. I'm OK with marking as dup. As for > your big question, again I'm not the right guy to say but my understanding > is javac works much better when all the .java files are passed on the same > invocation. > > -- > Gary > > _______________________________________________ > Scons-dev mailing list > Scons-dev@scons.org > http://two.pairlist.net/mailman/listinfo/scons-dev > >
_______________________________________________ Scons-dev mailing list Scons-dev@scons.org http://two.pairlist.net/mailman/listinfo/scons-dev