summaryrefslogtreecommitdiff
path: root/solenv
AgeCommit message (Collapse)AuthorFilesLines
2013-09-22make the PythonTest run on WNTMichael Stahl1-1/+1
- fix the PATH - file url needs to start with file:///X:/ (three slashes, literal :) Change-Id: I0d16d1e946fd06ba5523961c23c3b46872c0c050
2013-09-22gbuild: drop mkdir -p calls from gb_LinkTarget__commandMichael Stahl7-14/+1
... should be obsoleted by previous commit. Change-Id: I378de1465d293a60dc20c545770f029c8f71bd50
2013-09-22gbuild: add consistent directory dependencies for LinkTargetsMichael Stahl4-12/+20
- 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
2013-09-22gbuild: clean up naming of PDB files for MSVCMichael Stahl1-17/+16
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
2013-09-22gbuild: MSVC: ignore LIBS for static librariesMichael Stahl1-2/+1
Not sure if it causes actual problems but all other platforms ignore LIBS on static libraries already when linking. Change-Id: I8a5ff4b2243b625827f82b0f64f007cea7c9d7c5
2013-09-22gbuild: remove static libraries from OUTDIRMichael Stahl4-12/+8
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
2013-09-22find lots of external static libraries in UnpackedTarball dirMichael Stahl1-0/+1
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
2013-09-22gbuild: rename LinkTarget variable LIBSMichael Stahl8-11/+11
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
2013-09-22gbuild: change linking order on ELF platformsMichael Stahl2-4/+10
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
2013-09-22gbuild: remove executables from OUTDIR and WORKDIRMichael Stahl7-40/+33
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 0ffab9363d527d55b12b9b09d7136ca1c9d171e0 "force 'main' to always be DLLPUBLIC." Change-Id: I3e1ee7425dd430bb83c7cd59e265869a0541b38d
2013-09-22sal: rename "cppunit/cppunittester" executableMichael Stahl1-2/+2
... 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
2013-09-22odk: remove Package_bin, instead auto-install executablesMichael Stahl2-6/+6
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
2013-09-22gbuild: add a SHLXTHDL layer for librariesMichael Stahl5-1/+9
... 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
2013-09-22gbuild: remove libraries from OUTDIR and WORKDIRMichael Stahl20-131/+144
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
2013-09-22Revert "fdo#51115: gb_Extension_add_file: fix Windows build:"Michael Stahl1-6/+1
This actually should no longer be necessary since AUXTARGETS were fixed in 85b6a93cf41fb05e726027e34fcd805330e20414. This reverts commit e818f8fa1f79c2eb2d647678333b8d12599dda69.
2013-09-22gbuild: remove SOVERSION variable since it is hardcoded anywayMichael Stahl5-13/+8
Change-Id: I625291ea86c1c3caf7fa5400e380defa6d0d0bc8
2013-09-22gbuild: make the versioned library the linktarget on UnixesMichael Stahl8-52/+57
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
2013-09-22gbuild: make the DLL the LinkTarget of Library and CppunitTestMichael Stahl11-77/+70
... 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
2013-09-22gbuild: deduplicate gb_Library_get_exports_targetMichael Stahl3-10/+4
and remove comment obsoleted by 170668d83911c12475eccf69eba5e191863d4a56 Change-Id: Iba8db6214e04480eaf45bcd069ccd8b41fd25874
2013-09-22gbuild: refactor LinkTarget representationMichael Stahl11-72/+122
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
2013-09-22PoC: no libs in solverBjoern Michaelsen2-3/+3
Change-Id: I8efd69d5a6f26fdfd334ff0bc38848eccc7a85fd
2013-09-22gbuild: document parameters of LinkTarget methodsMichael Stahl1-10/+81
Change-Id: Ib22df5811ab07e93a9d7e987b66b12506265bf96
2013-09-22gbuild: add gb_Library_use_restargetMichael Stahl2-0/+11
Change-Id: Ic0a2fd3c1adeb55ec27f6a2eb4709be598120fba
2013-09-22gbuild: remove unused gb_LinkTarget_use_headersMichael Stahl2-13/+0
Change-Id: Idce74274169970bdd35869578cc0046fe502e614
2013-09-22installer: actually WINDOWSBASISROOTNAME was wrongMichael Stahl1-2/+3
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
2013-09-22gbuild: gb_SdiObject_get_dep_target does not existMichael Stahl1-2/+2
Change-Id: Id744a6035ad60cc66d791e8ce34b60ad5b200923
2013-09-22gbuild: ExternalPackage: fix stupid typoMichael Stahl1-1/+1
Change-Id: Ie8d8ac0ead879c90557f8f76d1a63fe9fde764d0
2013-09-22undefined function warning gb_Library__set_soversion_script_platformMichael Stahl2-0/+5
Change-Id: I81df2b8d2016a900bdebc0feaa33db7e587ba4bb
2013-09-22gbuild: remove gb_NoExPrecompiledHeader_get_clean_targetMichael Stahl1-1/+1
Obsolete since 2bf530153e9fb24aef62bf5e16e23ea1412887dd. Change-Id: I6a66e14420bd3c6cb7557932a83cf0c4b95cdd11
2013-09-20Use tempfile instead of stdin in exectest.plStephan Bergmann1-20/+32
...so it can easily be reused to test unoidl-write, too. Change-Id: I4992850b44faaa152bcf1d281f2787824d6ad036
2013-09-20Strip exectest.pl down to what is needed by its only clientStephan Bergmann1-37/+12
Change-Id: I9355f8618757f657fb8f8408a10b02f113fc0966
2013-09-19Directly build UNOIDL .rdb files from .idl filesStephan Bergmann7-246/+29
...via unoidl-write and the new source-format registry provicers, instead of using idlc to produce .urd files, regmerge to merge them into legacy .rdb files, and unoidl-write to translate those to new UNOIDL .rdb files. gb_UnoApi and gb_InternalUnoApi ctors take an additional argument now that is the path (below $(SRCDIR)) of the source-format registry from which to obtain UNOIDL entity definitions. It can either be an .idl file (in which case no *_add_idlfiles calls should be used and the resulting .rdb will contain all the entities from that one .idl file; used in some tests to conveniently define all test-specific entities in a single file) or a directory denoting the root of an .idl file tree (in which case *_add_idlfiles calls specify the entites to include in the resulting .idl file). (In the first case, the generated .rdb file needs to depend on that single .idl file, so the gb_UnoApiTarget ctor contains a dependency on that additional argument, which happens, as a side effect, to trigger rebuilds in the second, tree-based case when addition/removal of .idl files in the tree causes updates of directory time-stamps.) UnoApiPartTarget and all the dependency-tracking logic based on .urd files in solenv/gbuild/UnoApiTarget.mk is gone. Generation of an .rdb file now depends on its source registry (see previous paragraph) and all the .idl files specified with *_add_idlfiles (in the second, tree-based case above). A consequence of that is that gb_UnoApi_add_idlfile, -_nohdl, and -_noheader all do the same now. I left them in for now anyway, maybe they become relevant again when the use of cppumaker is changed to read directly from a source-format registry instead of going via a .rdb registry. The legacy tools idlc, regcompare, regmerge, and regview are still contained in the URE or SDK for now. cb344cd59e1ddb7c6db66dbd9263b4755969d4ba "Revert 'Looks like idlc resolved typedefs inside sequence<...>'" is re-reverted as now "the current offapi.rdb is generated via unoidl-write instead of idlc." Change-Id: I3d9d92f17326bc9f49dd934c85aab6a17951d06d
2013-09-19Revert "gcc-wrapper: warn on invalid path names."Jan Holesovsky1-5/+1
This reverts commit 5f0145818cba17558708ef731e2bcc6a0b92a9f7. Breaks the tinderboxes, I am afraid.
2013-09-18Fix documentationStephan Bergmann1-3/+4
Change-Id: I0fa7a31ea783437632838ef82ee4d21c38f75698
2013-09-18gcc-wrapper: warn on invalid path names.Michael Meeks1-1/+5
Change-Id: Ib057d519485da3a454bad579675ae718c42155eb
2013-09-18Replace binary type_references with human-readable .idl versionsStephan Bergmann2-11/+2
...obtained from the old .rdb files via "unoidl-read --published". This removes the need for update-rdb.sh. Change-Id: I73c0d026af7e27370602f83c61dfa76fc4d17a83
2013-09-18New unoidl-check tool to replace regcompareStephan Bergmann3-10/+10
...for checking compatibility with the reference rdbs. unoidl-check is no longer based on the legacy registry format, but can process all the various new UNOIDL registry formats. regcompare is still included in the SDK for now. (gb_UnoApi[Target]_set_reference_rdbfile now takes a non-empty sequence of rdb files, any necessary dependencies of the final rdf file preceding it just like it is required on the unoidl-check command line. Also, executing the unoidl-check now properly depends on those rdb files.) TODO: unoidl-check is too conservative for now and flags some changes as incompatible that are not. Change-Id: I92e4c69403c5e3fcb31707c98c65a2f509592dd4
2013-09-18Sign .msi/.msp files when build signing is enabled on WindowsAndras Timar1-0/+49
Change-Id: I927d78ae898596e6425b086f4d50fc4e1b9361c1
2013-09-17do not copy invalid, merged libraries to instdirMatúš Kukan1-1/+1
Change-Id: I7f8e12530344e23e9bc68510795e90640ea8fd43
2013-09-17goodbye linkoo.. you have served wellMatúš Kukan3-618/+2
This commit: - removes linkoo and --disable-linkoo option - removes 'dev-update' make target - creates --disable-ooenv option - removes LD_LIBRARY_PATH and PATH settings in ooenv Change-Id: I9530558531e9cb58b8282754ec8a6c655f190480
2013-09-16Replace reg2unoidl with unoidl-writeStephan Bergmann2-4/+4
...that can also generate an .rdb containing a specific set of entities, intended to replace idlc (when reading directly from .idl source registries). Change-Id: I630ce4640828979d7952dc24dbbef80a42a8140a
2013-09-14fdo#68790: fix build error on Win when system locale=="Japanese(Japan)"Tomofumi Yagi1-1/+2
This patch modifies transex3. Modified transex3 outputs a file with BOM(if MergeMode is true). *.[hs]rc files with BOM avoid this problem. This problem is that MSVC interprets UTF-8 source code without BOM as local codepage when system locale is "Japanese(Japan)". Change-Id: I3e12499a91a954236f48e6d7e360d26c93d19ed6 Reviewed-on: https://gerrit.libreoffice.org/5851 Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Kohei Yoshida <libreoffice@kohei.us> Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
2013-09-14Clean up Mac OS X .jnilibsStephan Bergmann2-97/+1
Those .jnilibs that are not needed as .dylibs (this includes those that are also UNO components) are handled via RepositoryFixes.mk. The remaining one, libjava_uno.jnilib is packaged as a symlink in instdir. Everything else is not necessary and removed (including the venerable oddity macosx-create-bundle). Change-Id: I34a1801b0733cdff885c1c72db16fa631c5d82ef
2013-09-13installer: put in a hack for MacOSX to find language pack filesMichael Stahl2-1/+6
The files are in LibreOffice.app, are packaged in LibreOffice Language Pack.app and will then be copied into LibreOffice.app when the lang-pack is clicked by the user. This also neatly avoids having to deal with file names with spaces in make. Also, root directory is $(PRODUCTNAME).app which works with --disable-release-build too. Change-Id: Ie064831316d790b137022a1632721c62500a46a1
2013-09-13configure: ensure that install_name_tool matches the toolchain...Michael Stahl1-1/+1
... used to build, since otherwise it'll break with "malformed object" errors. Alo replace now unused XCRUN variable. Change-Id: I58a20c34f903b7a7acb46597d94243389e6b3842
2013-09-13gbuild: add missing directory dependencies for Obj{C,Cxx}ObjectMichael Stahl1-0/+2
Change-Id: Ifafcbe6ed88a2cc18ecb1ff123adf974e10e5187
2013-09-13gbuild: fix rule for gb_ObjCxxObject_get_dep_targetMichael Stahl1-1/+3
The typo causes spurious re-builds and error messages about the dep-target. Change-Id: Ia8bc236759c7ef13f81fe91c88f467d6e507bf29
2013-09-12installer: find files in INSTDIR also on WNTMichael Stahl2-4/+9
... where everything is inside some artificial "LibreOffice 4" directory that is set as WINDOWSBASISROOTNAME in openoffice.lst.in Change-Id: Ib04f84a8064739e0ea9d11b3b79cc1fa167a06e5
2013-09-12gbuild: remove gb_Rdb__get_final_targetMichael Stahl1-11/+18
... by replacing gb_Rdb_install with a separate constructor so the right target can be registered at the module. There is still an ugly special case for the ure/services. Change-Id: I81c004143f201aaf38daca99819888313ee24f49
2013-09-12gbuild: remove gb_Pagein__get_final_targetMichael Stahl2-8/+9
Change-Id: Ie3fcd7330e4e9f9d3ab48227edd192984d7ec49a