diff options
6 files changed, 9 insertions, 20 deletions
diff --git a/src/corelib/configure.json b/src/corelib/configure.json index 76dfed3128..c13ad25c15 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -74,10 +74,10 @@ ] }, "libdl": { - "label": "dlopen() in libdl", - "export": "", + "label": "dlopen()", "test": "unix/dlopen", "sources": [ + "", "-ldl" ] }, @@ -131,11 +131,6 @@ "type": "compile", "test": "unix/cloexec" }, - "dlopen": { - "label": "dlopen() in libc", - "type": "compile", - "test": "unix/dlopen" - }, "eventfd": { "label": "eventfd", "type": "compile", @@ -211,12 +206,8 @@ }, "dlopen": { "label": "dlopen()", - "condition": "tests.dlopen || libs.libdl" - }, - "libdl": { - "label": "dlopen() in libdl", - "condition": "!tests.dlopen && libs.libdl", - "output": [ { "type": "privateConfig", "negative": true } ] + "condition": "config.unix && libs.libdl", + "output": [ "privateFeature" ] }, "doubleconversion": { "label": "DoubleConversion", diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri index 473480eb55..bb3843cc36 100644 --- a/src/corelib/plugin/plugin.pri +++ b/src/corelib/plugin/plugin.pri @@ -35,4 +35,4 @@ integrity { SOURCES += plugin/qlibrary_unix.cpp } -!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD +qtConfig(dlopen): QMAKE_USE_PRIVATE += libdl diff --git a/src/platformsupport/eglconvenience/eglconvenience.pro b/src/platformsupport/eglconvenience/eglconvenience.pro index d364a42b3b..4301d63574 100644 --- a/src/platformsupport/eglconvenience/eglconvenience.pro +++ b/src/platformsupport/eglconvenience/eglconvenience.pro @@ -38,6 +38,6 @@ qtConfig(xlib) { } CONFIG += egl -LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD +qtConfig(dlopen): QMAKE_USE += libdl load(qt_module) diff --git a/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro b/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro index 35af3615bd..2593df937b 100644 --- a/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro +++ b/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro @@ -17,8 +17,6 @@ QT += \ qtHaveModule(input_support-private): \ QT += input_support-private -LIBS += $$QMAKE_LIBS_DYNLOAD - # Avoid X11 header collision, use generic EGL native types DEFINES += QT_EGL_NO_X11 diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp index 1f36a1ad2a..56b2b1fd23 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp @@ -54,7 +54,7 @@ #include <QtGlxSupport/private/qglxconvenience_p.h> #include <QtPlatformHeaders/QGLXNativeContext> -#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4) +#if !defined(QT_STATIC) && QT_CONFIG(dlopen) #include <dlfcn.h> #endif @@ -564,7 +564,7 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName) if (!glXGetProcAddressARB) { QList<QByteArray> glxExt = QByteArray(glXGetClientString(m_display, GLX_EXTENSIONS)).split(' '); if (glxExt.contains("GLX_ARB_get_proc_address")) { -#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4) +#if QT_CONFIG(dlopen) void *handle = dlopen(NULL, RTLD_LAZY); if (handle) { glXGetProcAddressARB = (qt_glXGetProcAddressARB) dlsym(handle, "glXGetProcAddressARB"); diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro index 8aa6e1febd..215f5a3fe1 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro @@ -12,7 +12,7 @@ qtConfig(xcb-glx) { QMAKE_USE += xcb_glx } -LIBS += $$QMAKE_LIBS_DYNLOAD +!static:qtConfig(dlopen): QMAKE_USE += libdl HEADERS += \ qxcbglxintegration.h \ |