• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Port: MacOSX
  4. Mac OS X Port

Mac OS X Port

  • Created by Mike Swingler, last modified by J. Duke on Nov 01, 2012

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. Mac OS X is now 'just another platform' in OpenJDK 8

Minimum requirements to run

  • An Intel Mac
  • RAM: 2GB
  • Mac OS X 10.7.3

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 + Java for Mac OS X 10.6 Update 6 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

  • Hardware: Any 64-bit capable Intel Mac
    • RAM: 4GB
  • Minimum OS version: Mac OS X 10.7.3
  • Xcode: 4.1 or later from the Mac App Store (free download)
  • Mercurial: http://mercurial.berkwood.com/
  • X11
    • On OS X Lion: Run X11.app to install as an additional download
    • On OS X Mountain Lion: XQuartz

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

  • Jtreg: http://openjdk.java.net/jtreg/

Xcode

If you install Xcode after installing the Apple provided Java for Mac OS X, you will have to re-install the same Java for Mac OS X or a later developer preview to correct headers in the JavaRuntimeSupport framework. This issue is expected to be resolved in a future release of Xcode.

As of Xcode version 4.3 you have to manually install the command line compilers and tools. Start Xcode, open Preferences, choose the Downloads tab, and then install "Command Line Tools".

1. Get the code

For JDK 7u

hg clone http://hg.openjdk.java.net/jdk7u/jdk7u-dev
cd jdk7u-dev
chmod 755 get_source.sh
./get_source.sh

For JDK 8

hg clone http://hg.openjdk.java.net/jdk8/jdk8
cd jdk8
chmod 755 get_source.sh
./get_source.sh

2. Build

Set the LANG environment variable if it isn't set, then run make:

$ export LANG=C        # bash, ksh, etc.
% setenv LANG C        # csh and friends
Java 7 or higher installed
make ALLOW_DOWNLOADS=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.7+` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
Using Apple's Java 6
make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=`/usr/libexec/java_home -v 1.6` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`

If you are building on Mountain Lion you must also define the path to the X11 includes:export CPATH="/usr/X11/include"* Steps for incremental building

3. Smoke Test

build/macosx-universal/j2sdk-image/bin/java -version

4. Install

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

5. Run

export JAVA_HOME=`/usr/libexec/java_home --version 1.7`
$JAVA_HOME/bin/java -version

If you have the Java Developer Package installed:

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

On Mac OS X 10.6 use the alternate location for the SwingSet2.jar:

$JAVA_HOME/bin/java -jar /Developer/Extras/Java/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!

  • Join the web-discuss@openjdk.java.net mailing list
  • Send an e-mail to the web-discuss@openjdk.java.net mailing list:
    • Request editor rights to the "OpenJDK Mac OS X Port" wiki
    • Include your Oracle SSO Username

TL;DR

  1. Download an official or unofficial build
  2. If you have /Applications/Utilities/Java Preferences.app:
    1. Open it
    2. Drag both "OpenJDK 7" entries to the top of the list
  3. Run "java -version" in /Applications/Utilities/Terminal.app
Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 255, "requestCorrelationId": "a07821908bca680d"}