So, I want to be able to link vcl (libvcllo.so under Linux) against
internal cairo when ENABLE_LIBRSVG is enabled.
This works fine for me with my linker, but causes trouble on some other
setups (e.g. altlinux I think). Here's how the link line ends up, and
the first error.
R=/home/jd/lo/master && S=$R/bootstrap && O=$S/solver/350/unxlngx6.pro
&& W=$O/workdir && mkdir -p $W/LinkTarget/Library/ && g++ -shared
-Wl,-z,noexecstack '-Wl,-rpath,$ORIGIN:$ORIGIN/../ure-link/lib'
'-Wl,-rpath-link,$O/lib' -Wl,-z,defs -Wl,-rpath-link,/lib:/usr/lib
-Wl,-z,combreloc -L$S/solenv/unxlngx6/lib -L$O/lib -L
$S/solenv/unxlngx6/lib -Wl,--hash-style=gnu -Wl,--dynamic-list-cpp-new
-Wl,--dynamic-list-cpp-typeinfo -Wl,-Bsymbolic-functions
-Wl,--strip-all -Wl,-O1 -lfontconfig -lfreetype ...
$W/CxxObject/vcl/source/components/rasterizer_rsvg.o -Wl,--start-group
$O/lib/libgraphite2_off.a -Wl,--end-group -ltllo -lutllo -lsotlo
-lucbhelper4gcc3 -lbasegfxlo -lcomphelpgcc3 -luno_cppuhelpergcc3 -licuuc
-licule -licule -li18nisolang1gcc3 -li18npaperlo -li18nutilgcc3
-ljvmaccessgcc3 -luno_cppu -luno_sal -lcairo -ldl -lm -lpthread -o
$W/LinkTarget/Library/libvcllo.so
#
/home/jd/lo/master/bootstrap/solver/350/unxlngx6.pro/workdir/CxxObject/vcl/source/glyphs/gcach_ftyp.o:
In function `FtFontInfo::GetFaceFT()':
#
gcach_ftyp.cxx:(.text+0x9e3): undefined reference to
`FT_New_Memory_Face'
You can see that we *do* have -lfontconfig -lfreetype at the start of
the linker line, and -lcairo at the end of it, but we get undefined
references to freetype functions.
Easiest fix would be to, for the internal cairo case, to have -lcairo
-lfreetype -lfontconfig there. So for a quick fix I added fontconfig to
the plain libs for unxgcc.mk and shoved in freetype + fontconfig into
Library_vcl.mk for Linux.
That's not really what I want to do, because that drops the exact linker
options for fontconfig and freetype that we have in FONTCONFIG_LIBS and
FREETYPE_LIBS.
So, I suppose the main question is: How should I get FONTCONFIG_LIBS and
FONTCONFIG_LIBS, currently placed into gb_Library_set_ldflags, to appear
after cairo in the link line.
The other question is, even outside of this specific issue, if the
current adding of FOO_LIBS into gb_Library_set_ldflags is the right way
to add those anyway ?
C.
Context
- [Libreoffice] right way to control libs and flags on the link line · Caolán McNamara
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.