summaryrefslogtreecommitdiff
path: root/external/harfbuzz
AgeCommit message (Collapse)Author
2022-07-31Update HarfBuzz to 5.1.0Khaled Hosny
Dropping negativeadvance.patch that was applied upstream. Change-Id: I8eba49d2d158c0c29911f4079315ed0bf87b7fa6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137648 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-01try to use also proper debug LDFLAGS for externals librariesLuboš Luňák
This is basically ea68de2968c0dbcd8e7549435e829db06795c16d but for LDFLAGS. A number of external libs cannot use this because their libtool mishandles -fuse-ld. Change-Id: Idee379eb0a3afb475b536519ee3de064b4e218f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133639 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-04-12use gb_DEBUGINFO_FLAGS consistently in gbuild ExternalProject'sLuboš Luňák
A number of them didn't use it at all, others had it hand-written in various ways. Change-Id: Iaf86325f9cdc032926bac917dc3eef4e34661544 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132818 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-01-31externals: always provide platform configure flagsJan-Marek Glogowski
No idea why we just provided the platform flags when cross- compiling. In the curious case, where the host platform is detected as x86_64-pc-mingw32 per default and we actually want to override it with x86_64-pc-cygwin, we don't do a cross compile, but must override the host platform. But there is additional special handling needed for the omitted cross-platform build in the special case of --host=i686-pc-cygwin and --build=x86_64-pc-cygwin, where we deliberatly ignore cross building; Windows is already a slow build, so try to keep this optimization (AMD64 can execute x86 binaries). There is the theoretical case, where the externals config.guess would have detected something else and that "magically" even worked, while the LO detected triplet would fail, but this should be fixed in the external in any way. Change-Id: Ib7a9719e0e406fe90334b7611dc3f01b51692bfa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129153 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-08-10Mark external/harfbuzz/negativeadvance.patch as sent upstreamStephan Bergmann
Change-Id: Ia12ea1fce7a994b519e743edbc18cbd27ccb78bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120210 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-09external/harfbuzz: hb_graphite2_cluster_t::advance can apparently be negativeStephan Bergmann
...as seen with `instdir/program/soffice --headless --convert-to pdf` of doc/abi6073-2.doc from the crash-testing corpus when run under UBSan, > hb-graphite2.cc:361:15: runtime error: -1024 is outside the range of representable values of type 'unsigned int' > #0 in _hb_graphite2_shape at workdir/UnpackedTarball/harfbuzz/src/hb-graphite2.cc:361:15 > #1 in _hb_shape_plan_execute_internal(hb_shape_plan_t*, hb_font_t*, hb_buffer_t*, hb_feature_t const*, unsigned int) at workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:38:1 > #2 in hb_shape_plan_execute at workdir/UnpackedTarball/harfbuzz/src/hb-shape-plan.cc:453:14 > #3 in hb_shape_full at workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc:139:19 > #4 in GenericSalLayout::LayoutText(ImplLayoutArgs&, SalLayoutGlyphsImpl const*) at vcl/source/gdi/CommonSalLayout.cxx:495:23 > #5 in OutputDevice::getFallbackLayout(LogicalFontInstance*, int, ImplLayoutArgs&, SalLayoutGlyphs const*) const at vcl/source/outdev/font.cxx:1232:21 > #6 in OutputDevice::ImplGlyphFallbackLayout(std::unique_ptr<SalLayout, std::default_delete<SalLayout> >, ImplLayoutArgs&, SalLayoutGlyphs const*) const at vcl/source/outdev/font.cxx:1300:48 > #7 in OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:1332:22 > #8 in lcl_CreateLayout(SwTextGlyphsKey const&, __gnu_debug::_Safe_iterator<std::_Rb_tree_iterator<std::pair<SwTextGlyphsKey const, SwTextGlyphsData> >, std::__debug::map<SwTextGlyphsKey, SwTextGlyphsData, std::less<SwTextGlyphsKey>, std::allocator<std::pair<SwTextGlyphsKey const, SwTextGlyphsData> > >, std::bidirectional_iterator_tag>) at sw/source/core/txtnode/fntcache.cxx:233:33 > #9 in SwFntObj::GetCachedSalLayoutGlyphs(SwTextGlyphsKey const&) at sw/source/core/txtnode/fntcache.cxx:257:12 > #10 in SwFont::GetTextBreak(SwDrawTextInfo const&, long) at sw/source/core/txtnode/fntcache.cxx:2551:58 > #11 in SwTextSizeInfo::GetTextBreak(long, o3tl::strong_int<int, Tag_TextFrameIndex>, unsigned short, vcl::TextLayoutCache const*) const at sw/source/core/text/inftxt.cxx:450:20 > #12 in SwTextGuess::Guess(SwTextPortion const&, SwTextFormatInfo&, unsigned short) at sw/source/core/text/guess.cxx:205:26 > #13 in SwTextPortion::Format_(SwTextFormatInfo&) at sw/source/core/text/portxt.cxx:305:32 > #14 in SwTextPortion::Format(SwTextFormatInfo&) at sw/source/core/text/portxt.cxx:456:12 > #15 in SwLineLayout::Format(SwTextFormatInfo&) at sw/source/core/text/porlay.cxx:260:31 (where in frame #4 GenericSalLayout::LayoutText, pHbBuffer->props.direction is HB_DIRECTION_RTL, in case that is relevant). It is unclear to me whether it is sufficient to only change hb_graphite2_cluster_t::advance from signed to unsigned int, as there are other unsigned int variables (like curradv in _hb_graphite2_shape) whose value depend on hb_graphite2_cluster_t::advance, and which thus might also become negative. But unlike the float -> unsigned int conversion that UBSan warned about here (where gr_slot_origin_X() and xscale are float), those are signed int -> unsigned int conversions that do not cause undefined behavior. At least, with this change, the above --convert-to pdf and a full `make check screenshot` succeeded for me under without further UBSan warnings. Change-Id: Ifa6fa930da162b986d3f536f8b3613790b3f19c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120192 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-07-20tdf#143429: update harfbuzz to 2.8.2 versionJulien Nabet
Change-Id: I263dc6da5be3ea55205076a1f4e263fe5bba31fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119232 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-06-28Mark external/harfbuzz/Wunused-but-set-variable.patch as fixed upstreamStephan Bergmann
Change-Id: Iefc8f4f6ff93ec1a11256724b1881689d5eb56d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117992 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-06-25Silence -Werror,-Wunused-but-set-variable (clang-cl 13 trunk)Stephan Bergmann
...during build of ExternalProject_harfbuzz: > In file included from hb-ot-shape-complex-myanmar.cc:136: > hb-ot-shape-complex-myanmar-machine.rl(108,36): error: variable 'act' set but not used [-Werror,-Wunused-but-set-variable] > unsigned int p, pe, eof, ts, te, act HB_UNUSED; > ^ Change-Id: Ie75a5cfa16c29c02e1b97380ebd63e7d789926f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117850 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-05WASM: add initial support for Emscripten cross buildJan-Marek Glogowski
- configure with: - --host=wasm64-local-emscripten - had to make a few externals optional, so adding: - --disable-nss - --disable-cmis - --disable-curl Change-Id: I48d1c73d2675ad2e2beaf2c341578199efbd24ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111130 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2020-02-16GBUILD_TRACE, support for finding out where the build time is spentLuboš Luňák
See instructions in solenv/gbuild/Trace.mk . This generates a file than can be viewed e.g. in the Chromium tracing view. Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-30Upgrade to ICU 65.1Eike Rathke
sberg says: On Windows, implicit --enable-extras first causes a build breaker in workdir/UnpackedTarball/icu/source/extras/scrptrun when linking, because Windows link.exe doesn't understand -o. But even with a patch > --- source/extra/scrptrun/Makefile.in > +++ source/extra/scrptrun/Makefile.in > @@ -74,7 +74,7 @@ > && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status > > $(TARGET) : $(OBJECTS) > - $(LINK.cc) -o $@ $^ $(LIBS) > + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) > $(POST_BUILD_STEP) > > invoke: linking would still fail with a missing ../../lib/icuucdd.lib, which is apparently expanded from $(LIBS) there, but I have no idea where it should be built but isn't. Lets hope that --disable-extras is sufficient for our needs. Change-Id: I6d0117b230caa41abf488fcd069028e3474700f8 Reviewed-on: https://gerrit.libreoffice.org/81632 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-23external/harfbuzz: Avoid UBSan nullptr-with-nonzero-offsetStephan Bergmann
...(new with Clang 10 trunk), as seen during CppunitTest_emfio_emf: > hb-ot-layout-gsubgpos.hh:390:20: runtime error: applying non-zero offset 2 to null pointer > #0 in OT::hb_ot_apply_context_t::skipping_iterator_t::next() at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:390:20 > #1 in OT::PairPosFormat1::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gpos-table.hh:910:22 > #2 in bool OT::hb_get_subtables_context_t::apply_to<OT::PairPosFormat1>(void const*, OT::hb_ot_apply_context_t*) at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:625:23 > #3 in OT::hb_get_subtables_context_t::hb_applicable_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:643:62 > #4 in OT::hb_ot_layout_lookup_accelerator_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:2624:24 > #5 in apply_forward(OT::hb_ot_apply_context_t*, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1811:24 > #6 in void apply_string<GPOSProxy>(OT::hb_ot_apply_context_t*, GPOSProxy::Lookup const&, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1864:11 > #7 in void hb_ot_map_t::apply<GPOSProxy>(GPOSProxy const&, hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1910:7 > #8 in hb_ot_map_t::position(hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1933:3 > #9 in hb_ot_shape_plan_t::position(hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:266:9 > #10 in hb_ot_position_complex(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:951:12 > #11 in hb_ot_position(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:994:3 > #12 in hb_ot_shape_internal(hb_ot_shape_context_t*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1065:3 > #13 in _hb_ot_shape at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1088:3 > #14 in hb_shape_plan_execute at workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:42:1 > #15 in hb_shape_full at workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc:139:19 > #16 in GenericSalLayout::LayoutText(ImplLayoutArgs&, SalLayoutGlyphs const*) at vcl/source/gdi/CommonSalLayout.cxx:463:23 > #17 in OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:1312:36 > #18 in OutputDevice::GetTextBoundRect(tools::Rectangle&, rtl::OUString const&, int, int, int, unsigned long, long const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:2334:18 > #19 in drawinglayer::primitive2d::TextLayouterDevice::getTextBoundRect(rtl::OUString const&, unsigned int, unsigned int) const at drawinglayer/source/primitive2d/textlayoutdevice.cxx:297:26 > #20 in drawinglayer::primitive2d::TextSimplePortionPrimitive2D::getB2DRange(drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/textprimitive2d.cxx:305:63 > #21 in drawinglayer::primitive2d::getB2DRangeFromPrimitive2DReference(com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D> const&, drawinglayer::geometry::ViewInformation2D const&) at drawinglayer/source/primitive2d/baseprimitive2d.cxx:175:48 > #22 in drawinglayer::primitive2d::Primitive2DContainer::getB2DRange(drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/baseprimitive2d.cxx:199:36 > #23 in drawinglayer::primitive2d::MetafilePrimitive2D::create2DDecomposition(drawinglayer::primitive2d::Primitive2DContainer&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/metafileprimitive2d.cxx:51:67 > #24 in drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/baseprimitive2d.cxx:126:17 > #25 in drawinglayer::tools::Primitive2dXmlDump::decomposeAndWrite(drawinglayer::primitive2d::Primitive2DContainer const&, tools::XmlWriter&) at drawinglayer/source/tools/primitive2dxmldump.cxx:332:38 > #26 in drawinglayer::tools::Primitive2dXmlDump::dumpAndParse(drawinglayer::primitive2d::Primitive2DContainer const&, rtl::OUString const&) at drawinglayer/source/tools/primitive2dxmldump.cxx:130:5 > #27 in (anonymous namespace)::Test::checkRectPrimitive(com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D> > const&) at emfio/qa/cppunit/emf/EmfImportTest.cxx:80:34 > #28 in (anonymous namespace)::Test::testWorking() at emfio/qa/cppunit/emf/EmfImportTest.cxx:94:5 and similarly during CppunitTest_vcl_complextext: > hb-ot-layout-gsubgpos.hh:417:20: runtime error: applying non-zero offset 2 to null pointer > #0 in OT::hb_ot_apply_context_t::skipping_iterator_t::prev() at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:417:20 > #1 in OT::MarkMarkPosFormat1::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gpos-table.hh:1541:22 > #2 in bool OT::hb_get_subtables_context_t::apply_to<OT::MarkMarkPosFormat1>(void const*, OT::hb_ot_apply_context_t*) at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:625:23 > #3 in OT::hb_get_subtables_context_t::hb_applicable_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:643:62 > #4 in OT::hb_ot_layout_lookup_accelerator_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:2624:24 > #5 in apply_forward(OT::hb_ot_apply_context_t*, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1811:24 > #6 in void apply_string<GPOSProxy>(OT::hb_ot_apply_context_t*, GPOSProxy::Lookup const&, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1864:11 > #7 in void hb_ot_map_t::apply<GPOSProxy>(GPOSProxy const&, hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1910:7 > #8 in hb_ot_map_t::position(hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1933:3 > #9 in hb_ot_shape_plan_t::position(hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:266:9 > #10 in hb_ot_position_complex(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:951:12 > #11 in hb_ot_position(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:994:3 > #12 in hb_ot_shape_internal(hb_ot_shape_context_t*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1065:3 > #13 in _hb_ot_shape at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1088:3 > #14 in hb_shape_plan_execute at workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:42:1 > #15 in hb_shape_full at workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc:139:19 > #16 in GenericSalLayout::LayoutText(ImplLayoutArgs&, SalLayoutGlyphs const*) at vcl/source/gdi/CommonSalLayout.cxx:463:23 > #17 in OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:1312:36 > #18 in OutputDevice::GetTextArray(rtl::OUString const&, long*, int, int, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:961:45 > #19 in VclComplexTextTest::testArabic() at vcl/qa/cppunit/complextext.cxx:81:32 I have no idea whether this even remotely resembles a useful fix, though. Change-Id: I7671b84374cf119e173406bc60f6631a64dfc794 Reviewed-on: https://gerrit.libreoffice.org/81400 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-26harfbuzz: follow main configure's --disable-dependency-trackingChristian Lohmaier
Change-Id: I5ab185ca783e0e3f637c22909e53a67119349ad7 Reviewed-on: https://gerrit.libreoffice.org/78130 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2019-08-23external/harfbuzz configure needs MAKE nowStephan Bergmann
...after 352924a64750bb99aec54feea3af0121603c12a8 "Update HarfBbuzz to 2.6.0", where it started to fail for me on Windows with > config.status: error: in `/cygdrive/c/lo/core/workdir/UnpackedTarball/harfbuzz': > config.status: error: Something went wrong bootstrapping makefile fragments > for automatic dependency tracking. Try re-running configure with the > '--disable-dependency-tracking' option to at least be able to build > the package (albeit without support for automatic dependency tracking). > See `config.log' for more details > make[1]: *** [C:/lo/core/external/harfbuzz/ExternalProject_harfbuzz.mk:24: C:/lo/core/workdir/ExternalProject/harfbuzz/build] Error 1 because it didn't find any `make` (I only have an /opt/lo/bin/make installed). Change-Id: I378448b2cf1c92596220b0142e4e67a83162d972 Reviewed-on: https://gerrit.libreoffice.org/77987 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-20Update HarfBbuzz to 2.6.0Khaled Hosny
Change-Id: I7983dd10fe6599a2473caf0da04a0df3e63e9b2a Reviewed-on: https://gerrit.libreoffice.org/77790 Tested-by: Jenkins Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2019-05-05Fix remaining uses of gb_SYMBOLStephan Bergmann
...after eeeec33ada5923f1f534334b22c15d6e2c6f1d35 "merge --enable-selective-debuginfo into --enable-symbols" had removed it Change-Id: I83aed6e21c4b983d8645707daa65bd85ec16ff6b Reviewed-on: https://gerrit.libreoffice.org/71798 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-03-11Add -frtti to HarfBuzz CXXFLAGS instead of paching configure.acKhaled Hosny
Change-Id: Ibc16c4e9c4a305d6fff764fcf3964a63c5322e14 Reviewed-on: https://gerrit.libreoffice.org/68921 Tested-by: Jenkins Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2019-03-08Don'tbuild HarfBuzz with Core Text support on macOS/iOSKhaled Hosny
HarfBuzz 2.x has native support for AAT fonts which is, according to Chrome developers, sgnificantly faster that HarfBuzz Core Text integration. Change-Id: I4d5e861a1958402a6e3ccb720b10f40828c3db6a Reviewed-on: https://gerrit.libreoffice.org/68919 Tested-by: Jenkins Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2019-03-08ofz#13602 -fsanitize=vptr' not allowed with '-fno-rtti'Caolán McNamara
Change-Id: I77beadee964f08f87f2fe7cc0daef5cb91151b72 Reviewed-on: https://gerrit.libreoffice.org/68912 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-03-06Record external/harfbuzz/msvc.patch as sent upstreamStephan Bergmann
Change-Id: I47277272170508e9af7617e9b774bbdca05e9ec3 Reviewed-on: https://gerrit.libreoffice.org/68766 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-05Upgrade to latest HarfBuzz 2.3.1Stephan Bergmann
As a side-effect, this gets rid of some Clang -fsanitize=implicit-signed-integer-truncation warnings. The various external/harfbuzz/*.patch no longer applied and appear not to be necessary any more. (But a new external/harfbuzz/msvc.patch became necessary.) <https://dev-www.libreoffice.org/src/harfbuzz-2.3.1.tar.bz2> was downloaded from <https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-2.3.1.tar.bz2>, and HARFBUZZ_SHA256SUM in download.lst matches <https://www.freedesktop.org/ software/harfbuzz/release/harfbuzz-2.3.1.tar.bz2.sha256>. Change-Id: Ic85acd14b4f488b3d88ce1bafc93be271928006e Reviewed-on: https://gerrit.libreoffice.org/68731 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-24Drop unnecessary gb_DEBUG_CFLAGSStephan Bergmann
...which was at maximum set to GCC's -finline-limit=0 -fno-inline (solenv/gbuild/platform/com_GCC_defs.mk). Those options were set for debug builds "since forever", but that looks very much like cargo cult: -fno-inline "is the default when not optimizing" anyway (<https://gcc.gnu.org/onlinedocs/gcc-7.4.0/gcc/Optimize-Options.html>), and it is unclear to me how -finline-limit=0 should have any impact beyond -fno-inline (and maybe was present for ancient compilers that only supported -finline-limit but not -fno-inline?). Change-Id: Id6752d03b1b7ec8763defabc5720d4dd08790874 Reviewed-on: https://gerrit.libreoffice.org/66836 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-23Drop use of obsolete GCC -fno-default-inlineStephan Bergmann
...that is documented as: "Does nothing. Preserved for backward compatibility." ever since <https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=160384> from 2010. -fno-default-inline was the only value ever set in gb_DEBUG_CXXFLAGS, so the latter can be removed now. The use of gb_DEBUG_CXXFLAGS had accidentally already been removed from gb_LinkTarget__get_debugcxxflags with e751e24250fda31dde52b3c65ca79f86142dc789 "--enable-optimized should be orthogonal to --enable-debug/--enable-dbgutil", and that leaves gb_LinkTarget__get_debugcflags and gb_LinkTarget__get_debugcxxflags with identical definitions, so replace those two with a single gb_LinkTarget__get_debugflags. Some external modules had used only gb_DEBUG_CXXFLAGS, when this was apparently meant to be used in addition to gb_DEBUG_CFLAGS, so those uses have been changed to gb_DEBUG_CFLAGS now. Change-Id: I84ea0ab1233569b0b02ca057240a71f138352381 Reviewed-on: https://gerrit.libreoffice.org/66808 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-13android: harfbuzz refuses to compile using mmap.Michael Meeks
Not ideal not to use mmap on a small device though, but disable for now. Change-Id: Id595cbc87c93679c1ce186f91ad36a961aee4132 Reviewed-on: https://gerrit.libreoffice.org/63342 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-11-01gbuild: rename value OS=IOS to OS=iOSMichael Stahl
This gets rid of the horrible hack in gbuild.mk to accomodate the case-incorrect iOS platform makefiles that cannot be renamed without upsetting git on file systems that sadly lack the case sensitivity feature. Keep the macro defined to IOS though. Change-Id: I1022bfef4900da00e75fc1ccce786b20f8673234 Reviewed-on: https://gerrit.libreoffice.org/62705 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-08-27Make harfbuzz build for iOSTor Lillqvist
Change-Id: Ifc28ac50a453eef8aa2f31d02ac513db0222eb4e
2018-07-30harfbuzz-rtti.patch doesn't applyCaolán McNamara
Change-Id: Ia634c008799793f3a54354a3f7fc13446f7db3c5 Reviewed-on: https://gerrit.libreoffice.org/58302 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-29upgrade the internal harfbuzz to 1.8.4Tomaž Vajngerl
Change-Id: I127cf3fa3ae00e91c73114e1a1915ea614924819 Reviewed-on: https://gerrit.libreoffice.org/57771 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-01-17Adapt external/harfbuzz/ubsan.patchStephan Bergmann
...to 3b773d5b41628c1ccf52bdd0d7962183d54c4138 "Upload HarfBuzz 1.7.4" Change-Id: I07459c9e03a4cd68a600150964a4e5358b559766
2018-01-16Upload HarfBuzz 1.7.4Khaled Hosny
Change-Id: I7dd1f87dc95d0fb190755a8742d28ef8679d7b1e Reviewed-on: https://gerrit.libreoffice.org/47897 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2017-11-15Adpat external/harfbuzz/harfbuzz-rtti.patchStephan Bergmann
...to 7e56dce9efa7184e522c83130dcf79d894488657 "tdf#105992: Upload HarfBuzz 1.7.0" Change-Id: Ia13d406ae78edb3b431716ae7e2044c483430c6e
2017-11-15tdf#105992: Upload HarfBuzz 1.7.0Khaled Hosny
This release supports old-style kern table in the code path we are using in CommonLayout. Change-Id: Id20e6fe1cfe98ef65b8fa4a5627f6246cbac54a6 Reviewed-on: https://gerrit.libreoffice.org/44693 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2017-11-13Resurrect still relevant part of external/harfbuzz/ubsan.patchStephan Bergmann
...after 945c10f42fe6d22031e7424b47481ac2cfb539be "upload harfbuzz 1.6.3" had dropped it completely. Still necessary to e.g. avoid "runtime error: index 3 out of bounds for type 'OT::LongMetric const[1]'" during CppunitTest_emfio_wmf. Change-Id: Idd93f6224f7e43016a71678bcaf5cc0527f95cee
2017-11-10fix buildCaolán McNamara
Change-Id: I9fc79d2fc68cc0471fe6b8485a5fa62a1b81172a
2017-11-09upload harfbuzz 1.6.3David Tardon
Change-Id: Ib9920366ba32774d1e96f9dfde201975c322e6f5 Reviewed-on: https://gerrit.libreoffice.org/44540 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2017-11-09harfbuzz: update autoconf configs the gbuild wayDavid Tardon
Change-Id: Ie89e2888bdd28d4836ab1f01827612360c267808 Reviewed-on: https://gerrit.libreoffice.org/44539 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2017-08-16Re-add external/harfbuzz/ubsan.patchStephan Bergmann
...after 5aab2900dfdc9f12adda378470149670a2a069df "tdf#109142: Update to HarfBuzz 1.4.8". The parts that were still relevant for 'make check' are: * 6694ce6b542367074667e4445a6b7f50568a2729 "external/harfbuzz: Work around ASan out of bounds warning" * 99f7aacd5b39a0f79351d8d7568b2e43d39878cb "external/harfbuzz: -fsanitize=function" * ca9a08bbf7d42727a93b5f725784308a3590c0fe "external/harfbuzz: Silence -fsanitize=nonnull-attribute" (plus 83a9c8e046dfcaccdb1114ec5a386a11fcca3a02 "build fix") Change-Id: Ibff2a7c52c5de60ae00744acd2ef481bbb08706c
2017-08-15tdf#109142: Update to HarfBuzz 1.4.8Khaled Hosny
Should fix the Tibetan long U issue. Also reverts this commit as depending on auto-detection for a required feature is not a very good idea. The underlying issue is fixed upstream: commit 5985bed1764358a515c378c80bb60b4d35bad6b1 Author: jan Iversen <jani@libreoffice.org> Date: Mon Jun 12 14:51:42 2017 +0200 iOS, harfbuzz libcoretext not found changed --with-libcoretext from "yes" to "auto" for IOS and MACOSX which seems to be a misguided attemp to fix the build breakage introduced in: commit b3559e5c6ce036b1a4fe96c0ffc935e0c94a7b10 Author: jan Iversen <jani@libreoffice.org> Date: Sun Jun 11 19:35:53 2017 +0200 iOS, patch harfbuzz Add support for arm64 Also had to drop ubsan.patch as it no longer applies, hopefully it is no longer needed, otherwise it is always good idea to submit such patches upstream. Change-Id: I91643c542c0a5a00f36d5564052787eedef8c9cf Reviewed-on: https://gerrit.libreoffice.org/41124 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-06-22--enable-optimized should be orthogonal to --enable-debug/--enable-dbgutilStephan Bergmann
Change-Id: I277f30129560ea9fa76d6439a60bb191358df99d Reviewed-on: https://gerrit.libreoffice.org/39088 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-06-12iOS, harfbuzz libcoretext not foundjan Iversen
changed --with-libcoretext from "yes" to "auto" for IOS and MACOSX Change-Id: I032ad9975413709fdfaead745b63e04f0e0db27e
2017-06-12iOS, patch harfbuzzjan Iversen
Add support for arm64 Change-Id: Icfc47b0c3b600ea3d26c40741c933028e8e9c47d
2017-04-26Upgrade to ICU 59.1Eike Rathke
Also regenerated all patches using make icu.genpatch (hence the .1 suffix that indicates the path level) as some hunks did not apply anyway and all now have the correct offset. Using genpatch may have the future benefit to yield smaller diffs between different versions of patches. Also prefixed all patch names with icu4c- for a cleaner listing. New patches introduced are prefixed with icu4c-59-... Change-Id: Ia83754b0823839887fce1a1d4ed04f8375b113c2 Reviewed-on: https://gerrit.libreoffice.org/36809 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-02-02workaround libtool library name subst.David Tardon
When libtool links a library with another libtool-based library, it replaces -lfoo by path to installed foo, like $foo-libdir/libfoo.la. harfbuzz would be installed to /usr/local/lib by default, therefore libtool replaces -lharfbuzz by /usr/local/lib/libharfbuzz.la in libfreetype.la, which causes a failure (nonexistent file) when building fontconfig... Change-Id: Ie2510034e69803af084dd90671fdbc8f6863fcf2
2016-12-30build fixJochen Nitschke
apparently harfbuzz is not build with std=c++11 everywhere Change-Id: Ie105706212d9dd32f33bc67c8a878ce8a55e60ef Reviewed-on: https://gerrit.libreoffice.org/32521 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2016-12-30external/harfbuzz: Silence -fsanitize=nonnull-attributeStephan Bergmann
...as reported during CppunitTest_sw_odfimport Change-Id: I3c8542d46cf1106c9910a04ed1f953459c7c7ea5
2016-12-15Build HarfBuzz with CoreText support also for iOSTor Lillqvist
Change-Id: Id755894def35d59836dff8cff7df1273a8e296b2
2016-11-17chmod -xTor Lillqvist
Change-Id: Ie07ef2f9e9f6d0b31b513afa913b79d9c641e4f1
2016-11-04external/harfbuzz: -fsanitize=functionStephan Bergmann
Change-Id: Ie72eec98f1337e895b81c4ebebeefa4861a5a6a1
2016-11-04external/harfbuzz: Work around ASan out of bounds warningStephan Bergmann
CppunitTest_sccomp_lpsolver failed with the below error. struct _mtx (hb-ot-hmtx-table.hh) has two "variable-sized" array members (each of size VAR=1) longMetric and leadingBearingX, where the latter isn't used anywhere in the code; so removing it would make ASan's variable-sized array member heuristic kick in here and suppress the warning, but who knows whether there's some requirement on the exact sizeof(_mtx). > hb-ot-font.cc:128:12: runtime error: index 3 out of bounds for type 'OT::LongMetric const[1]' > hb_ot_face_metrics_accelerator_t::get_advance(unsigned int) const workdir/UnpackedTarball/harfbuzz/src/hb-ot-font.cc:128:43 > hb_ot_get_glyph_h_advance(hb_font_t*, void*, unsigned int, void*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-font.cc:439:47 > hb_font_t::get_glyph_h_advance(unsigned int) workdir/UnpackedTarball/harfbuzz/src/./hb-font-private.hh:207:12 > hb_ot_position_default(hb_ot_shape_context_t*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:613:35 > hb_ot_position(hb_ot_shape_context_t*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:719:3 > hb_ot_shape_internal(hb_ot_shape_context_t*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:768:3 > _hb_ot_shape workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:792:3 > hb_shape_plan_execute workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:43:1 > CommonSalLayout::LayoutText(ImplLayoutArgs&) vcl/source/gdi/CommonSalLayout.cxx:485:23 > OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*) const vcl/source/outdev/text.cxx:1400:36 > OutputDevice::GetTextArray(rtl::OUString const&, long*, int, int, vcl::TextLayoutCache const*) const vcl/source/outdev/text.cxx:999:35 > OutputDevice::GetTextWidth(rtl::OUString const&, int, int, vcl::TextLayoutCache const*) const vcl/source/outdev/text.cxx:915:19 > ImplFontMetricData::ImplInitTextLineSize(OutputDevice const*) vcl/source/font/fontmetric.cxx:372:30 > OutputDevice::ImplNewFont() const vcl/source/outdev/font.cxx:1100:42 > OutputDevice::GetTextHeight() const vcl/source/outdev/text.cxx:924:14 > vcl::Window::ImplInitAppFontData(vcl::Window*) vcl/source/window/window.cxx:1177:33 > vcl::Window::ImplInit(vcl::Window*, long, SystemParentData*) vcl/source/window/window.cxx:1168:9 > ImplBorderWindow::ImplInit(vcl::Window*, long, BorderWindowStyle, SystemParentData*) vcl/source/window/brdwin.cxx:1758:13 > ImplBorderWindow::ImplBorderWindow(vcl::Window*, SystemParentData*, long, BorderWindowStyle) vcl/source/window/brdwin.cxx:1790:5 > VclPtrInstance<ImplBorderWindow>::VclPtrInstance<vcl::Window*&, SystemParentData*&, long&, BorderWindowStyle&>(vcl::Window*&, SystemParentData*&, long&, BorderWindowStyle&) include/vcl/vclptr.hxx:281:39 > WorkWindow::ImplInit(vcl::Window*, long, SystemParentData*) vcl/source/window/wrkwin.cxx:52:38 > WorkWindow::WorkWindow(vcl::Window*, long) vcl/source/window/wrkwin.cxx:95:5 > VclPtr<WorkWindow> VclPtr<WorkWindow>::Create<vcl::Window*&, long&>(vcl::Window*&, long&) include/vcl/vclptr.hxx:131:46 > (anonymous namespace)::VCLXToolkit::ImplCreateWindow(VCLXWindow**, com::sun::star::awt::WindowDescriptor const&, vcl::Window*, long) toolkit/source/awt/vclxtoolkit.cxx:1195:42 > (anonymous namespace)::VCLXToolkit::ImplCreateWindow(com::sun::star::awt::WindowDescriptor const&, long) toolkit/source/awt/vclxtoolkit.cxx:1306:22 > (anonymous namespace)::VCLXToolkit::createWindow(com::sun::star::awt::WindowDescriptor const&) toolkit/source/awt/vclxtoolkit.cxx:799:12 > non-virtual thunk to (anonymous namespace)::VCLXToolkit::createWindow(com::sun::star::awt::WindowDescriptor const&) toolkit/source/awt/vclxtoolkit.cxx:797:59 > (anonymous namespace)::TaskCreatorService::implts_createContainerWindow(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&, com::sun::star::awt::Rectangle const&, bool) framework/source/services/taskcreatorsrv.cxx:268:73 > (anonymous namespace)::TaskCreatorService::createInstanceWithArguments(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) framework/source/services/taskcreatorsrv.cxx:165:28 > non-virtual thunk to (anonymous namespace)::TaskCreatorService::createInstanceWithArguments(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) framework/source/services/taskcreatorsrv.cxx:133:74 > framework::TaskCreator::createTask(rtl::OUString const&) framework/source/classes/taskcreator.cxx:112:63 > framework::Desktop::findFrame(rtl::OUString const&, int) framework/source/services/desktop.cxx:951:28 > non-virtual thunk to framework::Desktop::findFrame(rtl::OUString const&, int) framework/source/services/desktop.cxx:920:61 > framework::LoadEnv::impl_loadContent() framework/source/loadenv/loadenv.cxx:1017:50 > framework::LoadEnv::startLoading() framework/source/loadenv/loadenv.cxx:379:20 > framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) framework/source/loadenv/loadenv.cxx:165:14 > framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) framework/source/services/desktop.cxx:597:12 > non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) framework/source/services/desktop.cxx:583:64 > (anonymous namespace)::LpSolverTest::setUp() sccomp/qa/unit/lpsolver.cxx:45:67 ... Change-Id: If46d9b82225a70caa9ad2f17fbeb99c6adc63990