From: Denys Dmytriyenko <de...@ti.com> Many LLD and RTOS components in meta-ti use doxygen during build.
Signed-off-by: Denys Dmytriyenko <de...@ti.com> --- .../doxygen/doxygen/patch-flex_2_6_0.diff | 66 ++++++++++++++++++++++ recipes-devtools/doxygen/doxygen_1.8.9.1.bb | 34 +++++++++++ 2 files changed, 100 insertions(+) create mode 100644 recipes-devtools/doxygen/doxygen/patch-flex_2_6_0.diff create mode 100644 recipes-devtools/doxygen/doxygen_1.8.9.1.bb diff --git a/recipes-devtools/doxygen/doxygen/patch-flex_2_6_0.diff b/recipes-devtools/doxygen/doxygen/patch-flex_2_6_0.diff new file mode 100644 index 0000000..36d7379 --- /dev/null +++ b/recipes-devtools/doxygen/doxygen/patch-flex_2_6_0.diff @@ -0,0 +1,66 @@ +--- src/code.l.orig ++++ src/code.l +@@ -3695,7 +3695,7 @@ void codeFreeScanner() + extern "C" { // some bogus code to keep the compiler happy + void codeYYdummy() { yy_flex_realloc(0,0); } + } +-#elif YY_FLEX_SUBMINOR_VERSION<33 ++#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33 + #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" + #endif + +--- src/commentscan.l.orig ++++ src/commentscan.l +@@ -1098,7 +1098,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$" + // but we need to know the position in the input buffer where this + // rule matched. + // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE +-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 ++#if YY_FLEX_MAJOR_VERSION>=2 && (YY_FLEX_MINOR_VERSION>5 || (YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33)) + inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf); + #else + inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf); +@@ -1160,7 +1160,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$" + g_memberGroupHeader.resize(0); + parseMore=TRUE; + needNewEntry = TRUE; +-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 ++#if YY_FLEX_MAJOR_VERSION>=2 && (YY_FLEX_MINOR_VERSION>5 || (YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33)) + inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) + strlen(yytext); + #else + inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf) + strlen(yytext); + +--- src/fortrancode.l.orig ++++ src/fortrancode.l +@@ -1289,7 +1289,7 @@ void parseFortranCode(CodeOutputInterfac + extern "C" { // some bogus code to keep the compiler happy + void fortrancodeYYdummy() { yy_flex_realloc(0,0); } + } +-#elif YY_FLEX_SUBMINOR_VERSION<33 ++#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33 + #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" + #else + extern "C" { // some bogus code to keep the compiler happy + +--- src/pycode.l.orig ++++ src/pycode.l +@@ -1503,7 +1503,7 @@ void parsePythonCode(CodeOutputInterface + extern "C" { // some bogus code to keep the compiler happy + void pycodeYYdummy() { yy_flex_realloc(0,0); } + } +-#elif YY_FLEX_SUBMINOR_VERSION<33 ++#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33 + #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." + #endif + +--- src/vhdlcode.l ++++ src.a/vhdlcode.l +@@ -1613,7 +1613,7 @@ void codeFreeVhdlScanner() + extern "C" { // some bogus code to keep the compiler happy + void vhdlcodeYYdummy() { yy_flex_realloc(0,0); } + } +-#elif YY_FLEX_SUBMINOR_VERSION<33 ++#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33 + #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" + #endif + diff --git a/recipes-devtools/doxygen/doxygen_1.8.9.1.bb b/recipes-devtools/doxygen/doxygen_1.8.9.1.bb new file mode 100644 index 0000000..27560fd --- /dev/null +++ b/recipes-devtools/doxygen/doxygen_1.8.9.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Utilities for generating documentation from source code" +HOMEPAGE = "http://www.doxygen.org/" +SECTION = "console/utils" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b380c86cea229fa42b9e543fc491f5eb" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "http://ftp.stack.nl/pub/users/dimitri/${BP}.src.tar.gz \ + file://patch-flex_2_6_0.diff;striplevel=0" + +SRC_URI[md5sum] = "3d1a5c26bef358c10a3894f356a69fbc" +SRC_URI[sha256sum] = "d4ab6e28d4d45d8956cad17470aade3fbe2356e8f64b92167e738c1887feccec" + +EXTRA_OECONF = "--prefix ${prefix}" + +do_configure () { + ./configure ${EXTRA_OECONF} + + # TODO on rebuilds will repeatedly append. Change logic to include a + # separate file and overwrite that file? + echo "TMAKE_CC=${CC}" >> tmake/lib/linux-g++/tmake.conf + echo "TMAKE_CXX=${CXX}" >> tmake/lib/linux-g++/tmake.conf + echo "TMAKE_CFLAGS=${CFLAGS}" >> tmake/lib/linux-g++/tmake.conf + echo "TMAKE_CXXFLAGS=${CXXFLAGS}" >> tmake/lib/linux-g++/tmake.conf + echo "TMAKE_LINK=${CXX}" >> tmake/lib/linux-g++/tmake.conf + echo "TMAKE_LFLAGS=${LDFLAGS}" >> tmake/lib/linux-g++/tmake.conf +} + +do_install() { + oe_runmake install DESTDIR=${D} MAN1DIR=share/man/man1 +} + +BBCLASSEXTEND = "native nativesdk" -- 2.7.4 -- _______________________________________________ meta-ti mailing list meta-ti@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-ti