Ignore:
Timestamp:
Aug 17, 2009, 8:58:38 PM (16 years ago)
Author:
Dmitry A. Kuminov
Message:

qmake/GNUMAKE: Improved PRL file processing (could sometimes lose parts of the library that was split using splitDll* functions so that client applications would miss symbols from the lost parts when linking).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/qmake/generators/makefile.cpp

    r52 r119  
    963963    else if(!project->isEmpty("VERSION"))
    964964        t << "QMAKE_PRL_VERSION = " << project->first("VERSION") << endl;
    965     if(project->isActiveConfig("staticlib") || project->isActiveConfig("explicitlib")) {
    966         QStringList libs;
    967         if(!project->isEmpty("QMAKE_INTERNAL_PRL_LIBS"))
    968             libs = project->values("QMAKE_INTERNAL_PRL_LIBS");
    969         else
    970             libs << "QMAKE_LIBS"; //obvious one
     965    if(project->isActiveConfig("staticlib") || project->isActiveConfig("explicitlib") ||
     966       !project->isEmpty("PRL_EXPORT_LIBS")) {
    971967        t << "QMAKE_PRL_LIBS = ";
    972         for(QStringList::Iterator it = libs.begin(); it != libs.end(); ++it)
    973             t << project->values((*it)).join(" ") << " ";
     968        if (!project->isEmpty("PRL_EXPORT_LIBS")) {
     969            // PRL_EXPORT_LIBS overrides anything else
     970            t << project->values("PRL_EXPORT_LIBS").join(" ");
     971        } else {
     972            QStringList libs;
     973            if(!project->isEmpty("QMAKE_INTERNAL_PRL_LIBS"))
     974                libs = project->values("QMAKE_INTERNAL_PRL_LIBS");
     975            else
     976                libs << "QMAKE_LIBS"; //obvious one
     977            for(QStringList::Iterator it = libs.begin(); it != libs.end(); ++it)
     978                t << project->values((*it)).join(" ") << " ";
     979        }
    974980        t << endl;
    975981    }
Note: See TracChangeset for help on using the changeset viewer.