df-libreoffice:feature/instdirlinktargets

Last commit made on 2013-09-21
Get this branch:
git clone -b feature/instdirlinktargets https://git.launchpad.net/df-libreoffice
Members of The Document Foundation can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
feature/instdirlinktargets
Repository:
lp:df-libreoffice

Recent commits

e6c2048... by Michael Stahl <email address hidden>

make the PythonTest run on WNT

- fix the PATH
- file url needs to start with file:///X:/ (three slashes, literal :)

Change-Id: I0d16d1e946fd06ba5523961c23c3b46872c0c050

84507ad... by Michael Stahl <email address hidden>

gbuild: drop mkdir -p calls from gb_LinkTarget__command

... should be obsoleted by previous commit.

Change-Id: I378de1465d293a60dc20c545770f029c8f71bd50

477147f... by Michael Stahl <email address hidden>

gbuild: add consistent directory dependencies for LinkTargets

- StaticLibrary and CppunitTest have all files in one directory
- Executable may have the executable itself in a different one
- Library may have files in up to 3 directories

... so create 2 directories (which may be the same) in
gb_LinkTarget_LinkTarget and a 3rd one in gb_Library__Library_impl.

This allows to get rid of the "mkdir LinkTarget/pdb/..." thing in
the header target rule, which was always ugly since it did not
get rebuilt when deleting it (or whole LinkTarget dir) from workdir.

Oh and the pattern dependency causes trouble:

$(WORKDIR)/LinkTarget/% : $(call gb_LinkTarget_get_headers_target,%)

... for files in ExtensionLibrary; it would be possible to put
ExtensionLibrary somewhere else of course but actually this pattern
dependency is unnecessary since we get the same thing whenever any
object is added to a link target and there shouldn't be link targets
without objects anyway.

Furthermore directory dependencies must be on the headers_target because
MSVC will write a PDB file when compiling objects.

Change-Id: Icd92e8768d6aafb094a4144f90165aa5ff233647

48e7fbe... by Michael Stahl <email address hidden>

gbuild: clean up naming of PDB files for MSVC

There are 2 of these, one is written to by cl.exe and read by link.exe
and the second one written by link.exe. Name the second one as the
linktargetname with .pdb appended, no need to substitue 5 different
crazy suffixes.

Change-Id: I2decad898ed1292b069bdda3124ce6f6c3667108

64aef99... by Michael Stahl <email address hidden>

gbuild: MSVC: ignore LIBS for static libraries

Not sure if it causes actual problems but all other platforms ignore
LIBS on static libraries already when linking.

Change-Id: I8a5ff4b2243b625827f82b0f64f007cea7c9d7c5

ad4b542... by Michael Stahl <email address hidden>

gbuild: remove static libraries from OUTDIR

Refactor to find and link static libraries directly in WORKDIR.

- gb_StaticLibrary_get_target is now same as the gb_LinkTarget_get_target
- fix the StaticLibrary clean target

Change-Id: Icf29d32d6487747a2e39d4599ceebccfead04667

425d8fd... by Michael Stahl <email address hidden>

stop delivering lots of external static libraries

Change-Id: Id0c5908adbdec40346c1b62304d1f72ed077ca54

f1d9c69... by Michael Stahl <email address hidden>

find lots of external static libraries in UnpackedTarball dir

Note: do NOT put file paths to static libraries into FOO_LIBS variables
that are passed to bundled externals that are built with --enable-static:
on Mac OS X this will result in .a archives that contain other .a
archives as entries, and trying to link those results in errors like:

ld: warning: ignoring file .../libodfgen-0.0.a, file was built for
archive which is not the architecture being linked (i386)

Change-Id: If2c5a458058e4da76f80b3643e55b489d1edee24

5547d0c... by Michael Stahl <email address hidden>

gbuild: rename LinkTarget variable LIBS

LIBS is apparently used by autotools build system and passed to
configure at least in mythes and hunspell, where the LinkTarget variable
could cause problems by inheritance.

Change-Id: Ia267dd0a24c96914208869d7b47552b44a701735

9160719... by Michael Stahl <email address hidden>

gbuild: change linking order on ELF platforms

If there are static libraries in $(LIBS) then things get really annoying
if they depend on other static libs that are StaticLibraries, e.g. orcus
and boost_system. So reorder this to include $(LIBS) in the --start-group
--end-group and hope that doesn't break anything.

Hopefully $(LIBS) does not need -Wl$(COMMA)--no-as-needed, that should
only be required for $(LINKEDLIBS).

Change-Id: Ie15239a0fb7b5295f85941150e2c60912be73bfb