summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/env/-fPIC2
-rw-r--r--Documentation/env/README48
-rw-r--r--Documentation/env/debug-build7
l---------Documentation/env/dev-db/mysql1
l---------Documentation/env/kde-base/kdelibs1
l---------Documentation/env/kde-base/libkworkspace1
l---------Documentation/env/kde-base/libplasmaclock1
l---------Documentation/env/kde-base/libtaskmanager1
l---------Documentation/env/kde-base/plasma-apps1
l---------Documentation/env/kde-base/plasma-workspace1
-rw-r--r--Documentation/env/profile-build8
11 files changed, 72 insertions, 0 deletions
diff --git a/Documentation/env/-fPIC b/Documentation/env/-fPIC
new file mode 100644
index 00000000000..f9a75daaa87
--- /dev/null
+++ b/Documentation/env/-fPIC
@@ -0,0 +1,2 @@
+CFLAGS="${CFLAGS} -fPIC"
+CXXFLAGS="${CFLAGS}"
diff --git a/Documentation/env/README b/Documentation/env/README
new file mode 100644
index 00000000000..0f59be2d93f
--- /dev/null
+++ b/Documentation/env/README
@@ -0,0 +1,48 @@
+The purpose of this directory is to quicky set up your KDE4 (or any package) for debugging/profiling.
+
+HOWTO:
+- in /etc/portage/env create directory with the name of category the package belong to (kde-base, etc)
+- in that category create file with package name (without version) - simple bash scrit to set up environment
+ for you package (see example below)
+- you can create "template" for those "profiles" and use symlinks as shown in example
+
+This is example layout:
+
+<dir>
+/etc/portage/env:
++- debug-build
+|
++- dev-db
+| |
+| +- mysql -> ../-fPIC
+| |
+| +- sqlite -> ../-O3
+|
++- dev-lang
+| |
+| +- python -> ../-O3
+|
++- -fPIC
+|
++- -O3
+|
++- profile-build
+</dir>
+
+Example debug-build file:
+
+<code>
+CFLAGS="-O0 -ggdb"
+CXXFLAGS="${CFLAGS}"
+FEATURES="${FEATURES} nostrip"
+USE="${USE} debug"
+</code>
+
+NOTE:
+- not all (usually only some of them) FEATURES work per package basis, so don't monkey too much!
+- FEATURES are package manager specific and may behave (or not work at all) diffrrently per package
+ basis with different package managers
+- this hack is known to work with portage. Refer to your package manager documentation otherwise.
+
+Detailed information about how to obtain meaningful backtraces:
+http://www.gentoo.org/proj/en/qa/backtraces.xml
diff --git a/Documentation/env/debug-build b/Documentation/env/debug-build
new file mode 100644
index 00000000000..8806a092509
--- /dev/null
+++ b/Documentation/env/debug-build
@@ -0,0 +1,7 @@
+CFLAGS="-O0 -ggdb"
+CXXFLAGS="${CFLAGS}"
+# You can use either nostrip or splitdebug - refer to
+# http://www.gentoo.org/proj/en/qa/backtraces.xml
+# for more information
+FEATURES="${FEATURES} nostrip"
+USE="${USE} debug"
diff --git a/Documentation/env/dev-db/mysql b/Documentation/env/dev-db/mysql
new file mode 120000
index 00000000000..e7cab50c257
--- /dev/null
+++ b/Documentation/env/dev-db/mysql
@@ -0,0 +1 @@
+../-fPIC \ No newline at end of file
diff --git a/Documentation/env/kde-base/kdelibs b/Documentation/env/kde-base/kdelibs
new file mode 120000
index 00000000000..ebe09fe6532
--- /dev/null
+++ b/Documentation/env/kde-base/kdelibs
@@ -0,0 +1 @@
+../debug-build \ No newline at end of file
diff --git a/Documentation/env/kde-base/libkworkspace b/Documentation/env/kde-base/libkworkspace
new file mode 120000
index 00000000000..ebe09fe6532
--- /dev/null
+++ b/Documentation/env/kde-base/libkworkspace
@@ -0,0 +1 @@
+../debug-build \ No newline at end of file
diff --git a/Documentation/env/kde-base/libplasmaclock b/Documentation/env/kde-base/libplasmaclock
new file mode 120000
index 00000000000..ebe09fe6532
--- /dev/null
+++ b/Documentation/env/kde-base/libplasmaclock
@@ -0,0 +1 @@
+../debug-build \ No newline at end of file
diff --git a/Documentation/env/kde-base/libtaskmanager b/Documentation/env/kde-base/libtaskmanager
new file mode 120000
index 00000000000..ebe09fe6532
--- /dev/null
+++ b/Documentation/env/kde-base/libtaskmanager
@@ -0,0 +1 @@
+../debug-build \ No newline at end of file
diff --git a/Documentation/env/kde-base/plasma-apps b/Documentation/env/kde-base/plasma-apps
new file mode 120000
index 00000000000..ebe09fe6532
--- /dev/null
+++ b/Documentation/env/kde-base/plasma-apps
@@ -0,0 +1 @@
+../debug-build \ No newline at end of file
diff --git a/Documentation/env/kde-base/plasma-workspace b/Documentation/env/kde-base/plasma-workspace
new file mode 120000
index 00000000000..ebe09fe6532
--- /dev/null
+++ b/Documentation/env/kde-base/plasma-workspace
@@ -0,0 +1 @@
+../debug-build \ No newline at end of file
diff --git a/Documentation/env/profile-build b/Documentation/env/profile-build
new file mode 100644
index 00000000000..86a71a94e1b
--- /dev/null
+++ b/Documentation/env/profile-build
@@ -0,0 +1,8 @@
+CFLAGS="-O0 -ggdb -pg"
+CXXFLAGS="${CFLAGS}"
+LDFLAGS="${LDFLAGS} -pg"
+# You can use either nostrip or splitdebug - refer to
+# http://www.gentoo.org/proj/en/qa/backtraces.xml
+# for more information
+FEATURES="${FEATURES} nostrip"
+USE="${USE} debug"