Commit Graph
26 Commits
Author SHA1 Message Date
Jan-Marek Glogowski 972aa39fb9 WASM open links in new browser tabs
I quickly gave up trying to understand what exactly clashes
between the Emscripten macros and OUString templates /
initializers. Not sure it can actually be "fixed".

Also disables the makeshared clang compilerplugin; currently
there is no way to get rid of all the false positive hits
when assigning the std::shared_ptr from a function instead of
a constructor call.

Change-Id: I8b13f179629ea63ff221584030556d2bedadc01b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128604
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20 10:26:04 +01:00
Stephan Bergmann db3a61cd95 Generally determine Rdb content from gb_*_set_componentfile calls
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb).  To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget.  (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)

Most Rdb_*.mk files are thus mostly empty now.  One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.

1c9a40299d "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option.  However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d):

1  Rdb_services shall not contain the component files of all libraries that are
built.  While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).

2  The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.

3  The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.

4  Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.

The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled.  I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.

Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-12-10 08:14:24 +01:00
Jan-Marek Glogowski 1c9a40299d gbuild: create services.rdb from built components
... and introduce the --enable-services-rdb-from-build option.

Currently the build handles global build options redundant
in a few places:

* in Repository*mk + modules - the "real" build dependencies
* the full services.rdb generation
* the static UNO constructor map generation

Also the component files don't reflect the really built components
and so the RDB services generation must handle the whole options
to select the correct components.

So this optionally replaces the latter two by generating the list
of components and it's constructors from the build itself. As a
consequence, component files must now be split, so they reflect
the real components in the libraries, otherwise the static
constructor list will have missing symbols. IMHO this is more
natural, as it happens in the same place already handling these
build options for the sourcecode.

This also adds a convenience helper to add multiple component
files: gb_Library_set_componentfiles

This is WIP and currently just works for the stripped WASM build,
which introduces many more split component files in later patches.

It also explicitly filters the gb_Rdb__URECOMPONENTS and the
CppunitTest related components from the services.rdb. Maybe there
is a good way to do this properly.

Change-Id: I1b38a6f2c1e5221f18d7e5e756c30263b555d962
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126185
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-12-06 19:38:29 +01:00
Jan-Marek Glogowski 63972e79bb Fix the minimal build-tools target
The revert commits change the build-tools target for a DESKTOP
build to build the complete LO. This restores the original,
minimal one and also adds a whitelist of allowd build types.

OpenCL needs a configure switch, as it's status is also stored
in a config header, so preventing the build is not enough.

This also reverts:
- commit 802161a505
- commit 02d931a59e

Change-Id: Ibfcb0c54e72da1b7c2e63c082ea6586520a787fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102480
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-11 18:34:48 +02:00
Jan-Marek Glogowski 1fc85d03c4 Revert "Make font-based unit test depend on instdir fonts"
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 368c996b24.

Change-Id: I841f96fe8312c47980c8e3be2e9d88242df5b28d
Reviewed-on: https://gerrit.libreoffice.org/84633
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-16 12:58:35 +01:00
Jan-Marek Glogowski 368c996b24 Make font-based unit test depend on instdir fonts
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-07-05 20:03:40 +02:00
Andras Timar 651cb3049c disable a few failing unit tests in MPLv2 subset (fix mismerge)
Change-Id: I6f432d773c71eea34693a74bd8ee44562ade1702
Reviewed-on: https://gerrit.libreoffice.org/73063
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2019-05-27 23:04:24 +02:00
Andras Timar 09a322600b disable a few failing unit tests in MPLv2 subset
Change-Id: If7595983f7bf2d990687a64659a63a8a66b120bd
Reviewed-on: https://gerrit.libreoffice.org/73049
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2019-05-27 20:30:37 +02:00
Noel Grandin 2b5812e019 rename ENABLE_HEADLESS option to DISABLE_GUI
since it has nothing to do with the headless command line option, so
use the name it has in the configure.ac file

Change-Id: Ibf0615ed02695d6e48a797f5632e4f417c010c70
Reviewed-on: https://gerrit.libreoffice.org/59611
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-27 08:47:49 +02:00
Michael Stahl 0616a5e13e postprocess: only check-dynamic-objects if instset is created
People who use --with-system-libs will derive no benefit from
check-elf-dynamic-objects.  Since checking all SYSTEM_* variables
seems unmaintainable, check if an instset is to be created as a
heuristic that the build should be portable and libraries checked.
This should run with no config changes at least on the tinderboxes;
Jenkins builders don't create instsets.

Change-Id: I2407429891210ea79917fc4d01a933ec661325b1
2017-12-04 20:21:09 +01:00
Michael Stahl 76a9f10a08 postprocess: call check-elf-dynamic-objects on LINUX
This runs fast enough that it can just be enabled.

Isn't allowed to break the build just yet due to the existing
GPG related problems.

Change-Id: I6f2ed3d7aeee9e7770940d96894ecdf4d0bf2d9b
2017-11-29 21:21:47 +01:00
Stephan Bergmann d383d0e985 Install fc_local.conf only where used
...and at least issue a SAL_INFO when it's missing (there may theoretically be
multiple directories, and it need not be present in every one, so nothing
stronger than SAL_INFO can be used)

Change-Id: I9b7257a551626e5ad081cfb75422a8bd71b86aa4
Reviewed-on: https://gerrit.libreoffice.org/42714
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-25 09:27:58 +02:00
Stephan Bergmann e79f126154 Compensate for loss of Type 1 "Standard Symbols L" substitute for "Symbol"
At least for me on Linux since LO 5.3, 'soffice
sw/qa/extras/rtfexport/data/fdo72031.rtf' shows "Å" (rendered in "DejaVu Sans")
instead of "⊕" (rendered in "Standard Symbols L").  That's presumably because
47ea13ef8d "Kill the old Unix layout engines"
removed support for Type 1 fonts (see "Ignore Type 1 fonts" in
FontCfgWrapper::addFontSet, vcl/unx/generic/fontmanager/fontconfig.cxx), and my
(Fedora 25) /usr/share/fonts/default/Type1/s050000l.pfb "Standard Symbols L" is
a Type 1 font.  So we fell back to fontconfig's generic (weak) suggestion of
"DejaVu Sans" as a substitute for "Symbol".

So extend our fc_local.conf to suggest our "OpenSymbol" as a substitute for
"Symbol".

As that fc_local.conf was originally brought along by --with-fonts, which is
enabled by default but can be disabled, compilation of fc_local.conf from the
various snippets is moved to postprocess.

macOS and Windows were never affected, as they both come with a "Symbol" font
installed in the system.  (And we don't install fc_local.conf on Windows at
all.)

Change-Id: I8d6d87f24974577fd66f5f3989f606237ebb3d75
Reviewed-on: https://gerrit.libreoffice.org/42670
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-24 12:08:26 +02:00
Stephan Bergmann 0b5568b9dd Fix CppunitTest_services on Windows
...by blacklisting the problematic service

Change-Id: I524a7c7af2cb374911db7b204021c3d2bcd1fdd6
2014-06-12 12:29:24 +02:00
Markus Mohrhard f4f144b5bf don"t execute test on windows, deadlocks
Change-Id: Ic000a4961d770ad7f84aef0562e1d033f1b6a089
2014-06-09 04:55:03 +02:00
Matúš Kukan ff9614a744 Add a unit test trying to create every available service with default ctor.
Change-Id: I79e70aeabdb816eaf7a719d2094034d78d11c90b
2013-12-18 07:15:50 +01:00
Bjoern Michaelsen e125dee18a postprocess registry is a l10n-relevant target
Change-Id: I349fb24a388775c58be7a326832b3fc0ec38180f
2013-12-16 17:36:26 +01:00
Matúš Kukan 8b162f2fe2 we do not need .xcd files in solver
Change-Id: Ic08b12b0deb7342c520a5385c226d864596fc858
2013-10-02 22:07:13 +02:00
Matúš Kukan 573b8543cb start to use instdir for subsequentcheck tests; avoid make dev-install
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-09 22:09:16 +02:00
Matúš Kukan dca003a486 install images with filelists
Change-Id: I3946b44838c659cad12d288c8a1ed5137c3e554e
2013-09-09 22:08:59 +02:00
David Tardon e203f79faa copy xcd files to instdir
Change-Id: Idbde83eab55864c16e3472397cb5bd433cf2431c
2013-04-28 16:34:25 +02:00
David Tardon 9c8786c3df gbuild: copy image zips to instdir
Change-Id: I073be89556091321543adfe246d751e5f4df119a
2013-04-28 16:34:24 +02:00
David Tardon 94d6136e1c install UI config. files using filelists
Change-Id: I422c8912bc2557c2c03bb885e5c193deb93d1d5e
Reviewed-on: https://gerrit.libreoffice.org/3233
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-04-11 03:44:11 +00:00
Bjoern Michaelsen f624144e41 move postprocess to gbuild
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>
2013-02-26 15:06:50 +00:00
Matúš Kukan 505d5836fc merge packimages into postprocess
Change-Id: Ie00c7cbc012a605e95ceafcad384a67b599fc758
Reviewed-on: https://gerrit.libreoffice.org/1476
Reviewed-by: Peter Foley <pefoley2@verizon.net>
Tested-by: Peter Foley <pefoley2@verizon.net>
2012-12-24 18:20:24 +00:00
Matúš Kukan e37eb6345d postprocess: convert to gbuild
Change-Id: I6c81fa0f1b8d7273541d5d9883b5fc96a5091bbd
Reviewed-on: https://gerrit.libreoffice.org/1080
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2012-12-15 21:20:27 +00:00