Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Goals

  • Pass all appropriate certification tests for Java SE 7
  • Include a complete, native Cocoa-based UI Toolkit
    • DONE.
  • Provide excellent performance
  • Integrate into main-line OpenJDK 8 
    • DONE. OS X is now 'just another platform' in OpenJDK 8

Minimum requirements to run

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.

Prerequisites to build

  • X11
    • On OS X 10.8 Mountain Lion: XQuartz
    • On OS X 10.
    6 Update 3 Developer Package" or later from http://connect.apple.com (Java section)
    • 7 Lion: Run /Applications/Utilities/X11.app to install as an additional download

JTReg is not required to build but useful for running regression tests

Source

1. Get the code

Code Block
No Format

hg fcloneclone http://hg.openjdk.java.net/macosx-port/macosx-port

Build

jdk8/jdk8
cd jdk8
chmod 755 get_source.sh
./get_source.sh

2. Build

Code Block
titleJava 7 or higher installed
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
titleUsing Apple's Java 6
CPATH="/usr/X11/include" LANG=C make
No Format

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

Install

 HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`

* Steps for incremental building

3. Smoke Test

Code Block
Panel
A "1.7.0.jdk" bundle will be created in
build/macosx-universal/j2sdk-
bundle/ and can be copied or symlinked to
image/bin/java -version

4. Install

Code Block
mkdir -p ~/Library/Java/JavaVirtualMachines
or

cp -R build/macosx-universal/j2sdk-bundle/jdk1.8.0.jdk ~/Library/Java/JavaVirtualMachines

5. Run

Code Block
export JAVA_HOME=`/
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).

Test

The linux jtreg is just a shell script that runs fine on Mac OS X. It will run all the tests under $SRC/jdk/.

No Format

cd $SRC/jdk/
(path to jtreg)/linux/bin/jtreg .

Caveats

+`
$JAVA_HOME/bin/java -version

If you have the Java Developer Package installed:

Code Block
$JAVA_HOME/bin/java -jar /Library/Java/Demos/JFC/SwingSet2/SwingSet2.jar

6. Test

Download jtreg to run the tests in the /jdk/test directory.

Bugs!

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.

Questions?

Please join the macosx-port-dev mailing list and ask!

See something wrong on this page? Fix it!

 If your version of Xcode is older than 3.2.5, the 32-bit build won't run, but the 64-bit build will.