[Webkit-unassigned] [Bug 103491] [Qt] Mingw build fails when linking libQt5WebKitWidgets

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Nov 29 05:46:27 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=103491





--- Comment #4 from Simon Hausmann <hausmann at webkit.org>  2012-11-29 05:48:43 PST ---
(In reply to comment #3)
> Isn't it wrong that we link Qt5Core etc inside --whole-archive?
> 
> ... -whole-archive -lWebKit1d -lglu32 -lopengl32 -lgdi32 -luser32 -LD:\dev\icu-49\dist\mingw-builds-32\lib -LD:\dev\openssl-1.0.1c\dist\mingw-builds-32\lib -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Multimediad -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Sqld -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Networkd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Guid -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Cored -Wl,-no-whole-archive ...

Yeah, it's bizzare, but maybe that is indeed where the bug is.

This is the function that "injects" the --whole-archive stuff:


defineTest(linkAgainstLibrary) {
    unset(target)
    target = $$1

    unset(source_dir)
    source_dir = $$2

    library = $$lower($$target)

    target = $$resolveFinalLibraryName($$target)

    path = $$replace(source_dir, $${ROOT_WEBKIT_DIR}, $${ROOT_BUILD_DIR})/$$activeBuildConfig()

    force_static_libs_as_shared {
            LIBS += -L$${ROOT_BUILD_DIR}/lib -l$$target
    } else {

        mac {
            LIBS += -Wl,-force_load,$${path}$${QMAKE_DIR_SEP}lib$${target}.a
        } else:win32-msvc*|wince*|win32-icc {
            LIBS += /OPT:REF -l$$target
        } else {
            LIBS += -Wl,-whole-archive -l$$target -Wl,-no-whole-archive
        }

        LIBS += -L$$path

        win32-msvc*|wince*|win32-icc {
            POST_TARGETDEPS += $${path}$${QMAKE_DIR_SEP}$${target}.lib
        } else {
            POST_TARGETDEPS += $${path}$${QMAKE_DIR_SEP}lib$${target}.a
        }
    }

    export(LIBS)
    export(QMAKE_LIBDIR)
    export(POST_TARGETDEPS)
    export(CONFIG)
    return(true)
}


What it _should_ do is end up with -Wl,-whole-archive -lWebCore -wl,-no-whole-archive for example, but for some reason maybe $target expands to more for you?

Can you do a qmake -d -d -d run maybe?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list