[Buildroot] [PATCH v2 1/1] package/qt5webkit: fix ICU related compile failures from capital bool defines

Peter Korsgaard peter at korsgaard.com
Wed Mar 31 06:02:03 UTC 2021


>>>>> "Henri" == Henri Roosen <henriroosen at gmail.com> writes:

 > This patch fixes the following compile failures:
 > In file included from platform/text/TextAllInOne.cpp:30:
 > platform/text/TextBreakIteratorICU.cpp: In function ‘bool
 > WebCore::textInChunkOrOutOfRange(UText*, int64_t, int64_t, UBool,
 > UBool&)’:
 > platform/text/TextBreakIteratorICU.cpp:217:28: error: ‘TRUE’ was not
 > declared in this scope
 >   217 |             isAccessible = TRUE;
 >       |                            ^~~~
 > platform/text/TextBreakIteratorICU.cpp:222:28: error: ‘FALSE’ was not
 > declared in this scope
 >   222 |             isAccessible = FALSE;
 >       |                            ^~~~~
 > platform/text/TextBreakIteratorICU.cpp:231:28: error: ‘TRUE’ was not
 > declared in this scope
 >   231 |             isAccessible = TRUE;
 >       |                            ^~~~
 > platform/text/TextBreakIteratorICU.cpp:236:28: error: ‘FALSE’ was not
 > declared in this scope
 >   236 |             isAccessible = FALSE;
 >       |                            ^~~~~
 > platform/text/TextBreakIteratorICU.cpp: In function ‘UBool
 > WebCore::textLatin1Access(UText*, int64_t, UBool)’:
 > platform/text/TextBreakIteratorICU.cpp:246:16: error: ‘FALSE’ was not
 > declared in this scope
 >   246 |         return FALSE;
 >       |                ^~~~~
 > platform/text/TextBreakIteratorICU.cpp:266:12: error: ‘TRUE’ was not
 > declared in this scope
 >   266 |     return TRUE;
 >       |            ^~~~
 > platform/text/TextBreakIteratorICU.cpp: In function ‘UBool
 > WebCore::textUTF16Access(UText*, int64_t, UBool)’:
 > platform/text/TextBreakIteratorICU.cpp:367:16: error: ‘FALSE’ was not
 > declared in this scope
 >   367 |         return FALSE;
 >       |                ^~~~~
 > platform/text/TextBreakIteratorICU.cpp:387:12: error: ‘TRUE’ was not
 > declared in this scope
 >   387 |     return TRUE;
 >       |            ^~~~
 > ...
 > In file included from platform/text/TextAllInOne.cpp:32:
 > platform/text/TextCodecICU.cpp: In member function ‘void
 > WebCore::TextCodecICU::createICUConverter() const’:
 > platform/text/TextCodecICU.cpp:272:42: error: ‘TRUE’ was not declared in
 > this scope
 >   272 |         ucnv_setFallback(m_converterICU, TRUE);
 >       |                                          ^~~~

 > The compile failures are fixed by replacing the use of FALSE/TRUE with
 > false/true as suggested by [1] and/or [2].

 > A better description is directly from the patch/pull-request ([3]):

 >   Traditionally, ICU4C has defined its own `FALSE`=0 / `TRUE`=1 macros for use with `UBool`.
 >   Starting with ICU 68 (2020q4), we no longer define these in public header files
 >   (unless `U_DEFINE_FALSE_AND_TRUE`=1),
 >   in order to avoid name collisions with code outside ICU defining enum constants and similar
 >   with these names.

 > and explains why it occurred just recently/since the icu bump to version
 > 68-1 ([4])...

 > [1] https://unicode-org.atlassian.net/browse/ICU-21267
 > [2] https://unicode-org.atlassian.net/browse/ICU-21148
 > [3] https://github.com/unicode-org/icu/pull/1282/commits/5d77f7084dbfad50c7ccc17bccb85aa24bae8937
 > [4] https://git.buildroot.net/buildroot/commit/?id=88f2d1c4e52607d2c2a1fa8d934152c47167a168

 > Signed-off-by: Henri Roosen <henri.roosen at ginzinger.com>
 > Reviewed-by: Peter Seiderer <ps.report at gmx.net>
 > ---

 > Changes since v1:
 >  - added Peter Seiderer's comment and Reviewed-by to the commit message

 >  ...compile-failures-from-capital-bool-d.patch | 97 +++++++++++++++++++
 >  1 file changed, 97 insertions(+)
 >  create mode 100644 package/qt5/qt5webkit/0009-Fix-ICU-related-compile-failures-from-capital-bool-d.patch

Committed to 2021.02.x, thanks.

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list