changeset 2384:5ffa85bf891c

Support building with the system LCMS. 2011-05-04 Andrew John Hughes <ahughes@redhat.com> * remove-intree-libraries.sh: Renamed. * INSTALL: Updated with new option. * Makefile.am: (JDK_CHANGESET): Updated to get LCMS patches. (JDK_SHA256SUM): Likewise. (ICEDTEA_ENV): Set USE_SYSTEM_LCMS, LCMS_LIBS and LCMS_CFLAGS if building with system LCMS. * acinclude.m4: (IT_CHECK_FOR_LCMS): Provide the --enable-system-lcms option, enabled by default. * configure.ac: Call IT_CHECK_FOR_LCMS. * remove-intree-libraries.sh.in: Delete LCMS source code only if system version is being used.
author Andrew John Hughes <ahughes@redhat.com>
date Thu, 05 May 2011 01:17:33 +0100
parents e019c260e5e5
children 0bea9271a681
files ChangeLog INSTALL Makefile.am acinclude.m4 configure.ac remove-intree-libraries.sh remove-intree-libraries.sh.in
diffstat 7 files changed, 151 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed May 04 19:59:30 2011 +0100
+++ b/ChangeLog	Thu May 05 01:17:33 2011 +0100
@@ -1,3 +1,21 @@
+2011-05-04  Andrew John Hughes  <ahughes@redhat.com>
+
+	* remove-intree-libraries.sh: Renamed.
+	* INSTALL: Updated with new option.
+	* Makefile.am:
+	(JDK_CHANGESET): Updated to get LCMS patches.
+	(JDK_SHA256SUM): Likewise.
+	(ICEDTEA_ENV): Set USE_SYSTEM_LCMS, LCMS_LIBS
+	and LCMS_CFLAGS if building with system LCMS.
+	* acinclude.m4:
+	(IT_CHECK_FOR_LCMS): Provide the --enable-system-lcms
+	option, enabled by default.
+	* configure.ac:
+	Call IT_CHECK_FOR_LCMS.
+	* remove-intree-libraries.sh.in:
+	Delete LCMS source code only if system version is
+	being used.
+
 2011-05-04  Andrew John Hughes  <ahughes@redhat.com>
 
 	Move to using icedtea servers.
--- a/INSTALL	Wed May 04 19:59:30 2011 +0100
+++ b/INSTALL	Thu May 05 01:17:33 2011 +0100
@@ -87,6 +87,8 @@
 * --disable-optimizations: Build with -O0.
 * --enable-hg: Checkout the OpenJDK tree from Mercurial, rather than
   downloading and extracting a tarball.
+* --enable-system-lcms: Build using the system installation of LCMS2, not
+  the version in-tree.
 * --with-gcj: Compile ecj to native code with gcj prior to building.
 * --with-parallel-jobs: Run the specified number of parallel jobs when
   building HotSpot and the JDK.  If this option is passed without an
--- a/Makefile.am	Wed May 04 19:59:30 2011 +0100
+++ b/Makefile.am	Thu May 05 01:17:33 2011 +0100
@@ -6,7 +6,7 @@
 HOTSPOT_CHANGESET = ef8632d52263
 JAXP_CHANGESET = 1c2f25bf36b1
 JAXWS_CHANGESET = 339c2d381d80
-JDK_CHANGESET = 8ae719dd77c0
+JDK_CHANGESET = 6a3e0bc5471d
 LANGTOOLS_CHANGESET = 8e26c4aee63c
 OPENJDK_CHANGESET = d4aea1a51d62
 
@@ -14,7 +14,7 @@
 HOTSPOT_SHA256SUM = d939f29993a75c263b9b0bed8ccb74340860681ec8be1a62a76946ca9502255d
 JAXP_SHA256SUM = 9db874ee86a073776674b138c3bcd0b1b2bc90d31ed48d59f88021e93ac8a8d0
 JAXWS_SHA256SUM = 078ad45ced056d147344418e72dce6dca65e01c4ebf2b7008b74733774bcb24c
-JDK_SHA256SUM = b73bde3576c83439dcb141bc94a9257fe495dcbd1892bbf7700c8b1bcb51636e
+JDK_SHA256SUM = 278edd55e7dacb51a4b2411f17f437f7bf54acae468c6f63804e485bd192aa93
 LANGTOOLS_SHA256SUM = e1beab78534a3a0fb18404c3c200e8866da275c7c656172c9f295f11203e5f39
 OPENJDK_SHA256SUM = 856b791751e56f64cc10e4826eefc9af9882969b179595c9642f7c9771965e7d
 
@@ -495,6 +495,13 @@
 	RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar"
 endif
 
+if USE_SYSTEM_LCMS
+ICEDTEA_ENV += \
+	USE_SYSTEM_LCMS="true" \
+	LCMS_LIBS="${LCMS2_LIBS}" \
+	LCMS_CFLAGS="${LCMS2_CFLAGS}"
+endif
+
 # OpenJDK boot build environment.
 ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \
 	BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \
@@ -1234,7 +1241,7 @@
 	rm -f stamps/extract-jaxws.stamp
 
 stamps/remove-intree-libraries.stamp: stamps/extract-openjdk.stamp
-	sh $(srcdir)/remove-intree-libraries.sh
+	sh $(abs_top_builddir)/remove-intree-libraries.sh
 	touch stamps/remove-intree-libraries.stamp
 
 clean-remove-intree-libraries:
--- a/acinclude.m4	Wed May 04 19:59:30 2011 +0100
+++ b/acinclude.m4	Thu May 05 01:17:33 2011 +0100
@@ -1856,3 +1856,28 @@
   AM_CONDITIONAL([DISABLE_JDK_TESTS], test x"${disable_jdk_tests}" = "xyes")
 ])
 
+AC_DEFUN_ONCE([IT_CHECK_FOR_LCMS],
+[
+  AC_MSG_CHECKING([whether to use the system LCMS install])
+  AC_ARG_ENABLE([system-lcms],
+	      [AS_HELP_STRING(--enable-system-lcms,use the system LCMS [[default=yes]])],
+  [
+    ENABLE_SYSTEM_LCMS="${enableval}"
+  ],
+  [
+    ENABLE_SYSTEM_LCMS="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_SYSTEM_LCMS})
+  if test x"${ENABLE_SYSTEM_LCMS}" = "xyes"; then
+    dnl Check for LCMS2 headers and libraries.
+    PKG_CHECK_MODULES(LCMS2, lcms2,[LCMS2_FOUND=yes],[LCMS2_FOUND=no])
+    if test "x${LCMS2_FOUND}" = xno
+    then
+      AC_MSG_ERROR([Could not find LCMS2; install LCMS2 or build with --disable-system-lcms to use the in-tree copy.])
+    fi
+    AC_SUBST(LCMS2_CFLAGS)
+    AC_SUBST(LCMS2_LIBS)
+  fi
+  AM_CONDITIONAL(USE_SYSTEM_LCMS, test x"${ENABLE_SYSTEM_LCMS}" = "xyes")
+  AC_SUBST(ENABLE_SYSTEM_LCMS)
+])
\ No newline at end of file
--- a/configure.ac	Wed May 04 19:59:30 2011 +0100
+++ b/configure.ac	Thu May 05 01:17:33 2011 +0100
@@ -451,6 +451,9 @@
 AC_SUBST(LLVM_LDFLAGS)
 AC_SUBST(LLVM_LIBS)
 
+IT_CHECK_FOR_LCMS
+AC_CONFIG_FILES([remove-intree-libraries.sh])
+
 # Arguments passed to configure.
 AC_SUBST(CONFIGURE_ARGS)
 CONFIGURE_ARGS="$ac_configure_args"
--- a/remove-intree-libraries.sh	Wed May 04 19:59:30 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-#!/bin/sh
-
-ZLIB_VERSION=1.2.3
-ZIP_SRC=openjdk/jdk/src/share/native/java/util/zip/zlib-${ZLIB_VERSION}
-JPEG_SRC=openjdk/jdk/src/share/native/sun/awt/image/jpeg
-GIF_SRC=openjdk/jdk/src/share/native/sun/awt/giflib
-PNG_SRC=openjdk/jdk/src/share/native/sun/awt/libpng
-
-echo "Removing zlib"
-rm -rvf ${ZIP_SRC}
-echo "Removing libjpeg"
-rm -vf ${JPEG_SRC}/jcomapi.c
-rm -vf ${JPEG_SRC}/jdapimin.c
-rm -vf ${JPEG_SRC}/jdapistd.c
-rm -vf ${JPEG_SRC}/jdcoefct.c
-rm -vf ${JPEG_SRC}/jdcolor.c
-rm -vf ${JPEG_SRC}/jddctmgr.c
-rm -vf ${JPEG_SRC}/jdhuff.c
-rm -vf ${JPEG_SRC}/jdinput.c
-rm -vf ${JPEG_SRC}/jdmainct.
-rm -vf ${JPEG_SRC}/jdmarker.c
-rm -vf ${JPEG_SRC}/jdmaster.c
-rm -vf ${JPEG_SRC}/jdmerge.c
-rm -vf ${JPEG_SRC}/jdphuff.c
-rm -vf ${JPEG_SRC}/jdpostct.c
-rm -vf ${JPEG_SRC}/jdsample.c
-rm -vf ${JPEG_SRC}/jerror.c
-rm -vf ${JPEG_SRC}/jidctflt.c
-rm -vf ${JPEG_SRC}/jidctfst.c
-rm -vf ${JPEG_SRC}/jidctint.c
-rm -vf ${JPEG_SRC}/jidctred.c
-rm -vf ${JPEG_SRC}/jmemmgr.c
-rm -vf ${JPEG_SRC}/jmemnobs.c
-rm -vf ${JPEG_SRC}/jquant1.c
-rm -vf ${JPEG_SRC}/jquant2.c
-rm -vf ${JPEG_SRC}/jutils.c
-rm -vf ${JPEG_SRC}/jcapimin.c
-rm -vf ${JPEG_SRC}/jcapistd.c
-rm -vf ${JPEG_SRC}/jccoefct.c
-rm -vf ${JPEG_SRC}/jccolor.c
-rm -vf ${JPEG_SRC}/jcdctmgr.c
-rm -vf ${JPEG_SRC}/jchuff.c
-rm -vf ${JPEG_SRC}/jcinit.c
-rm -vf ${JPEG_SRC}/jcmainct.c
-rm -vf ${JPEG_SRC}/jcmarker.c
-rm -vf ${JPEG_SRC}/jcmaster.c
-rm -vf ${JPEG_SRC}/jcparam.c
-rm -vf ${JPEG_SRC}/jcphuff.c
-rm -vf ${JPEG_SRC}/jcprepct.c
-rm -vf ${JPEG_SRC}/jcsample.c
-rm -vf ${JPEG_SRC}/jctrans.c
-rm -vf ${JPEG_SRC}/jdtrans.c
-rm -vf ${JPEG_SRC}/jfdctflt.c
-rm -vf ${JPEG_SRC}/jfdctfst.c
-rm -vf ${JPEG_SRC}/jfdctint.c
-rm -vf ${JPEG_SRC}/README
-echo "Removing giflib"
-rm -rvf ${GIF_SRC}
-echo "Removing libpng"
-rm -rvf ${PNG_SRC}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remove-intree-libraries.sh.in	Thu May 05 01:17:33 2011 +0100
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+ZLIB_VERSION=1.2.3
+ZIP_SRC=openjdk/jdk/src/share/native/java/util/zip/zlib-${ZLIB_VERSION}
+JPEG_SRC=openjdk/jdk/src/share/native/sun/awt/image/jpeg
+GIF_SRC=openjdk/jdk/src/share/native/sun/awt/giflib
+PNG_SRC=openjdk/jdk/src/share/native/sun/awt/libpng
+LCMS_SRC=openjdk/jdk/src/share/native/sun/java2d/cmm/lcms
+
+echo "Removing zlib"
+rm -rvf ${ZIP_SRC}
+echo "Removing libjpeg"
+rm -vf ${JPEG_SRC}/jcomapi.c
+rm -vf ${JPEG_SRC}/jdapimin.c
+rm -vf ${JPEG_SRC}/jdapistd.c
+rm -vf ${JPEG_SRC}/jdcoefct.c
+rm -vf ${JPEG_SRC}/jdcolor.c
+rm -vf ${JPEG_SRC}/jddctmgr.c
+rm -vf ${JPEG_SRC}/jdhuff.c
+rm -vf ${JPEG_SRC}/jdinput.c
+rm -vf ${JPEG_SRC}/jdmainct.
+rm -vf ${JPEG_SRC}/jdmarker.c
+rm -vf ${JPEG_SRC}/jdmaster.c
+rm -vf ${JPEG_SRC}/jdmerge.c
+rm -vf ${JPEG_SRC}/jdphuff.c
+rm -vf ${JPEG_SRC}/jdpostct.c
+rm -vf ${JPEG_SRC}/jdsample.c
+rm -vf ${JPEG_SRC}/jerror.c
+rm -vf ${JPEG_SRC}/jidctflt.c
+rm -vf ${JPEG_SRC}/jidctfst.c
+rm -vf ${JPEG_SRC}/jidctint.c
+rm -vf ${JPEG_SRC}/jidctred.c
+rm -vf ${JPEG_SRC}/jmemmgr.c
+rm -vf ${JPEG_SRC}/jmemnobs.c
+rm -vf ${JPEG_SRC}/jquant1.c
+rm -vf ${JPEG_SRC}/jquant2.c
+rm -vf ${JPEG_SRC}/jutils.c
+rm -vf ${JPEG_SRC}/jcapimin.c
+rm -vf ${JPEG_SRC}/jcapistd.c
+rm -vf ${JPEG_SRC}/jccoefct.c
+rm -vf ${JPEG_SRC}/jccolor.c
+rm -vf ${JPEG_SRC}/jcdctmgr.c
+rm -vf ${JPEG_SRC}/jchuff.c
+rm -vf ${JPEG_SRC}/jcinit.c
+rm -vf ${JPEG_SRC}/jcmainct.c
+rm -vf ${JPEG_SRC}/jcmarker.c
+rm -vf ${JPEG_SRC}/jcmaster.c
+rm -vf ${JPEG_SRC}/jcparam.c
+rm -vf ${JPEG_SRC}/jcphuff.c
+rm -vf ${JPEG_SRC}/jcprepct.c
+rm -vf ${JPEG_SRC}/jcsample.c
+rm -vf ${JPEG_SRC}/jctrans.c
+rm -vf ${JPEG_SRC}/jdtrans.c
+rm -vf ${JPEG_SRC}/jfdctflt.c
+rm -vf ${JPEG_SRC}/jfdctfst.c
+rm -vf ${JPEG_SRC}/jfdctint.c
+rm -vf ${JPEG_SRC}/README
+echo "Removing giflib"
+rm -rvf ${GIF_SRC}
+echo "Removing libpng"
+rm -rvf ${PNG_SRC}
+
+if test "x@ENABLE_SYSTEM_LCMS@" = "xyes"; then
+  echo "Removing lcms"
+  rm -vf ${LCMS_SRC}/cmscam02.c
+  rm -vf ${LCMS_SRC}/cmscgats.c
+  rm -vf ${LCMS_SRC}/cmscnvrt.c
+  rm -vf ${LCMS_SRC}/cmserr.c
+  rm -vf ${LCMS_SRC}/cmsgamma.c
+  rm -vf ${LCMS_SRC}/cmsgmt.c
+  rm -vf ${LCMS_SRC}/cmsintrp.c
+  rm -vf ${LCMS_SRC}/cmsio0.c
+  rm -vf ${LCMS_SRC}/cmsio1.c
+  rm -vf ${LCMS_SRC}/cmslut.c
+  rm -vf ${LCMS_SRC}/cmsmd5.c
+  rm -vf ${LCMS_SRC}/cmsmtrx.c
+  rm -vf ${LCMS_SRC}/cmsnamed.c
+  rm -vf ${LCMS_SRC}/cmsopt.c
+  rm -vf ${LCMS_SRC}/cmspack.c
+  rm -vf ${LCMS_SRC}/cmspcs.c
+  rm -vf ${LCMS_SRC}/cmsplugin.c
+  rm -vf ${LCMS_SRC}/cmsps2.c
+  rm -vf ${LCMS_SRC}/cmssamp.c
+  rm -vf ${LCMS_SRC}/cmssm.c
+  rm -vf ${LCMS_SRC}/cmstypes.c
+  rm -vf ${LCMS_SRC}/cmsvirt.c
+  rm -vf ${LCMS_SRC}/cmswtpnt.c
+  rm -vf ${LCMS_SRC}/cmsxform.c
+  rm -vf ${LCMS_SRC}/lcms2.h
+  rm -vf ${LCMS_SRC}/lcms2_internal.h
+  rm -vf ${LCMS_SRC}/lcms2_plugin.h
+fi
+