编译前环境搭建
- Xcode和Tools for Xcode
主要是为了获取一些自带编译工具,如gcc编译器,这两个工具可以直接在AppStore中获取 autoconf
: 下载链接freetype
:下载链接
JDK的Swing部分和JConsole部分需要使用- openJDK:下载链接
通过mercurial方式获取由于下载太慢不做赘述。 - Bootstrap JDK
本机需要有已经安装好的JDK,因为JDK中部分是使用Java自身实现的,并且Bootstrap JDK最多只能比需要编译的JDK低一个版本,比如编译的是JDK11,Bootstrap JDK至少应该是JDK10。
编译自己的JDK
- cd到下载的openJDK目录下
- sh configure
A new configuration has been successfully created in
/Users/user/openjdk11/build/macosx-x86_64-normal-server-release
using default settings.
Configuration summary:
* Debug level: release
* HS debug level: product
* JVM variants: server
* JVM features: server: 'aot cds cmsgc compiler1 compiler2 dtrace epsilongc g1gc graal jfr jni-check jvmci jvmti management nmt parallelgc serialgc services vm-structs'
* OpenJDK target: OS: macosx, CPU architecture: x86, address length: 64
* Version string: 11-internal+0-adhoc.wubo.openjdk11 (11-internal)
Tools summary:
* Boot JDK: java version "11.0.8" 2020-07-14 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.8+10-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode) (at /Library/Java/JavaVirtualMachines/jdk-11.0.8.jdk/Contents/Home)
* Toolchain: clang (clang/LLVM from Xcode 11.7)
* C Compiler: Version 11.0.3 (at /usr/bin/clang)
* C++ Compiler: Version 11.0.3 (at /usr/bin/clang++)
Build performance summary:
* Cores to use: 12
* Memory limit: 16384 MB
- make all(首次编译)
编译完成后会有如下结果:以及会生成一个build目录,里面便是编译的结果
Finished building target 'all' in configuration 'macosx-x86_64-normal-server-release'