-
Enhancement
-
Resolution: Unresolved
-
P4
-
repo-metropolis
-
Fix Understood
Build libgraal (native image) from Graal's GitHub repo during JDK build.
We need this to release EA based on Metropolis repo (clone of JDK 13). Which is a step for JEP: JDK-8223220
Currently we don't want to duplicate in JDK all complex dependencies during libgraal build. We want to use 'mx' python scripts which Oracle Labs use to build libgraal and copy it into JDK build.
Below is current manual process which I want to be part of JDK build in Metropolis repo and only for linux-x64.
We want to be able submit Mach5 job to build and test libgraal.
Steps to build libgraal:
-----------------------------
hg clone https://hg.openjdk.java.net/metropolis/dev metro
git clone https://github.com/oracle/graal
Sync JDK with latest Graal changes (it updates Graal's sources in local jdk repo):
export JAVA_HOME=boot_jdk
cd graal/compiler; mx updategraalinopenjdk --pretty PRETTY /<local_path>/metro/ 13
Build JDK:
cd /<local_path>/metro/; bash configure; make images; export JAVA_HOME=/<local_path>/metro/build/linux-x86_64-server-release/images/jdk
Rename Graal packages to match names in JDK:
cd graal/compiler; mx renamegraalpackages
Build libgraal using built JDK ($JAVA_HOME):
cd graal/vm; mx --env libgraal build
Copy libgraal:
cp mxbuild/linux-amd64/GRAALVM_LIBGRAAL/graalvm-libgraal-19.3.0-dev/lib/amd64/libjvmcicompiler.so $JAVA_HOME/lib/
We need this to release EA based on Metropolis repo (clone of JDK 13). Which is a step for JEP: JDK-8223220
Currently we don't want to duplicate in JDK all complex dependencies during libgraal build. We want to use 'mx' python scripts which Oracle Labs use to build libgraal and copy it into JDK build.
Below is current manual process which I want to be part of JDK build in Metropolis repo and only for linux-x64.
We want to be able submit Mach5 job to build and test libgraal.
Steps to build libgraal:
-----------------------------
hg clone https://hg.openjdk.java.net/metropolis/dev metro
git clone https://github.com/oracle/graal
Sync JDK with latest Graal changes (it updates Graal's sources in local jdk repo):
export JAVA_HOME=boot_jdk
cd graal/compiler; mx updategraalinopenjdk --pretty PRETTY /<local_path>/metro/ 13
Build JDK:
cd /<local_path>/metro/; bash configure; make images; export JAVA_HOME=/<local_path>/metro/build/linux-x86_64-server-release/images/jdk
Rename Graal packages to match names in JDK:
cd graal/compiler; mx renamegraalpackages
Build libgraal using built JDK ($JAVA_HOME):
cd graal/vm; mx --env libgraal build
Copy libgraal:
cp mxbuild/linux-amd64/GRAALVM_LIBGRAAL/graalvm-libgraal-19.3.0-dev/lib/amd64/libjvmcicompiler.so $JAVA_HOME/lib/