Ignore:
Timestamp:
Mar 8, 2010, 4:00:31 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

qmake:qmake: os2/gnumake: Add support for the declspec(dllexport)-based DLL generation and activate this support by default which greatly reduces the number of exported symbols in Qt DLLs. The old method which causes all public symbols to be exported is still available using the "export_all" CONFIG flag (off by default). Note that DLL splitting will turn "export_all" on because otherwise it is impossible to create split DLLs at the moment (emxexp limitation).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/qmake/generators/os2/gnumake.cpp

    r629 r656  
    581581    }
    582582
    583     if (mode == DLL && !project->isEmpty("QMAKE_RUN_IMPLIB")) {
     583    if (mode == DLL) {
     584        /* we neeed $(TARGET_IMPLIB) to be in sync with getLibTarget() */
    584585        t << "TARGET_IMPLIB = $(basename $(DESTDIR_TARGET)).lib" << endl;
    585         project->values("QMAKE_CLEAN").append("$(TARGET_IMPLIB)");
    586         project->values("POST_TARGETDEPS") += escapeFileVars("$(TARGET_IMPLIB)");
    587586    }
    588587}
     
    602601            t << valGlue(var("QMAKE_RUN_GENDEF").split(";;"), "\n\t", "\n\t", "") << endl;
    603602        }
    604         if (!project->isEmpty("QMAKE_RUN_IMPLIB")) {
    605             /* generate the import library */
    606             t << escapeFileVars("$(TARGET_IMPLIB): ") << escapeFileVars("$(DEF_FILE)");
    607             t << "\n\t" << var("QMAKE_RUN_IMPLIB") << endl;
    608         }
    609603    }
    610604}
     
    648642QString GNUMakefileGenerator::getLibTarget()
    649643{
    650     if (mode == DLL && !project->isEmpty("QMAKE_RUN_IMPLIB"))
     644    if (mode == DLL)
    651645        return QString("$(notdir $(TARGET_IMPLIB))");
    652646    return Win32MakefileGenerator::getLibTarget();
Note: See TracChangeset for help on using the changeset viewer.