Message ID | 20241015142939.719707-3-yi.zhao@windriver.com |
---|---|
State | Accepted |
Headers | show |
Series | [meta-oe,1/3] rabbitmp-c: upgrade 0.13.0 -> 0.14.0 | expand |
Thanks for this patch and I do see you have tried to fix the build with clang-19, there is another issue seen when using LLVM libc++ for standard C++ library. see https://gist.github.com/kraj/66baa45d3844e81f47b69814d450b399 llvm libc++ has made changes to make char_traits to be more consistent see https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals I think doxygen can be fixed for not relying on this deprecated behaviour and such a patch will be worthy of upstreaming as well. e..g see how it got fixed for kea https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410 Thanks -Khem On Tue, Oct 15, 2024 at 7:30 AM Yi Zhao via lists.openembedded.org <yi.zhao=eng.windriver.com@lists.openembedded.org> wrote: > > ChangeLog: > https://www.doxygen.nl/manual/changelog.html#log_1_12_0 > > * Refresh patch > * Backport a patch to fix build with clang > * Drop doxygen-native-only-check-python3.patch as the issue can not be > reproduced. > > Signed-off-by: Yi Zhao <yi.zhao@windriver.com> > --- > .../0001-build-don-t-look-for-Iconv.patch | 20 +- > .../0002-Fix-build-with-clang-19.0.patch | 52 ++++ > .../doxygen-native-only-check-python3.patch | 232 ------------------ > .../{doxygen_1.9.3.bb => doxygen_1.12.0.bb} | 4 +- > 4 files changed, 64 insertions(+), 244 deletions(-) > create mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch > delete mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch > rename meta-oe/recipes-devtools/doxygen/{doxygen_1.9.3.bb => doxygen_1.12.0.bb} (80%) > > diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch > index 47c8edb49..6b0a48f00 100644 > --- a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch > +++ b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch > @@ -1,4 +1,4 @@ > -From 24650b0c7db6b213a2eaa5061b75b9f1b43f1ce9 Mon Sep 17 00:00:00 2001 > +From 2d587d043fc061c53c3d8015501392a804c5f0b4 Mon Sep 17 00:00:00 2001 > From: Bartosz Golaszewski <brgl@bgdev.pl> > Date: Fri, 23 Nov 2018 11:44:56 +0100 > Subject: [PATCH] build: don't look for Iconv > @@ -7,31 +7,31 @@ Drop the find_package() for Iconv. CMake is unable to find iconv.h in > native build but all modern systems supply it as part of the standard > C library. We don't need this check in meta-openembedded. > > -Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> > -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > - > -Upstream-Status: Inappropriate > +Upstream-Status: Inappropriate [oe-specific] > - upstream doxygen must build on many architectures, this change is > too intrusive for upstream > + > +Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> > +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > --- > CMakeLists.txt | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/CMakeLists.txt b/CMakeLists.txt > -index 06b9696f..f30b46b8 100644 > +index 3adf456..ad73997 100644 > --- a/CMakeLists.txt > +++ b/CMakeLists.txt > -@@ -117,10 +117,6 @@ if (sqlite3) > - endif() > +@@ -212,10 +212,6 @@ if ((CMAKE_BUILD_TYPE STREQUAL "Debug") OR enable_lex_debug) > + set(LEX_FLAGS "${LEX_FLAGS} -d") > endif() > > -find_package(Iconv REQUIRED) > --include_directories(${ICONV_INCLUDE_DIR}) > +-include_directories(${Iconv_INCLUDE_DIRS}) > - > - > #set(DOXYDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs") > set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc) > set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS}) > -- > -2.27.0 > +2.25.1 > > diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch > new file mode 100644 > index 000000000..fc3aae75c > --- /dev/null > +++ b/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch > @@ -0,0 +1,52 @@ > +From cff64a87dea7596fd506a85521d4df4616dc845f Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch> > +Date: Fri, 9 Aug 2024 14:13:34 +0200 > +Subject: [PATCH] Fix build with clang >= 19.0 > + > +Clang >= 19.0 requires a template argument list after the template > +keyword for CWG96 compliance, see > +https://github.com/llvm/llvm-project/pull/80801 > + > +This patch has also been submitted to upstream TinyDeflate as > +https://github.com/bisqwit/TinyDeflate/pull/9 > + > +Upstream-Status: Backport > +[https://github.com/doxygen/doxygen/commit/cff64a87dea7596fd506a85521d4df4616dc845f] > + > +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> > +--- > + deps/TinyDeflate/gunzip.hh | 6 +++--- > + 1 file changed, 3 insertions(+), 3 deletions(-) > + > +diff --git a/deps/TinyDeflate/gunzip.hh b/deps/TinyDeflate/gunzip.hh > +index 652058ab8..3ba341487 100644 > +--- a/deps/TinyDeflate/gunzip.hh > ++++ b/deps/TinyDeflate/gunzip.hh > +@@ -1141,21 +1141,21 @@ namespace gunzip_ns > + //fprintf(stderr, "both track flag\n"); > + SizeTracker<DeflateTrackBothSize> tracker; > + return tracker(Gunzip<code & Flag_NoTrackFlagMask> > +- (tracker.template ForwardInput(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b))); > ++ (tracker.template ForwardInput<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b))); > + } > + else if constexpr(code & Flag_TrackIn) > + { > + //fprintf(stderr, "in track flag\n"); > + SizeTracker<DeflateTrackInSize> tracker; > + return tracker(Gunzip<code & Flag_NoTrackFlagMask> > +- (tracker.template ForwardInput(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b))); > ++ (tracker.template ForwardInput<I>(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b))); > + } > + else if constexpr(code & Flag_TrackOut) > + { > + //fprintf(stderr, "out track flag\n"); > + SizeTracker<DeflateTrackOutSize> tracker; > + return tracker(Gunzip<code & Flag_NoTrackFlagMask> > +- (std::forward<I>(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b))); > ++ (std::forward<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b))); > + } > + else > + { > +-- > +2.25.1 > + > diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch > deleted file mode 100644 > index 796bc61dd..000000000 > --- a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch > +++ /dev/null > @@ -1,232 +0,0 @@ > -From daf686508f2ee4711d93e96e5b100e50bf161656 Mon Sep 17 00:00:00 2001 > -From: Leon Anavi <leon.anavi@konsulko.com> > -Date: Wed, 26 Aug 2020 10:52:10 +0300 > -Subject: [PATCH] doxygen: Fix Python issues for doxygen-native > - > -It fails to compile doxygen-native when /usr/bin/python is a link > -to python3 on build host: > - > -| Failed to import the site module > -| Traceback (most recent call last): > -| File "/usr/lib64/python3.6/site.py", line 564, in <module> > -| main() > -| File "/usr/lib64/python3.6/site.py", line 550, in main > -| known_paths = addusersitepackages(known_paths) > -| File "/usr/lib64/python3.6/site.py", line 282, in addusersitepackages > -| user_site = getusersitepackages() > -| File "/usr/lib64/python3.6/site.py", line 258, in getusersitepackages > -| user_base = getuserbase() # this will also set USER_BASE > -| File "/usr/lib64/python3.6/site.py", line 248, in getuserbase > -| USER_BASE = get_config_var('userbase') > -| File "/usr/lib64/python3.6/sysconfig.py", line 604, in get_config_var > -| return get_config_vars().get(name) > -| File "/usr/lib64/python3.6/sysconfig.py", line 553, in get_config_vars > -| _init_posix(_CONFIG_VARS) > -| File "/usr/lib64/python3.6/sysconfig.py", line 424, in _init_posix > -| _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) > -| ModuleNotFoundError: No module named '_sysconfigdata' > - > -Replace find_package PythonInterp with Python3 to fix this issue > -that it uses python3 from python3-native. And it also replaces the > -result variable PYTHON_EXECUTABLE with Python3_EXECUTABLE. > - > -This patch is only needded by doxygen-native. > - > -Updated to apply to release 1.9.1. > - > -Upstream-Status: Inappropriate [oe specific] > - > -Co-Authored-By: Kai Kang <kai.kang@windriver.com> > -Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> > -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> > - > ---- > - CMakeLists.txt | 2 +- > - addon/doxywizard/CMakeLists.txt | 6 +++--- > - doc/CMakeLists.txt | 6 +++--- > - examples/CMakeLists.txt | 4 ++-- > - libmscgen/CMakeLists.txt | 2 +- > - src/CMakeLists.txt | 10 +++++----- > - testing/CMakeLists.txt | 4 ++-- > - 7 files changed, 17 insertions(+), 17 deletions(-) > - > -diff --git a/CMakeLists.txt b/CMakeLists.txt > -index 2455793..28f0d83 100644 > ---- a/CMakeLists.txt > -+++ b/CMakeLists.txt > -@@ -105,7 +105,7 @@ else () > - endif () > - > - find_program(DOT NAMES dot) > --find_package(PythonInterp REQUIRED) > -+find_package(Python3 REQUIRED) > - find_package(FLEX REQUIRED) > - find_package(BISON REQUIRED) > - if (BISON_VERSION VERSION_LESS 2.7) > -diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt > -index 63ac8e3..d37d1d0 100644 > ---- a/addon/doxywizard/CMakeLists.txt > -+++ b/addon/doxywizard/CMakeLists.txt > -@@ -57,7 +57,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA > - > - # generate version.cpp > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp > -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp > - DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/src/version.py > - OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp > - ) > -@@ -65,7 +65,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER > - > - # generate configdoc.cpp > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp > -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp > - DEPENDS ${PROJECT_SOURCE_DIR}/src/configgen.py ${PROJECT_SOURCE_DIR}/src/config.xml > - OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp > - ) > -@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN > - set(LEX_FILES config_doxyw) > - foreach(lex_file ${LEX_FILES}) > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h > -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h > - DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > - OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h > - ) > -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt > -index ec63ceb..49a2bda 100644 > ---- a/doc/CMakeLists.txt > -+++ b/doc/CMakeLists.txt > -@@ -168,7 +168,7 @@ configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR > - > - # doc/language.doc (see tag Doxyfile:INPUT) > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR} > -+ COMMAND ${Python3_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR} > - DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES} > - OUTPUT language.doc > - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc > -@@ -177,7 +177,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1) > - > - # doc/config.doc (see tag Doxyfile:INPUT) > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc > -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc > - DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py > - OUTPUT config.doc > - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/ > -@@ -228,7 +228,7 @@ add_custom_target(docs_chm > - COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py > - COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py > - COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py > -- COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp > -+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python3_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp > - COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul > - COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm > - DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc > -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt > -index 194b427..248b807 100644 > ---- a/examples/CMakeLists.txt > -+++ b/examples/CMakeLists.txt > -@@ -54,7 +54,7 @@ foreach (f_inp ${BASIC_EXAMPLES}) > - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/${f} > - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/${f} > - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg > -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex > -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex > - DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py > - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex > - ) > -@@ -73,7 +73,7 @@ if (DOT) > - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/diagrams > - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/diagrams > - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg > -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex > -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex > - DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py > - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex > - ) > -diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt > -index 34cf4d8..f015afc 100644 > ---- a/libmscgen/CMakeLists.txt > -+++ b/libmscgen/CMakeLists.txt > -@@ -7,7 +7,7 @@ include_directories( > - set(LEX_FILES mscgen_lexer) > - foreach(lex_file ${LEX_FILES}) > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h > -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h > - DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > - OUTPUT ${GENERATED_SRC}/${lex_file}.l.h > - ) > -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt > -index 0e0c5f7..c1d3ca5 100644 > ---- a/src/CMakeLists.txt > -+++ b/src/CMakeLists.txt > -@@ -40,7 +40,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1) > - > - # configvalues.h > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h > -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h > - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py > - OUTPUT ${GENERATED_SRC}/configvalues.h > - ) > -@@ -52,7 +52,7 @@ add_custom_target( > - > - # configvalues.cpp > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp > -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp > - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py > - OUTPUT ${GENERATED_SRC}/configvalues.cpp > - ) > -@@ -60,7 +60,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT > - > - # configoptions.cpp > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp > -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp > - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py > - OUTPUT ${GENERATED_SRC}/configoptions.cpp > - ) > -@@ -95,7 +95,7 @@ endif() > - # resources.cpp > - add_custom_command( > - COMMENT "Generating ${GENERATED_SRC}/resources.cpp" > -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp > -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp > - DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py > - OUTPUT ${GENERATED_SRC}/resources.cpp > - ) > -@@ -126,7 +126,7 @@ foreach(lex_file ${LEX_FILES}) > - set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files") > - set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files") > - add_custom_command( > -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h > -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h > - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > - OUTPUT ${GENERATED_SRC}/${lex_file}.l.h > - ) > -diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt > -index fd6912e..0af1865 100644 > ---- a/testing/CMakeLists.txt > -+++ b/testing/CMakeLists.txt > -@@ -1,7 +1,7 @@ > - # run all tests sequentially (keep for backward compatibility) > - add_custom_target(tests > - COMMENT "Running doxygen tests..." > -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing > -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing > - DEPENDS doxygen > - ) > - > -@@ -19,6 +19,6 @@ foreach(TEST_FILE ${TEST_FILES}) > - string(REGEX REPLACE "^.*/([0-9][0-9][0-9]*).*$" "\\1" TEST_ID "${TEST_FILE}") > - # add a test target for each test > - add_test(NAME ${TEST_NAME} > -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing > -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing > - ) > - endforeach() > diff --git a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb b/meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb > similarity index 80% > rename from meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb > rename to meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb > index 16a4250b2..ed0c71b31 100644 > --- a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb > +++ b/meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb > @@ -8,9 +8,9 @@ DEPENDS = "flex-native bison-native" > > SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ > file://0001-build-don-t-look-for-Iconv.patch \ > + file://0002-Fix-build-with-clang-19.0.patch \ > " > -SRC_URI:append:class-native = " file://doxygen-native-only-check-python3.patch" > -SRC_URI[sha256sum] = "f352dbc3221af7012b7b00935f2dfdc9fb67a97d43287d2f6c81c50449d254e0" > +SRC_URI[sha256sum] = "a3a3dba2018ef409d83d81a2fc42a0d19bdbe087252ef342bf214b51b8b01634" > > UPSTREAM_CHECK_URI = "https://github.com/doxygen/doxygen/releases" > UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" > -- > 2.25.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#112929): https://lists.openembedded.org/g/openembedded-devel/message/112929 > Mute This Topic: https://lists.openembedded.org/mt/109023379/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On 10/16/24 10:09, Khem Raj wrote: > Thanks for this patch and I do see you have tried to fix the build > with clang-19, there is another issue seen when using LLVM libc++ > for standard C++ library. see > > https://gist.github.com/kraj/66baa45d3844e81f47b69814d450b399 > > llvm libc++ has made changes to make char_traits to be more consistent see > > https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals > > I think doxygen can be fixed for not relying on this deprecated > behaviour and such a patch will be worthy of upstreaming as well. > e..g see how it got fixed for kea > > https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410 Thanks. I'll take a look at this. //Yi > > Thanks > -Khem > > > > On Tue, Oct 15, 2024 at 7:30 AM Yi Zhao via lists.openembedded.org > <yi.zhao=eng.windriver.com@lists.openembedded.org> wrote: >> ChangeLog: >> https://www.doxygen.nl/manual/changelog.html#log_1_12_0 >> >> * Refresh patch >> * Backport a patch to fix build with clang >> * Drop doxygen-native-only-check-python3.patch as the issue can not be >> reproduced. >> >> Signed-off-by: Yi Zhao <yi.zhao@windriver.com> >> --- >> .../0001-build-don-t-look-for-Iconv.patch | 20 +- >> .../0002-Fix-build-with-clang-19.0.patch | 52 ++++ >> .../doxygen-native-only-check-python3.patch | 232 ------------------ >> .../{doxygen_1.9.3.bb => doxygen_1.12.0.bb} | 4 +- >> 4 files changed, 64 insertions(+), 244 deletions(-) >> create mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch >> delete mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch >> rename meta-oe/recipes-devtools/doxygen/{doxygen_1.9.3.bb => doxygen_1.12.0.bb} (80%) >> >> diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch >> index 47c8edb49..6b0a48f00 100644 >> --- a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch >> +++ b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch >> @@ -1,4 +1,4 @@ >> -From 24650b0c7db6b213a2eaa5061b75b9f1b43f1ce9 Mon Sep 17 00:00:00 2001 >> +From 2d587d043fc061c53c3d8015501392a804c5f0b4 Mon Sep 17 00:00:00 2001 >> From: Bartosz Golaszewski <brgl@bgdev.pl> >> Date: Fri, 23 Nov 2018 11:44:56 +0100 >> Subject: [PATCH] build: don't look for Iconv >> @@ -7,31 +7,31 @@ Drop the find_package() for Iconv. CMake is unable to find iconv.h in >> native build but all modern systems supply it as part of the standard >> C library. We don't need this check in meta-openembedded. >> >> -Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> >> -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> - >> -Upstream-Status: Inappropriate >> +Upstream-Status: Inappropriate [oe-specific] >> - upstream doxygen must build on many architectures, this change is >> too intrusive for upstream >> + >> +Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> >> +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> --- >> CMakeLists.txt | 4 ---- >> 1 file changed, 4 deletions(-) >> >> diff --git a/CMakeLists.txt b/CMakeLists.txt >> -index 06b9696f..f30b46b8 100644 >> +index 3adf456..ad73997 100644 >> --- a/CMakeLists.txt >> +++ b/CMakeLists.txt >> -@@ -117,10 +117,6 @@ if (sqlite3) >> - endif() >> +@@ -212,10 +212,6 @@ if ((CMAKE_BUILD_TYPE STREQUAL "Debug") OR enable_lex_debug) >> + set(LEX_FLAGS "${LEX_FLAGS} -d") >> endif() >> >> -find_package(Iconv REQUIRED) >> --include_directories(${ICONV_INCLUDE_DIR}) >> +-include_directories(${Iconv_INCLUDE_DIRS}) >> - >> - >> #set(DOXYDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs") >> set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc) >> set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS}) >> -- >> -2.27.0 >> +2.25.1 >> >> diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch >> new file mode 100644 >> index 000000000..fc3aae75c >> --- /dev/null >> +++ b/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch >> @@ -0,0 +1,52 @@ >> +From cff64a87dea7596fd506a85521d4df4616dc845f Mon Sep 17 00:00:00 2001 >> +From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch> >> +Date: Fri, 9 Aug 2024 14:13:34 +0200 >> +Subject: [PATCH] Fix build with clang >= 19.0 >> + >> +Clang >= 19.0 requires a template argument list after the template >> +keyword for CWG96 compliance, see >> +https://github.com/llvm/llvm-project/pull/80801 >> + >> +This patch has also been submitted to upstream TinyDeflate as >> +https://github.com/bisqwit/TinyDeflate/pull/9 >> + >> +Upstream-Status: Backport >> +[https://github.com/doxygen/doxygen/commit/cff64a87dea7596fd506a85521d4df4616dc845f] >> + >> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> >> +--- >> + deps/TinyDeflate/gunzip.hh | 6 +++--- >> + 1 file changed, 3 insertions(+), 3 deletions(-) >> + >> +diff --git a/deps/TinyDeflate/gunzip.hh b/deps/TinyDeflate/gunzip.hh >> +index 652058ab8..3ba341487 100644 >> +--- a/deps/TinyDeflate/gunzip.hh >> ++++ b/deps/TinyDeflate/gunzip.hh >> +@@ -1141,21 +1141,21 @@ namespace gunzip_ns >> + //fprintf(stderr, "both track flag\n"); >> + SizeTracker<DeflateTrackBothSize> tracker; >> + return tracker(Gunzip<code & Flag_NoTrackFlagMask> >> +- (tracker.template ForwardInput(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b))); >> ++ (tracker.template ForwardInput<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b))); >> + } >> + else if constexpr(code & Flag_TrackIn) >> + { >> + //fprintf(stderr, "in track flag\n"); >> + SizeTracker<DeflateTrackInSize> tracker; >> + return tracker(Gunzip<code & Flag_NoTrackFlagMask> >> +- (tracker.template ForwardInput(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b))); >> ++ (tracker.template ForwardInput<I>(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b))); >> + } >> + else if constexpr(code & Flag_TrackOut) >> + { >> + //fprintf(stderr, "out track flag\n"); >> + SizeTracker<DeflateTrackOutSize> tracker; >> + return tracker(Gunzip<code & Flag_NoTrackFlagMask> >> +- (std::forward<I>(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b))); >> ++ (std::forward<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b))); >> + } >> + else >> + { >> +-- >> +2.25.1 >> + >> diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch >> deleted file mode 100644 >> index 796bc61dd..000000000 >> --- a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch >> +++ /dev/null >> @@ -1,232 +0,0 @@ >> -From daf686508f2ee4711d93e96e5b100e50bf161656 Mon Sep 17 00:00:00 2001 >> -From: Leon Anavi <leon.anavi@konsulko.com> >> -Date: Wed, 26 Aug 2020 10:52:10 +0300 >> -Subject: [PATCH] doxygen: Fix Python issues for doxygen-native >> - >> -It fails to compile doxygen-native when /usr/bin/python is a link >> -to python3 on build host: >> - >> -| Failed to import the site module >> -| Traceback (most recent call last): >> -| File "/usr/lib64/python3.6/site.py", line 564, in <module> >> -| main() >> -| File "/usr/lib64/python3.6/site.py", line 550, in main >> -| known_paths = addusersitepackages(known_paths) >> -| File "/usr/lib64/python3.6/site.py", line 282, in addusersitepackages >> -| user_site = getusersitepackages() >> -| File "/usr/lib64/python3.6/site.py", line 258, in getusersitepackages >> -| user_base = getuserbase() # this will also set USER_BASE >> -| File "/usr/lib64/python3.6/site.py", line 248, in getuserbase >> -| USER_BASE = get_config_var('userbase') >> -| File "/usr/lib64/python3.6/sysconfig.py", line 604, in get_config_var >> -| return get_config_vars().get(name) >> -| File "/usr/lib64/python3.6/sysconfig.py", line 553, in get_config_vars >> -| _init_posix(_CONFIG_VARS) >> -| File "/usr/lib64/python3.6/sysconfig.py", line 424, in _init_posix >> -| _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) >> -| ModuleNotFoundError: No module named '_sysconfigdata' >> - >> -Replace find_package PythonInterp with Python3 to fix this issue >> -that it uses python3 from python3-native. And it also replaces the >> -result variable PYTHON_EXECUTABLE with Python3_EXECUTABLE. >> - >> -This patch is only needded by doxygen-native. >> - >> -Updated to apply to release 1.9.1. >> - >> -Upstream-Status: Inappropriate [oe specific] >> - >> -Co-Authored-By: Kai Kang <kai.kang@windriver.com> >> -Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> >> -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> >> - >> ---- >> - CMakeLists.txt | 2 +- >> - addon/doxywizard/CMakeLists.txt | 6 +++--- >> - doc/CMakeLists.txt | 6 +++--- >> - examples/CMakeLists.txt | 4 ++-- >> - libmscgen/CMakeLists.txt | 2 +- >> - src/CMakeLists.txt | 10 +++++----- >> - testing/CMakeLists.txt | 4 ++-- >> - 7 files changed, 17 insertions(+), 17 deletions(-) >> - >> -diff --git a/CMakeLists.txt b/CMakeLists.txt >> -index 2455793..28f0d83 100644 >> ---- a/CMakeLists.txt >> -+++ b/CMakeLists.txt >> -@@ -105,7 +105,7 @@ else () >> - endif () >> - >> - find_program(DOT NAMES dot) >> --find_package(PythonInterp REQUIRED) >> -+find_package(Python3 REQUIRED) >> - find_package(FLEX REQUIRED) >> - find_package(BISON REQUIRED) >> - if (BISON_VERSION VERSION_LESS 2.7) >> -diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt >> -index 63ac8e3..d37d1d0 100644 >> ---- a/addon/doxywizard/CMakeLists.txt >> -+++ b/addon/doxywizard/CMakeLists.txt >> -@@ -57,7 +57,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA >> - >> - # generate version.cpp >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp >> -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp >> - DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/src/version.py >> - OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp >> - ) >> -@@ -65,7 +65,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER >> - >> - # generate configdoc.cpp >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp >> -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp >> - DEPENDS ${PROJECT_SOURCE_DIR}/src/configgen.py ${PROJECT_SOURCE_DIR}/src/config.xml >> - OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp >> - ) >> -@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN >> - set(LEX_FILES config_doxyw) >> - foreach(lex_file ${LEX_FILES}) >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h >> -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h >> - DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l >> - OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h >> - ) >> -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt >> -index ec63ceb..49a2bda 100644 >> ---- a/doc/CMakeLists.txt >> -+++ b/doc/CMakeLists.txt >> -@@ -168,7 +168,7 @@ configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR >> - >> - # doc/language.doc (see tag Doxyfile:INPUT) >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR} >> -+ COMMAND ${Python3_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR} >> - DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES} >> - OUTPUT language.doc >> - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc >> -@@ -177,7 +177,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1) >> - >> - # doc/config.doc (see tag Doxyfile:INPUT) >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc >> -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc >> - DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py >> - OUTPUT config.doc >> - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/ >> -@@ -228,7 +228,7 @@ add_custom_target(docs_chm >> - COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> - COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> - COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> -- COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp >> -+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python3_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp >> - COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul >> - COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm >> - DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc >> -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt >> -index 194b427..248b807 100644 >> ---- a/examples/CMakeLists.txt >> -+++ b/examples/CMakeLists.txt >> -@@ -54,7 +54,7 @@ foreach (f_inp ${BASIC_EXAMPLES}) >> - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/${f} >> - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/${f} >> - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg >> -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex >> -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex >> - DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py >> - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex >> - ) >> -@@ -73,7 +73,7 @@ if (DOT) >> - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/diagrams >> - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/diagrams >> - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg >> -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex >> -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex >> - DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py >> - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex >> - ) >> -diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt >> -index 34cf4d8..f015afc 100644 >> ---- a/libmscgen/CMakeLists.txt >> -+++ b/libmscgen/CMakeLists.txt >> -@@ -7,7 +7,7 @@ include_directories( >> - set(LEX_FILES mscgen_lexer) >> - foreach(lex_file ${LEX_FILES}) >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h >> -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h >> - DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l >> - OUTPUT ${GENERATED_SRC}/${lex_file}.l.h >> - ) >> -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt >> -index 0e0c5f7..c1d3ca5 100644 >> ---- a/src/CMakeLists.txt >> -+++ b/src/CMakeLists.txt >> -@@ -40,7 +40,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1) >> - >> - # configvalues.h >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h >> -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h >> - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py >> - OUTPUT ${GENERATED_SRC}/configvalues.h >> - ) >> -@@ -52,7 +52,7 @@ add_custom_target( >> - >> - # configvalues.cpp >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp >> -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp >> - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py >> - OUTPUT ${GENERATED_SRC}/configvalues.cpp >> - ) >> -@@ -60,7 +60,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT >> - >> - # configoptions.cpp >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp >> -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp >> - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py >> - OUTPUT ${GENERATED_SRC}/configoptions.cpp >> - ) >> -@@ -95,7 +95,7 @@ endif() >> - # resources.cpp >> - add_custom_command( >> - COMMENT "Generating ${GENERATED_SRC}/resources.cpp" >> -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp >> -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp >> - DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py >> - OUTPUT ${GENERATED_SRC}/resources.cpp >> - ) >> -@@ -126,7 +126,7 @@ foreach(lex_file ${LEX_FILES}) >> - set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files") >> - set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files") >> - add_custom_command( >> -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h >> -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h >> - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l >> - OUTPUT ${GENERATED_SRC}/${lex_file}.l.h >> - ) >> -diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt >> -index fd6912e..0af1865 100644 >> ---- a/testing/CMakeLists.txt >> -+++ b/testing/CMakeLists.txt >> -@@ -1,7 +1,7 @@ >> - # run all tests sequentially (keep for backward compatibility) >> - add_custom_target(tests >> - COMMENT "Running doxygen tests..." >> -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing >> -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing >> - DEPENDS doxygen >> - ) >> - >> -@@ -19,6 +19,6 @@ foreach(TEST_FILE ${TEST_FILES}) >> - string(REGEX REPLACE "^.*/([0-9][0-9][0-9]*).*$" "\\1" TEST_ID "${TEST_FILE}") >> - # add a test target for each test >> - add_test(NAME ${TEST_NAME} >> -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing >> -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing >> - ) >> - endforeach() >> diff --git a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb b/meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb >> similarity index 80% >> rename from meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb >> rename to meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb >> index 16a4250b2..ed0c71b31 100644 >> --- a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb >> +++ b/meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb >> @@ -8,9 +8,9 @@ DEPENDS = "flex-native bison-native" >> >> SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ >> file://0001-build-don-t-look-for-Iconv.patch \ >> + file://0002-Fix-build-with-clang-19.0.patch \ >> " >> -SRC_URI:append:class-native = " file://doxygen-native-only-check-python3.patch" >> -SRC_URI[sha256sum] = "f352dbc3221af7012b7b00935f2dfdc9fb67a97d43287d2f6c81c50449d254e0" >> +SRC_URI[sha256sum] = "a3a3dba2018ef409d83d81a2fc42a0d19bdbe087252ef342bf214b51b8b01634" >> >> UPSTREAM_CHECK_URI = "https://github.com/doxygen/doxygen/releases" >> UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" >> -- >> 2.25.1 >> >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#112929): https://lists.openembedded.org/g/openembedded-devel/message/112929 >> Mute This Topic: https://lists.openembedded.org/mt/109023379/1997914 >> Group Owner: openembedded-devel+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >>
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch index 47c8edb49..6b0a48f00 100644 --- a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch +++ b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch @@ -1,4 +1,4 @@ -From 24650b0c7db6b213a2eaa5061b75b9f1b43f1ce9 Mon Sep 17 00:00:00 2001 +From 2d587d043fc061c53c3d8015501392a804c5f0b4 Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski <brgl@bgdev.pl> Date: Fri, 23 Nov 2018 11:44:56 +0100 Subject: [PATCH] build: don't look for Iconv @@ -7,31 +7,31 @@ Drop the find_package() for Iconv. CMake is unable to find iconv.h in native build but all modern systems supply it as part of the standard C library. We don't need this check in meta-openembedded. -Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> - -Upstream-Status: Inappropriate +Upstream-Status: Inappropriate [oe-specific] - upstream doxygen must build on many architectures, this change is too intrusive for upstream + +Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 06b9696f..f30b46b8 100644 +index 3adf456..ad73997 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -117,10 +117,6 @@ if (sqlite3) - endif() +@@ -212,10 +212,6 @@ if ((CMAKE_BUILD_TYPE STREQUAL "Debug") OR enable_lex_debug) + set(LEX_FLAGS "${LEX_FLAGS} -d") endif() -find_package(Iconv REQUIRED) --include_directories(${ICONV_INCLUDE_DIR}) +-include_directories(${Iconv_INCLUDE_DIRS}) - - #set(DOXYDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs") set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc) set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS}) -- -2.27.0 +2.25.1 diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch new file mode 100644 index 000000000..fc3aae75c --- /dev/null +++ b/meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch @@ -0,0 +1,52 @@ +From cff64a87dea7596fd506a85521d4df4616dc845f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch> +Date: Fri, 9 Aug 2024 14:13:34 +0200 +Subject: [PATCH] Fix build with clang >= 19.0 + +Clang >= 19.0 requires a template argument list after the template +keyword for CWG96 compliance, see +https://github.com/llvm/llvm-project/pull/80801 + +This patch has also been submitted to upstream TinyDeflate as +https://github.com/bisqwit/TinyDeflate/pull/9 + +Upstream-Status: Backport +[https://github.com/doxygen/doxygen/commit/cff64a87dea7596fd506a85521d4df4616dc845f] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + deps/TinyDeflate/gunzip.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/deps/TinyDeflate/gunzip.hh b/deps/TinyDeflate/gunzip.hh +index 652058ab8..3ba341487 100644 +--- a/deps/TinyDeflate/gunzip.hh ++++ b/deps/TinyDeflate/gunzip.hh +@@ -1141,21 +1141,21 @@ namespace gunzip_ns + //fprintf(stderr, "both track flag\n"); + SizeTracker<DeflateTrackBothSize> tracker; + return tracker(Gunzip<code & Flag_NoTrackFlagMask> +- (tracker.template ForwardInput(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b))); ++ (tracker.template ForwardInput<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b))); + } + else if constexpr(code & Flag_TrackIn) + { + //fprintf(stderr, "in track flag\n"); + SizeTracker<DeflateTrackInSize> tracker; + return tracker(Gunzip<code & Flag_NoTrackFlagMask> +- (tracker.template ForwardInput(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b))); ++ (tracker.template ForwardInput<I>(i),std::forward<O>(o),std::forward<C>(c),std::forward<B>(b))); + } + else if constexpr(code & Flag_TrackOut) + { + //fprintf(stderr, "out track flag\n"); + SizeTracker<DeflateTrackOutSize> tracker; + return tracker(Gunzip<code & Flag_NoTrackFlagMask> +- (std::forward<I>(i), tracker.template ForwardOutput(o), tracker.template ForwardWindow(c), std::forward<B>(b))); ++ (std::forward<I>(i), tracker.template ForwardOutput<O>(o), tracker.template ForwardWindow<C>(c), std::forward<B>(b))); + } + else + { +-- +2.25.1 + diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch deleted file mode 100644 index 796bc61dd..000000000 --- a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch +++ /dev/null @@ -1,232 +0,0 @@ -From daf686508f2ee4711d93e96e5b100e50bf161656 Mon Sep 17 00:00:00 2001 -From: Leon Anavi <leon.anavi@konsulko.com> -Date: Wed, 26 Aug 2020 10:52:10 +0300 -Subject: [PATCH] doxygen: Fix Python issues for doxygen-native - -It fails to compile doxygen-native when /usr/bin/python is a link -to python3 on build host: - -| Failed to import the site module -| Traceback (most recent call last): -| File "/usr/lib64/python3.6/site.py", line 564, in <module> -| main() -| File "/usr/lib64/python3.6/site.py", line 550, in main -| known_paths = addusersitepackages(known_paths) -| File "/usr/lib64/python3.6/site.py", line 282, in addusersitepackages -| user_site = getusersitepackages() -| File "/usr/lib64/python3.6/site.py", line 258, in getusersitepackages -| user_base = getuserbase() # this will also set USER_BASE -| File "/usr/lib64/python3.6/site.py", line 248, in getuserbase -| USER_BASE = get_config_var('userbase') -| File "/usr/lib64/python3.6/sysconfig.py", line 604, in get_config_var -| return get_config_vars().get(name) -| File "/usr/lib64/python3.6/sysconfig.py", line 553, in get_config_vars -| _init_posix(_CONFIG_VARS) -| File "/usr/lib64/python3.6/sysconfig.py", line 424, in _init_posix -| _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) -| ModuleNotFoundError: No module named '_sysconfigdata' - -Replace find_package PythonInterp with Python3 to fix this issue -that it uses python3 from python3-native. And it also replaces the -result variable PYTHON_EXECUTABLE with Python3_EXECUTABLE. - -This patch is only needded by doxygen-native. - -Updated to apply to release 1.9.1. - -Upstream-Status: Inappropriate [oe specific] - -Co-Authored-By: Kai Kang <kai.kang@windriver.com> -Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> -Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> - ---- - CMakeLists.txt | 2 +- - addon/doxywizard/CMakeLists.txt | 6 +++--- - doc/CMakeLists.txt | 6 +++--- - examples/CMakeLists.txt | 4 ++-- - libmscgen/CMakeLists.txt | 2 +- - src/CMakeLists.txt | 10 +++++----- - testing/CMakeLists.txt | 4 ++-- - 7 files changed, 17 insertions(+), 17 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2455793..28f0d83 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -105,7 +105,7 @@ else () - endif () - - find_program(DOT NAMES dot) --find_package(PythonInterp REQUIRED) -+find_package(Python3 REQUIRED) - find_package(FLEX REQUIRED) - find_package(BISON REQUIRED) - if (BISON_VERSION VERSION_LESS 2.7) -diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt -index 63ac8e3..d37d1d0 100644 ---- a/addon/doxywizard/CMakeLists.txt -+++ b/addon/doxywizard/CMakeLists.txt -@@ -57,7 +57,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA - - # generate version.cpp - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp - DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/src/version.py - OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp - ) -@@ -65,7 +65,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER - - # generate configdoc.cpp - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp - DEPENDS ${PROJECT_SOURCE_DIR}/src/configgen.py ${PROJECT_SOURCE_DIR}/src/config.xml - OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp - ) -@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN - set(LEX_FILES config_doxyw) - foreach(lex_file ${LEX_FILES}) - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h - DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l - OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h - ) -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -index ec63ceb..49a2bda 100644 ---- a/doc/CMakeLists.txt -+++ b/doc/CMakeLists.txt -@@ -168,7 +168,7 @@ configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR - - # doc/language.doc (see tag Doxyfile:INPUT) - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR} -+ COMMAND ${Python3_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR} - DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES} - OUTPUT language.doc - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc -@@ -177,7 +177,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1) - - # doc/config.doc (see tag Doxyfile:INPUT) - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc - DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py - OUTPUT config.doc - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/ -@@ -228,7 +228,7 @@ add_custom_target(docs_chm - COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py - COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py - COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py -- COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${PYTHON_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp -+ COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm ${Python3_EXECUTABLE} ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual.hhp - COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/chm "${HTML_HELP_COMPILER}" doxygen_manual.hhp || echo > nul - COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm - DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 194b427..248b807 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -54,7 +54,7 @@ foreach (f_inp ${BASIC_EXAMPLES}) - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/${f} - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/${f} - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex - DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex - ) -@@ -73,7 +73,7 @@ if (DOT) - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/diagrams - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/diagrams - COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg -- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex -+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex - DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py - OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex - ) -diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt -index 34cf4d8..f015afc 100644 ---- a/libmscgen/CMakeLists.txt -+++ b/libmscgen/CMakeLists.txt -@@ -7,7 +7,7 @@ include_directories( - set(LEX_FILES mscgen_lexer) - foreach(lex_file ${LEX_FILES}) - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h - DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l - OUTPUT ${GENERATED_SRC}/${lex_file}.l.h - ) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0e0c5f7..c1d3ca5 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -40,7 +40,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1) - - # configvalues.h - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maph ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.h - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py - OUTPUT ${GENERATED_SRC}/configvalues.h - ) -@@ -52,7 +52,7 @@ add_custom_target( - - # configvalues.cpp - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -maps ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configvalues.cpp - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py - OUTPUT ${GENERATED_SRC}/configvalues.cpp - ) -@@ -60,7 +60,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT - - # configoptions.cpp - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/configgen.py -cpp ${CMAKE_CURRENT_LIST_DIR}/config.xml > ${GENERATED_SRC}/configoptions.cpp - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py - OUTPUT ${GENERATED_SRC}/configoptions.cpp - ) -@@ -95,7 +95,7 @@ endif() - # resources.cpp - add_custom_command( - COMMENT "Generating ${GENERATED_SRC}/resources.cpp" -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp - DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py - OUTPUT ${GENERATED_SRC}/resources.cpp - ) -@@ -126,7 +126,7 @@ foreach(lex_file ${LEX_FILES}) - set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files") - set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files") - add_custom_command( -- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h -+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h - DEPENDS ${CMAKE_CURRENT_LIST_DIR}/scan_states.py ${CMAKE_CURRENT_LIST_DIR}/${lex_file}.l - OUTPUT ${GENERATED_SRC}/${lex_file}.l.h - ) -diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt -index fd6912e..0af1865 100644 ---- a/testing/CMakeLists.txt -+++ b/testing/CMakeLists.txt -@@ -1,7 +1,7 @@ - # run all tests sequentially (keep for backward compatibility) - add_custom_target(tests - COMMENT "Running doxygen tests..." -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing - DEPENDS doxygen - ) - -@@ -19,6 +19,6 @@ foreach(TEST_FILE ${TEST_FILES}) - string(REGEX REPLACE "^.*/([0-9][0-9][0-9]*).*$" "\\1" TEST_ID "${TEST_FILE}") - # add a test target for each test - add_test(NAME ${TEST_NAME} -- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing -+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing - ) - endforeach() diff --git a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb b/meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb similarity index 80% rename from meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb rename to meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb index 16a4250b2..ed0c71b31 100644 --- a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb +++ b/meta-oe/recipes-devtools/doxygen/doxygen_1.12.0.bb @@ -8,9 +8,9 @@ DEPENDS = "flex-native bison-native" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \ file://0001-build-don-t-look-for-Iconv.patch \ + file://0002-Fix-build-with-clang-19.0.patch \ " -SRC_URI:append:class-native = " file://doxygen-native-only-check-python3.patch" -SRC_URI[sha256sum] = "f352dbc3221af7012b7b00935f2dfdc9fb67a97d43287d2f6c81c50449d254e0" +SRC_URI[sha256sum] = "a3a3dba2018ef409d83d81a2fc42a0d19bdbe087252ef342bf214b51b8b01634" UPSTREAM_CHECK_URI = "https://github.com/doxygen/doxygen/releases" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
ChangeLog: https://www.doxygen.nl/manual/changelog.html#log_1_12_0 * Refresh patch * Backport a patch to fix build with clang * Drop doxygen-native-only-check-python3.patch as the issue can not be reproduced. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- .../0001-build-don-t-look-for-Iconv.patch | 20 +- .../0002-Fix-build-with-clang-19.0.patch | 52 ++++ .../doxygen-native-only-check-python3.patch | 232 ------------------ .../{doxygen_1.9.3.bb => doxygen_1.12.0.bb} | 4 +- 4 files changed, 64 insertions(+), 244 deletions(-) create mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/0002-Fix-build-with-clang-19.0.patch delete mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch rename meta-oe/recipes-devtools/doxygen/{doxygen_1.9.3.bb => doxygen_1.12.0.bb} (80%)