Small change triggers 8990 file compiling?
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Oct 12 02:06:51 PDT 2012
On 2012-10-12 04:57, Weijun Wang wrote:
> Hi All
>
> I'm using the new build on a Ubuntu 12.04 64 bit. Configure runs ok,
> and make runs ok. Now I have a good build output directory. Running
> make again costs no time at all.
>
> Then I qpush a mq patch, which only touches 30 or so files deep inside
> src/share/classes/com/sun/security and src/share/classes/sun/security
> of the jdk repo, and running make shows
>
> Compiling 8990 files for BUILD_JDK
>
> and a while bunch of other c files which costs 00:01:20.
>
> Is that an expected behavior?
Unfortunately, yes, at the moment. As you've seen by previous replies,
smart javac will help this massively.
There is another workaround, which might be removed if smartjavac gets
enabled by default in the future, but might help until then. You can
specify JDK_FILTER="com/sun/security sun/security" on the make command
line, and get the BUILD_JDK pass to only recompile files with a path
starting with these patterns.
Note that this will break dependency tracking and might produce broken
builds if used incorrectly!
/Magnus
More information about the build-infra-dev
mailing list