summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake2.cpp
diff options
context:
space:
mode:
authorFrancois Andriot <[email protected]>2014-09-12 12:57:56 -0500
committerTimothy Pearson <[email protected]>2014-09-12 13:01:39 -0500
commitb716176cec88f5fa604b637a947b44b9ff165d5a (patch)
tree72177722906e1c4afc03bcc57b30cdbad5dd8f60 /qmake/generators/unix/unixmake2.cpp
parente17513956503963f4d468342a5be6a0967aca97c (diff)
downloadqt3-b716176cec88f5fa604b637a947b44b9ff165d5a.tar.gz
qt3-b716176cec88f5fa604b637a947b44b9ff165d5a.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
Diffstat (limited to 'qmake/generators/unix/unixmake2.cpp')
-rw-r--r--qmake/generators/unix/unixmake2.cpp39
1 files changed, 30 insertions, 9 deletions
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");