aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules4
m---------src/tools/perfparser0
-rw-r--r--src/tools/tools.pro29
-rw-r--r--src/tools/tools.qbs8
4 files changed, 41 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
index ee0a99fda7..6fdaf4283f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,3 +2,7 @@
path = src/shared/qbs
url = ../../qbs/qbs.git
ignore = dirty
+[submodule "perfparser"]
+ path = src/tools/perfparser
+ url = ../perfparser.git
+ ignore = dirty
diff --git a/src/tools/perfparser b/src/tools/perfparser
new file mode 160000
+Subproject 28751d2232d6e04fdef3db72e0e7b77055bafc4
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index 07246b95fe..9fad57d693 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -49,3 +49,32 @@ isEmpty(BUILD_CPLUSPLUS_TOOLS):BUILD_CPLUSPLUS_TOOLS=$$(BUILD_CPLUSPLUS_TOOLS)
}
}
}
+
+exists(perfparser/perfparser.pro) {
+ win32 {
+ SUBDIRS += perfparser
+ PERFPARSER_APP_DESTDIR = $$IDE_BUILD_TREE/bin
+ PERFPARSER_APP_INSTALLDIR = $$QTC_PREFIX/bin
+
+ # On windows we take advantage of the fixed path in eblopenbackend.c: "..\lib\elfutils\"
+ PERFPARSER_ELFUTILS_INSTALLDIR = $$QTC_PREFIX/bin
+ PERFPARSER_ELFUTILS_BACKENDS_INSTALLDIR = $$QTC_PREFIX/lib/elfutils
+ } else {
+ SUBDIRS += perfparser
+ PERFPARSER_APP_DESTDIR = $$IDE_BUILD_TREE/libexec/qtcreator
+ PERFPARSER_APP_INSTALLDIR = $$QTC_PREFIX/libexec/qtcreator
+
+ # On linux we have "$ORIGIN/../$LIB/elfutils" in eblopenbackend.c. Unfortunately $LIB can
+ # be many different things, so we target the second try where it just loads the plain file
+ # name. This also allows us to put libdw and libelf in a subdir of lib.
+ PERFPARSER_ELFUTILS_INSTALLDIR = $$QTC_PREFIX/lib/elfutils
+ PERFPARSER_ELFUTILS_BACKENDS_INSTALLDIR = $$QTC_PREFIX/lib/elfutils
+ }
+
+ cache(PERFPARSER_APP_DESTDIR)
+ cache(PERFPARSER_APP_INSTALLDIR)
+ cache(PERFPARSER_ELFUTILS_INSTALLDIR)
+ cache(PERFPARSER_ELFUTILS_BACKENDS_INSTALLDIR)
+}
+
+OTHER_FILES += tools.qbs
diff --git a/src/tools/tools.qbs b/src/tools/tools.qbs
index b3f27424e6..1de2bfb3c5 100644
--- a/src/tools/tools.qbs
+++ b/src/tools/tools.qbs
@@ -17,4 +17,12 @@ Project {
"iostool/iostool.qbs",
"winrtdebughelper/winrtdebughelper.qbs"
].concat(project.additionalTools)
+
+ Project {
+ name: "PerfParser Tool"
+ references: [
+ "perfparser/perfparser.qbs"
+ ]
+ condition: File.exists(project.ide_source_tree + "/src/tools/perfparser/perfparser.qbs")
+ }
}