• 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 Bino George on Jun 30, 2011

Goals

  • Pass all appropriate certification tests for Java SE 7
  • Include a complete, native Cocoa-based UI Toolkit
  • Provide excellent performance

Minimum requirements to run

  • An Intel Mac
  • RAM: 1GB
  • OS: Mac OS X 10.6.7 or later
  • Java: "Java for Mac OS X 10.6 Update 4" or later

TL;DR

  1. Download an unofficial build
  2. Open /Applications/Utilities/Java Preferences.app
  3. Drag both "OpenJDK 7" entries to the top of the list
  4. Run "java -version" in Terminal.app

Prerequisites to build

  • Hardware: Any 64-bit capable Intel Mac
    • RAM: 4GB, 2GB min
  • OS: Mac OS X 10.6, run Software Update to get to at least 10.6.7
  • Xcode: 3.2.6 or later from http://developer.apple.com (Mac Dev Center section)
  • Java: "Java for Mac OS X 10.6 Update 4" or later from http://connect.apple.com (Java section)
  • Mercurial: http://mercurial.berkwood.com/
  • Jtreg: http://openjdk.java.net/jtreg/

Xcode 4

If you install Xcode 4, you will have to re-install "Java for Mac OS X Update 4" or a later developer preview to correct headers in the JavaRuntimeSupport framework.

1. Get the code

hg clone http://hg.openjdk.java.net/macosx-port/macosx-port
cd macosx-port
chmod 755 get_source.sh
./get_source.sh

2. Build

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`

3. Smoke Test

$ build/macosx-universal/j2sdk-bundle/1.7.0.jdk/Contents/Home/bin/java -version

4. Install

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

5. Run

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

Testing the Cocoa-based AWT

$JAVA_HOME/bin/java -jar /Developer/Extras/Java/JFC/SwingSet2/SwingSet2.jar

Iterative development of a particular module, AWT for example (avoid having to build whole JDK)

export JDK7_BASE=/Volumes/Data/src/JDK7/macosx-port
export JDK7_BUILD=$JDK7_BASE/build
export ALT_BOOTDIR=$JDK7_BUILD/macosx-universal/j2sdk-image/
export ALT_JDK_IMPORT_PATH=$JDK7_BUILD/macosx-universal/j2sdk-image/
export ALT_OUTPUTDIR=$JDK7_BUILD/macosx-universal
cd $JDK7_BASE/jdk/make/sun/awt/
make

Settting bootclasspath, DYLD_LIBRARY_PATH and debugging with your changes:

compilation
export _JAVA_OPTIONS=-Xbootclasspath/p:$JDK7_BUILD/macosx-universal/classes/
export DYLD_LIBRARY_PATH=$JDK7_BUILD/macosx-universal/lib/

$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 them at java.net/jira/browse/MACOSX_PORT.

Questions?

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

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": 202, "requestCorrelationId": "da1ac1834560217f"}