[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-openjfx-dev
Subject: Re: lipjpeg7 in static library
From: Kevin Rushforth <kevin.rushforth () oracle ! com>
Date: 2018-01-25 15:41:13
Message-ID: 5A69FA99.9040004 () oracle ! com
[Download RAW message or body]
> In the end, we link all static libs + object files in a single
executable.
I see. I had missed that you said "libjavafx_iio.a", meaning static
linking. No, I don't know how to make that work, either. Name mangling
might be the best solution then.
-- Kevin
Johan Vos wrote:
> At the risk of being stupid, but I don't see how I could make the JPEG
> symbols invisible, as they are still needed by the native functions in
> javafx_iio (in jpegloader.c).
> If they are invisible, jpegloader.o won't be able to access them
> either, no? In the end, we link all static libs + object files in a
> single executable.
> If they were in the same file as jpegloader, I would make them static
> so they wouldn't be exported, but I don't know how I can make those
> symbols available to jpegloader.c without exporting them?
>
> - Johan
>
> On Wed, Jan 24, 2018 at 6:24 PM Kevin Rushforth
> <kevin.rushforth@oracle.com <mailto:kevin.rushforth@oracle.com>> wrote:
>
> Hiding the symbols seems like a better solution than shipping two
> binaries, and is probably easier than mangling the symbols.
>
> -- Kevin
>
>
> Phil Race wrote:
> > Does libjavafx_iio.a really need to export the JPEG symbols ?
> > On Windows, or Linux, or Solaris .. there are ways
> > to limit the exported symbols from a library.
> >
> > I found this page for macos :
> >
> >
> https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Tasks/ExportingInterfaces.html
>
> >
> >
> > Not a complete answer but maybe somewhere to start.
> >
> > -phil.
> >
> > On 01/24/2018 02:42 AM, Johan Vos wrote:
> > > Hi,
> > >
> > > We are currently building a native library for javafx_iio which
> includes
> > > libjpeg7. As a consequence, those symbols are included in the
> static
> > > libjavafx_iio.a on iOS. If we add other libraries (e.g. OpenCV)
> this can
> > > result in duplicate symbols, as the libjpeg7 library might be
> > > included in
> > > other frameworks as well.
> > >
> > > As a dirty hack, I build 2 versions of libjavafx_iio.a: one with
> > > libjpeg7,
> > > and one without. A better solution might be to prefix the
> symbols in the
> > > libjpeg7 files.
> > >
> > > Or are there better ideas?
> > >
> > > Thanks,
> > >
> > > - Johan
> >
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic