Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Tue, May 24, 2011 at 8:18 AM, Francois Tigeot <ftigeot@wolfpond.org> wrote:
On Mon, May 23, 2011 at 11:22:28AM -0600, Tor Lillqvist wrote:
If removing the suffix is too much work for 3.5,

Nah, why would it be that much work? If it is agreed that those shared libraries that use those 
suffixes are ones that binary extensions don't link to anyway, let's just do it.

Fine. Most of the code using DLLPOSTFIX in dmakefiles is quite simple and a
quick sed invocation should be enough to get rid of it.

The new gbuild code should not be too difficult to clean either.

The only real difficulties I see will be with these files in
bootstrap/solenv/inc:

_tg_shl.mk
tg_shl.mk
tg_wntx64.mk

with rules such as

 SHL$(TNR)VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt 
$(SHL$(TNR)TARGET))}$(VERSIONOBJ:f:s/.o/.obj/)

What do these do exactly ?

SHL$(TNR)VERSIONOBJDEP
The TNR variable gets replaced by mkunroll - i.e. the makefile you're
looking at is not the one that is actually used, but a template for
others.
the actual template will contain SHL1VERSIONOBJDEP, SHL2VERSIONOBJDEP, ....

$(VERSIONOBJ:d)
:d means directory portion of the path in NAME,

$(VERSIONOBJ:f:s/.o/.obj/)
:f → filename portion of the file, is combined with the subsitution
(:s) of .o → .obj

$(subst,$(DLLPOSTFIX),_dflt $(SHL$(TNR)TARGET))
alternate way of doing a substitution
$(VERSIONOBJ:f:s/.o/.obj/) can also be written as
$(subst,.o,.obj $(VERSIONOBJ:f))
i.e. it replaces $(DLLPOSTFIX) in $(SHL$(TNR)TARGET) by _dflt

$(DLLPOSTFIX) in $(SHL$(TNR)TARGET) is replaced by _dflt

last but not least foo{bar}baz means:
for every token in bar prepend foo, and append baz, i.e. evaluate to
"foobar1baz foobar2baz foobar3baz" if bar actually results in "bar1
bar2 bar3"

I guess I can't just rip out the lines containing
DLLPOSTFIX from the above files and expect a build to still work ...

Nope, that above recipe is too late/only a fraction of the situations
that need to be adjusted. But for a start setting DLLPOSTFIX to "" in
the platform-specific macros should work.

ciao
Christian

Context


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.