- Loading...
Note that only Mac OS X 10.7.3 and higher will be an Oracle-supported platform. It should continue to run on 10.6.8+ but that is not guaranteed. As of 1-Jan-2012 there are no plans to introduce 10.7-only APIs into the codebase.
JTReg is not required to build but useful for running regression tests
...
Code Block |
---|
cd /tmp hg clone http://bitbucket.org/pmezard/hgforest-crew/ cp hgforest-crew/forest.py ~/.forest.py |
Add the following lines to your: ~/.hgrc
Code Block |
---|
[extensions]
hgext.forest=~/.forest.py
|
Code Block |
---|
hg fclone http://hg.openjdk.java.net/macosx-port/macosx-port
cd macosx-port
|
hg.openjdk.java.net/jdk8/jdk8
cd jdk8
chmod 755 get_source.sh
./get_source.sh
|
Code Block | ||
---|---|---|
| ||
CPATH="/usr/X11/include" LANG=C make ALLOW_DOWNLOADS=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.7+` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
|
Code Block | ||
---|---|---|
| ||
CPATH="/usr/X11/include" LANG=C make | ||
Code Block | ||
CC=/Developer/usr/bin/llvm-gcc-4.2 CXX=/Developer/usr/bin/llvm-g++-4.2 ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.6` make |
If you get errors warning about environmental variables that are set you can prefix the build command above unsetting these variables.
Example:
Code Block |
---|
unset LC_ALL LANG CLASSPATH JAVA_HOME LD_LIBRARY_PATH; <command line to build JDK 1.7>
|
HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
|
* Steps for incremental building
Code Block |
---|
$ build/macosx-universal/j2sdk-bundle/1.7.0.jdk/Contents/Home/image/bin/java -version |
Code Block |
---|
mkdir -p ~/Library/Java/JavaVirtualMachines cp -R build/macosx-universal/j2sdk-bundle/1jdk1.78.0.jdk ~/Library/Java/JavaVirtualMachines |
Panel |
The "1.7.0.jdk" bundle can be copied or symlinked to jdk ~/Library/Java/JavaVirtualMachinesor /Library/Java/JavaVirtualMachines. Once installed, the build will be discovered by /Applications/Utilities/Java Preferences.app, and found using the /usr/libexec/java_home tool, when passing it "--version 1.7". By dragging the 1.7.0 version to the top of the Java Preferences lists, it will become the default JVM for command line use (since CommandLine is currently the only capability it supports).
|
Code Block |
---|
export JAVA_HOME=`/usr/libexec/java_home home --version 1.7`7+` $JAVA_HOME/bin/java -version |
jtreg is the test harness used by the OpenJDK test framework. The script linux/jtreg
is a shell script that runs fine on Mac OS X. It will run all the tests under $SRC/jdk/.
By default jtreg will use the current jvm for running both the test harness and the tests themselves.
The examples below use the jtreg option -jdk
to specify the JDK compiled in the macosx-port source directory.
Example: running all the jdk tests (takes a long time):
Code Block |
---|
cd <path-to-macosx-port-source>/jdk/
<path to jtreg>/linux/bin/jtreg -jdk:../build/macosx-universal/j2sdk-bundle/1.7.0.jdk/Contents/Home/ -v:summary test
|
Example: running just the jdk java/lang tests (approximately 340 tests; completes in about 6 minutes):
Code Block |
---|
cd <path-to-macosx-port-source>/jdk/
<path to jtreg>/linux/bin/jtreg -jdk:../build/macosx-universal/j2sdk-bundle/1.7.0.jdk/Contents/Home/ -v:summary test/java/lang
|
If you run jtreg
by making a symbolic link to linux/jtreg
in another directory already on your PATH
you will need to export a JT_HOME
environmental variable.
If you have the Java Developer Package installed:
Code Block |
---|
$JAVA_HOME/bin/java -jar /Library/Java/Demos/JFC/SwingSet2/SwingSet2.jar
|
Download jtreg to run the tests in the /jdk/test directory.
File new bugs at http://bugreport.sun.com/bugreport/. Please check out the bug reporting guidelines if you haven't filed against the project before.
Please join the macosx-port-dev mailing list and ask!
If your version of Xcode is older than 3.2.5, the 32-bit build won't run, but the 64-bit build will.