diff options
Diffstat (limited to 'qmake/generators/unix')
-rw-r--r-- | qmake/generators/unix/unixmake.cpp | 19 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake2.cpp | 21 |
2 files changed, 24 insertions, 16 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index da0da53e05..4f28321b09 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -142,6 +142,7 @@ UnixMakefileGenerator::init() project->values("QMAKE_L_FLAG") << (project->isActiveConfig("rvct_linker") ? "--userlibpath " : project->isActiveConfig("armcc_linker") ? "-L--userlibpath=" + : project->isActiveConfig("ti_linker") ? "--search_path=" : "-L"); ProStringList ldadd; if(!project->isEmpty("QMAKE_LIBDIR")) { @@ -490,10 +491,12 @@ UnixMakefileGenerator::findLibraries() } else if(opt.startsWith("-l")) { if (project->isActiveConfig("rvct_linker") || project->isActiveConfig("armcc_linker")) { (*it) = "lib" + opt.mid(2) + ".so"; + } else if (project->isActiveConfig("ti_linker")) { + (*it) = opt.mid(2); } else { stub = opt.mid(2); } - } else if (target_mode == TARG_MACX_MODE && opt.startsWith("-framework")) { + } else if (target_mode == TARG_MAC_MODE && opt.startsWith("-framework")) { if (opt.length() == 10) ++it; // Skip @@ -607,11 +610,11 @@ UnixMakefileGenerator::processPrlFiles() break; } } - } else if (target_mode == TARG_MACX_MODE && opt.startsWith("-F")) { + } else if (target_mode == TARG_MAC_MODE && opt.startsWith("-F")) { QMakeLocalFileName f(opt.right(opt.length()-2)); if(!frameworkdirs.contains(f)) frameworkdirs.insert(fwidx++, f); - } else if (target_mode == TARG_MACX_MODE && opt.startsWith("-framework")) { + } else if (target_mode == TARG_MAC_MODE && opt.startsWith("-framework")) { if(opt.length() > 11) opt = opt.mid(11); else @@ -650,7 +653,7 @@ UnixMakefileGenerator::processPrlFiles() ProKey arch("default"); ProString opt = l.at(lit).trimmed(); if(opt.startsWith("-")) { - if (target_mode == TARG_MACX_MODE && opt.startsWith("-Xarch")) { + if (target_mode == TARG_MAC_MODE && opt.startsWith("-Xarch")) { if (opt.length() > 7) { arch = opt.mid(7).toKey(); opt = l.at(++lit); @@ -658,7 +661,7 @@ UnixMakefileGenerator::processPrlFiles() } if (opt.startsWith(libArg) || - (target_mode == TARG_MACX_MODE && opt.startsWith("-F"))) { + (target_mode == TARG_MAC_MODE && opt.startsWith("-F"))) { if(!lflags[arch].contains(opt)) lflags[arch].append(opt); } else if(opt.startsWith("-l") || opt == "-pthread") { @@ -666,12 +669,12 @@ UnixMakefileGenerator::processPrlFiles() if (lflags[arch].contains(opt)) lflags[arch].removeAll(opt); lflags[arch].append(opt); - } else if (target_mode == TARG_MACX_MODE && opt.startsWith("-framework")) { + } else if (target_mode == TARG_MAC_MODE && opt.startsWith("-framework")) { if(opt.length() > 11) opt = opt.mid(11); else { opt = l.at(++lit); - if (target_mode == TARG_MACX_MODE && opt.startsWith("-Xarch")) + if (target_mode == TARG_MAC_MODE && opt.startsWith("-Xarch")) opt = l.at(++lit); // The user has done the right thing and prefixed each part } bool found = false; @@ -833,7 +836,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t) uninst.append("-$(DEL_FILE) \"" + dst_targ + "\""); if(!links.isEmpty()) { for(int i = 0; i < links.size(); ++i) { - if (target_mode == TARG_UNIX_MODE || target_mode == TARG_MACX_MODE) { + if (target_mode == TARG_UNIX_MODE || target_mode == TARG_MAC_MODE) { QString link = Option::fixPathToTargetOS(destdir + links[i], false); int lslash = link.lastIndexOf(Option::dir_sep); if(lslash != -1) diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index 41e40e0bb6..400908bc91 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -349,7 +349,8 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) << project->first("QMAKE_EXTENSION_STATICLIB") << " "; t << endl << endl; } - if(project->isActiveConfig("depend_prl") && !project->isEmpty("QMAKE_PRL_INTERNAL_FILES")) { + if ((project->isActiveConfig("depend_prl") || project->isActiveConfig("fast_depend_prl")) + && !project->isEmpty("QMAKE_PRL_INTERNAL_FILES")) { const ProStringList &l = project->values("QMAKE_PRL_INTERNAL_FILES"); ProStringList::ConstIterator it; for(it = l.begin(); it != l.end(); ++it) { @@ -361,8 +362,12 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) dir = (*it).left(slsh + 1); QString targ = dir + libinfo.first("QMAKE_PRL_TARGET"); target_deps += " " + targ; - t << targ << ":" << "\n\t" - << "@echo \"Creating '" << targ << "'\"" << "\n\t" + t << targ; + if (project->isActiveConfig("fast_depend_prl")) + t << ":\n\t@echo \"Creating '"; + else + t << ": FORCE\n\t@echo \"Creating/updating '"; + t << targ << "'\"" << "\n\t" << "(cd " << libinfo.first("QMAKE_PRL_BUILD_DIR") << ";" << "$(MAKE))" << endl; } @@ -436,7 +441,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t"; if(!project->isEmpty("QMAKE_PRE_LINK")) t << var("QMAKE_PRE_LINK") << "\n\t"; - t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)"; + t << "$(LINK) $(LFLAGS) " << var("QMAKE_LINK_O_FLAG") << "$(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)"; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK"); t << endl << endl; @@ -451,7 +456,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) t << mkdir_p_asstring(destdir) << "\n\t"; if (!project->isEmpty("QMAKE_PRE_LINK")) t << var("QMAKE_PRE_LINK") << "\n\t"; - t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)"; + t << "$(LINK) $(LFLAGS) " << var("QMAKE_LINK_O_FLAG") << "$(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)"; if (!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK"); } @@ -503,7 +508,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) t << incr_target_dir << ": $(INCREMENTAL_OBJECTS)" << "\n\t"; if(!destdir.isEmpty()) t << mkdir_p_asstring(destdir) << "\n\t"; - t << "$(LINK) " << incr_lflags << " -o "<< incr_target_dir << + t << "$(LINK) " << incr_lflags << " " << var("QMAKE_LINK_O_FLAG") << incr_target_dir << " $(INCREMENTAL_OBJECTS)" << endl; //communicated below ProStringList &cmd = project->values("QMAKE_LINK_SHLIB_CMD"); @@ -1173,7 +1178,7 @@ void UnixMakefileGenerator::init2() } if (project->values("QMAKE_LINK_SHLIB_CMD").isEmpty()) project->values("QMAKE_LINK_SHLIB_CMD").append( - "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)"); + "$(LINK) $(LFLAGS) " + project->first("QMAKE_LINK_O_FLAG") + "$(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)"); } if (!project->values("QMAKE_APP_FLAG").isEmpty()) { project->values("QMAKE_CFLAGS") += project->values("QMAKE_CFLAGS_APP"); @@ -1218,7 +1223,7 @@ void UnixMakefileGenerator::init2() } if(!project->isEmpty("QMAKE_BUNDLE")) { - QString plist = fileFixify(project->first("QMAKE_INFO_PLIST").toQString()); + QString plist = fileFixify(project->first("QMAKE_INFO_PLIST").toQString(), qmake_getpwd()); if(plist.isEmpty()) plist = specdir() + QDir::separator() + "Info.plist." + project->first("TEMPLATE"); if(exists(Option::fixPathToLocalOS(plist))) { |