doxygen: fix a build issue
authorBartosz Golaszewski <brgl@bgdev.pl>
Mon, 26 Jun 2017 09:20:14 +0000 (11:20 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 2 Jul 2017 16:35:31 +0000 (18:35 +0200)
Add a patch fixing a build issue in doxygen. This patch is currently
under review for upstream inclusion[1].

[1] https://github.com/doxygen/doxygen/pull/574

Fixes: http://autobuild.buildroot.net/results/f55/f55a04e32c83620661d0542e89eb2dba9433e476/
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch [new file with mode: 0644]

diff --git a/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch b/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch
new file mode 100644 (file)
index 0000000..282b2bd
--- /dev/null
@@ -0,0 +1,58 @@
+From f9a3aa72c2bf15726bcdafd140fd21f790de555d Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <brgl@bgdev.pl>
+Date: Wed, 21 Jun 2017 14:32:25 +0200
+Subject: [PATCH] build: fix the way lang_cfg.h is generated
+
+This header is generated by running cmake/lang_cfg.cmake and
+redirecting its stderr. If any warning is emitted by this script, it
+ends up in the generated header and breaks the build.
+
+To avoid such problems: pass the path to the header as an argument to
+the cmake script and use the cmake 'file' command instead of 'message'.
+
+We can't even use message(STATUS...) as - although it prints to stdout
+as opposed to other types of messages - it prepends all output with
+a double hyphen.
+
+Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
+---
+ cmake/lang_cfg.cmake | 10 +++++-----
+ src/CMakeLists.txt   |  2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/cmake/lang_cfg.cmake b/cmake/lang_cfg.cmake
+index c57d3ed..86c2d9a 100644
+--- a/cmake/lang_cfg.cmake
++++ b/cmake/lang_cfg.cmake
+@@ -1,10 +1,10 @@
+-if(${CMAKE_ARGC} GREATER 1)
+-      if ("${CMAKE_ARGV3}" STREQUAL "ENONLY")
+-              message("#define ENGLISH_ONLY")
++if(${CMAKE_ARGC} GREATER 2)
++      if ("${CMAKE_ARGV4}" STREQUAL "ENONLY")
++              file(APPEND ${CMAKE_ARGV3} " #define ENGLISH_ONLY")
+       else()
+               math(EXPR UPTO ${CMAKE_ARGC}-1)
+-              foreach(i RANGE 3 ${UPTO})
+-                      message("#define LANG_${CMAKE_ARGV${i}}")
++              foreach(i RANGE 4 ${UPTO})
++                      file(APPEND ${CMAKE_ARGV3} " #define LANG_${CMAKE_ARGV${i}}")
+               endforeach()
+       endif()
+ endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 08c8439..dcf4ef8 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -73,7 +73,7 @@ set_source_files_properties(${GENERATED_SRC}/ce_parse.h PROPERTIES GENERATED 1)
+ # lang_cfg.h
+ add_custom_command(
+     COMMENT  "Generating ${GENERATED_SRC}/lang_cfg.h"
+-    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${LANG_CODES} 2> ${GENERATED_SRC}/lang_cfg.h
++    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${GENERATED_SRC}/lang_cfg.h ${LANG_CODES}
+     DEPENDS ${LANGUAGE_FILES}
+     OUTPUT ${GENERATED_SRC}/lang_cfg.h
+ )
+-- 
+2.9.3
+