summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Package.mk
AgeCommit message (Collapse)Author
2020-02-28gb_Package_get_clean_target must rm recursivelyStephan Bergmann
...so that e.g. `make Package_infoplist.clean` on macOS does not fail with > rm: instdir/LibreOffice.app/Contents/Resources/en.lproj: is a directory Change-Id: I41c74ef118eeae567f88affed073d4e65f9d1bb2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89696 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-02-28tdf#130809: Fix adding empty Contents/Resources/en.lproj into installation setsStephan Bergmann
...after 1fc85d03c46cedda136986fd6df7fe862893414b "Revert 'Make font-based unit test depend on instdir fonts'" accidentally broke cabadfc288e5e7324723c62f36b918a80db90323 "Introduce gb_Package_add_empty_directories" Change-Id: I077fe3f23c3b76797850577cb9e5ef519080a072 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89694 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-02-16GBUILD_TRACE, support for finding out where the build time is spentLuboš Luňák
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>
2019-12-16Revert "Make font-based unit test depend on instdir fonts"Jan-Marek Glogowski
The following build: $ make clean && make gb_CppunitTest_sc_ucalc [...] $ cd sc $ make gb_CppunitTest_sc_ucalc triggers: sc/CppunitTest_sc_subsequent_filters_test.mk:133: *** Missing font filelist -> run make more_fonts extras. This didn't help the general Win32 font build problem AFAIK. There were additional patches to the way Windows loads the LO provided fonts, so just revert this. This reverts commit 368c996b24e09c427a30972b3405493328db6779. Change-Id: I841f96fe8312c47980c8e3be2e9d88242df5b28d Reviewed-on: https://gerrit.libreoffice.org/84633 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-17Introduce gb_Package_add_empty_directoriesMichael Stahl
...which will be needed in a subsequent patch to fix tdf#125693. The installer code could not handle a directory in a .filelist, the simplest hack appears to be to add a special case for an empty source dir to copy_one_file in solenv/bin/modules/installer/systemactions.pm. Includes changes made by Stephan Bergmann <sbergman@redhat.com>. Change-Id: I52dca2543a66eb76117598d77d559592e26ce859 Reviewed-on: https://gerrit.libreoffice.org/75702 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-05Make font-based unit test depend on instdir fontsJan-Marek Glogowski
The current dependency is already a hack, because there is no way I know of to depend on delivered top-level modules like more_fonts. The original patch parses the gb_Package_MODULE_ooo_fonts list of registered packages to add them as build dependencies. But this is not sufficient, as it just adds the dependencies on the installed / unpacked fonts in the workdir (actually it's just the installer filelist), where they can't be found by the unit test running in the instdir environment. So this converts the depndency into a make error, if either the filelist is missing or the included font files. But if we are in a full run and know the more_fonts module, we simply depend on its delivered files. This needs some minimal changes to gbuild, as neither the delivered file list nor the modules class names are yet available. And this moves the fontconfig handling to extras, where the opensymbol font is already handled. Change-Id: I1b70a4c45ff189266ce56c57e534ddc45e7c5c19 Reviewed-on: https://gerrit.libreoffice.org/74624 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2017-11-14Another workaround for "xargs: environment is too large for exec" errorsStephan Bergmann
...on Windows, similar to df9edbcd2883cec2d0596133131cfbc220dee91f "Work around 'xargs: environment is too large for exec' errors on Windows" Change-Id: Ibc23960bbe2b8001eb7e08ed4cff12e4726df01b
2016-12-07tdf#97803: gbuild: Check that every package is registeredMatúš Kukan
Change-Id: Idedad62ac28804f4725d6bda2f4633ed79c01535 Reviewed-on: https://gerrit.libreoffice.org/31571 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2015-10-25fix typoDavid Tardon
Change-Id: I06373679497ffc3472905251327073c878b48342
2013-12-17gbuild: Fix and check package dependencies.Matúš Kukan
Change-Id: Ia54def7a404e07974eb1e8a556f4659cd974e7f8 Reviewed-on: https://gerrit.libreoffice.org/7081 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Matúš Kukan <matus.kukan@collabora.com>
2013-10-31gbuild: Package: check for duplicate definitionsMichael Stahl
Change-Id: I3c2a6b1128f7d827031e4c5a47a415112ce09c5c
2013-10-28gbuild: set Package default target to INSTDIRMichael Stahl
Change-Id: I2bc45e4ba63f5faaee7389bcd9d7b3f563503186
2013-10-28gbuild: remove dummy rule for OUTDIR/incMichael Stahl
Nobody has such paths in .d files any more. Change-Id: I0089f5ad1e69ed7a2ae7a4c33461bbeb5a47fcfd
2013-09-25Start hacking --enable-canonical-installation-tree-structure back into shapeTor Lillqvist
Had been totaly broken by the recent changes. (Which is fine, it is just an experimental hack anyway, I am not sure whether it will ever be used in anger. Just a pet peeve of mine, I dislike seeing libraries, configuration files, resources etc mixed together in one "program" folder, especially on OS X, where the convention is to have app-specific dylibs and frameworks in "Frameworks", and resource files in "Resources". But this is not any requirement as such; there are apps in the Mac App Store that blatantly "break" this convention.) Basically, replace uses of gb_PROGRAMDIRNAME and gb_Package_PROGRAMDIRNAME with more specific LIBO_FOO_FOLDER, which for normal builds all expand to the same "program" anyway. Change-Id: I16c2b3351caa00e251e229aafbccb8346042d3c1
2013-09-24make dependency on directory order-onlyMatúš Kukan
Change-Id: I800a7c1ea7ae48252a22ab1dc848fdc5e6f6b3b9
2013-09-23Fixes for cross-compilation on OS X (to iOS)Tor Lillqvist
Introduce SDKDIRNAME as a configury variable and use it instead of the gbuild gb_Package_SDKDIRNAME. Then we can easily construct the SDKDIRNAME_FOR_BUILD variant that is needed to find the specially named SDK in instdir on OS X when cross-compiling. Move the version number section in configure.ac earlier. Change-Id: Iee3db1a50ad4c7a9f91bbc5e0d0b01d76a76f701
2013-09-09ure: install files with filelistsMatúš Kukan
This commit adds gb_Package_add_symbolic_link. Change-Id: I58511ede3da402464e60a4c45549c15c9c5dd1a5
2013-08-26introduce gb_Package_PRESTAGEDIRBjoern Michaelsen
this introduces a "prestage dir" -- if a file can be found in that directory, it will be copied over instead of build. Usecases for this include: - split builds: e.g. a part of the LibreOffice gets build by a core package and "writer" or "calc" package then only builds the additional missing pieces (while copying existing files from the earlier package build) please not this does not intend to produce separately installable instances, only to generate the build in multiple steps, to: - reduce filesystem usage of one build - paralellisation: e.g. "writer" and "calc" could build at the same time on two builders - restart capability: e.g. if a build breaks in "writer", no need to rebuild everything (relevant for slow and somewhat more flaky platforms like arm) - staged single build: on a filesystem restrained builder, keeping all the objects around for the build can be a burden. With this, such builders can do a partial build (lets say: "make svx"), put the instdir aside, make clean and continue -- but without needing to keep space for the object files of the build up to svx. It need gb_RUNNABLE_INSTDIR -- we are going there anyway, no need to support other scenarios. This needs more dependency breaking for most scenarios but a: export gb_RUNNABLE_INSTDIR=T make cp -a instdir instdir_prestage make clean make sw.all make sw.clean export gb_Package_PRESTAGEDIR=`readlink -f instdir_prestage/unxlngx6.pro` cd sw && make build # this does no compiles, it just copies Change-Id: I22d4208b2fad0d8fc59426ba4c8c52122876f646 Reviewed-on: https://gerrit.libreoffice.org/5591 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2013-08-18Further work on the "Mac-like app structure" optionTor Lillqvist
Lots of stuff still either ended up in the wrong place, or was looked up from the wrong place, or both. Fix most cases. Change-Id: I06ebbce207c219f3cd82b4387dd9b3fdb83420d4
2013-06-03re-base on ALv2 code. Includes:Michael Meeks
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-25fix generated deps on headers in $(OUTDIR)/incDavid Tardon
Change-Id: Id4d03f2d500e8fcec4b6ead5365eaffbd0ece19f
2013-05-24gbuild: simplify reg. of targets for PostprocessDavid Tardon
Change-Id: Id184df89c5c15c55e42f376ed06c83174c486f67
2013-05-15gallery: cleanup scaling code.Michael Meeks
Change-Id: I783b0fe54c6273ce3d78996a02da02dc51944606
2013-05-15remove pre-compiled textshapes and transportation galleries.Michael Meeks
Further gnumake fixups, package the files in the Gallery rules. Change-Id: Icda2de9cfcd2ff573db2e9ab27e2670dcfa5f0a8
2013-05-13the program dir is called MacOS on MacOS XDavid Tardon
program is only a symlink to it there, created by the installer. (Hmm, would it be possible to have MacOS symlink to program instead? It would simplify things :-) Change-Id: If21df47da5ac7c77358656f40d9caaaa62a7e87f
2013-04-22add a check to catch typos in Package namesDavid Tardon
Change-Id: Icae1d4f9f96d8e79e4992f546aad0630f5ae9236 Reviewed-on: https://gerrit.libreoffice.org/3542 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
2013-04-16gbuild: make sure filelists don't contain duplicatesDavid Tardon
Change-Id: Ie8e65b945d0d89b7ff95f2aedcded1463939c5d6
2013-04-14gb_Package_add_files _can_ take empty list of filesDavid Tardon
Change-Id: I5cc555de3f9b329b7bea6ea31b1689c2033a0904
2013-04-14gbuild: add arg. check to Package functionsDavid Tardon
Change-Id: I07cfa78b254fe0993bbfcd86a58346af5daf1664
2013-04-13rebuild Package when a file is addedDavid Tardon
Change-Id: I58b8ad5393a4ca01c0131847f220f8c094609b69
2013-04-05use filelist install method for udkapi and offapiDavid Tardon
... so we can drop ZipUnoApi again. Change-Id: Id5925b8c101cd7cb70614a9a26f328dec92db8fa Reviewed-on: https://gerrit.libreoffice.org/3152 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-04-05allow to put files listed in file into installationDavid Tardon
With this in place, we can replace most of our Zips by Packages. Extensions and Dictionaries are on the radar as well. To move an installed file from zip to filelist, do: 1. Convert the Zip_foo.mk to Package_foo.mk : - change destination paths of all files to the same ones they have in the installation (you can find that in scp2) - use gb_Package_set_outdir to place the files under $INSTDIR, where they are expected. 2. Change the scp2 record: - change filename to <package-name>.filelist - replace ARCHIVE by FILELIST in Styles - change Dir to FILELIST_DIR. Change-Id: Ie17d0765406081b03dcd44a6a23cf517f2067dd3 Reviewed-on: https://gerrit.libreoffice.org/3149 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-04-05allow Package to install to other dir than $OUTDIRDavid Tardon
This is preparatory work for creating installation directly by gbuild. Change-Id: I1b11db37c76ff781731845650169f39cb78fe820 Reviewed-on: https://gerrit.libreoffice.org/3189 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-03-03use pattern rule for PostprocessDavid Tardon
Change-Id: Ib8d2ddb2efaef26a0a2aba36e9e1c67b1fb019d7
2013-02-26postprocess does not care for _any_ instsetoo_native or postprocess packagesBjoern Michaelsen
Change-Id: Ieb80176a59f8a41a89c1926827f3190d006a2fd1
2013-02-26move postprocess to gbuildBjoern Michaelsen
the gb_Postprocess* foo could also be in gb_Module* as it is conceptionally close ('do things globally/productwide'). OTOH I see no obvious reason for e.g. signing not to be done right along with building a lib/executable anyway instead of in postprocess. The same is likely true for the other stuff too. Change-Id: I9c8f569564c056643af7ca39bfe038ed228dcd3d Reviewed-on: https://gerrit.libreoffice.org/2426 Reviewed-by: Matúš Kukan <matus.kukan@gmail.com> Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2012-12-31Avoid Emacs warning "suspicious line"Tor Lillqvist
Change-Id: Icb8f4adb0794bd2857c48dbc6756b3258b8bbefd
2012-12-16add missing dep: gb_Package_use_custom_targetMatúš Kukan
Change-Id: I888d9efe8bad905c108a6c824f2e2c7228fdd56d
2012-12-10userfriendly make targets for build and cleanLuboš Luňák
So that now it's possible to do just 'make CppunitTest_sw_macros_test' instead of 'make /home/llunak/build/src/l2/workdir/unxlngx6/CppunitTest/sw_macros_test.test' Change-Id: Ibd1e9ef4fc825043a71bd669b2f5c37ffec68e33 Reviewed-on: https://gerrit.libreoffice.org/1253 Reviewed-by: Peter Foley <jpfoley2@gmail.com> Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de> Reviewed-by: Luboš Luňák <l.lunak@suse.cz> Tested-by: Luboš Luňák <l.lunak@suse.cz>
2012-09-26Revert "gbuild: use one pattern rule for creating directories"Matúš Kukan
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úš Kukan
Change-Id: I0164552ea9f2024eb5c44ad3b2b6181f6a9e3a1e
2012-08-24add support for building external projectsDavid Tardon
Change-Id: I1ae354e3bf85c29679919f6382e14d3e4232d798
2012-08-24add support for external tarballs to gbuildDavid Tardon
Change-Id: Ic6645e9943b2445ebb37bb99114f777527c69af9
2012-06-07gbuild: introduce gb_Package_Package_internal:Michael Stahl
The gb_InternalUnoApi_set_xmlfile function creates a new package, which registers at the current Module, overwriting the InternalUnoApi targets set there and causing make clean not to clean the InternalUnoApi. Change-Id: I46e9b4437788a479701187334325fe1e065e612c
2012-05-20make adding a bunch of files a bit easierDavid Tardon
Change-Id: I97e6d26a33e18f0303742c930478a8ebac13a7b0
2012-04-09enforce only one possible use of gb_CustomTargetMatúš Kukan
This brings two changes: - no more recursive calling of make - gbuild_simple is now not used => removed
2012-03-10gbuild: remove some more realpathsMatúš Kukan
Where necessary, replace with wildcard, what does not change path.
2012-03-08gbuild: fix mkdir optimization with make 3.81Michael Stahl
The problem is that make 3.81 does not match pattern rules whose target ends with '/' against directories. (regression from 408822b54724f8170a1296ddd67e50d8291c8ee1, 90491a073c5b5faee782ad5eab63276fda2342e6) So use a fake file ".dir" in the respective directory, and try not to spawn unnecessary mkdir processes by checking for existence via realpath. This is all quite ugly and should be reverted once support for make 3.81 is dropped. Also, fix a pre-existing problem of pattern rules with multiple targets that used to work by accident in Package.mk.
2012-03-05gbuild: do not call mkdir -p in gb_Deliver__deliverMatúš Kukan
Rather create new order-only dependencies on directories where targets should be delivered. On cygwin this is much faster.
2011-11-26xargs on MacOSX seems a bit broken, work around thatTor Lillqvist