From owner-freebsd-java@FreeBSD.ORG Sat Dec 22 03:24:04 2012 Return-Path: Delivered-To: java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 68BDEB6C; Sat, 22 Dec 2012 03:24:04 +0000 (UTC) (envelope-from mi+thun@aldan.algebra.com) Received: from smtp02.lnh.mail.rcn.net (smtp02.lnh.mail.rcn.net [207.172.157.102]) by mx1.freebsd.org (Postfix) with ESMTP id D40D28FC0A; Sat, 22 Dec 2012 03:24:03 +0000 (UTC) Received: from mr17.lnh.mail.rcn.net ([207.172.157.37]) by smtp02.lnh.mail.rcn.net with ESMTP; 21 Dec 2012 22:24:04 -0500 Received: from smtp04.lnh.mail.rcn.net (smtp04.lnh.mail.rcn.net [207.172.157.104]) by mr17.lnh.mail.rcn.net (MOS 4.3.4-GA) with ESMTP id BVT81525; Fri, 21 Dec 2012 22:24:03 -0500 X-Auth-ID: anat Received: from pool-173-70-92-11.nwrknj.fios.verizon.net (HELO [192.168.1.8]) ([173.70.92.11]) by smtp04.lnh.mail.rcn.net with ESMTP; 21 Dec 2012 22:24:03 -0500 Message-ID: <50D527D2.9060100@aldan.algebra.com> Date: Fri, 21 Dec 2012 22:24:02 -0500 From: "Mikhail T." User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:14.0) Gecko/20120820 Thunderbird/14.0 MIME-Version: 1.0 To: glewis@FreeBSD.org Subject: openjdk7 - use installed png and jpeg libraries Content-Type: multipart/mixed; boundary="------------050604000704080406030109" X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: java@FreeBSD.org X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Dec 2012 03:24:04 -0000 This is a multi-part message in MIME format. --------------050604000704080406030109 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hello! The attached diff teaches java/openjdk7 to rely on the graphics/{png,jpeg} ports instead of compiling libpng and libjpeg from sources bundled by Oracle. This is especially important for jpeg, because currently build uses the already installed headers while compiling the bundled sources -- in case of any discrepancies there may be nasty problems. It is also just cleaner and affords the use of better optimized image libraries (such as assembly-optimized png and jpeg-turbo). Unfortunately, the port currently does not include check/regression-test target, so I my limited testing consisted of simply restarting vuze -- this worked, but I am not certain, it exercises the modified code. Please, take a look. Thank you! Yours, -mi --------------050604000704080406030109 Content-Type: text/plain; charset=KOI8-U; name="openjdk7-jpeg-png.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="openjdk7-jpeg-png.diff" Index: files/patch-jpeg-png =================================================================== --- files/patch-jpeg-png (revision 0) +++ files/patch-jpeg-png (revision 0) @@ -0,0 +1,141 @@ +--- jdk/make/sun/jpeg/Makefile 2012-08-10 13:21:52.000000000 -0400 ++++ jdk/make/sun/jpeg/Makefile 2012-12-20 12:52:38.000000000 -0500 +@@ -28,4 +28,5 @@ + LIBRARY = jpeg + PRODUCT = sun ++LDLIBS = -ljpeg + + # Use highest optimization level +@@ -37,5 +38,4 @@ + # Files + # +-include FILES_c.gmk + + AUTO_FILES_JAVA_DIRS = sun/awt/image com/sun/imageio/plugins/jpeg +@@ -87,9 +87,3 @@ + include $(BUILDDIR)/common/Library.gmk + +-# +-# Add to ambient vpath to get files in a subdirectory +-# +-vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/jpeg +- + CLASSES.export += java.io.InputStream +- +--- jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2012-08-10 13:30:30.000000000 -0400 ++++ jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c 2012-12-20 19:14:01.000000000 -0500 +@@ -26,7 +26,7 @@ + #include "splashscreen_impl.h" + +-#include "jinclude.h" +-#include "jpeglib.h" +-#include "jerror.h" ++#include ++#include ++#include + + #include +@@ -108,9 +108,9 @@ + cinfo->src = (struct jpeg_source_mgr *) + (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, +- JPOOL_PERMANENT, SIZEOF(stream_source_mgr)); ++ JPOOL_PERMANENT, sizeof(stream_source_mgr)); + src = (stream_src_ptr) cinfo->src; + src->buffer = (JOCTET *) + (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, +- JPOOL_PERMANENT, INPUT_BUF_SIZE * SIZEOF(JOCTET)); ++ JPOOL_PERMANENT, INPUT_BUF_SIZE * sizeof(JOCTET)); + } + +--- jdk/make/sun/splashscreen/FILES_c.gmk 2012-08-10 13:21:55.000000000 -0400 ++++ jdk/make/sun/splashscreen/FILES_c.gmk 2012-12-20 21:21:20.000000000 -0500 +@@ -32,80 +32,3 @@ + splashscreen_png.c \ + splashscreen_sys.c \ +- png.c \ +- pngerror.c \ +- pngget.c \ +- pngmem.c \ +- pngpread.c \ +- pngread.c \ +- pngrio.c \ +- pngrtran.c \ +- pngrutil.c \ +- pngset.c \ +- pngtrans.c \ +- pngwio.c \ +- pngwrite.c \ +- pngwtran.c \ +- pngwutil.c \ +- dgif_lib.c \ +- gif_err.c \ +- gifalloc.c \ +- jcomapi.c \ +- jdapimin.c \ +- jdapistd.c \ +- jdcoefct.c \ +- jdcolor.c \ +- jddctmgr.c \ +- jdhuff.c \ +- jdinput.c \ +- jdmainct.c \ +- jdmarker.c \ +- jdmaster.c \ +- jdmerge.c \ +- jdphuff.c \ +- jdpostct.c \ +- jdsample.c \ +- jerror.c \ +- jidctflt.c \ +- jidctfst.c \ +- jidctint.c \ +- jidctred.c \ +- jmemmgr.c \ +- jmemnobs.c \ +- jquant1.c \ +- jquant2.c \ +- jutils.c \ +- jcapimin.c \ +- jcapistd.c \ +- jccoefct.c \ +- jccolor.c \ +- jcdctmgr.c \ +- jchuff.c \ +- jcinit.c \ +- jcmainct.c \ +- jcmarker.c \ +- jcmaster.c \ +- jcparam.c \ +- jcphuff.c \ +- jcprepct.c \ +- jcsample.c \ +- jctrans.c \ +- jdtrans.c \ +- jfdctflt.c \ +- jfdctfst.c \ +- jfdctint.c + +-ifneq ($(SYSTEM_ZLIB),true) +- FILES_c += \ +- compress.c \ +- deflate.c \ +- gzio.c \ +- infback.c \ +- inffast.c \ +- inflate.c \ +- inftrees.c \ +- trees.c \ +- uncompr.c \ +- zadler32.c \ +- zcrc32.c \ +- zutil.c +-endif +--- jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2012-08-10 13:30:30.000000000 -0400 ++++ jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c 2012-12-21 17:09:28.000000000 -0500 +@@ -26,5 +26,5 @@ + #include "splashscreen_impl.h" + +-#include "../libpng/png.h" ++#include + + #include Index: files/patch-set =================================================================== --- files/patch-set (revision 309313) +++ files/patch-set (working copy) @@ -3067,6 +3067,10 @@ else # PLATFORM CFLAGS += -DWITH_WIN32 OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll +@@ -133,2 +134,3 @@ + # and use alternative implementations in C. + CPPFLAGS += -DPNG_NO_MMX_CODE ++OTHER_LDLIBS += -ljpeg -lpng --- jdk/make/sun/xawt/Makefile 2012-08-10 10:21:55.000000000 -0700 +++ jdk/make/sun/xawt/Makefile 2012-08-19 12:39:47.000000000 -0700 @@ -52,6 +52,9 @@ Index: Makefile =================================================================== --- Makefile (revision 309313) +++ Makefile (working copy) @@ -7,7 +7,7 @@ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/ \ http://download.java.net/jaxp/1.4.5/:jaxp \ @@ -56,6 +56,8 @@ LATEST_LINK= openjdk7 LIB_DEPENDS+= freetype:${PORTSDIR}/print/freetype2 \ + jpeg:${PORTSDIR}/graphics/jpeg \ + png:${PORTSDIR}/graphics/png \ asound:${PORTSDIR}/audio/alsa-lib BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip \ @@ -137,6 +139,8 @@ post-patch: @${REINPLACE_CMD} "s|%%LOCALBASE%%|${LOCALBASE}|" \ ${WRKSRC}/hotspot/src/os/bsd/vm/os_bsd.cpp + ${RM} -r ${WRKSRC}/jdk/src/share/native/sun/awt/image/jpeg \ + ${WRKSRC}/jdk/src/share/native/sun/awt/libpng .if ${PORT_OPTIONS:MPOLICY} @${REINPLACE_CMD} 's|build-policy install-limited|build-policy install-unlimited|' \ ${WRKSRC}/jdk/make/javax/crypto/Makefile --------------050604000704080406030109--