diff options
author | Francois Andriot <albator78@libertysurf.fr> | 2014-09-12 12:57:56 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2015-12-15 19:54:01 +0100 |
commit | b5cb163e01b2b2306e20d41d61163b06881fd089 (patch) | |
tree | 37364f1898597d65c95b13fe8dcfde037c7b793d /qmake | |
parent | 9ea7824ff93b9b4d689f972f7bbead75b77906ee (diff) | |
download | qt3-b5cb163e01b2b2306e20d41d61163b06881fd089.tar.gz qt3-b5cb163e01b2b2306e20d41d61163b06881fd089.zip |
Fix qmake shared library naming
Add long long int support to TQTextStream
Fix potential segmentation fault in QValueList
Fix library naming in TQT Plugins
This relates to Bug 2107
(cherry picked from commit b716176cec88f5fa604b637a947b44b9ff165d5a)
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/unix/unixmake.cpp | 2 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake2.cpp | 39 |
2 files changed, 31 insertions, 10 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index e863495..865c84a 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -806,7 +806,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t) uninst.append("\n\t"); uninst.append("-$(DEL_FILE) \"" + dst_pc + "\""); } - if ( project->isEmpty("QMAKE_CYGWIN_SHLIB") ) { + if ( project->isEmpty("QMAKE_CYGWIN_SHLIB") && project->isEmpty("QMAKE_OPENBSD_SHLIBS") ) { if ( !project->isActiveConfig("staticlib") && !project->isActiveConfig("plugin") ) { if ( project->isEmpty("QMAKE_HPUX_SHLIB") ) { links << "$(TARGET0)" << "$(TARGET1)" << "$(TARGET2)"; diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index 354bcf6..d1ed572 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -132,6 +132,8 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) src_incremental=FALSE, moc_incremental=FALSE; t << "####### Compiler, tools and options" << endl << endl; + if (varGlue("INCLUDEPATH", " -I", " -I", "").find("$(LOCALBASE)") != -1) + t << "LOCALBASE?= /usr/local" << endl; t << "CC = "; if (project->isActiveConfig("thread") && ! project->variables()["QMAKE_CC_THREAD"].isEmpty()) @@ -298,10 +300,15 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) } else if (!project->isActiveConfig("staticlib") && project->variables()["QMAKE_APP_FLAG"].isEmpty()) { t << "TARGETA = " << var("TARGETA") << endl; if (project->isEmpty("QMAKE_HPUX_SHLIB")) { - t << "TARGETD = " << var("TARGET_x.y.z") << endl; - t << "TARGET0 = " << var("TARGET_") << endl; - t << "TARGET1 = " << var("TARGET_x") << endl; - t << "TARGET2 = " << var("TARGET_x.y") << endl; + if (!project->isEmpty("QMAKE_OPENBSD_SHLIBS")) { + t << "LIB"+var("OBSD_TARGET_NAME")+"_VERSION = " << var("OBSD_TARGET_VERSION") << endl; + t << "TARGETD = " << var("TARGET_x.y") << endl; + } else { + t << "TARGETD = " << var("TARGET_x.y.z") << endl; + t << "TARGET0 = " << var("TARGET_") << endl; + t << "TARGET1 = " << var("TARGET_x") << endl; + t << "TARGET2 = " << var("TARGET_x.y") << endl; + } } else { t << "TARGETD = " << var("TARGET_x") << endl; t << "TARGET0 = " << var("TARGET_") << endl; @@ -378,6 +385,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) } t << "####### Build rules" << endl << endl; + t << "$(OBJECTS): $(UICDECLS)" << endl << endl; if(!project->variables()["SUBLIBS"].isEmpty()) { QString libdir = "tmp/"; if(!project->isEmpty("SUBLIBS_DIR")) @@ -1296,10 +1304,20 @@ void UnixMakefileGenerator::init2() project->variables()["TARGET_x"].append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + "." + project->first("VER_MAJ")); - project->variables()["TARGET_x.y"].append("lib" + project->first("TARGET") + "." + - project->first("QMAKE_EXTENSION_SHLIB") - + "." + project->first("VER_MAJ") + - "." + project->first("VER_MIN")); + if ( !project->variables()["QMAKE_OPENBSD_SHLIBS"].isEmpty() ) { + QString s; + s.setNum(project->first("VER_MIN").toInt()*10+ project->first("VER_PAT").toInt()); + project->variables()["OBSD_TARGET_VERSION"].append(project->first("VER_MAJ") + "." + s); + project->variables()["OBSD_TARGET_NAME"].append(project->first("TARGET")); + project->variables()["TARGET_x.y"].append("lib" + project->first("TARGET") + "." + + project->first("QMAKE_EXTENSION_SHLIB") + + ".$(LIB"+ project->first("TARGET") + "_VERSION)"); + } else { + project->variables()["TARGET_x.y"].append("lib" + project->first("TARGET") + "." + + project->first("QMAKE_EXTENSION_SHLIB") + + "." + project->first("VER_MAJ") + + "." + project->first("VER_MIN")); + } project->variables()["TARGET_x.y.z"].append("lib" + project->first("TARGET") + "." + project->variables()[ @@ -1308,7 +1326,10 @@ void UnixMakefileGenerator::init2() project->first("VER_MIN") + "." + project->first("VER_PAT")); } - project->variables()["TARGET"] = project->variables()["TARGET_x.y.z"]; + if ( !project->variables()["QMAKE_OPENBSD_SHLIBS"].isEmpty() ) + project->variables()["TARGET"] = project->variables()["TARGET_x.y"]; + else + project->variables()["TARGET"] = project->variables()["TARGET_x.y.z"]; } if(project->isEmpty("QMAKE_LN_SHLIB")) project->variables()["QMAKE_LN_SHLIB"].append("ln -s"); |