summaryrefslogtreecommitdiff
path: root/i18npool
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2021-05-19 07:55:40 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2021-12-06 19:38:29 +0100
commit1c9a40299d328c78c035ca63ccdf22c5c669a03b (patch)
treece32754685a0b147ffb701efbbcaa24fa7e36083 /i18npool
parentba8b3751fa184c04b9dde4c371b7902e0a9271ff (diff)
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>
Diffstat (limited to 'i18npool')
-rw-r--r--i18npool/Library_i18npool.mk4
-rw-r--r--i18npool/util/i18npool.en.component162
2 files changed, 166 insertions, 0 deletions
diff --git a/i18npool/Library_i18npool.mk b/i18npool/Library_i18npool.mk
index 854b920bd9a4..09293b0856f0 100644
--- a/i18npool/Library_i18npool.mk
+++ b/i18npool/Library_i18npool.mk
@@ -9,7 +9,11 @@
$(eval $(call gb_Library_Library,i18npool))
+ifeq ($(WITH_LOCALES),en)
+$(eval $(call gb_Library_set_componentfile,i18npool,i18npool/util/i18npool.en))
+else
$(eval $(call gb_Library_set_componentfile,i18npool,i18npool/util/i18npool))
+endif
$(eval $(call gb_Library_set_include,i18npool,\
$$(INCLUDE) \
diff --git a/i18npool/util/i18npool.en.component b/i18npool/util/i18npool.en.component
new file mode 100644
index 000000000000..edf2d0a63727
--- /dev/null
+++ b/i18npool/util/i18npool.en.component
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+
+<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
+ prefix="i18npool" xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.i18n.BreakIterator"
+ constructor="com_sun_star_i18n_BreakIterator_get_implementation">
+ <service name="com.sun.star.i18n.BreakIterator"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.BreakIterator_Unicode"
+ constructor="com_sun_star_i18n_BreakIterator_Unicode_get_implementation">
+ <service name="com.sun.star.i18n.BreakIterator_Unicode"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.CalendarImpl"
+ constructor="i18npool_CalendarImpl_get_implementation">
+ <service name="com.sun.star.i18n.LocaleCalendar"/>
+ <service name="com.sun.star.i18n.LocaleCalendar2"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_ROC"
+ constructor="i18npool_Calendar_ROC_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_ROC"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_dangi"
+ constructor="i18npool_Calendar_dangi_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_dangi"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_buddhist"
+ constructor="i18npool_Calendar_buddhist_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_buddhist"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_gengou"
+ constructor="i18npool_Calendar_gengou_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_gengou"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_gregorian"
+ constructor="i18npool_Calendar_gregorian_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_gregorian"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_hanja"
+ constructor="i18npool_Calendar_hanja_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_hanja"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_hanja_yoil"
+ constructor="i18npool_Calendar_hanja_yoil_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_hanja_yoil"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_hijri"
+ constructor="i18npool_Calendar_hijri_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_hijri"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Calendar_jewish"
+ constructor="i18npool_Calendar_jewish_get_implementation">
+ <service name="com.sun.star.i18n.Calendar_jewish"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.ChapterCollator"
+ constructor="i18npool_ChapterCollator_get_implementation">
+ <service name="com.sun.star.i18n.ChapterCollator"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.CharacterClassification"
+ constructor="com_sun_star_i18n_CharacterClassification_get_implementation">
+ <service name="com.sun.star.i18n.CharacterClassification"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.CharacterClassification_Unicode"
+ constructor="com_sun_star_i18n_CharacterClassification_Unicode_get_implementation">
+ <service name="com.sun.star.i18n.CharacterClassification_Unicode"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Collator"
+ constructor="com_sun_star_i18n_Collator_get_implementation">
+ <service name="com.sun.star.i18n.Collator"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Collator_Unicode"
+ constructor="i18npool_Collator_Unicode_get_implementation">
+ <service name="com.sun.star.i18n.Collator_Unicode"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.IndexEntrySupplier"
+ constructor="i18npool_IndexEntrySupplier_get_implementation">
+ <service name="com.sun.star.i18n.IndexEntrySupplier"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.IndexEntrySupplier_Unicode"
+ constructor="i18npool_IndexEntrySupplier_Unicode_get_implementation">
+ <service name="com.sun.star.i18n.IndexEntrySupplier_Unicode"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.IndexEntrySupplier_asian"
+ constructor="i18npool_IndexEntrySupplier_asian_get_implementation">
+ <service name="com.sun.star.i18n.IndexEntrySupplier_asian"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.InputSequenceChecker"
+ constructor="com_sun_star_i18n_InputSequenceChecker_get_implementation">
+ <service name="com.sun.star.i18n.InputSequenceChecker"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.LocaleDataImpl"
+ constructor="com_sun_star_i18n_LocaleDataImpl_get_implementation">
+ <service name="com.sun.star.i18n.LocaleData"/>
+ <service name="com.sun.star.i18n.LocaleData2"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.NativeNumberSupplier"
+ constructor="com_sun_star_i18n_NativeNumberSupplier_get_implementation">
+ <service name="com.sun.star.i18n.NativeNumberSupplier"/>
+ <service name="com.sun.star.i18n.NativeNumberSupplier2"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.NumberFormatCodeMapper"
+ constructor="com_sun_star_i18n_NumberFormatCodeMapper_get_implementation">
+ <service name="com.sun.star.i18n.NumberFormatMapper"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.OrdinalSuffix"
+ constructor="com_sun_star_i18n_OrdinalSuffix_get_implementation">
+ <service name="com.sun.star.i18n.OrdinalSuffix"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.ScriptTypeDetector"
+ constructor="com_sun_star_i18n_ScriptTypeDetector_get_implementation">
+ <service name="com.sun.star.i18n.ScriptTypeDetector"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.TextConversion"
+ constructor="com_sun_star_i18n_TextConversion_get_implementation">
+ <service name="com.sun.star.i18n.TextConversion"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration"
+ constructor="com_sun_star_i18n_Transliteration_get_implementation">
+ <service name="com.sun.star.i18n.Transliteration"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration.NumToCharFullwidth">
+ <service name="com.sun.star.i18n.Transliteration.l10n"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration.NumToCharHalfwidth">
+ <service name="com.sun.star.i18n.Transliteration.l10n"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration.NumToTextCircledNumber">
+ <service name="com.sun.star.i18n.Transliteration.l10n"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration.SENTENCE_CASE">
+ <service name="com.sun.star.i18n.Transliteration.l10n"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration.TITLE_CASE">
+ <service name="com.sun.star.i18n.Transliteration.l10n"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration.TOGGLE_CASE">
+ <service name="com.sun.star.i18n.Transliteration.l10n"/>
+ </implementation>
+ <implementation name="com.sun.star.i18n.Transliteration.UPPERCASE_LOWERCASE">
+ <service name="com.sun.star.i18n.Transliteration.l10n"/>
+ </implementation>
+ <implementation name="com.sun.star.text.DefaultNumberingProvider"
+ constructor="com_sun_star_text_DefaultNumberingProvider_get_implementation">
+ <service name="com.sun.star.text.DefaultNumberingProvider"/>
+ </implementation>
+</component>