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
Not sure if it causes actual problems but all other platforms ignore
LIBS on static libraries already when linking.
Change-Id: I8a5ff4b2243b625827f82b0f64f007cea7c9d7c5
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
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
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
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
Call and link executables directly in INSTDIR.
- gb_Library_get_target is now same as the gb_LinkTarget_get_target
- disable gb_Library_add_auxtarget, no auxtargets need to be copied
- adjust paths of all external executables to OUTDIR_FOR_BUILD for now
- use lazy assignment instead of := in AllLangResTarget because it's
read before Executable
- link.exe generates an import library for lots of executables
because they export symbols, especially since commit
0ffab9363d
"force 'main' to always be DLLPUBLIC."
Change-Id: I3e1ee7425dd430bb83c7cd59e265869a0541b38d
... so that custom targets in i18npool run. Can't remember if that is a
pre-existing problem or caused by one of my changes.
Change-Id: Ic0aa1f2b8600f4951d30a5ac6f3ade1a4fb2d313
Clean up the horrible mess around unopkg.bin unopkg.com unopkg.exe and
soffice.bin soffice.exe and crashrep.com executables and associated
renaming via Packages in the desktop makefiles by simply using
RepositoryFixes to correct the names.
Change-Id: I4d3a549462cfa90a63d62b35db1b0407b25239f7
The library is already in the URE/bin directory, but that is not
sufficient to be able to run sdk/bin/climaker.exe.
There are apparently 4 ways for a .net/CLR executable to locate
shared libraries:
1) in the same directory as the executable
2) in some mysterious "GAC" thing in C:/Windows
(which is presumably how it works if you actually install LO)
3) via an application configuration file entry "probing",
which only works when it's in a sub-directory of the
one the executable is in
4) via a DEVPATH variable, but that only works with a
special configuration entry in a system "machine config" file
of the .net framework
Specifically PATH is apparently ignored. Since building on Windows is
enough of a PITA already and we don't want developers to have to edit
another config file, put another copy of the library into sdk/bin.
http://tutorials.csharp-online.net/.NET_CLR_Components%E2%80%94Resolving_Names_to_Locationshttp://tutorials.csharp-online.net/.NET_CLR_Components%E2%80%94CLR_Loader
Change-Id: I511957ad9a9a918ed0c316126304a1980fb2d289
Putting it in a subdirectory on solver is no longer necessary since
python3 started delivering to INSTDIR, so lose the crazy naming.
Change-Id: I17e924e5d872768a64f6a3112f1294f3def7120e
... and put it in OOO layer since it's used by the smoketest instset.
It was in subdirectory for hysteric reasons, to pick up libraries from
module local output directories in the dmake build system.
Change-Id: I73b66672b17ede52c03071eb2ddee1a23c059ea9
This is somewhat annoying since it requires re-introducing stupid
directories in scp2, but if the executables should be put in INSTDIR
directly then the Package_bin needs to go.
Change-Id: I893694c7f9d4cb5b9ef8ec4a3d30e08536223740
... because this is the time of day when one thinks, wouldn't life
simply be more awesome if there were a SHLXTHDL layer?
Change-Id: I02df8a8bf9d7d641ea060e2cfef6643fe2202353
Refactor everything to find and link libraries directly in INSTDIR.
- add gb_LinkTarget_get_linksearchpath_for_layer, and use it to set up
-L paths for T_LDFLAGS in such a way that only allowed libraries
can be linked against; i.e. it's not possible to link URE
linktargets against OOO or not-installed libraries
- gb_Library_get_target is now same as the gb_LinkTarget_get_target
(TODO: this needs cleanup)
- since a pattern rule won't work for linking libraries in INSTDIR,
add a separate per-file rule for every INSTDIR lib
- pattern rule can't find link target in the clean target any more
so add a LINKTARGET variable
- disable gb_Library_add_auxtarget, no auxtargets need to be copied
- tweak the call to gb_Library_Library_platform to pass in a path
in sdk/lib for the versioned URE libs
- fix the Library clean target
- add LAYER parameter to gb_LinkTarget_LinkTarget
- adjust platform link commands
- MSVC link command now uses explicit -manifestfile and -pdb
parameters to keep misc. files out of INSTDIR
- remove gb_Helper_OUTDIR_FOR_BUILDLIBDIR
- adjust Extension, CppunitTest, JunitTest, PythonTest, Gallery,
various CustomTargets to search INSTDIR
- remove SDK library symlinks and import libs from odk/Package_lib
- on Mac OS X, put .dylib symlinks into sdk/lib even though those
are not packaged and would be created by the SDK configury;
we need these to be somewhere for linking anyway
- add a (unfortunately cyclic) dependency on Package ure_install to sal
Change-Id: I70d88742f8c8232ad7b9521416275c67b64fe6cf
If there is a SOVERSION then the versioned library is a real file and
the unversioned one just a symlink; better to have the real file be the
target.
- add gb_Library_UDK_MAJORVER variable for SOVERSION
- remove version parameter of gb_Library_set_soversion_script;
instead hardcode the SOVERSION since it must be included in the
file name in gb_Library_FILENAMES anyway
- store the unversioned symlink in the ILIBTARGET variable
- via new gb_Library_get_workdir_target_versionlink function
- removed gb_Helper_install call that resulted in both versioned
and unversioned libs in instdir
Change-Id: I2c6f1698f0e39fdb2c07964d43ed9485cbca0b30
... instead of the import lib. If the DLL is an auxtarget, it cannot
be deleted without annoying errors, and we want to be able to rm -r
$(INSTIDR) and build incrementally from there.
- replace DLLTARGET -> ILIBTARGET
- replace gb_Library_DLLFILENAMES -> gb_Library_FILENAMES
- replace gb_Library_FILENAMES -> gb_Library_ILIBFILENAMES
- replace gb_Library_get_dllname -> gb_Library_get_filename
- replace gb_Library_get_filename -> gb_Library_get_ilibfilename
- replace gb_CppunitTest_get_libfilename -> gb_CppunitTest_get_ilibfilename
- replace gb_LinkTarget_set_dlltarget -> gb_LinkTarget_set_ilibtarget
Change-Id: I92a2f061a653b9b5941f3232d729987b1317b6f8
If the link targets are not in workdir then 2 different aspects are
needed: the previously used location relative to workdir's LinkTarget
dir (for all the misc. related targets), and the full target file.
Adding an additional parameter to all LinkTarget functions would be
quite annoying, especially since it would need passing through all the
gb_LinkTarget__use functions in RepositoryExternal.mk; instead encode
both into the linktarget itself, and modify the functions
gb_LinkTarget_get_target to return the target and all others to return
the workdir linktargetname.
- replace gb_Library_get_linktargetname with either:
* gb_Library__get_workdir_linktargetname
* gb_Library__get_linktarget_target
* gb_Library_get_linktarget
- similar for gb_Executable_get_linktargetname
- similar for gb_StaticLibrary_get_linktargetname
- similar for gb_CppunitTest__get_linktargetname
- add calls to gb_LinkTarget__get_workdir_linktargetname where needed
Change-Id: I917ad7957fee50ec2517a9f9cc9ff452c8d97d1b
What _actually_ determines the prefix of the destination is the HostName
property of the scp2 Directory with Style OFFICEDIRECTORY, so check that.
The two are often the same but not when building a LibreOffice_Dev_SDK.
Change-Id: Ic127447ef40731f0967b89ece631f9c7b076720f
It would not be necessary to mangle the
affine_uno_uno/log_uno_uno/unsafe_uno_uno library names in
RepositoryFixes.mk if they were simply named right in the first place.
Change-Id: I0fce919549764d2335c5501c1110878b8709fa09
... also only deleting an object if it _is_ null is surely an error?
And if the condition were inverted it would be unnecessary too
since operator delete[] handles null fine.
Change-Id: Ib644447437864f9c6f34d13c75598f0e06d86f65
An executor stops working when a single task got an exception. This
change prevents only one exception from being uncaught, if this will not
help probably everything should be caught.
Change-Id: I76a57fc0b1c759cb66bf13b5cdec7223c384bfa3
Windows installer on Windows XP cannot display messages, when the
installer database is encoded in UTF-8 and support for CTL languages
is not installed. This patch is a workaround, it disables the 'Remove'
button in Control Panel's Add or Remove Programs applet, so the user
has to choose 'Change', and has to uninstall LibreOffice with the
Wizard, which does not exhibit the problem.
Initially this bug was not expected, when we changed the enconding
from legacy codepages to UTF-8 - I would say irreversibly.
Then the severity of the bug was underestimated, because usually
uninstallation needs no user interaction, so it does not matter,
if the text is unreadable. However, in some circumstances
uninstallation needs to reboot the computer, and the user needs
to understand the question, whether to reboot now or later.
Change-Id: I7d6b4e82cbe4142d23c29313e43a90fa43944b2f
Drop Caps tab was disabled in paragraph options when Firefox was
selected in HTML compatibility options and Writer was in HTML
editor mode. There is no need to do that. Firefox and all modern
browsers will display drop caps correctly if they are exported
from LibreOffice.
Change-Id: I9ee0d9647b8e8ed7c57c4b08dc4995ef1b8f91f3
Reviewed-on: https://gerrit.libreoffice.org/6013
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
It's a horrible idea to have global VCL Images, since that will
inevitably crash on shutdown when the static dtor runs after
DeInitVCL, which breaks ~every JunitTest now.
0x00002af6750d2d51 in rtl::Reference<sfx2::sidebar::Theme>::~Reference (this=0x2af6756ceb28 <sfx2::sidebar::Theme::mpInstance>, __in_chrg=<optimized out>)
Try to fix that by moving the global sidebar::Theme instance to
SfxApplication where it can hopefully be deleted before shutdown.
Change-Id: Ia78f1e458699335b53a741b6463ce48af69584a7