[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-build-dev
Subject: Native zlib libraries
From: ahughes () redhat ! com (Andrew Hughes)
Date: 2012-07-30 12:35:24
Message-ID: 1918842039.5121189.1343651724469.JavaMail.root () redhat ! com
[Download RAW message or body]
----- Original Message -----
> Two other obvious candidates are the bundled jpeg and gif libraries.
> Please suggest a patch for build-infra/jdk8!
>
> Backporting the new build system for jdk7/jdk6 is not even on the
> horizon. It
> would be nice though, and probably not impossible.
>
> //Fredrik
>
> 9 jul 2012 kl. 01:52 skrev Andrew Hughes:
>
> >
> >
> > ----- Original Message -----
> > > The new build system offers a convenient option to the configure
> > > script:
> > > --with-zlib=system
> > > this will pickup the zlib libraries from the system.
> > >
> > > The default behavior is: --with-zlib=bundled
> > >
> >
> > Have you done any others? And is this available from the old bug
> > system?
> >
> > This is the first I've heard of this being done and we need it in 6
> > & 7 too.
> >
> > > //Fredrik
> > >
> > > 2012/7/5 Andrew Hughes <ahughes at redhat.com>:
> > > >
> > > >
> > > > ----- Original Message -----
> > > > > Is there a way to get the native zlib libraries to get picked up
> > > > > instead of the hardcoded version within the JVM?
> > > > >
> > > > > --
> > > > > Azeem Jiva
> > > > > @javawithjiva
> > > >
> > > > We have this in IcedTea (USE_SYSTEM_ZLIB=true) and intend to get
> > > > it
> > > > upstream.
> > > >
> > > > However, I don't see how this is related to HotSpot, as the zlib
> > > > usage
> > > > is in the jdk tree.
> > > > --
> > > > Andrew :)
> > > >
> > > > Free Java Software Engineer
> > > > Red Hat, Inc. (http://www.redhat.com)
> > > >
> > > > PGP Key: 248BDC07 (https://keys.indymedia.org/)
> > > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
> > > >
> > >
> >
It looks like most of our zlib work has already been reproduced by your good
self. Saves me a job! :-D (for 8 anyway)
The main differences seem to be a minor naming one (USE_SYSTEM_ZLIB/SYSTEM_ZLIB) and
the hardcoding of -lz over ZLIB_CFLAGS/ZLIB_LIBS (I'll suggest a patch for this).
However, I'm not clear as to which version of zlib you used, because, in its current
form, SYSTEM_ZLIB doesn't work for me:
In file included from \
../../../../../src/share/native/com/sun/java/util/jar/pack/bands.cpp:37:0:
../../../../../src/share/native/com/sun/java/util/jar/pack/defines.h:98:22: error: \
conflicting declaration 'typedef unsigned int uLong' In file included from \
../../../../../src/share/native/com/sun/java/util/jar/pack/defines.h:36:0,
from \
../../../../../src/share/native/com/sun/java/util/jar/pack/bands.cpp:37:
/usr/include/zconf.h:368:24: error: 'uLong' has a previous declaration as 'typedef \
long unsigned int uLong'
../../../../../src/share/native/com/sun/java/util/jar/pack/bands.cpp:449:1: warning: \
missing initializer for member 'band_init::defc' \
[-Wmissing-field-initializers]
../../../../../src/share/native/com/sun/java/util/jar/pack/bands.cpp:449:1: warning: \
missing initializer for member 'band_init::index' [-Wmissing-field-initializers]
In our patch, we did:
-#ifdef _LP64
-typedef unsigned int uLong; // Historical zlib, should be 32-bit.
+#ifdef USE_SYSTEM_ZLIB
+ #include <zlib.h>
#else
-typedef unsigned long uLong;
+ #ifdef _LP64
+ typedef unsigned int uLong; // Historical zlib, should be 32-bit.
+ #else
+ typedef unsigned long uLong;
+ #endif
(see http://hg.openjdk.java.net/icedtea/jdk7/jdk/rev/3a2014eddd87)
so that uLong was only defined locally if zlib was in-tree. There is some odd logic \
in 8:
#if !defined(MACOSX) || (defined(MACOSX) && defined(NO_ZLIB))
Should this not just be #if defined(NO_ZLIB)?
It works for me if I change to that.
Thanks,
--
Andrew :)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic