diff options
Diffstat (limited to 'meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch')
-rw-r--r-- | meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch b/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch new file mode 100644 index 0000000000..51ca0e82f6 --- /dev/null +++ b/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch @@ -0,0 +1,161 @@ +From aebabafe085dd1b84027a1e31e5566c82528bd62 Mon Sep 17 00:00:00 2001 +From: Bastian Krause <bst@pengutronix.de> +Date: Tue, 4 May 2021 11:41:56 +0200 +Subject: [PATCH] doc: allow disabling docs/man page generation + +The assumption that HTML documentation and manual pages should be +generated if the required tools (asciidoc) are present is not always +true. So add a cmake option that allows disabling the docs/man page +generation. The default is to generate docs/man pages like before. + +Origin: https://github.com/ccache/ccache/pull/844 +Upstream-Status: Submitted +Signed-off-by: Bastian Krause <bst@pengutronix.de> +--- + doc/CMakeLists.txt | 128 +++++++++++++++++++++++---------------------- + 1 file changed, 66 insertions(+), 62 deletions(-) + +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt +index c5ce224d..74b7831b 100644 +--- a/doc/CMakeLists.txt ++++ b/doc/CMakeLists.txt +@@ -1,70 +1,74 @@ ++option(BUILD_DOCS "Indicates whether HTML documentation and manual pages should be built or not" ON) ++ + find_program(ASCIIDOC_EXE asciidoc) + mark_as_advanced(ASCIIDOC_EXE) # Don't show in CMake UIs + +-if(NOT ASCIIDOC_EXE) +- message(WARNING "Could not find asciidoc; documentation will not be generated") +-else() +- # +- # HTML documentation +- # +- function(generate_html adoc_file) +- get_filename_component(base_name "${adoc_file}" NAME_WE) +- set(html_file "${base_name}.html") +- add_custom_command( +- OUTPUT "${html_file}" +- COMMAND +- ${ASCIIDOC_EXE} +- -o "${html_file}" +- -a revnumber="${CCACHE_VERSION}" +- -a toc +- -b xhtml11 +- "${CMAKE_SOURCE_DIR}/${adoc_file}" +- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}" +- ) +- set(html_files "${html_files}" "${html_file}" PARENT_SCOPE) +- endfunction() ++if (BUILD_DOCS) ++ if(NOT ASCIIDOC_EXE) ++ message(WARNING "Could not find asciidoc; documentation will not be generated") ++ else() ++ # ++ # HTML documentation ++ # ++ function(generate_html adoc_file) ++ get_filename_component(base_name "${adoc_file}" NAME_WE) ++ set(html_file "${base_name}.html") ++ add_custom_command( ++ OUTPUT "${html_file}" ++ COMMAND ++ ${ASCIIDOC_EXE} ++ -o "${html_file}" ++ -a revnumber="${CCACHE_VERSION}" ++ -a toc ++ -b xhtml11 ++ "${CMAKE_SOURCE_DIR}/${adoc_file}" ++ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}" ++ ) ++ set(html_files "${html_files}" "${html_file}" PARENT_SCOPE) ++ endfunction() + +- generate_html(LICENSE.adoc) +- generate_html(doc/AUTHORS.adoc) +- generate_html(doc/MANUAL.adoc) +- generate_html(doc/NEWS.adoc) ++ generate_html(LICENSE.adoc) ++ generate_html(doc/AUTHORS.adoc) ++ generate_html(doc/MANUAL.adoc) ++ generate_html(doc/NEWS.adoc) + +- add_custom_target(doc-html DEPENDS "${html_files}") +- set(doc_files "${html_files}") ++ add_custom_target(doc-html DEPENDS "${html_files}") ++ set(doc_files "${html_files}") + +- # +- # Man page +- # +- find_program(A2X_EXE a2x) +- mark_as_advanced(A2X_EXE) # Don't show in CMake UIs +- if(NOT A2X_EXE) +- message(WARNING "Could not find a2x; man page will not be generated") +- else() +- # MANUAL.adoc -> MANUAL.xml -> man page +- add_custom_command( +- OUTPUT MANUAL.xml +- COMMAND +- ${ASCIIDOC_EXE} +- -o - +- -a revnumber=${CCACHE_VERSION} +- -d manpage +- -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" +- | perl -pe 's!<literal>\(.*?\)</literal>!<emphasis role="strong">\\1</emphasis>!g' +- >MANUAL.xml +- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" +- ) +- add_custom_command( +- OUTPUT ccache.1 +- COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml +- MAIN_DEPENDENCY MANUAL.xml +- ) +- add_custom_target(doc-man-page DEPENDS ccache.1) +- install( +- FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1" +- DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" +- ) +- set(doc_files "${doc_files}" ccache.1) +- endif() ++ # ++ # Man page ++ # ++ find_program(A2X_EXE a2x) ++ mark_as_advanced(A2X_EXE) # Don't show in CMake UIs ++ if(NOT A2X_EXE) ++ message(WARNING "Could not find a2x; man page will not be generated") ++ else() ++ # MANUAL.adoc -> MANUAL.xml -> man page ++ add_custom_command( ++ OUTPUT MANUAL.xml ++ COMMAND ++ ${ASCIIDOC_EXE} ++ -o - ++ -a revnumber=${CCACHE_VERSION} ++ -d manpage ++ -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" ++ | perl -pe 's!<literal>\(.*?\)</literal>!<emphasis role="strong">\\1</emphasis>!g' ++ >MANUAL.xml ++ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" ++ ) ++ add_custom_command( ++ OUTPUT ccache.1 ++ COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml ++ MAIN_DEPENDENCY MANUAL.xml ++ ) ++ add_custom_target(doc-man-page DEPENDS ccache.1) ++ install( ++ FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1" ++ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" ++ ) ++ set(doc_files "${doc_files}" ccache.1) ++ endif() + +- add_custom_target(doc ALL DEPENDS "${doc_files}") ++ add_custom_target(doc ALL DEPENDS "${doc_files}") ++ endif() + endif() +-- +2.29.2 + |