Looks good to me from a build perspective.

/Erik

On 2014-03-27 11:46, Chris Hegarty wrote:
While hunting around the build recently, when working on another SCTP bug, I 
noticed a small issue where SCTP classes are being built on some platforms 
unnecessarily.

Webrev:
   http://cr.openjdk.java.net/~chegar/8038459/webrev.00/webrev/

Mac OS X and AIX contain only stubs for the SCTP channels. There are platform 
specific versions of the stubs for these platforms, so the build currently 
filters out the three channel implementation classes, on these platforms. But, 
there are other implementation classes in src/solaris/classes/sun/nio/ch/sctp 
that are needed for Linux and Solaris. These classes should be filter out also, 
on platforms that do not require them ( Mac OS X and AIX ).

Looking at rt. jar from a Mac JRE the superfluous classes can be seen:

$ jar -tvf rt.jar | grep "sun/nio/ch/sctp"
   2420 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/AssociationChange.class 
<<< NOT NEEDED
    759 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/AssociationImpl.class <<< 
NOT NEEDED
   2614 Thu Feb 27 23:47:04 GMT 2014 sun/nio/ch/sctp/MessageInfoImpl.class
   2607 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/PeerAddrChange.class <<< 
NOT NEEDED
   2793 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/ResultContainer.class <<< 
NOT NEEDED
   2850 Thu Feb 27 23:47:10 GMT 2014 sun/nio/ch/sctp/SctpChannelImpl.class
   2987 Thu Feb 27 23:47:10 GMT 2014 sun/nio/ch/sctp/SctpMultiChannelImpl.class
   7712 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/SctpNet.class <<< NOT 
NEEDED
    251 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/SctpNotification.class <<< 
NOT NEEDED
   1935 Thu Feb 27 23:47:10 GMT 2014 sun/nio/ch/sctp/SctpServerChannelImpl.class
   1379 Thu Feb 27 23:47:04 GMT 2014 sun/nio/ch/sctp/SctpStdSocketOption.class
   1953 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/SendFailed.class <<< NOT 
NEEDED
   1239 Thu Feb 27 23:47:08 GMT 2014 sun/nio/ch/sctp/Shutdown.class <<< NOT 
NEEDED

Note: SctpStdSocketOption.class and MessageInfoImpl.class are platform 
independent, and needed to support parts of the API that are not dependent on 
an actual socket implementation.

-Chris.

Reply via email to