Index: Jenkinsfile_disabled
===================================================================
--- Jenkinsfile_disabled	(revision 9802f4c8da8def9df98bed67faa181aad798cc52)
+++ Jenkinsfile_disabled	(revision e068c8a8da15b590c9ee6dc1bf9fefcffcc2b1dc)
@@ -126,5 +126,5 @@
 			}
 
-			sh "${SrcDir}/configure CXX=${Settings.Compiler.CXX} CC=${Settings.Compiler.CC} ${Settings.Architecture.flags} ${targets} --quiet"
+			sh "${SrcDir}/configure CXX=${Settings.Compiler.CXX} CC=${Settings.Compiler.CC} ${Settings.Architecture.flags} AR=gcc-ar RANLIB=gcc-ranlib ${targets} --quiet --prefix=${BuildDir}"
 
 			// Configure libcfa
@@ -155,4 +155,11 @@
 		dir (BuildDir) {
 			sh "make -j 8 --no-print-directory -C libcfa/${Settings.Architecture.name}-nodebug"
+		}
+	}
+
+	build_stage('Build : install', true) {
+		// Build outside of the src tree to ease cleaning
+		dir (BuildDir) {
+			sh "make -j 8 --no-print-directory install"
 		}
 	}
@@ -179,5 +186,5 @@
 		echo "Archiving core dumps"
 		dir (BuildDir) {
-			archiveArtifacts artifacts: "tests/crashes/**/*", fingerprint: true
+			archiveArtifacts artifacts: "tests/crashes/**/*,lib/**/lib*.so*", fingerprint: true
 		}
 		throw err
@@ -215,12 +222,12 @@
 
 		//Then publish the results
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'compile'       , groupCompile    , false, 'Compilation')
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'compile.diff'  , groupCompile    , true , 'Compilation (relative)')
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch'     , groupConcurrency, false, 'Context Switching')
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch.diff', groupConcurrency, true , 'Context Switching (relative)')
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex'         , groupConcurrency, false, 'Mutual Exclusion')
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex.diff'    , groupConcurrency, true , 'Mutual Exclusion (relative)')
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'signal'        , groupConcurrency, false, 'Internal and External Scheduling')
-		do_plot(Settings.RunBenchmark && Settings.Publish, 'signal.diff'   , groupConcurrency, true , 'Internal and External Scheduling (relative)')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'compile'        , groupCompile    , false, 'Compilation')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'compile.diff'   , groupCompile    , true , 'Compilation (relative)')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch'      , groupConcurrency, false, 'Context Switching')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'ctxswitch.diff' , groupConcurrency, true , 'Context Switching (relative)')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex'          , groupConcurrency, false, 'Mutual Exclusion')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'mutex.diff'     , groupConcurrency, true , 'Mutual Exclusion (relative)')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'scheduling'     , groupConcurrency, false, 'Internal and External Scheduling')
+		do_plot(Settings.RunBenchmark && Settings.Publish, 'scheduling.diff', groupConcurrency, true , 'Internal and External Scheduling (relative)')
 	}
 }
@@ -325,9 +332,11 @@
 	public String CXX
 	public String CC
-
-	CC_Desc(String name, String CXX, String CC) {
+	public String lto
+
+	CC_Desc(String name, String CXX, String CC, String lto) {
 		this.name = name
 		this.CXX = CXX
-		this.CC = CC
+		this.CC  = CC
+		this.lto = lto
 	}
 }
@@ -364,23 +373,23 @@
 		switch( param.Compiler ) {
 			case 'gcc-9':
-				this.Compiler = new CC_Desc('gcc-9', 'g++-9', 'gcc-9')
+				this.Compiler = new CC_Desc('gcc-9', 'g++-9', 'gcc-9', '-flto=auto')
 			break
 			case 'gcc-8':
-				this.Compiler = new CC_Desc('gcc-8', 'g++-8', 'gcc-8')
+				this.Compiler = new CC_Desc('gcc-8', 'g++-8', 'gcc-8', '-flto=auto')
 			break
 			case 'gcc-7':
-				this.Compiler = new CC_Desc('gcc-7', 'g++-7', 'gcc-7')
+				this.Compiler = new CC_Desc('gcc-7', 'g++-7', 'gcc-7', '-flto=auto')
 			break
 			case 'gcc-6':
-				this.Compiler = new CC_Desc('gcc-6', 'g++-6', 'gcc-6')
+				this.Compiler = new CC_Desc('gcc-6', 'g++-6', 'gcc-6', '-flto=auto')
 			break
 			case 'gcc-5':
-				this.Compiler = new CC_Desc('gcc-5', 'g++-5', 'gcc-5')
+				this.Compiler = new CC_Desc('gcc-5', 'g++-5', 'gcc-5', '-flto=auto')
 			break
 			case 'gcc-4.9':
-				this.Compiler = new CC_Desc('gcc-4.9', 'g++-4.9', 'gcc-4.9')
+				this.Compiler = new CC_Desc('gcc-4.9', 'g++-4.9', 'gcc-4.9', '-flto=auto')
 			break
 			case 'clang':
-				this.Compiler = new CC_Desc('clang', 'clang++-6.0', 'gcc-6')
+				this.Compiler = new CC_Desc('clang', 'clang++-6.0', 'gcc-6', '-flto=thin -flto-jobs=0')
 			break
 			default :
@@ -439,4 +448,10 @@
 	// prepare the properties
 	properties ([ 													\
+		buildDiscarder(logRotator(										\
+			artifactDaysToKeepStr: '',									\
+			artifactNumToKeepStr: '',									\
+			daysToKeepStr: '730',										\
+			numToKeepStr: '1000'										\
+		)),														\
 		[$class: 'ParametersDefinitionProperty', 								\
 			parameterDefinitions: [ 									\
