Hello Mandy,

Looking at this, I just realized that $(JDK_OUTPUTDIR)/modules/jdk.dev/com/sun/tools/jdeps/resources/jdeps-modules.xml is a generated resource for a module and that you correctly added it to the gendata target. Then to make it fit with the new makefile model, the running of TOOL_GENMODULESXML should be moved to jdk/make/gendata/Gendata-jdk.dev.gmk, which would make it be run automatically with correct dependencies. ModulesXml.gmk should also probably be renamed to something better describing the checkdeps target, which is all it would be doing then. Perhaps it would also fit better in the root make dir.

I can understand if fixing the cross compilation issue is urgent and am fine with you pushing this to fix that, but would like to see it further improved eventually.

/Erik

On 2014-08-27 00:40, Mandy Chung wrote:
JDK-8055856: checkdeps build target doesn't work for cross-compilation builds
JDK-8056113: [build] tools.jar missing modules.xml

Webrev at:
   http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8055856/

This patch fixes a few things about modules.xml

1. jdeps is invoked at build time to verify the module boundaries.
   For cross-compilation, it has to run on the host system.
   jdeps is added in the langtools interim build so that it
   can run with the BOOT_JDK.  jdeps is also modified to
   support a system property to specify the path to modules.xml
   generated later.

2. The generated modules.xml is solely for jdeps to use until
   the module system is in place.  The build tool takes the
   modules.xml in the top repo and generates a new file
   to include the module membership for jdeps to use.  It
   is better to name it differently to jdeps-modules.xml
   to avoid confusion as Magnus suggests.

3. main-jars is missing the dependency of modules-xml target
   and thus jdeps in the JDK images fails.  To help catch
   this issue, jdeps now throws an exception if jdeps-modules.xml
   is missing.

thanks
Mandy


Reply via email to