can't build jigsaw with new javac
Jonathan Gibbons
Jonathan.Gibbons at Sun.COM
Tue Mar 9 18:49:11 PST 2010
Mandy Chung wrote:
> Jonathan Gibbons wrote:
>> Mandy,
>>
>> It seems anomalous that there are two different values for
>> -Xbootclasspath in the modularize target.
>>
>>>
>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/bin/javac -source 7
>>> -target 7 -encoding ascii
>>> "-Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/classes"
>>
>>
>
> This is the value coming from $(JAVACFLAGS) that doesn't have some
> classes from other jar files (sa-jdi.jar). If sa-jdi.jar is the only
> missing jar file (I have to double check), I could use
> -Xbootclasspath/a instead
>>> -d /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>>>
>>> -Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/classes\
>>>
>
> That's the value I want. I unjar all jdk jar files in
> $outputdir/tmp/modules/classes as part of the modularization process.
>
> Since $outputdir/tmp/modules/classes has all the jdk classes, I took
> the easiest approach to replace the entire bootclasspath with that.
>
> What about if I use -J-Xbootclasspath:$outputdir/tmp/modules/classes?
> Would javac be able to look up all jdk modules and compile all
> module-info.java? Would that be a better temporary workaround for now?
-J-Xbootclasspath means something completely different and affects the
path used to find javac's own classes. Almost certainly, you don't mean
that. Tomorrow I will look at removing -Xbootclasspath from the command
line used for the modularize target, to see whether that is sufficient
to fix the current problem.
-- Jon
>
> Mandy
>
>>> -modulepath
>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>>> -sourcepath
>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src \
>>>
>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src/*/module-info.java
>>>
>>> javac: cannot specify both -bootclasspath and -modulepath
>>> Usage: javac <options> <source files>
>>> use -help for a list of possible options
>>
>> One value comes in via $(JAVACFLAGS), the other is explicit.
>>
>> -- Jon
>>
>>
>> Mandy Chung wrote:
>>> On 03/09/10 12:16, Jonathan Gibbons wrote:
>>>> Mandy,
>>>>
>>>> What are you trying to do here? You can't have -Xbootclasspath and
>>>> -modulepath.
>>>
>>> That was a hack for javac to find classes that are not in the default
>>> bootclasspath (e.g. lib/sa-jdi.jar).
>>>
>>> For example, $outputdir/tmp/modules/src/jsadebugd/module-info.java
>>> has a main class of sun.jvm.hotspot.jdi.SADebugServer that is not
>>> in $outputdir/classes
>>>
>>> Is there a better way to do this?
>>>
>>> Mandy
>>>
>>>>
>>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/bin/javac -source
>>>>> 7 -target 7 -encoding ascii
>>>>> "-Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/classes"
>>>>> -d /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>>>>>
>>>>> -Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/classes\
>>>>>
>>>>> -modulepath
>>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>>>>> -sourcepath
>>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src \
>>>>>
>>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src/*/module-info.java
>>>>>
>>>>> javac: cannot specify both -bootclasspath and -modulepath
>>>>> Usage: javac <options> <source files>
>>>>> use -help for a list of possible options
>>>>
>>>> See this response from Mark back in December, available here:
>>>> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2009-December/000421.html
>>>>
>>>>
>>>>> >/ -- do we allow or forbid any use of bootclasspath with any
>>>>> modular code?
>>>>> /
>>>>> Forbid.
>>>>>
>>>>
>>>>
>>>> -- Jon
>>
>
More information about the jigsaw-dev
mailing list