[Libreoffice] unnecessary build actions?

Caolán McNamara caolanm at redhat.com
Tue Sep 13 04:20:11 PDT 2011


On Thu, 2011-09-01 at 12:12 -0400, Kevin Hunter wrote:
> Hullo LibO Devs,
> 
> In a search of my build.log for libuno_sal, the first reference I see 
> points me to lines that look line this (newlines added for email clarity):
> 
> -----
> rm -f ../unxlngx6/lib/check_libuno_sal.so.3
> 
> mv ../unxlngx6/lib/libuno_sal.so.3 ../unxlngx6/lib/check_libuno_sal.so.3
> 
> [...]/solenv/bin/checkdll.sh  [...]  ../unxlngx6/lib/check_libuno_sal.so.3
> 
> rm -f ../unxlngx6/lib/libuno_sal.so
> 
> cd ../unxlngx6/lib && ln -s libuno_sal.so.3 libuno_sal.so
> 
> Making:    libuno_sal.so.3
> 
> ccache g++ [...] -o ../unxlngx6/lib/libuno_sal.so.3 [...]
> -----
> 
> Question: if we're making libuno_sal.so.3 afresh, what's the rational to 
> bother performing various checks on it prior to making it?

Odd, if I touch rtl/source/locale.c and do "build" I get...
gcc  ..   -o ../../unxlngx6/obj/locale.o locale.c
g++ ... -o ../unxlngx6/lib/libuno_sal.so.3 ...
rm -f ../unxlngx6/lib/check_libuno_sal.so.3
mv ../unxlngx6/lib/libuno_sal.so.3 ../unxlngx6/lib/check_libuno_sal.so.3
Checking DLL ../unxlngx6/lib/check_libuno_sal.so.3 ...
rm -f ../unxlngx6/lib/libuno_sal.so
cd ../unxlngx6/lib && ln -s libuno_sal.so.3 libuno_sal.so

i.e. build, then check, not what you seem to have, i.e. check then build

> Further, I don't see where the first line's reference to 
> check_libuno_sal.so.3 comes from.  i.e.  When did it get built prior? 
> Similar question goes for line 2 above (mv ...).

The order they are supposed to happen (any maybe actually are happening,
just out-of-order build log due to parallel building or different
stdout/stderr streams) is as above, where the checking dll stuff is done
by checkdll in soltools/checkdll. i.e. compile to shared lib, rename it,
test it for sanity and rename it back if its ok, otherwise leave it
renamed as broken and abort.

> ...
> rm -f path/to/file
> gcc -o path/to/file [...]
> ...
> 
> That gcc command will just overwrite the file if it's there, no? 
> Therefore, why execute rm?

Don't see this either, perhaps I'm missing the obvious how-to-reproduce
this. Either way though, it looks like output from the "old-style"
build+dmake build system, rather that the "new-style" gmake build system
which stuff is migrating over to.

C.



More information about the LibreOffice mailing list