changeset 2561:d0e74323b634

Add the option to use the system zlib, giflib, libpng and libjpeg. PR1977: Support using the system installation of Zlib PR1979: Support using the system installation of libjpeg PR1980: Support using the system installation of giflib PR1981: Support using the system installation of libpng 2015-05-13 Andrew John Hughes <gnu_andrew@member.fsf.org> * Makefile.am: (ICEDTEA_CONFIGURE): Remove hardcoded --with-zlib=system argument. Add appropriate --with-zlib/--with-libjpeg/--with-libpng/ --with-giflib argument, depending on options passed to configure, replacing USE_SYSTEM_ZLIB, USE_SYSTEM_JPEG, USE_SYSTEM_PNG and USE_SYSTEM_GIF. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Enable system LCMS by default. * remove-intree-libraries.sh.in: Update ZLIB_VERSION to match version in OpenJDK (1.2.8). Update JPEG source list and arrange alphabetically. Drop duplicate echo statement for zlib. 2011-09-06 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: (ICEDTEA_ENV): Set ZLIB_LIBS, ZLIB_CFLAGS, USE_SYSTEM_ZLIB, JPEG_LIBS, JPEG_CFLAGS, USE_SYSTEM_JPEG, PNG_LIBS, PNG_CFLAGS, USE_SYSTEM_PNG, GIF_LIBS, GIF_CFLAGS, USE_SYSTEM_GIF. * acinclude.m4: (IT_CHECK_FOR_ZLIB): New macro to check for zlib. (IT_CHECK_FOR_JPEG): Likewise for libjpeg. (IT_CHECK_FOR_PNG): Likewise for libpng. (IT_CHECK_FOR_GIF): Likewise for giflib. * configure.ac: Remove old AC_CHECK_LIB calls for jpeg, gif and zlib and PKG_CHECK_MODULES call for libpng. Add calls to new macros above.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Fri, 15 May 2015 02:57:48 +0100
parents cf37c5aefadd
children 5cf5cff4b686
files ChangeLog Makefile.am NEWS acinclude.m4 configure.ac remove-intree-libraries.sh.in
diffstat 6 files changed, 243 insertions(+), 44 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu May 14 04:24:00 2015 +0100
+++ b/ChangeLog	Fri May 15 02:57:48 2015 +0100
@@ -1,3 +1,43 @@
+2015-05-13  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR1977: Support using the system installation of Zlib
+	PR1979: Support using the system installation of libjpeg
+	PR1980: Support using the system installation of giflib
+	PR1981: Support using the system installation of libpng
+	* Makefile.am:
+	(ICEDTEA_CONFIGURE): Remove hardcoded
+	--with-zlib=system argument. Add appropriate
+	--with-zlib/--with-libjpeg/--with-libpng/
+	--with-giflib argument, depending on options
+	passed to configure, replacing USE_SYSTEM_ZLIB,
+	USE_SYSTEM_JPEG, USE_SYSTEM_PNG and USE_SYSTEM_GIF.
+	* NEWS: Updated.
+	* acinclude.m4:
+	(IT_CHECK_FOR_LCMS): Enable system LCMS by default.
+	* remove-intree-libraries.sh.in:
+	Update ZLIB_VERSION to match version in
+	OpenJDK (1.2.8). Update JPEG source list
+	and arrange alphabetically. Drop duplicate
+	echo statement for zlib.
+
+2011-09-06  Andrew John Hughes  <ahughes@redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_ENV): Set ZLIB_LIBS, ZLIB_CFLAGS,
+	USE_SYSTEM_ZLIB, JPEG_LIBS, JPEG_CFLAGS,
+	USE_SYSTEM_JPEG, PNG_LIBS, PNG_CFLAGS,
+	USE_SYSTEM_PNG, GIF_LIBS, GIF_CFLAGS,
+	USE_SYSTEM_GIF.
+	* acinclude.m4:
+	(IT_CHECK_FOR_ZLIB): New macro to check for zlib.
+	(IT_CHECK_FOR_JPEG): Likewise for libjpeg.
+	(IT_CHECK_FOR_PNG): Likewise for libpng.
+	(IT_CHECK_FOR_GIF): Likewise for giflib.
+	* configure.ac:
+	Remove old AC_CHECK_LIB calls for jpeg, gif
+	and zlib and PKG_CHECK_MODULES call for libpng.
+	Add calls to new macros above.
+
 2014-08-29  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	PR1968: Move to new OpenJDK bug URL format
--- a/Makefile.am	Thu May 14 04:24:00 2015 +0100
+++ b/Makefile.am	Fri May 15 02:57:48 2015 +0100
@@ -282,7 +282,7 @@
 ICEDTEA_CONFIGURE = \
 	  --enable-unlimited-crypto \
 	  --with-cacerts-file=$(SYSTEM_JDK_DIR)/jre/lib/security/cacerts \
-	  --with-zlib=system --with-stdc++lib=dynamic \
+	  --with-stdc++lib=dynamic \
 	  --with-boot-jdk=$(BOOT_DIR) \
 	  --with-update-version=$(JDK_UPDATE_VERSION) \
 	  --with-build-number=$(BUILD_VERSION) \
@@ -298,6 +298,14 @@
 	--with-import-hotspot="$(JAMVM_IMPORT_PATH)"
 endif
 
+if USE_SYSTEM_ZLIB
+ICEDTEA_CONFIGURE += \
+	--with-zlib=system
+else
+ICEDTEA_CONFIGURE += \
+	--with-zlib=bundled
+endif
+
 if USE_SYSTEM_LCMS
 ICEDTEA_CONFIGURE += \
 	--with-lcms=system
@@ -306,6 +314,30 @@
 	--with-lcms=bundled
 endif
 
+if USE_SYSTEM_JPEG
+ICEDTEA_CONFIGURE += \
+	--with-libjpeg=system
+else
+ICEDTEA_CONFIGURE += \
+	--with-libjpeg=bundled
+endif
+
+if USE_SYSTEM_PNG
+ICEDTEA_CONFIGURE += \
+	--with-libpng=system
+else
+ICEDTEA_CONFIGURE += \
+	--with-libpng=bundled
+endif
+
+if USE_SYSTEM_GIF
+ICEDTEA_CONFIGURE += \
+	--with-giflib=system
+else
+ICEDTEA_CONFIGURE += \
+	--with-giflib=bundled
+endif
+
 ICEDTEA_ENV = \
 	LANG="C" \
 	PATH="$(BOOT_DIR)/bin:$(OS_PATH):$$PATH" \
@@ -352,6 +384,12 @@
 	HOTSPOT_BUILD_VERSION="$(HOTSPOT_REVISION)"
 endif
 
+if USE_SYSTEM_ZLIB
+ICEDTEA_ENV += \
+	ZLIB_LIBS="${ZLIB_LIBS}" \
+	ZLIB_CFLAGS="${ZLIB_CFLAGS}"
+endif
+
 if USE_SYSTEM_LCMS
 ICEDTEA_ENV += \
 	LCMS_LIBS="${LCMS2_LIBS}" \
@@ -376,6 +414,24 @@
 	COMPRESS_JARS="true"
 endif
 
+if USE_SYSTEM_JPEG
+ICEDTEA_ENV += \
+	JPEG_LIBS="${JPEG_LIBS}" \
+	JPEG_CFLAGS="${JPEG_CFLAGS}"
+endif
+
+if USE_SYSTEM_PNG
+ICEDTEA_ENV += \
+	PNG_LIBS="${PNG_LIBS}" \
+	PNG_CFLAGS="${PNG_CFLAGS}"
+endif
+
+if USE_SYSTEM_GIF
+ICEDTEA_ENV += \
+	GIF_LIBS="${GIF_LIBS}" \
+	GIF_CFLAGS="${GIF_CFLAGS}"
+endif
+
 # OpenJDK boot build environment.
 ICEDTEA_CONFIGURE_BOOT = $(ICEDTEA_CONFIGURE)
 ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \
--- a/NEWS	Thu May 14 04:24:00 2015 +0100
+++ b/NEWS	Fri May 15 02:57:48 2015 +0100
@@ -55,6 +55,10 @@
   - PR1950: Add build support for Zero SH
   - PR1965, G498288: Allow builds on PaX kernels
   - PR1968: Move to new OpenJDK bug URL format
+  - PR1977: Support using the system installation of Zlib
+  - PR1979: Support using the system installation of libjpeg
+  - PR1980: Support using the system installation of giflib
+  - PR1981: Support using the system installation of libpng
   - PR1994: make dist broken
   - PR2199: Support giflib 5.1.0
   - PR2212: DGifCloseFile call should check the return value, not the error code, for failure
--- a/acinclude.m4	Thu May 14 04:24:00 2015 +0100
+++ b/acinclude.m4	Fri May 15 02:57:48 2015 +0100
@@ -1557,7 +1557,7 @@
     ENABLE_SYSTEM_LCMS="${enableval}"
   ],
   [
-    ENABLE_SYSTEM_LCMS="no"
+    ENABLE_SYSTEM_LCMS="yes"
   ])
   AC_MSG_RESULT(${ENABLE_SYSTEM_LCMS})
   if test x"${ENABLE_SYSTEM_LCMS}" = "xyes"; then
@@ -1574,6 +1574,108 @@
   AC_SUBST(ENABLE_SYSTEM_LCMS)
 ])
 
+AC_DEFUN_ONCE([IT_CHECK_FOR_ZLIB],
+[
+  AC_MSG_CHECKING([whether to use the system zlib install])
+  AC_ARG_ENABLE([system-zlib],
+	      [AS_HELP_STRING(--enable-system-zlib,use the system ZLIB [[default=yes]])],
+  [
+    ENABLE_SYSTEM_ZLIB="${enableval}"
+  ],
+  [
+    ENABLE_SYSTEM_ZLIB="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_SYSTEM_ZLIB})
+  if test x"${ENABLE_SYSTEM_ZLIB}" = "xyes"; then
+    dnl Check for ZLIB headers and libraries.
+    PKG_CHECK_MODULES(ZLIB, zlib,[ZLIB_FOUND=yes],[ZLIB_FOUND=no])
+    if test "x${ZLIB_FOUND}" = xno
+    then
+      AC_MSG_ERROR([Could not find ZLIB; install ZLIB or build with --disable-system-zlib to use the in-tree copy.])
+    fi
+    AC_SUBST(ZLIB_CFLAGS)
+    AC_SUBST(ZLIB_LIBS)
+  fi
+  AM_CONDITIONAL(USE_SYSTEM_ZLIB, test x"${ENABLE_SYSTEM_ZLIB}" = "xyes")
+  AC_SUBST(ENABLE_SYSTEM_ZLIB)
+])
+
+AC_DEFUN_ONCE([IT_CHECK_FOR_JPEG],
+[
+  AC_MSG_CHECKING([whether to use the system jpeg install])
+  AC_ARG_ENABLE([system-jpeg],
+	      [AS_HELP_STRING(--enable-system-jpeg,use the system libjpeg [[default=yes]])],
+  [
+    ENABLE_SYSTEM_JPEG="${enableval}"
+  ],
+  [
+    ENABLE_SYSTEM_JPEG="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_SYSTEM_JPEG})
+  if test x"${ENABLE_SYSTEM_JPEG}" = "xyes"; then
+    dnl Check for JPEG headers and libraries.
+    AC_CHECK_LIB([jpeg], [main],
+        , [AC_MSG_ERROR("Could not find JPEG library; install JPEG or build with --disable-system-jpeg to use the in-tree copy.")])
+    AC_CHECK_HEADER([jpeglib.h],
+        , [AC_MSG_ERROR("Could not find JPEG header; install JPEG or build with --disable-system-jpeg to use the in-tree copy.")])
+    JPEG_LIBS="-ljpeg"
+    AC_SUBST(JPEG_LIBS)
+  fi
+  AM_CONDITIONAL(USE_SYSTEM_JPEG, test x"${ENABLE_SYSTEM_JPEG}" = "xyes")
+  AC_SUBST(ENABLE_SYSTEM_JPEG)
+])
+
+AC_DEFUN_ONCE([IT_CHECK_FOR_PNG],
+[
+  AC_MSG_CHECKING([whether to use the system libpng install])
+  AC_ARG_ENABLE([system-png],
+	      [AS_HELP_STRING(--enable-system-png,use the system PNG [[default=yes]])],
+  [
+    ENABLE_SYSTEM_PNG="${enableval}"
+  ],
+  [
+    ENABLE_SYSTEM_PNG="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_SYSTEM_PNG})
+  if test x"${ENABLE_SYSTEM_PNG}" = "xyes"; then
+    dnl Check for PNG headers and libraries.
+    PKG_CHECK_MODULES(PNG, libpng,[LIBPNG_FOUND=yes],[LIBPNG_FOUND=no])
+    if test "x${LIBPNG_FOUND}" = xno
+    then
+      AC_MSG_ERROR([Could not find libpng; install libpng or build with --disable-system-png to use the in-tree copy.])
+    fi
+    AC_SUBST(PNG_CFLAGS)
+    AC_SUBST(PNG_LIBS)
+  fi
+  AM_CONDITIONAL(USE_SYSTEM_PNG, test x"${ENABLE_SYSTEM_PNG}" = "xyes")
+  AC_SUBST(ENABLE_SYSTEM_PNG)
+])
+
+AC_DEFUN_ONCE([IT_CHECK_FOR_GIF],
+[
+  AC_MSG_CHECKING([whether to use the system giflib install])
+  AC_ARG_ENABLE([system-gif],
+	      [AS_HELP_STRING(--enable-system-gif,use the system giflib [[default=yes]])],
+  [
+    ENABLE_SYSTEM_GIF="${enableval}"
+  ],
+  [
+    ENABLE_SYSTEM_GIF="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_SYSTEM_GIF})
+  if test x"${ENABLE_SYSTEM_GIF}" = "xyes"; then
+    dnl Check for GIF headers and libraries.
+    AC_CHECK_LIB([gif], [main],
+        , [AC_MSG_ERROR("Could not find GIF library; install GIF or build with --disable-system-gif to use the in-tree copy.")])
+    AC_CHECK_HEADER([gif_lib.h],
+        , [AC_MSG_ERROR("Could not find GIF header; install GIF or build with --disable-system-gif to use the in-tree copy.")])
+    GIF_LIBS="-lgif"
+    AC_SUBST(GIF_LIBS)
+  fi
+  AM_CONDITIONAL(USE_SYSTEM_GIF, test x"${ENABLE_SYSTEM_GIF}" = "xyes")
+  AC_SUBST(ENABLE_SYSTEM_GIF)
+])
+
 AC_DEFUN([IT_ENABLE_JAMVM],
 [
   AC_MSG_CHECKING(whether to use JamVM as VM)
--- a/configure.ac	Thu May 14 04:24:00 2015 +0100
+++ b/configure.ac	Fri May 15 02:57:48 2015 +0100
@@ -161,12 +161,13 @@
 AC_CHECK_HEADERS([X11/X.h],[]
 	,[AC_MSG_ERROR("xorg headers were not found -
 	try installing xorg-x11-proto-devel.")])
-AC_CHECK_LIB(jpeg, main,
-        , [AC_MSG_ERROR("libjpeg not found - try installing libjpeg-devel")])
-AC_CHECK_LIB(gif, main,
-        , [AC_MSG_ERROR("giflib not found - try installing giflib-devel")])
-AC_CHECK_LIB(z, main,
-	, [AC_MSG_ERROR("zlib not found - try installing zlib-devel")])
+
+IT_CHECK_FOR_ZLIB
+IT_CHECK_FOR_JPEG
+IT_CHECK_FOR_PNG
+IT_CHECK_FOR_GIF
+IT_CHECK_FOR_LCMS
+AC_CONFIG_FILES([remove-intree-libraries.sh])
 
 dnl Check for Xproto headers and libraries.
 PKG_CHECK_MODULES(XPROTO, xproto,[XPROTO_FOUND=yes],[XPROTO_FOUND=no])
@@ -277,17 +278,6 @@
   AC_CONFIG_FILES([tapset/jstack.stp])
 fi
 
-dnl Check for libpng headers and libraries.
-PKG_CHECK_MODULES(LIBPNG, libpng,[LIBPNG_FOUND=yes]
-	,[LIBPNG_FOUND=no])
-if test "x${LIBPNG_FOUND}" = xno
-then
-  AC_MSG_ERROR([Could not find libpng - \
-  Try installing libpng-devel.])
-fi
-AC_SUBST(LIBPNG_CFLAGS)
-AC_SUBST(LIBPNG_LIBS)
-
 dnl Check for libXtst headers and libraries.
 PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no])
 if test "x${XTST_FOUND}" = xno
@@ -421,9 +411,6 @@
 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.in	Thu May 14 04:24:00 2015 +0100
+++ b/remove-intree-libraries.sh.in	Fri May 15 02:57:48 2015 +0100
@@ -1,13 +1,12 @@
 #!/bin/sh
 
-ZLIB_VERSION=1.2.5
+ZLIB_VERSION=1.2.8
 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"
 if test "x@ENABLE_SYSTEM_ZLIB@" = "xyes"; then
   echo "Removing zlib"
   rm -rvf ${ZIP_SRC}
@@ -15,50 +14,61 @@
 
 if test "x@ENABLE_SYSTEM_JPEG@" = "xyes"; then
   echo "Removing libjpeg"
+  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}/jchuff.h
+  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}/jcomapi.c
+  rm -vf ${JPEG_SRC}/jconfig.h
+  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}/jdapimin.c
   rm -vf ${JPEG_SRC}/jdapistd.c
   rm -vf ${JPEG_SRC}/jdcoefct.c
   rm -vf ${JPEG_SRC}/jdcolor.c
+  rm -vf ${JPEG_SRC}/jdct.h
   rm -vf ${JPEG_SRC}/jddctmgr.c
   rm -vf ${JPEG_SRC}/jdhuff.c
+  rm -vf ${JPEG_SRC}/jdhuff.h
   rm -vf ${JPEG_SRC}/jdinput.c
-  rm -vf ${JPEG_SRC}/jdmainct.
+  rm -vf ${JPEG_SRC}/jdmainct.c
   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}/jdtrans.c
+  rm -vf ${JPEG_SRC}/jfdctflt.c
+  rm -vf ${JPEG_SRC}/jfdctfst.c
+  rm -vf ${JPEG_SRC}/jfdctint.c
   rm -vf ${JPEG_SRC}/jerror.c
+  rm -vf ${JPEG_SRC}/jerror.h
   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}/jinclude.h
   rm -vf ${JPEG_SRC}/jmemmgr.c
   rm -vf ${JPEG_SRC}/jmemnobs.c
+  rm -vf ${JPEG_SRC}/jmemsys.h
+  rm -vf ${JPEG_SRC}/jmorecfg.h
+  rm -vf ${JPEG_SRC}/jpegint.h
+  rm -vf ${JPEG_SRC}/jpeglib.h
   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}/jversion.h
   rm -vf ${JPEG_SRC}/README
 fi