I noticed that in r20723 Douglas added a comment asking for someone
to check the llvm+clang dependency, because for him it fails to
build.
After un-hiding every [expletive-deleted] static llvm and clang
static library (and boy, do I hate people who require static libs!)
I agree:
/tmp/doxygen-1.8.14/src/clangparser.cpp: In member function ‘void
ClangParser::start(const char*, QStrList&)’:
/tmp/doxygen-1.8.14/src/clangparser.cpp:177:44: error: incomplete type
‘clang::tooling::CompilationDatabase’ used in nested name specifier
clang::tooling::CompilationDatabase::loadFromDirectory(clangCompileDatabase.data(),
error);
^~~~~~~~~~~~~~~~~
(etc)
After a bit of gurgling, I found a reference to a gentoo patch, and
eventually found that. I will note in-passing that searching for
current versions of doxygen and llvm found results for Arch - but
they are sensible and do not enable clang in doxygen.
Attached (not headed or named for our standards - I've no idea if
upstream even knows about this, so many open issues there).
Anyway, that builds, but for me the tests seem to fail on the most
basic test:
ken@plexi /tmp/doxygen-1.8.14/build $make tests 2>&1 | tee testlog
[ 68%] Built target _doxygen
[ 69%] Built target md5
[ 87%] Built target qtools
[ 92%] Built target vhdlparser
[ 98%] Built target doxycfg
[ 99%] Built target doxygen
Scanning dependencies of target tests
[100%] Running doxygen tests...
1..68
Error: failed to run /tmp/doxygen-1.8.14/build/bin/doxygen on
/tmp/doxygen-1.8.14/build/testing/test_output_068/Doxyfile
make[3]: *** [testing/CMakeFiles/tests.dir/build.make:58:
testing/CMakeFiles/tests] Error 1
make[2]: *** [CMakeFiles/Makefile2:493: testing/CMakeFiles/tests.dir/all] Error
2
make[1]: *** [CMakeFiles/Makefile2:500: testing/CMakeFiles/tests.dir/rule]
Error 2
make: *** [Makefile:301: tests] Error 2
Looking at that test, it seems to be a fairly basic test, but gives
no information about what is wrong (the Doxyfile is the only file in
that directory) :
# start with defaults
QUIET = YES
GENERATE_HTML = NO
GENERATE_LATEX = NO
GENERATE_XML = YES
XML_PROGRAMLISTING = NO
CASE_SENSE_NAMES = NO
INPUT=/tmp/doxygen-1.8.14/testing/068_typed_enum.cpp
STRIP_FROM_PATH=/tmp/doxygen-1.8.14/testing
XML_OUTPUT=/tmp/doxygen-1.8.14/build/testing/test_output_068/out
EXAMPLE_PATH=/tmp/doxygen-1.8.14/testing
Note that the XML_OUTPUT file was not created.
At this point I lost interest in metaphorically banging my head
against a brick wall.
--
If a man stands before a mirror and sees in it his reflection, what
he sees is not a true reproduction, but a picture of himself when he
was a younger man. -- de Selby
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5c55efae..1ad32b2e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -262,7 +262,7 @@ if (use_libclang)
add_definitions(${LLVM_DEFINITIONS})
llvm_map_components_to_libnames(llvm_libs support core option)
target_compile_definitions(doxygen PRIVATE ${LLVM_DEFINITIONS})
- set(CLANG_LIBS libclang clangTooling ${llvm_libs})
+ set(CLANG_LIBS libclang clangTooling clangBasic clangLex ${llvm_libs})
endif()
target_link_libraries(doxygen
diff --git a/src/clangparser.cpp b/src/clangparser.cpp
index 77151d6e..2ea15ee2 100644
--- a/src/clangparser.cpp
+++ b/src/clangparser.cpp
@@ -4,6 +4,7 @@
#if USE_LIBCLANG
#include <clang-c/Index.h>
+#include "clang/Tooling/CompilationDatabase.h"
#include "clang/Tooling/Tooling.h"
#include <qfileinfo.h>
#include <stdlib.h>
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page