--- old/make/sun/security/Makefile 2013-03-18 18:37:52.000000000 +0800 +++ new/make/sun/security/Makefile 2013-03-18 18:37:52.000000000 +0800 @@ -38,12 +38,10 @@ SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true include $(BUILDDIR)/common/Defs.gmk -# build sun/security/jgss/wrapper on non-windows non-macosx platforms +# build sun/security/jgss/wrapper on non-windows platforms JGSS_WRAPPER = ifneq ($(PLATFORM), windows) - ifneq ($(PLATFORM), macosx) - JGSS_WRAPPER = jgss/wrapper - endif + JGSS_WRAPPER = jgss/wrapper endif # Build PKCS#11 on all platforms --- old/makefiles/CompileNativeLibraries.gmk 2013-03-18 18:37:54.000000000 +0800 +++ new/makefiles/CompileNativeLibraries.gmk 2013-03-18 18:37:53.000000000 +0800 @@ -2543,7 +2543,6 @@ ########################################################################################## ifneq ($(OPENJDK_TARGET_OS), windows) -ifneq ($(OPENJDK_TARGET_OS), macosx) $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\ LIBRARY:=j2gss,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ @@ -2563,7 +2562,6 @@ BUILD_LIBRARIES += $(BUILD_LIBJ2GSS) endif -endif ########################################################################################## --- old/src/share/classes/sun/security/jgss/GSSManagerImpl.java 2013-03-18 18:37:55.000000000 +0800 +++ new/src/share/classes/sun/security/jgss/GSSManagerImpl.java 2013-03-18 18:37:55.000000000 +0800 @@ -48,6 +48,7 @@ public Boolean run() { String osname = System.getProperty("os.name"); if (osname.startsWith("SunOS") || + osname.contains("OS X") || osname.startsWith("Linux")) { return new Boolean(System.getProperty (USE_NATIVE_PROP)); --- old/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java 2013-03-18 18:37:57.000000000 +0800 +++ new/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java 2013-03-18 18:37:56.000000000 +0800 @@ -90,6 +90,11 @@ "libgssapi_krb5.so", "libgssapi_krb5.so.2", }; + } else if (osname.contains("OS X")) { + gssLibs = new String[]{ + "libgssapi_krb5.dylib", + "/usr/lib/sasl2/libgssapiv2.2.so", + }; } } else { gssLibs = new String[]{ defaultLib }; --- old/src/share/native/sun/security/jgss/wrapper/gssapi.h 2013-03-18 18:37:58.000000000 +0800 +++ new/src/share/native/sun/security/jgss/wrapper/gssapi.h 2013-03-18 18:37:58.000000000 +0800 @@ -32,10 +32,21 @@ #ifndef _GSSAPI_H_ #define _GSSAPI_H_ +#if defined(__MACH__) && defined(__APPLE__) +# include +# if TARGET_RT_MAC_CFM +# error "Use KfM 4.0 SDK headers for CFM compilation." +# endif +#endif + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ +#if TARGET_OS_MAC +# pragma pack(push,2) +#endif + /* * First, include stddef.h to get size_t defined. */ @@ -671,6 +682,10 @@ gss_name_t * /* output_name */ ); +#if TARGET_OS_MAC +# pragma pack(pop) +#endif + #ifdef __cplusplus } #endif --- old/test/sun/security/krb5/runNameEquals.sh 2013-03-18 18:38:00.000000000 +0800 +++ new/test/sun/security/krb5/runNameEquals.sh 2013-03-18 18:38:00.000000000 +0800 @@ -52,15 +52,11 @@ # set platform-dependent variables OS=`uname -s` case "$OS" in - SunOS | Linux ) + SunOS | Linux | Darwin ) PATHSEP=":" FILESEP="/" NATIVE=true ;; - Darwin ) - PATHSEP=":" - FILESEP="/" - ;; CYGWIN* ) PATHSEP=";" FILESEP="/"