RFR: 8015145: Smartjavac needs more flexibility with linking to sources
Jonathan Gibbons
jonathan.gibbons at oracle.com
Thu Aug 15 08:11:13 PDT 2013
Looks OK.
-- jon
On 08/15/2013 03:36 AM, Erik Joelsson wrote:
> Friendly reminder that this needs to be looked at. The JCE team
> converting to the new build is dependent on this change.
>
> /Erik
>
> On 2013-08-07 11:37, Erik Joelsson wrote:
>>
>>
>> On 2013-07-26 22:40, Jonathan Gibbons wrote:
>>> I am concerned by the preceding comment, starting line 255.
>>>
>>> 255 // Always reuse -src for linking as well! This
>>> means that we might
>>> 256 // get two -sourcepath on the commandline after the
>>> rewrite, which is
>>> 257 // fine. We can have as many as we like.
>>>
>>> Yes, you can put as many -sourcepath options as you want, but as far
>>> as javac
>>> is concerned, "last one wins". If you want all the options to be
>>> significant in the
>>> child javac commands, you need to join the values.
>>>
>> I have reworded the comment, explaining that they are indeed joined
>> later, before being handed to javac. I also added a test for the
>> usecase I'm describing below and made the Sjavac tests runnable by
>> jtreg.
>>
>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.02/
>>
>> /Erik
>>> -- Jon
>>>
>>> On 06/07/2013 05:43 AM, Erik Joelsson wrote:
>>>> Here is a patch solving a problem with -sourcepath for sjavac.
>>>>
>>>> First some background. The security sources (the ones that require
>>>> signing) need to be built to a separate directory. If they aren't
>>>> (as is the case now) security tests will fail if run on the
>>>> exploded jdk image (the one you get when just typing make or make
>>>> jdk). In JDK-8009280, I'm trying to fix this. The solution I have
>>>> for that bug is working well, except when running with sjavac, and
>>>> basically builds all classes except the security classes first to
>>>> the normal outputdir and then as a separate step builds just the
>>>> security classes to a different outputdir.
>>>>
>>>> There are two issues that need to be addressed in sjavac for this
>>>> to work. First, it needs to be possible to supply the same source
>>>> root both to the -src and -sourcepath option (but with different
>>>> filter rules). Sjavac is very picky and only links to sources that
>>>> are included in either of those options, and since we are excluding
>>>> the security sources from -src, we need to add them to -sourcepath.
>>>>
>>>> The second thing is more of a bug as far as I can tell. Sjavac
>>>> compares the found set of sources to compile with what the makefile
>>>> think needs to be compiled, as a safety check. Currently, sjavac is
>>>> including sources that are just being linked to in this comparison.
>>>> I would think that it should only include sources that are meant to
>>>> be compiled.
>>>>
>>>> http://cr.openjdk.java.net/~erikj/8015145/webrev.langtools.01/
>>>>
>>>> http://bugs.sun.com/view_bug.do?bug_id=8015145
>>>>
>>>> /Erik
>>>
More information about the compiler-dev
mailing list