summaryrefslogtreecommitdiff
path: root/solenv/gbuild/UnoApiTarget.mk
AgeCommit message (Collapse)AuthorFilesLines
2021-11-04Resolves: tdf#97046 ensure build system variables start with gb_Sabyasachi Bhoi1-1/+1
Change the variable name: var2file to gb_var2file Change-Id: Ib7d64b76cfe10e6c2df1a176674a360b28704070 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124666 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2020-02-16GBUILD_TRACE, support for finding out where the build time is spentLuboš Luňák1-1/+9
See instructions in solenv/gbuild/Trace.mk . This generates a file than can be viewed e.g. in the Chromium tracing view. Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2014-01-20gbuild: UnoApi: fix header rebuilds when cppumaker changesMichael Stahl1-12/+18
There needs to be a dependency from the header on cppumaker, because headers do get rebuilt in this case and it's possible that the content chnaged; unfortunately it's not possible to tell whether the content of the headers actually did change, all of them will be touched which will result in a large rebuild. Change-Id: I78ae0631ba9197ca3d3edbd010319b77a6f01074
2014-01-20gbuild: UnoApi: fix rebuilds after IDL changesMichael Stahl1-0/+13
There used to be a dependency between .urd file and .hpp/.hdl files but that was removed; introduce a dependency between .idl files and .hpp/.hdl files to replace it so headers and stuff depending on them get rebuilt. Change-Id: Ibf1fe1db08c36ce42c392d27b794c2bc2a33738c
2013-11-04gbuild: remove error stubs for renamed/removed functionsMichael Stahl1-8/+0
Change-Id: If1d0d5294af87f2b780deadb21d12a6ee90dead6
2013-11-02gbuild: SOLARBINDIR does not exist any moreMichael Stahl1-3/+3
Change-Id: Ia158e398acbd5a48dca33d59dd47705376a4dc26
2013-09-22gbuild: remove executables from OUTDIR and WORKDIRMichael Stahl1-3/+3
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-19Directly build UNOIDL .rdb files from .idl filesStephan Bergmann1-182/+20
...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-18Replace binary type_references with human-readable .idl versionsStephan Bergmann1-6/+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 Bergmann1-8/+7
...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-16Replace reg2unoidl with unoidl-writeStephan Bergmann1-2/+2
...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-02@RESPONSEFILE shouldn't be necessary for the few cppumaker -X argumentsStephan Bergmann1-4/+1
Change-Id: I4d53223c12b7c8f793b236f9b2657bd339b345e9
2013-08-31fix comment to reflect the use of TRUE instead of YES for DISABLE_* vars.Norbert Thiebaud1-1/+1
Change-Id: Ief8f784fbae3ba2d424c15f20a1455a849d9b949
2013-07-16gbuild: update included dep-targets as side effect of targetsMichael Stahl1-4/+12
Make builds in 2 phases: first it ensures that all targets that are included by the makefiles (i.e. the .d files) are up to date, then it restarts and builds everything else. It would be possible to update the .d files in the same build by simply having dependencies from the dep-targets to the corresponding real targets, but that has undesirable effects (8b5a984d45005d3df1c89eae897d6e04612625d8). For a successful build, the .d files can actually be updated as a side effect of other rules in such a way that they will be up-to-date on the next make invocation, thus the restart can be avoided. This optimization will not always work in case of build failures. Change-Id: I753039ed33f5a84104f35990769eddc83e1d0d7e
2013-06-18handle missing dep files in concat-depsBjoern Michaelsen1-2/+1
* this and Ib4762f5a260035f00b5e68cf45b687fdf02e9c02 reduces a default build on my machine from 2min25sec to 2min12sec * without unitchecks, its down to 1min50sec now * it reduces the build time on a i7-4770 Windows tinderbox from 99min to 89min * by now it also takes care of avoiding most string copying, although this can certainly be considered overeager given that the file creation on Windows took ~250ms per file before and still will take a lot longer than any string operation with this change Change-Id: I515432bdefe2b055c78b6ba97868adbde65d9165
2013-06-18Reduce the amount of calls of mkdir -p.Bjoern Michaelsen1-0/+12
Change-Id: Ib4762f5a260035f00b5e68cf45b687fdf02e9c02
2013-06-03re-base on ALv2 code. Includes:Michael Meeks1-21/+12
Patches contributed by Mathias Bauer gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 http://svn.apache.org/viewvc?view=revision&revision=1397337 http://svn.apache.org/viewvc?view=revision&revision=1397315 http://svn.apache.org/viewvc?view=revision&revision=1396797 Patches contributed by Andre Fischer Fixed getcsym.awk to handle #-comments that contain special regexp chars. http://svn.apache.org/viewvc?view=revision&revision=1230971 118778: Added ADDITIONAL_REPOSITORIES environment variable and its automatic setup in configure. http://svn.apache.org/viewvc?view=revision&revision=1232004 118160: Added external CoinMP library. http://svn.apache.org/viewvc?view=revision&revision=1233909 Patches contributed by Herbert Duerr #i119168# use generic LICENSE file for langpacks and sdks http://svn.apache.org/viewvc?view=revision&revision=1310178 macosxotoolhelper: need to quote perl regexp if it may contain regexp metachars http://svn.apache.org/viewvc?view=revision&revision=1183367 allow gbuild with empty sysroot on linux http://svn.apache.org/viewvc?view=revision&revision=1179186 Patches contributed by Ingo Schmidt native373: #164472# improvements for msi database http://svn.apache.org/viewvc?view=revision&revision=1167540 http://svn.apache.org/viewvc?view=revision&revision=1167539 Patches contributed by Jurgen Schmidt adapt setup package scripts to handle special DS_Store file for developer snapshot builds http://svn.apache.org/viewvc?view=revision&revision=1232430 imported patch extensions_i117681.patch http://svn.apache.org/viewvc?view=revision&revision=1172102 Patches contributed by Michael Stahl gbuild: RepositoryFixes.mk should be optional http://svn.apache.org/viewvc?view=revision&revision=1166123 xslt filter: remove the FLA horror wordml import filter: replace FLA usage with plain XSLT http://svn.apache.org/viewvc?view=revision&revision=1363727 Patch contributed by Oliver-Rainer Wittmann i#88652: applied patch, remove unicows deps http://svn.apache.org/viewvc?view=revision&revision=1177585 Remove lots of OS2 conditionals, re-extract Rhino Java, unwind cppunit pieces, cleanup Mac image bits, remove coin-mp and re-package lpsolve, Oxygen & Crystal, fixup qstart bits, expand MPLv2 subset checking. Change-Id: Iad5c8a76399620b892671633c0d8c29996db3564
2013-05-05use single rm callDavid Tardon1-2/+2
Change-Id: I21cd42a561b2fdc0fb2dbe977b1892cb8888c412
2013-04-29TyposStephan Bergmann1-2/+2
Change-Id: I2ff65979a9da7da12ad6ac97dc090898913a2e8c
2013-04-28drop UnoApiTarget_get_*headersDavid Tardon1-10/+1
This was actually meant for idls, not headers :-) And it is obsolete, as we do not deliver these to $(OUTDIR) anymore. We use explicit include paths into $(SRCDIR) instead. Change-Id: Iccb0dc529a99be59390f032fc331996146829abb
2013-04-24Generate new format type rdb filesStephan Bergmann1-5/+17
With the main components (theTypeDescriptionManager, codemakers) supporting the new unoidl format, it is time to switch the generated type rdb files to that new format. For now, this is done as a two-stage process, though: Every $(WORKDIR)/UnoApiTarget/*.rdb file in the new format is accompanied by an *.rdb.oldformat file; both are generated in the same [UNO] gbuild step. This is for several reasons: * idlc still generates old format output. * The regcompare step (comparing against a reference rdb to catch incompatible changes) is still based on the old format. (The reg2unoidl tool needs any dependend rdbs as additional inputs, that's why the use_api information needs to be tracked as UNOAPI_DEPRDBS for now. That can be removed again when reg2unoidl is no longer used.) Change-Id: Id625c88f9ecdbaba9e2af7410417e00b4ba36acc
2013-04-24Clean up of dead code, now that UnoApiMerge.mk is goneStephan Bergmann1-26/+2
Change-Id: Ib65496c3bd26a55a713717776184441a959e5469
2013-04-09[API CHANGE] WIP: Experimental new binary type.rdb formatStephan Bergmann1-1/+1
Make cppumaker work on top of unoidl/ instead of registry/, as a first step to change all the various codemakers. * API CHANGE: cppumaker no longer supports the -B switch, as that is meaningless with the new format. When reading from an old-format .rdb file, /UCR is hard-coded as the prefix now. * TODO: The new format does not yet support deprecation annotations, so the generated .hdl/.hpp files lack any SAL_DEPRECATED_INTERNALs for now. * codemaker/typemanager.hxx is extended with access to unoidl/ functionality, so the various codemakers can use registry/ and unoidl/ in parallel for now. The access to registry/ functionality will be removed. (Added small throwaway helper functions u2b/b2u to easily map between OString and OUString at the remaining seams for now.) * Includes a selective revert of ba044b1e9613ed30906a9a540b7da8392923e4e3 "remove needless forward rtl::OUString declarations" in those parts of codemaker, unodevtools, unoidl that were covered by this local work-in-progress patch; I would otherwise have hard a hard time re-applying it. * The generated .hdl/.hpp files are mostly unchanged, except for a few minor things: ** Any SAL_DEPRECATED_INTERNALs are missing (see above). ** In comprehensive getCppuType definitions, some members were erroneously classified as TypeCalss_UNKNOWN. ** In comprehensive getCppuType definitions, some unnecessary calls like ::cppu::UnoType< ::sal_Int32 >::get(); can be removed. ** For typedef sequence<X>, the .hdl file need not include X.hdl, but only needs to forward-declare it. ** Unnecessary includes for optional bases of interfaces can be removed. ** Some numbering of local variable names (sMethodName1, ...) has changed. Change-Id: Icad98f248ac15177337f1b4ab709a755a8af6238
2013-04-03Previous commit inadvertently dropped -BUCRStephan Bergmann1-1/+1
Change-Id: Id92c18119b87da811299b547f43d240557efcacb
2013-04-03Show backtraces for core files from CppunitTests, tooStephan Bergmann1-2/+1
Change-Id: Idff2831913b6fb6e5b522ae36fffeb345e3a1140
2013-03-13gbuild: UnoApiTarget: header dummy rules should depend on cppumakerMichael Stahl1-8/+14
Change-Id: I709a1554021efe6ec5face00266819448faeba17
2013-03-06gbuild: use proper dependencies for concat-depsMatúš Kukan1-1/+1
Change-Id: I132d63807cd49905a38cb8e38d887c5634a1f01f
2013-02-24convert moz to gbuild and add to tail_buildPeter Foley1-1/+1
Change-Id: I2d3f5d127f831ee9abc020d46558f7cfbe8c9380 Reviewed-on: https://gerrit.libreoffice.org/2349 Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de> Tested-by: David Ostrovsky <David.Ostrovsky@gmx.de>
2012-12-31I did not want to push that...David Tardon1-8/+8
It does not work, anyway. This reverts commit ee18b30b0391a443a51d7b97060f118478c202af. Change-Id: Ibe21a2a62ecbfaf8dcd87113bde386050ffde25a
2012-12-31move gb_Executable_get_command back into Executable.mkDavid Tardon1-8/+8
Change-Id: Ia556cbfda5c5c3d9e1b2b7b1f488b079ce420367
2012-12-30use runtime deps in gbuild classesDavid Tardon1-20/+18
Change-Id: I007e0293c354d6f930dffb4a9a2c2df5640a673b
2012-12-29rethink external executable setupDavid Tardon1-1/+1
Change-Id: I5293fea9b5404b82e72761407d325c408a2e45ca
2012-12-02move setting up of ext. executables out of gbuild.mkDavid Tardon1-1/+1
Change-Id: Icacd44abfa5bf5f75f0ee719b39fba6821976a8a
2012-11-28gbuild: UnoApiTarget: delete RDB file before rebuilding itMichael Stahl1-0/+2
regmerge does not by itself remove those parts of the RDB that have their IDL files removed. Change-Id: Ie3972779deb7de4250e1a5f0f66c2e964fc60043
2012-11-28gbuild: UnoApiTarget: fix spurious rebuilds:Michael Stahl1-3/+7
Since commit 800f388206b15db545d8b96d5546b766a4fc7b32 there are spurious rebuilds when a IDL file is rebuilt, because the rule for the idlc invocation was changed to rebuild all IDL files, but the dummy rule for .urd files only touched that when its own IDL file changes; this means that the header target is not seen as outdated in this make run, but it will be outdated in the next make run because then the .urd file timestamp is checked and is newer. The dummy rule for .urd files must touch the .urd file if and only if the rule for the .done file re-builds that .urd file. Change-Id: I37938aef0621c7d46809e02a06d22248de28271b
2012-11-23Only rebuilding .urd for newer .idl is unsound when idlc changesStephan Bergmann1-1/+1
...as it will do in one of the following commits. Change-Id: Ie243504db965e3a4803c593b9c09f12d2cb0fcfc
2012-11-03compile concat-deps in solenv; also put them into $(OUTDIR)Matúš Kukan1-1/+1
Change-Id: I4ef21f14a77442b60059c649b83435c775670060
2012-10-07check platform-defined func. is really definedDavid Tardon1-1/+3
Change-Id: I0916051214d8631198723933799e8e27fadef993
2012-10-07move selection of UNO header variant to platformDavid Tardon1-59/+57
Change-Id: Ic06deb22da77428ef88c1071af5d7b8bf9dc77f7
2012-10-07a directory is a directoryDavid Tardon1-7/+7
Change-Id: I6384a9d86123ab354414cf6e9366b4f9e46f1c1f
2012-10-07Let's use only comprehensive UDKAPI headers for Clang on OS XTor Lillqvist1-2/+21
Change-Id: Ie5969a0f5772676f91c29fe946217d8d31bf514a
2012-10-06For some reason I need mkdirs here, dunno why others don't?Tor Lillqvist1-2/+2
Change-Id: I1e4e701ba4883862ddf79ef45d4f7521346a067d
2012-10-05drop rdbmaker support from UnoApiTargetDavid Tardon1-35/+11
Change-Id: I02ca44cc33d1d8e1ebc9f158f859c9218d2ed832
2012-10-03Replace set_xml with set_types, to get rid of xml2cmpStephan Bergmann1-16/+8
Change-Id: I9ba3739f1693f5427c9ea49f2b6016f364f444ff
2012-09-28and also use new gb_UCPPTARGET; gb_UCPP unusedMatúš Kukan1-1/+1
Change-Id: I8cd066e61cdfdef65385a2482f1a8f0aa1fb90cb
2012-09-27move ucpp definitions into gbuild.mk (as e.g.xsltproc)Rene Engelhard1-3/+0
Change-Id: Ib59ca9ac4d88db6e009c656e31ee866f4d9818e9
2012-09-27add --with-system-ucppRene Engelhard1-0/+2
Change-Id: Ic322d1be23033049fa3b5cd60c00479bb6cae3ca
2012-09-26Revert "gbuild: use one pattern rule for creating directories"Matúš Kukan1-0/+4
It does not work with make 3.82 which prefers pattern rules with longest match, so wrong rules are chosen in workdir. This reverts commit bc234b4e1103cf8f79a7526ad80dcd9d0b78b89b.
2012-09-26gbuild: use one pattern rule for creating directoriesMatúš Kukan1-4/+0
Change-Id: I0164552ea9f2024eb5c44ad3b2b6181f6a9e3a1e
2012-09-24Check DISABLE_DYNLOADING, not just iOSTor Lillqvist1-2/+2
Change-Id: I56bed2cb5588fda364cf5a25ff9dff478f6a816a