On Tue, May 24, 2011 at 8:18 AM, Francois Tigeot <ftig...@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
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to