summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Library.mk
AgeCommit message (Collapse)AuthorFilesLines
2020-04-20prefer building Skia with Clang if possible (tdf#131697)Luboš Luňák1-0/+2
I.e. try to find and use Clang even if the default compiler is something else. Skia is optimized to be built with Clang(-cl) and in CPU-based raster mode some operations are several times slower if built with something else (e.g. fmax/fmin do not get optimized to inline assembly). It is enough to select Clang to be installed in the MSVS installer. At this point it unclear how to handle release binaries, if it should work this way and enforced, or maybe Clang could be used for building everything, or maybe some other way. Change-Id: I6b95a0f2d5cbf176942d9e01136990b14be6dba8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92415 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 Glogowski1-1/+1
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-10-04add gbuild function for a common PCH and use it in sc/ and sax/Luboš Luňák1-0/+1
And make it simple to disable the whole feature by setting gb_DISABLE_PCH_REUSE=1, just in case. Also work around a possible BOOST_ALL_NO_LIB mismatch when using the common PCH. Change-Id: I96fd507edf1ada6242ac225026250e5a588d0193 Reviewed-on: https://gerrit.libreoffice.org/79365 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-04add gb_LinkTarget_reuse_precompiled_headerLuboš Luňák1-0/+1
Similar to gb_LinkTarget_set_precompiled_header, but uses PCH created by another linktarget. This allows using a PCH even for linktargets that are small and creating their own dedicated PCHs is not worth it. The ultimate goal is having some default PCH that will be used if no explicit PCH is set. Change-Id: I4d72acdba7181bb5c7c1cdead776f548be36ba33 Reviewed-on: https://gerrit.libreoffice.org/79362 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-09-05Reduce some repeated codeMike Kaganski1-64/+64
Change-Id: I617f606b64706e8bc32e827644e5f1d1ef27702a Reviewed-on: https://gerrit.libreoffice.org/78624 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Jenkins
2019-07-05Make font-based unit test depend on instdir fontsJan-Marek Glogowski1-1/+1
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>
2019-06-14Make spsupp*.dll usable on 64-bit WindowsMike Kaganski1-0/+1
Build spsupp for both x64 and x86, regardless of target platform. This allows to install the ActiveX component to be used by both 64-bit and 32-bit applications on 64-bit systems (especially IE, which runs both 64-bit and 32-bit processes simultaneously at least on Win10), no matter which LO (32/64) was installed. Move the DLLs from activex feature to ooo, to copy unconditionally. Registration of LO-specific component will be also unconditional; registration of replacement of MSO component will need own feature. This doesn't yet register the component in system: TODO later. Change-Id: Iccf5e73dfae306cb777f844d40611e23c4520a13 Reviewed-on: https://gerrit.libreoffice.org/71925 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-05-24disable warnings in external libsLuboš Luňák1-0/+1
As in, really disable, so that they do not even show. This moreover avoids tons of D9025 warnings from MSVC about overriding -W4 with -w. Change-Id: Ia2e72fd72d883d91bdd89e467ee42f259e2ae033 Reviewed-on: https://gerrit.libreoffice.org/72899 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2017-11-24tdf#113787: gbuild: fix the version of cli_cppuhelper assemblyMichael Stahl1-0/+1
There is one usage of gb_Library_add_generated_cxxclrobjects in the entire repo, and regrettably generated C++/CLR objects weren't actually implemented in the new build system, so the assembly.cxx with its generated version number was simply ignored.
2017-10-06gbuild: more verbose forwarding of LinkTarget functionsMichael Stahl1-66/+68
The forwarding of LinkTarget subclass functions to LinkTarget functions is currently done in a very elegant way that only requires listing the bare function names once, but the downside is that the subclass functions aren't defined in a way that "git grep" or "ctags" can find, so replace that with more verbose copy-paste definitions. Change-Id: I4bd7f1b1bc0904ae345958e39403ab508db584a1 Reviewed-on: https://gerrit.libreoffice.org/43196 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-07-21migrate to boost::gettextCaolán McNamara1-1/+0
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-06-07Remove gb_LinkTarget_add_generated_cxxobjectsStephan Bergmann1-1/+0
...in favor of gb_LinkTarget_add_generated_exception_objects. The former would have needed any flags to be passed in explicitly (but no call sites did), so e.g. StaticLibrary_graphite didn't have any debug information (when building with --enable-debug). I guess there is no downside to having C++ exception support enabled in these places, and using _add_generated_cxxobjects instead was likely an oversight in the first place (at least in the case of external/graphite/StaticLibrary_graphite.mk, it was that way ever since 1ceb47d96da9e7977c96241f49ad291ff0466970 "graphite: convert to gbuild", but for no apparent reason). Change-Id: I9986a6c5ec30a521095dbe5315e5ca649741a790
2017-02-21When building with clang-cl on Windows, build CLR code with MSVCStephan Bergmann1-0/+3
...as clang-cl doesn't support the /clr switch. * In configure.ac, capture the MSCV version (that would be used if CC hadn't been overridden to use clang-cl) into MSVC_CXX. * The logic which flags to pass into gb_CObject__command_pattern is coded into the platform-agnostic LinkTarget.mk, so it's too late to try and filter all relevant flags in com_GCC_class.mk, depending on whether a given .cxx file is a normal one built with the normal $CXX or a special /clr one built with $MSVC_CXX. Thus, a new CxxClrObject class had to be introduced that captures this information early. * When building with clang-cl, the generated config_host/config_*.h files contain values suitable for clang-cl, but not for MSVC. But the .cxx files compiled with MSVC happen to include config_global.h, and would fail. Hack around that problem for now by introducing a hard-coded, minimal solenv/clang-cl/config_global.h that is found first when buliding such a CxxClrObject. Needs cleaning-up properly. Change-Id: Iff8aac51c0b4fa906b14503c692640dda0996d33 Reviewed-on: https://gerrit.libreoffice.org/34509 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2015-03-20Remove library urelibs. It was more just a temporary hack and is not used.Matúš Kukan1-1/+1
Change-Id: I7566dcf21aae6b800adb58d8c94e350bb0da720c
2014-12-21Remove unused gb_*_disable_compiler_pluginsStephan Bergmann1-1/+0
Change-Id: Ia6395282916011d75a4fa01aa12e96d866621411
2014-12-18Introduce gb_*_set_external_codeStephan Bergmann1-0/+1
...to harmonize the mechanisms to not define LIBO_INTERNAL_ONLY for extension code and CppunitTest_odk_checkapi. (It also needs to revert any -Wundef, as the config_host/config_*.h files will not be included, so the HAVE_* macros will be undefined.) This obsoletes the need for RTL_DISABLE_FAST_STRING. Change-Id: If5eacba80c349efb90762aade8f2ea6d2db7e314
2014-11-26On Mac, the lib/libuno_*.dylib symlinks are not in the SDKStephan Bergmann1-1/+1
...but rather dynamically created (via the SDK's setsdkenv_unix.sh.in) in the SDK's per-user output tree. So better reflect that in instdir by putting the symlinks into workdir/LinkTarget/Library/ instead on Mac. (Which has the additional benefit that the location of the symlinks doesn't change with the versioned SDKDIRNAME.) Change-Id: I77237f6a5d64771c3cb0866e125925ed7b0ecdaf
2014-09-15gbuild command for disabling usage of compiler plugins for a targetLuboš Luňák1-0/+1
to be used by odk/ checkapi test Change-Id: I6bbb508cc6950a63218e8e4f3364306c7c79b087
2014-04-03gbuild: fix check for registered librariesMatúš Kukan1-1/+1
Change-Id: I0e8524a0933114196a80317b9a427d8cd3f3e459
2014-04-03gbuild: Allow to use more components in one library.Matúš Kukan1-3/+0
It probably does not make much sense in general but will be used to optionally disable some implementations in a library. Change-Id: Ib491b8b642907b5bb20d458cbf766c9c9a5a5111
2014-02-13gbuild: improve error messages about missing registrationsMichael Stahl1-1/+1
Change-Id: Ib3c5d8f3921801f143447d8e01463905d80ac319
2013-12-21Revert "Avoid unnecessary library re-building in the DISABLE_DYNLOADING case"Tor Lillqvist1-19/+2
Unfortunately doing it like that breaks the case where as part of building a dependent library some headers are generated and those headers are then needed when compiling a depending library. Case in point: sqlbison.hxx. (Sure, for that particular case, as such it is fairly likely that we don't want any of the database connectivity code at all in any iOS or Android case, but working on the --disable-database-connectivity configure switch is another task...) This reverts commit ea61ed8efe8d84b88754b1c6af0a85a76b3ce424. Change-Id: I8dd1f260160c90473ecf12ce862f37df9767fa19
2013-12-20Avoid unnecessary library re-building in the DISABLE_DYNLOADING caseTor Lillqvist1-2/+19
In the DISABLE_DYNLOADING case, a gbuild "Library" is actually a static archive, so no point in having it depend on other libraries and be re-created each time one of those have changed. This hopefully will speed up incremental rebuilds for iOS and Android nicely, especially in a debugging tree, as the creation of large static archives with debug information is quite slow. Change-Id: I17d6a8aeffa65b1e09a7a11544683659c72a50ba
2013-11-04gbuild: remove error stubs for renamed/removed functionsMichael Stahl1-22/+0
Change-Id: If1d0d5294af87f2b780deadb21d12a6ee90dead6
2013-11-02gbuild: Library: remove gb_Library__get_final_targetMichael Stahl1-14/+6
... use gb_Library_get_exports_target instead, which is already a "final" target for Library. Change-Id: I5b8a708ba97e351ef383dcc64ead4ab9ea8705c7
2013-11-02gbuild: Library: remove pointless functionsMichael Stahl1-1/+0
gb_Library_get_install_target and gb_Library__get_linktarget_target Change-Id: I446e642fb43cf9804900b99b32dcc4c621dcb1c7
2013-10-31solver doesn't solve anything...Michael Stahl1-1/+0
... it is an abbreviation of "Solar Version". Since nobody can remember that: remove OUTDIR OUTDIR_FOR_BUILD SOLARVER SOLARVERSION solarpath and any mention thereof. Change-Id: Idb3031c4f25a76ac05b22ec67e3ca3e1e8e512ad Reviewed-on: https://gerrit.libreoffice.org/6515 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2013-10-28gbuild: remove internal calls to gb_Package_set_outdir with INSTROOTMichael Stahl1-1/+0
Change-Id: If8aded13ed91a871b119192401d2c2edbbd50f94
2013-09-27gbuild: remove now unused gb_Library_OUTDIRLOCATIONMatúš Kukan1-1/+0
Change-Id: I696b550b495d1bf6549e3c54a3157d467a7ead8d
2013-09-25Start hacking --enable-canonical-installation-tree-structure back into shapeTor Lillqvist1-2/+2
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-24gb_Library__get_final_target: don't be phony targetMatúš Kukan1-1/+6
Change-Id: I299b088aebc0bb40bc395b774154d2fae1f5d669
2013-09-23Fixes for cross-compilation on OS X (to iOS)Tor Lillqvist1-1/+1
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-23Try to fix cross-compilationTor Lillqvist1-5/+5
Add more FOO_FOR_BUILD variables and some gb_Foo_for_build functions. Get rid of gb_INSTROOT and gb_DEVINSTALLROOT, just use INSTROOT. Change-Id: Iee531b02d14fae41edb68ad589a5dec829a60255
2013-09-22gbuild: add consistent directory dependencies for LinkTargetsMichael Stahl1-4/+9
- 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: add a SHLXTHDL layer for librariesMichael Stahl1-0/+2
... 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 Stahl1-32/+20
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-22gbuild: remove SOVERSION variable since it is hardcoded anywayMichael Stahl1-2/+0
Change-Id: I625291ea86c1c3caf7fa5400e380defa6d0d0bc8
2013-09-22gbuild: make the versioned library the linktarget on UnixesMichael Stahl1-12/+12
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 Stahl1-4/+3
... 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: refactor LinkTarget representationMichael Stahl1-7/+8
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-22gbuild: add gb_Library_use_restargetMichael Stahl1-0/+1
Change-Id: Ic0a2fd3c1adeb55ec27f6a2eb4709be598120fba
2013-09-22gbuild: remove unused gb_LinkTarget_use_headersMichael Stahl1-1/+0
Change-Id: Idce74274169970bdd35869578cc0046fe502e614
2013-09-17do not copy invalid, merged libraries to instdirMatúš Kukan1-1/+1
Change-Id: I7f8e12530344e23e9bc68510795e90640ea8fd43
2013-09-11Use LIBO_URE_LIB_FOLDER instead of hardcoding the "ure" directoryTor Lillqvist1-1/+1
The directory name is "ure-link" in a traditional OS X LibreOffice app bundle. Change-Id: I8e1380522a3c05e9018909fec8d46ba1f7be7858
2013-09-11Towards a working instdir for Mac OS XStephan Bergmann1-3/+3
Introduced gb_INSTROOT, which is the same as $(INSTDIR) except for Mac OS X, where it is $(INSTDIR)/LibreOffice.app/Contents. Most stuff ends up there (so most occurrences of $(INSTDIR) have been replaced with $(gb_INSTROOT)), but SDK- related stuff goes to $(INSTDIR)/$(gb_Package_SDKDIRNAME). (And GeneratedPackage needed to be made more flexible, to allow for packages that go into either of those two places.) For Android and iOS, gb_INSTROOT probably still needs to be set. The most obvious missing thing yet to make instdir work for Mac OS X is the instdir/*/LibreOffice.app/Contents/ure/ vs. instdir/*/LibreOffice.app/Contents/ure-link/ split. Change-Id: I4478edd27b14c92c96d92d5169bdca3ec50d78f5
2013-09-09gbuild: put the DLL into INSTDIR, not the import libMichael Stahl1-1/+2
Change-Id: Iea2a3d5d73ae6decb12082d850afd72514ef21a0
2013-09-09start to use instdir for subsequentcheck tests; avoid make dev-installMatúš Kukan1-4/+0
This commit breaks linkoo. make dev-install continues to work as before but it's not necessary to use it anymore. make check now uses files copied into instdir by gbuild. TODO: fix remaining issues so that instdir is the same as install/. Change-Id: I66836170f0922ee9ba204a61ffacc30d9e9a5d98
2013-09-09gbuild: avoid packages when copying files into instdirMatúš Kukan1-22/+13
There should be only two ways how to add file into instdir: - gb_Helper_install used in gbuild - gb_Package_set_outdir used also elsewhere, preferably with scp2 containing its .filelist. Change-Id: I75ec0ba63f32acf4b56b17dc972f4488edf6a777
2013-08-27Introduce LO_BUILD_LIB_DIR for NONE .component filesStephan Bergmann1-1/+1
...instead of reusing LO_LIB_DIR. Change-Id: Ifb1ea672e35d4bb93a27b64445ecadf4cbe8f647
2013-08-26introduce gb_Package_PRESTAGEDIRBjoern Michaelsen1-1/+16
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>