Subject: Collected Debian patches for kcov
Author: Michael Tautschnig <mt@debian.org>

The kcov package is maintained in Git rather than maintaining
patches as separate files, and separating the patches doesn't seem to
be worth the effort.  They are therefore all included in this single
Debian patch.

For full commit history and separated commits, see the packaging Git
repository at collab-main/kcov.git.
--- kcov-25+dfsg.orig/src/CMakeLists.txt
+++ kcov-25+dfsg/src/CMakeLists.txt
@@ -52,7 +52,7 @@ set (${KCOV}_SRCS
 
 set (KCOV_LIBRARY_PREFIX "/tmp")
 
-set (CMAKE_CXX_FLAGS "-std=c++0x -g -Wall -D_GLIBCXX_USE_NANOSLEEP -DKCOV_LIBRARY_PREFIX=${KCOV_LIBRARY_PREFIX}")
+set (CMAKE_CXX_FLAGS "-std=c++0x -fPIC -g -Wall -D_GLIBCXX_USE_NANOSLEEP -DKCOV_LIBRARY_PREFIX=${KCOV_LIBRARY_PREFIX}")
 
 include_directories(
 	include/
@@ -94,11 +94,11 @@ add_custom_command(
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/glass.png icon_glass
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/source-file.html source_file_text
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/index.html index_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/handlebars.js handlebars_text
+    /usr/share/javascript/handlebars/handlebars.js handlebars_text
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/kcov.js kcov_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/jquery.min.js jquery_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/jquery.tablesorter.min.js tablesorter_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/jquery.tablesorter.widgets.min.js tablesorter_widgets_text
+    /usr/share/javascript/jquery/jquery.min.js jquery_text
+    ${CMAKE_CURRENT_SOURCE_DIR}/../debian/jquery.tablesorter.min.js tablesorter_text
+    ${CMAKE_CURRENT_SOURCE_DIR}/../debian/jquery.tablesorter.widgets.min.js tablesorter_widgets_text
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/tablesorter-theme.css tablesorter_theme_text
    > html-data-files.cc
    DEPENDS
@@ -107,11 +107,11 @@ add_custom_command(
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/glass.png
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/source-file.html
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/index.html
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/handlebars.js
+    /usr/share/javascript/handlebars/handlebars.js
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/kcov.js
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/jquery.min.js
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/jquery.tablesorter.min.js
-    ${CMAKE_CURRENT_SOURCE_DIR}/../data/js/jquery.tablesorter.widgets.min.js
+    /usr/share/javascript/jquery/jquery.min.js
+    ${CMAKE_CURRENT_SOURCE_DIR}/../debian/jquery.tablesorter.min.js
+    ${CMAKE_CURRENT_SOURCE_DIR}/../debian/jquery.tablesorter.widgets.min.js
     ${CMAKE_CURRENT_SOURCE_DIR}/../data/tablesorter-theme.css
     ${CMAKE_CURRENT_SOURCE_DIR}/bin-to-c-source.py
    )
--- kcov-25+dfsg.orig/tests/unit-tests/CMakeLists.txt
+++ kcov-25+dfsg/tests/unit-tests/CMakeLists.txt
@@ -48,11 +48,11 @@ add_custom_command(
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/glass.png icon_glass
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/source-file.html source_file_text
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/index.html index_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/handlebars.js handlebars_text
+    /usr/share/javascript/handlebars/handlebars.js handlebars_text
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/kcov.js kcov_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/jquery.min.js jquery_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/jquery.tablesorter.min.js tablesorter_text
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/jquery.tablesorter.widgets.min.js tablesorter_widgets_text
+    /usr/share/javascript/jquery/jquery.min.js jquery_text
+    ${CMAKE_CURRENT_SOURCE_DIR}/../../debian/jquery.tablesorter.min.js tablesorter_text
+    ${CMAKE_CURRENT_SOURCE_DIR}/../../debian/jquery.tablesorter.widgets.min.js tablesorter_widgets_text
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/tablesorter-theme.css tablesorter_theme_text
    > html-data-files.cc
    DEPENDS
@@ -61,11 +61,11 @@ add_custom_command(
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/glass.png
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/source-file.html
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/index.html
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/handlebars.js
+    /usr/share/javascript/handlebars/handlebars.js
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/kcov.js
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/jquery.min.js
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/jquery.tablesorter.min.js
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../data/js/jquery.tablesorter.widgets.min.js
+    /usr/share/javascript/jquery/jquery.min.js
+    ${CMAKE_CURRENT_SOURCE_DIR}/../debian/jquery.tablesorter.min.js
+    ${CMAKE_CURRENT_SOURCE_DIR}/../debian/jquery.tablesorter.widgets.min.js
     ${CMAKE_CURRENT_SOURCE_DIR}/../../data/tablesorter-theme.css
     ${CMAKE_CURRENT_SOURCE_DIR}/../../src/bin-to-c-source.py
    )
--- kcov-25+dfsg.orig/doc/kcov.1
+++ kcov-25+dfsg/doc/kcov.1
@@ -97,9 +97,9 @@ kcov \-\-include\-pattern=src/frodo /tmp
 Same as above but split collecting and reporting (perhaps on two different computers)
 .PP
 .RS
-kcov --collect-only /tmp/kcov ./frodo
+kcov \-\-collect-only /tmp/kcov ./frodo
 .PP
-kcov --report-only \-\-include\-pattern=src/frodo /tmp/kcov ./frodo
+kcov \-\-report-only \-\-include\-pattern=src/frodo /tmp/kcov ./frodo
 .RE
 .SH HTML OUTPUT
 .PP
--- kcov-25+dfsg.orig/tests/CMakeLists.txt
+++ kcov-25+dfsg/tests/CMakeLists.txt
@@ -8,7 +8,7 @@ include_directories(
 	${CMAKE_BINARY_DIR}
 	../src/include
 )
-set (CMAKE_CXX_FLAGS "-std=c++0x -Wall -D_GLIBCXX_USE_NANOSLEEP -DKCOV_LIBRARY_PREFIX=${KCOV_LIBRARY_PREFIX}")
+set (CMAKE_CXX_FLAGS "-std=c++0x -fPIC -Wall -D_GLIBCXX_USE_NANOSLEEP -DKCOV_LIBRARY_PREFIX=${KCOV_LIBRARY_PREFIX}")
 
 add_custom_command (OUTPUT multi-fork-generated.c
   COMMAND ${CMAKE_SOURCE_DIR}/multi-fork/generate-functions.py ${CMAKE_SOURCE_DIR}/multi-fork/code-template.c 1024 > ${CMAKE_BINARY_DIR}/multi-fork-generated.c
@@ -108,13 +108,15 @@ set_target_properties(main-tests-gcov PR
 target_link_libraries(dlopen dl)
 
 
-add_custom_target (illegal-insn ALL
-  COMMAND ${CMAKE_C_COMPILER} -nostdlib ${CMAKE_CURRENT_SOURCE_DIR}/assembly/illegal-insn.S -o ${CMAKE_BINARY_DIR}/illegal-insn
-)
-
-add_custom_target (fork-32 ALL
-  COMMAND ${CMAKE_C_COMPILER} -g -m32 ${CMAKE_CURRENT_SOURCE_DIR}/fork/fork.c -o ${CMAKE_BINARY_DIR}/fork-32
-)
+# architecture specific
+#add_custom_target (illegal-insn ALL
+#  COMMAND ${CMAKE_C_COMPILER} -nostdlib ${CMAKE_CURRENT_SOURCE_DIR}/assembly/illegal-insn.S -o ${CMAKE_BINARY_DIR}/illegal-insn
+#)
+
+# works on amd64 only
+#add_custom_target (fork-32 ALL
+#  COMMAND ${CMAKE_C_COMPILER} -g -m32 ${CMAKE_CURRENT_SOURCE_DIR}/fork/fork.c -o ${CMAKE_BINARY_DIR}/fork-32
+#)
 
 target_link_libraries(shared_library_test shared_library)
 target_link_libraries(global-constructors shared_library)
