[Development] Explicit linking vs dlopen/dlsym

Thiago Macieira thiago.macieira at intel.com
Tue Nov 25 04:35:33 CET 2014


On Tuesday 25 November 2014 03:05:03 Kevin Kofler wrote:
> Thiago Macieira wrote:
> > Packagers can and should force the linking. This is about the
> > distribution- agnostic binaries we produce and are available from
> > qt-project.org.
> 
> But my point is that the defaults in the configure script should be
> friendlier to distribution packagers. For the binaries you produce at
> qt-project.org, you control the build setup, so you can easily pass non-
> default configure options. At the moment, we have to pass an insane amount
> of -system-libfoo and -linked-libbar switches.

Agreed.

I'm already changing the D-Bus switch to default to linked unless you're on 
OS X. You could argue that it should be the default even on OS X...

As for OpenSSL, the reaason is different, so the default will remain to dlopen.

In any case, the new configure help is saying this:

 The following options also support the form -<option>=system or -system-
<option> to select
 a system library, or -<option>=qt / -qt-<option> to select the copy bundled 
with Qt:
    -freetype .......... Use Freetype for font support (default: system)
    -harfbuzz .......... Use Harfbuzz-NG for text shaping (default: bundled 
copy)
    -libjpeg ........... Use libjpeg for JPEG support (default: system)
    -libpng ............ Use libpng for PNG support (default: system).
    -pcre .............. Use PCRE for QRegularExpression support (default: 
system)
    -sqlite ............ Use SQLite for the QtSql SQLite driver (default: 
system)
    -xcb ............... Use libxcb for XCB support (default: system)
    -xkbcommon ......... Use libxkbcommon for keyboard mapping (default: 
system)
    -zlib .............. Use zlib for compression support (default: system)

I did not change the defaults. That means the default, today, for all the libs 
except for Harfbuzz-NG is to use the system lib. I argued that Harfbuzz-NG 
should be that too, but Konstantin had a compelling reason I no longer 
remember why that wasn't a good default.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list