自己編譯 GraalVM

這是視頻對應(yīng)的文字版
大家好,今天我來稍微錄制一個視頻,來講一下如何自己編譯一個 GraalVM JDK
由于我打字太慢,所以就先把主要內(nèi)容先打好了

首先,需要這幾個網(wǎng)站(放在簡介中)
克隆時使用 depth=1
會稍微快一點
labs-openjdk(用于作為 boot jdk,看你所需版本,17+)
https://github.com/graalvm/labs-openjdk-20
從 release 下載合適的版本和架構(gòu)
graal(源代碼)
https://github.com/oracle/graal
在 vm 的 readme 中有一定的 build 指導(dǎo),不過不太夠
mx(編譯工具)
https://github.com/graalvm/mx
可以好好看看 readme
graaljs (必要的依賴)
https://github.com/oracle/graaljs

第二步,準(zhǔn)備一個編譯目錄,把這幾個倉庫克隆下來

第三步,配置 JAVA_HOME
和 PATH
export JAVA_HOME=$PWD/jvm
export PATH=$PATH:$PWD/mx
其中,jvm 是 jdk 重命名后的名字,自己更改

第四步,開始編譯(建議編譯 ce
,ce-complete
內(nèi)容太多,不合適)
先 cd 到 源代碼(graal)的 vm 目錄下,測試一下 mx 是否可以使用
然后看看 mx 可以編譯的 env,在 graal/vm/mx.vm 下
我們就編譯 ce 足夠了,后續(xù)可以使用 gu 工具下載其他組件
編譯指令: mx --env ce build,
之后就是枯燥的等待編譯的時候了

編譯好后,可以在目錄下找到對應(yīng)文件
編譯好的 GraalVM 的 JDK 版本和 boot jdk 版本一樣
順便,Mathematica是可以自己換 jdk 版本的,新版默認(rèn)是 openjdk17
默認(rèn)路徑是安裝路徑下的 SystemFiles/Java