1# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
2#
3# This file is part of the LibreOffice project.
4#
5# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
8#
9
10$(eval $(call gb_CustomTarget_CustomTarget,postprocess/registry))
11
12#
13# Variables
14#
15
16postprocess_XCS := $(call gb_XcsTarget_get_target,org/openoffice)
17postprocess_XCU := $(call gb_XcuDataTarget_get_target,officecfg/registry/data/org/openoffice)
18postprocess_MOD := $(call gb_XcuModuleTarget_get_target,officecfg/registry/data)
19postprocess_DRIVERS :=
20
21postprocess_XCDS := \
22	base.xcd \
23	calc.xcd \
24	cjk.xcd \
25	ctl.xcd \
26	ctlseqcheck.xcd \
27	draw.xcd \
28	graphicfilter.xcd \
29	impress.xcd \
30	lingucomponent.xcd \
31	main.xcd \
32	math.xcd \
33	pyuno.xcd \
34	writer.xcd \
35	xsltfilter.xcd
36
37postprocess_DEPS_base := main
38postprocess_FILES_base := \
39	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_database_filters.xcu) \
40	$(call gb_XcuFilterOthersTarget_get_target,fcfg_database_others.xcu) \
41	$(call gb_XcuFilterTypesTarget_get_target,fcfg_database_types.xcu) \
42	$(postprocess_MOD)/org/openoffice/Office/Common-base.xcu \
43	$(postprocess_MOD)/org/openoffice/Office/Embedding-base.xcu \
44	$(postprocess_MOD)/org/openoffice/Setup-base.xcu
45
46postprocess_DEPS_calc := main
47postprocess_FILES_calc := \
48	$(postprocess_XCS)/Office/UI/CalcCommands.xcs \
49	$(postprocess_XCS)/Office/UI/CalcWindowState.xcs \
50	$(postprocess_XCU)/Office/UI/CalcCommands.xcu \
51	$(postprocess_XCU)/Office/UI/CalcWindowState.xcu \
52	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_calc_filters.xcu) \
53	$(call gb_XcuFilterTypesTarget_get_target,fcfg_calc_types.xcu) \
54	$(postprocess_MOD)/org/openoffice/Office/Common-calc.xcu \
55	$(postprocess_MOD)/org/openoffice/Office/Embedding-calc.xcu \
56	$(postprocess_MOD)/org/openoffice/Setup-calc.xcu
57
58ifeq (DBCONNECTIVITY,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
59postprocess_FILES_calc += \
60	$(call gb_XcuModuleTarget_get_target,connectivity/registry/calc)/org/openoffice/Office/DataAccess/Drivers-calc.xcu
61postprocess_DRIVERS += calc
62endif
63
64postprocess_DEPS_cjk := main
65postprocess_FILES_cjk := \
66	$(postprocess_MOD)/org/openoffice/Office/Common-cjk.xcu \
67	$(postprocess_MOD)/org/openoffice/Office/Writer-cjk.xcu
68
69postprocess_DEPS_ctl := main
70postprocess_FILES_ctl := \
71	$(postprocess_MOD)/org/openoffice/Office/Common-ctl.xcu
72
73postprocess_DEPS_draw := main
74postprocess_FILES_draw := \
75	$(postprocess_XCS)/Office/UI/DrawWindowState.xcs \
76	$(postprocess_XCU)/Office/UI/DrawWindowState.xcu \
77	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_draw_filters.xcu) \
78	$(call gb_XcuFilterTypesTarget_get_target,fcfg_draw_types.xcu) \
79	$(postprocess_MOD)/org/openoffice/Office/Common-draw.xcu \
80	$(postprocess_MOD)/org/openoffice/Office/Embedding-draw.xcu \
81	$(postprocess_MOD)/org/openoffice/Setup-draw.xcu
82
83postprocess_DEPS_graphicfilter := main
84postprocess_FILES_graphicfilter := \
85	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_drawgraphics_filters.xcu) \
86	$(call gb_XcuFilterTypesTarget_get_target,fcfg_drawgraphics_types.xcu) \
87	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_impressgraphics_filters.xcu) \
88	$(call gb_XcuFilterTypesTarget_get_target,fcfg_impressgraphics_types.xcu) \
89	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_calcgraphics_filters.xcu) \
90	$(call gb_XcuFilterTypesTarget_get_target,fcfg_calcgraphics_types.xcu) \
91	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_writergraphics_filters.xcu) \
92	$(call gb_XcuFilterTypesTarget_get_target,fcfg_writergraphics_types.xcu)
93
94postprocess_DEPS_impress := main
95postprocess_FILES_impress := \
96	$(postprocess_XCS)/Office/PresentationMinimizer.xcs \
97	$(postprocess_XCS)/Office/PresenterScreen.xcs \
98	$(postprocess_XCS)/Office/UI/Effects.xcs \
99	$(postprocess_XCS)/Office/UI/ImpressWindowState.xcs \
100	$(postprocess_XCU)/Office/PresentationMinimizer.xcu \
101	$(postprocess_XCU)/Office/PresenterScreen.xcu \
102	$(postprocess_XCU)/Office/UI/Effects.xcu \
103	$(postprocess_XCU)/Office/UI/ImpressWindowState.xcu \
104	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_impress_filters.xcu) \
105	$(call gb_XcuFilterTypesTarget_get_target,fcfg_impress_types.xcu) \
106	$(postprocess_MOD)/org/openoffice/Office/Common-impress.xcu \
107	$(postprocess_MOD)/org/openoffice/Office/Embedding-impress.xcu \
108	$(postprocess_MOD)/org/openoffice/Office/Jobs-impress.xcu \
109	$(postprocess_MOD)/org/openoffice/Office/ProtocolHandler-impress.xcu \
110	$(postprocess_MOD)/org/openoffice/Setup-impress.xcu
111
112ifeq (LIBRELOGO,$(filter LIBRELOGO,$(BUILD_TYPE)))
113postprocess_XCDS += librelogo.xcd
114postprocess_DEPS_librelogo := main writer
115postprocess_FILES_librelogo := \
116	$(postprocess_MOD)/org/openoffice/Office/Addons-librelogo.xcu \
117	$(postprocess_MOD)/org/openoffice/Office/UI/WriterCommands-librelogo.xcu \
118	$(postprocess_MOD)/org/openoffice/Office/UI/WriterWindowState-librelogo.xcu
119endif
120
121postprocess_DEPS_lingucomponent := main
122postprocess_FILES_lingucomponent := \
123	$(SRCDIR)/lingucomponent/config/Linguistic-lingucomponent-hyphenator.xcu \
124	$(SRCDIR)/lingucomponent/config/Linguistic-lingucomponent-spellchecker.xcu \
125	$(SRCDIR)/lingucomponent/config/Linguistic-lingucomponent-thesaurus.xcu \
126
127postprocess_FILES_main := \
128	$(postprocess_XCS)/Inet.xcs \
129	$(postprocess_XCS)/Interaction.xcs \
130	$(postprocess_XCS)/LDAP.xcs \
131	$(postprocess_XCS)/Office/Accelerators.xcs \
132	$(postprocess_XCS)/Office/Addons.xcs \
133	$(postprocess_XCS)/Office/BasicIDE.xcs \
134	$(postprocess_XCS)/Office/Calc.xcs \
135	$(postprocess_XCS)/Office/CalcAddIns.xcs \
136	$(postprocess_XCS)/Office/Canvas.xcs \
137	$(postprocess_XCS)/Office/Chart.xcs \
138	$(postprocess_XCS)/Office/Commands.xcs \
139	$(postprocess_XCS)/Office/Common.xcs \
140	$(postprocess_XCS)/Office/Compatibility.xcs \
141	$(postprocess_XCS)/Office/DataAccess/Drivers.xcs \
142	$(postprocess_XCS)/Office/DataAccess.xcs \
143	$(postprocess_XCS)/Office/Draw.xcs \
144	$(postprocess_XCS)/Office/Embedding.xcs \
145	$(postprocess_XCS)/Office/Events.xcs \
146	$(postprocess_XCS)/Office/ExtendedColorScheme.xcs \
147	$(postprocess_XCS)/Office/ExtensionDependencies.xcs \
148	$(postprocess_XCS)/Office/ExtensionManager.xcs \
149	$(postprocess_XCS)/Office/FormWizard.xcs \
150	$(postprocess_XCS)/Office/Histories.xcs \
151	$(postprocess_XCS)/Office/Impress.xcs \
152	$(postprocess_XCS)/Office/Java.xcs \
153	$(postprocess_XCS)/Office/Jobs.xcs \
154	$(postprocess_XCS)/Office/Labels.xcs \
155	$(postprocess_XCS)/Office/Linguistic.xcs \
156	$(postprocess_XCS)/Office/Logging.xcs \
157	$(postprocess_XCS)/Office/Math.xcs \
158	$(postprocess_XCS)/Office/OptionsDialog.xcs \
159	$(postprocess_XCS)/Office/Paths.xcs \
160	$(postprocess_XCS)/Office/ProtocolHandler.xcs \
161	$(postprocess_XCS)/Office/Recovery.xcs \
162	$(postprocess_XCS)/Office/Scripting.xcs \
163	$(postprocess_XCS)/Office/Security.xcs \
164	$(postprocess_XCS)/Office/TableWizard.xcs \
165	$(postprocess_XCS)/Office/TypeDetection.xcs \
166	$(postprocess_XCS)/Office/UI/BaseWindowState.xcs \
167	$(postprocess_XCS)/Office/UI/BasicIDECommands.xcs \
168	$(postprocess_XCS)/Office/UI/BasicIDEWindowState.xcs \
169	$(postprocess_XCS)/Office/UI/BibliographyCommands.xcs \
170	$(postprocess_XCS)/Office/UI/BibliographyWindowState.xcs \
171	$(postprocess_XCS)/Office/UI/Category.xcs \
172	$(postprocess_XCS)/Office/UI/ChartCommands.xcs \
173	$(postprocess_XCS)/Office/UI/ChartWindowState.xcs \
174	$(postprocess_XCS)/Office/UI/Commands.xcs \
175	$(postprocess_XCS)/Office/UI/Controller.xcs \
176	$(postprocess_XCS)/Office/UI/DbBrowserWindowState.xcs \
177	$(postprocess_XCS)/Office/UI/DbQueryWindowState.xcs \
178	$(postprocess_XCS)/Office/UI/DbRelationWindowState.xcs \
179	$(postprocess_XCS)/Office/UI/DbTableDataWindowState.xcs \
180	$(postprocess_XCS)/Office/UI/DbTableWindowState.xcs \
181	$(postprocess_XCS)/Office/UI/DbuCommands.xcs \
182	$(postprocess_XCS)/Office/UI/DrawImpressCommands.xcs \
183	$(postprocess_XCS)/Office/UI/Factories.xcs \
184	$(postprocess_XCS)/Office/UI/GenericCategories.xcs \
185	$(postprocess_XCS)/Office/UI/GenericCommands.xcs \
186	$(postprocess_XCS)/Office/UI/GlobalSettings.xcs \
187	$(postprocess_XCS)/Office/UI/Infobar.xcs \
188	$(postprocess_XCS)/Office/UI/Sidebar.xcs \
189	$(postprocess_XCS)/Office/UI/StartModuleCommands.xcs \
190	$(postprocess_XCS)/Office/UI/StartModuleWindowState.xcs \
191	$(postprocess_XCS)/Office/UI/ToolbarMode.xcs \
192	$(postprocess_XCS)/Office/UI/WindowContentFactories.xcs \
193	$(postprocess_XCS)/Office/UI/WindowState.xcs \
194	$(postprocess_XCS)/Office/UI.xcs \
195	$(postprocess_XCS)/Office/Update.xcs \
196	$(postprocess_XCS)/Office/Views.xcs \
197	$(postprocess_XCS)/Office/Writer.xcs \
198	$(postprocess_XCS)/Office/WriterWeb.xcs \
199	$(postprocess_XCS)/Setup.xcs \
200	$(postprocess_XCS)/System.xcs \
201	$(postprocess_XCS)/TypeDetection/Filter.xcs \
202	$(postprocess_XCS)/TypeDetection/GraphicFilter.xcs \
203	$(postprocess_XCS)/TypeDetection/Misc.xcs \
204	$(postprocess_XCS)/TypeDetection/Types.xcs \
205	$(postprocess_XCS)/TypeDetection/UISort.xcs \
206	$(postprocess_XCS)/UserProfile.xcs \
207	$(postprocess_XCS)/VCL.xcs \
208	$(postprocess_XCS)/ucb/Configuration.xcs \
209	$(postprocess_XCS)/ucb/Hierarchy.xcs \
210	$(postprocess_XCS)/ucb/InteractionHandler.xcs \
211	$(postprocess_XCS)/ucb/Store.xcs \
212	$(postprocess_XCU)/Inet.xcu \
213	$(postprocess_XCU)/Interaction.xcu \
214	$(postprocess_XCU)/Office/Accelerators.xcu \
215	$(postprocess_XCU)/Office/BasicIDE.xcu \
216	$(postprocess_XCU)/Office/Calc.xcu \
217	$(postprocess_XCU)/Office/Canvas.xcu \
218	$(postprocess_XCU)/Office/Common.xcu \
219	$(postprocess_XCU)/Office/Compatibility.xcu \
220	$(postprocess_XCU)/Office/DataAccess.xcu \
221	$(postprocess_XCU)/Office/Embedding.xcu \
222	$(postprocess_XCU)/Office/ExtensionDependencies.xcu \
223	$(postprocess_XCU)/Office/ExtensionManager.xcu \
224	$(postprocess_XCU)/Office/FormWizard.xcu \
225	$(postprocess_XCU)/Office/Histories.xcu \
226	$(postprocess_XCU)/Office/Impress.xcu \
227	$(postprocess_XCU)/Office/Jobs.xcu \
228	$(postprocess_XCU)/Office/Logging.xcu \
229	$(postprocess_XCU)/Office/Math.xcu \
230	$(postprocess_XCU)/Office/Paths.xcu \
231	$(postprocess_XCU)/Office/ProtocolHandler.xcu \
232	$(postprocess_XCU)/Office/Scripting.xcu \
233	$(postprocess_XCU)/Office/Security.xcu \
234	$(postprocess_XCU)/Office/TableWizard.xcu \
235	$(postprocess_XCU)/Office/UI/BaseWindowState.xcu \
236	$(postprocess_XCU)/Office/UI/BasicIDECommands.xcu \
237	$(postprocess_XCU)/Office/UI/BasicIDEWindowState.xcu \
238	$(postprocess_XCU)/Office/UI/BibliographyCommands.xcu \
239	$(postprocess_XCU)/Office/UI/ChartCommands.xcu \
240	$(postprocess_XCU)/Office/UI/ChartWindowState.xcu \
241	$(postprocess_XCU)/Office/UI/Controller.xcu \
242	$(postprocess_XCU)/Office/UI/DbBrowserWindowState.xcu \
243	$(postprocess_XCU)/Office/UI/DbQueryWindowState.xcu \
244	$(postprocess_XCU)/Office/UI/DbRelationWindowState.xcu \
245	$(postprocess_XCU)/Office/UI/DbTableDataWindowState.xcu \
246	$(postprocess_XCU)/Office/UI/DbTableWindowState.xcu \
247	$(postprocess_XCU)/Office/UI/DbuCommands.xcu \
248	$(postprocess_XCU)/Office/UI/DrawImpressCommands.xcu \
249	$(postprocess_XCU)/Office/UI/Factories.xcu \
250	$(postprocess_XCU)/Office/UI/GenericCategories.xcu \
251	$(postprocess_XCU)/Office/UI/GenericCommands.xcu \
252	$(postprocess_XCU)/Office/UI/Sidebar.xcu \
253	$(postprocess_XCU)/Office/UI/StartModuleWindowState.xcu \
254	$(postprocess_XCU)/Office/UI/ToolbarMode.xcu \
255	$(postprocess_XCU)/Office/UI.xcu \
256	$(postprocess_XCU)/Office/Views.xcu \
257	$(postprocess_XCU)/Office/Writer.xcu \
258	$(postprocess_XCU)/Setup.xcu \
259	$(postprocess_XCU)/System.xcu \
260	$(postprocess_XCU)/TypeDetection/UISort.xcu \
261	$(postprocess_XCU)/UserProfile.xcu \
262	$(postprocess_XCU)/VCL.xcu \
263	$(postprocess_XCU)/ucb/Configuration.xcu \
264	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_base_filters.xcu) \
265	$(call gb_XcuFilterOthersTarget_get_target,fcfg_base_others.xcu) \
266	$(call gb_XcuFilterTypesTarget_get_target,fcfg_base_types.xcu) \
267	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_chart_filters.xcu) \
268	$(call gb_XcuFilterOthersTarget_get_target,fcfg_chart_others.xcu) \
269	$(call gb_XcuFilterTypesTarget_get_target,fcfg_chart_types.xcu) \
270	$(call gb_XcuFilterInternalTarget_get_target,fcfg_internalgraphics_filters.xcu) \
271	$(call gb_XcuFilterTypesTarget_get_target,fcfg_internalgraphics_types.xcu) \
272	$(postprocess_MOD)/org/openoffice/Office/Embedding-chart.xcu \
273	$(postprocess_MOD)/org/openoffice/Setup-start.xcu \
274	$(postprocess_MOD)/org/openoffice/TypeDetection/UISort-calc.xcu \
275	$(postprocess_MOD)/org/openoffice/TypeDetection/UISort-draw.xcu \
276	$(postprocess_MOD)/org/openoffice/TypeDetection/UISort-impress.xcu \
277	$(postprocess_MOD)/org/openoffice/TypeDetection/UISort-math.xcu \
278	$(postprocess_MOD)/org/openoffice/TypeDetection/UISort-writer.xcu
279ifeq (DBCONNECTIVITY,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
280postprocess_FILES_main += \
281	$(call gb_XcuModuleTarget_get_target,connectivity/registry/dbase)/org/openoffice/Office/DataAccess/Drivers-dbase.xcu \
282	$(call gb_XcuModuleTarget_get_target,connectivity/registry/flat)/org/openoffice/Office/DataAccess/Drivers-flat.xcu \
283	$(call gb_XcuModuleTarget_get_target,connectivity/registry/odbc)/org/openoffice/Office/DataAccess/Drivers-odbc.xcu \
284	$(call gb_XcuModuleTarget_get_target,connectivity/registry/mysql_jdbc)/org/openoffice/Office/DataAccess/Drivers-mysql_jdbc.xcu
285postprocess_DRIVERS += dbase flat odbc mysql_jdbc
286endif
287ifeq (MACOSX,$(OS))
288postprocess_FILES_main += \
289	$(call gb_XcuModuleTarget_get_target,connectivity/registry/macab)/org/openoffice/Office/DataAccess/Drivers-macab.xcu \
290	$(postprocess_MOD)/org/openoffice/Inet-macosx.xcu \
291	$(postprocess_MOD)/org/openoffice/Office/Accelerators-macosx.xcu \
292	$(postprocess_MOD)/org/openoffice/Office/Common-macosx.xcu \
293	$(postprocess_MOD)/org/openoffice/Office/Paths-macosx.xcu
294		# Inet-macosx.xcu must come after Inet.xcu
295postprocess_DRIVERS += macab
296else ifeq ($(USING_X11), TRUE)
297postprocess_FILES_main += \
298	$(postprocess_MOD)/org/openoffice/Inet-unixdesktop.xcu \
299	$(postprocess_MOD)/org/openoffice/Office/Accelerators-unxwnt.xcu \
300	$(postprocess_MOD)/org/openoffice/Office/Common-UseOOoFileDialogs.xcu \
301	$(postprocess_MOD)/org/openoffice/Office/Common-unixdesktop.xcu \
302	$(postprocess_MOD)/org/openoffice/Office/Common-unx.xcu \
303	$(postprocess_MOD)/org/openoffice/Office/Paths-unixdesktop.xcu \
304	$(postprocess_MOD)/org/openoffice/Office/Paths-unxwnt.xcu \
305	$(postprocess_MOD)/org/openoffice/UserProfile-unixdesktop.xcu \
306	$(postprocess_MOD)/org/openoffice/VCL-unixdesktop.xcu
307		# Inet-unixdesktop.xcu must come after Inet.xcu
308		# VCL-unixdesktop.xcu must come after VCL.xcu
309else ifeq (WNT,$(OS))
310postprocess_FILES_main += \
311	$(postprocess_MOD)/org/openoffice/Inet-wnt.xcu \
312	$(postprocess_MOD)/org/openoffice/Office/Accelerators-unxwnt.xcu \
313	$(postprocess_MOD)/org/openoffice/Office/Common-wnt.xcu \
314	$(postprocess_MOD)/org/openoffice/Office/Paths-unxwnt.xcu \
315	$(postprocess_MOD)/org/openoffice/ucb/Configuration-win.xcu
316		# Inet-wnt.xcu must come after Inet.xcu
317ifeq ($(gb_Side),host)
318postprocess_FILES_main += \
319	$(call gb_XcuModuleTarget_get_target,connectivity/registry/ado)/org/openoffice/Office/DataAccess/Drivers-ado.xcu
320postprocess_DRIVERS += ado
321endif
322endif
323ifneq ($(WITH_WEBDAV),)
324postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/ucb/Configuration-webdav.xcu
325endif
326ifeq ($(ENABLE_EVOAB2),TRUE)
327postprocess_FILES_main += $(call gb_XcuModuleTarget_get_target,connectivity/registry/evoab2)/org/openoffice/Office/DataAccess/Drivers-evoab2.xcu
328postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/DataAccess-evoab2.xcu
329postprocess_DRIVERS += evoab
330endif
331ifeq ($(ENABLE_JAVA),TRUE)
332postprocess_FILES_main += \
333	$(call gb_XcuModuleTarget_get_target,connectivity/registry/hsqldb)/org/openoffice/Office/DataAccess/Drivers-hsqldb.xcu \
334	$(call gb_XcuModuleTarget_get_target,connectivity/registry/jdbc)/org/openoffice/Office/DataAccess/Drivers-jdbc.xcu
335postprocess_DRIVERS += hsqldb jdbc
336endif
337ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
338postprocess_FILES_main += \
339	$(call gb_XcuModuleTarget_get_target,connectivity/registry/firebird)/org/openoffice/Office/DataAccess/Drivers-firebird.xcu
340postprocess_DRIVERS += firebird_sdbc
341endif
342
343ifeq ($(ENABLE_MARIADBC),TRUE)
344postprocess_FILES_main += \
345	$(call gb_XcuModuleTarget_get_target,connectivity/registry/mysqlc)/org/openoffice/Office/DataAccess/Drivers-mysqlc.xcu
346postprocess_DRIVERS += mysqlc
347endif
348
349ifneq (,$(SYSTEM_LIBEXTTEXTCAT_DATA))
350postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/Paths-externallibexttextcatdata.xcu
351else
352postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/Paths-internallibexttextcatdata.xcu
353endif
354
355ifneq (,$(SYSTEM_LIBNUMBERTEXT_DATA))
356postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/Paths-externallibnumbertextdata.xcu
357else
358postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/Office/Paths-internallibnumbertextdata.xcu
359endif
360
361ifneq ($(filter POWERPC INTEL ARM HPPA GODSON M68K SPARC S390,$(CPUNAME)),)
362postprocess_FILES_main += \
363	$(postprocess_MOD)/org/openoffice/Office/Common-32bit.xcu
364endif
365
366postprocess_DEPS_math := main
367postprocess_FILES_math := \
368	$(postprocess_XCS)/Office/UI/MathCommands.xcs \
369	$(postprocess_XCS)/Office/UI/MathWindowState.xcs \
370	$(postprocess_XCU)/Office/UI/MathCommands.xcu \
371	$(postprocess_XCU)/Office/UI/MathWindowState.xcu \
372	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_math_filters.xcu) \
373	$(call gb_XcuFilterTypesTarget_get_target,fcfg_math_types.xcu) \
374	$(postprocess_MOD)/org/openoffice/Office/Common-math.xcu \
375	$(postprocess_MOD)/org/openoffice/Office/Embedding-math.xcu \
376	$(postprocess_MOD)/org/openoffice/Setup-math.xcu
377
378postprocess_DEPS_pyuno := main
379postprocess_FILES_pyuno := \
380	$(postprocess_MOD)/org/openoffice/Office/Scripting-python.xcu
381
382ifeq ($(ENABLE_REPORTBUILDER),TRUE)
383postprocess_XCDS += reportbuilder.xcd
384postprocess_DEPS_reportbuilder := main
385postprocess_FILES_reportbuilder := \
386	$(postprocess_XCS)/Office/ReportDesign.xcs \
387	$(postprocess_XCS)/Office/UI/DbReportWindowState.xcs \
388	$(postprocess_XCS)/Office/UI/ReportCommands.xcs \
389	$(postprocess_XCU)/Office/ExtendedColorScheme.xcu \
390	$(postprocess_XCU)/Office/ReportDesign.xcu \
391	$(postprocess_XCU)/Office/UI/DbReportWindowState.xcu \
392	$(postprocess_XCU)/Office/UI/ReportCommands.xcu \
393	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_reportbuilder_filters.xcu) \
394	$(call gb_XcuFilterTypesTarget_get_target,fcfg_reportbuilder_types.xcu) \
395	$(postprocess_MOD)/org/openoffice/Setup-reportbuilder.xcu \
396	$(postprocess_MOD)/org/openoffice/Office/Accelerators-reportbuilder.xcu \
397	$(postprocess_MOD)/org/openoffice/Office/DataAccess-reportbuilder.xcu \
398	$(postprocess_MOD)/org/openoffice/Office/Embedding-reportbuilder.xcu \
399	$(postprocess_MOD)/org/openoffice/Office/UI/Controller-reportbuilder.xcu
400endif
401
402postprocess_DEPS_writer := main
403postprocess_FILES_writer := \
404	$(postprocess_XCS)/Office/UI/WriterCommands.xcs \
405	$(postprocess_XCS)/Office/UI/WriterFormWindowState.xcs \
406	$(postprocess_XCS)/Office/UI/WriterGlobalWindowState.xcs \
407	$(postprocess_XCS)/Office/UI/WriterReportWindowState.xcs \
408	$(postprocess_XCS)/Office/UI/WriterWebWindowState.xcs \
409	$(postprocess_XCS)/Office/UI/WriterWindowState.xcs \
410	$(postprocess_XCS)/Office/UI/XFormsWindowState.xcs \
411	$(postprocess_XCU)/Office/UI/WriterCommands.xcu \
412	$(postprocess_XCU)/Office/UI/WriterFormWindowState.xcu \
413	$(postprocess_XCU)/Office/UI/WriterGlobalWindowState.xcu \
414	$(postprocess_XCU)/Office/UI/WriterReportWindowState.xcu \
415	$(postprocess_XCU)/Office/UI/WriterWebWindowState.xcu \
416	$(postprocess_XCU)/Office/UI/WriterWindowState.xcu \
417	$(postprocess_XCU)/Office/UI/XFormsWindowState.xcu \
418	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_global_filters.xcu) \
419	$(call gb_XcuFilterTypesTarget_get_target,fcfg_global_types.xcu) \
420	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_web_filters.xcu) \
421	$(call gb_XcuFilterTypesTarget_get_target,fcfg_web_types.xcu) \
422	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_writer_filters.xcu) \
423	$(call gb_XcuFilterTypesTarget_get_target,fcfg_writer_types.xcu) \
424	$(postprocess_MOD)/org/openoffice/Office/Common-writer.xcu \
425	$(postprocess_MOD)/org/openoffice/Office/Embedding-writer.xcu \
426	$(postprocess_MOD)/org/openoffice/Setup-writer.xcu
427
428ifeq (DBCONNECTIVITY,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
429postprocess_FILES_writer += \
430	$(call gb_XcuModuleTarget_get_target,connectivity/registry/writer)/org/openoffice/Office/DataAccess/Drivers-writer.xcu \
431	$(call gb_XcuModuleTarget_get_target,connectivity/registry/mysql_jdbc)/org/openoffice/Office/DataAccess/Drivers-mysql_jdbc.xcu
432postprocess_DRIVERS += writer mysql_jdbc
433endif
434
435postprocess_DEPS_xsltfilter := main
436postprocess_OPTDEPS_xsltfilter := calc writer
437postprocess_FILES_xsltfilter := \
438	$(call gb_XcuFilterFiltersTarget_get_target,fcfg_xslt_filters.xcu) \
439	$(call gb_XcuFilterTypesTarget_get_target,fcfg_xslt_types.xcu)
440
441ifneq ($(BUILD_POSTGRESQL_SDBC),)
442postprocess_XCDS += postgresql.xcd
443postprocess_DEPS_postgresql := main
444postprocess_FILES_postgresql := $(call gb_XcuModuleTarget_get_target,connectivity/registry/postgresql)/org/openoffice/Office/DataAccess/Drivers-postgresql.xcu
445postprocess_DRIVERS += postgresql
446endif
447
448ifneq (,$(and $(USING_X11), $(ENABLE_GIO)))
449postprocess_XCDS += gnome.xcd
450postprocess_DEPS_gnome := main
451postprocess_FILES_gnome += $(postprocess_MOD)/org/openoffice/ucb/Configuration-gio.xcu
452endif
453
454ifeq ($(ENABLE_ONLINE_UPDATE),TRUE)
455postprocess_XCDS += onlineupdate.xcd
456postprocess_DEPS_onlineupdate := main
457postprocess_FILES_onlineupdate := \
458	$(call gb_XcuModuleTarget_get_target,extensions/source/update/check)/org/openoffice/Office/Addons-onlineupdate.xcu \
459	$(call gb_XcuModuleTarget_get_target,extensions/source/update/check)/org/openoffice/Office/Jobs-onlineupdate.xcu
460endif
461
462ifeq ($(ENABLE_OPENGL_TRANSITIONS),TRUE)
463postprocess_XCDS += ogltrans.xcd
464postprocess_DEPS_ogltrans := main
465postprocess_FILES_ogltrans := \
466	$(postprocess_MOD)/org/openoffice/Office/Impress-ogltrans.xcu
467endif
468
469ifeq ($(ENABLE_PDFIMPORT),TRUE)
470postprocess_XCDS += pdfimport.xcd
471postprocess_OPTDEPS_pdfimport := calc draw impress math writer
472	# HACK: for all fcfg_X_types.xcu in filter/Configuration_filter.mk that
473	# include pdf_Portable_Document_Format (i.e., X in calc, draw, global,
474	# impress, math, web, writer), add optional dependencies on those XCDS that
475	# include those fcfg_X_types.xcu
476postprocess_FILES_pdfimport := \
477	$(SRCDIR)/sdext/source/pdfimport/config/pdf_import_filter.xcu \
478	$(SRCDIR)/sdext/source/pdfimport/config/pdf_types.xcu
479endif
480
481ifeq (WNT,$(OS))
482postprocess_XCDS += forcedefault.xcd
483postprocess_DEPS_forcedefault := main
484postprocess_FILES_forcedefault := \
485	$(postprocess_MOD)/org/openoffice/Office/Linguistic-ForceDefaultLanguage.xcu
486endif
487
488postprocess_DRIVERS := $(foreach driver,$(postprocess_DRIVERS),driver_$(driver))
489
490#
491# Targets
492#
493
494$(call gb_CustomTarget_get_target,postprocess/registry) : \
495	$(foreach target,$(postprocess_XCDS) \
496		$(foreach lang,$(gb_Configuration_LANGS), \
497			Langpack-$(lang).xcd \
498			fcfg_langpack_$(lang).xcd \
499			registry_$(lang).xcd \
500		) \
501	,$(call gb_XcdTarget_get_target,$(target)))
502
503#
504# Dependencies
505#
506
507define postprocess_xcd_deps
508$(call gb_XcdTarget_get_target,$(1)).xcd : \
509	$(call gb_CustomTarget_get_workdir,postprocess/registry)/$(1).list
510
511$(call gb_CustomTarget_get_workdir,postprocess/registry)/$(1).list : \
512	$(postprocess_FILES_$(1)) \
513	$(SRCDIR)/postprocess/CustomTarget_registry.mk \
514	| $(call gb_CustomTarget_get_workdir,postprocess/registry)/.dir
515
516endef
517$(foreach xcd,$(postprocess_XCDS),$(eval $(call postprocess_xcd_deps,$(basename $(xcd)))))
518
519define postprocess_lang_deps
520$(call gb_XcdTarget_get_target,Langpack-$(1).xcd) : \
521	$(call gb_CustomTarget_get_workdir,postprocess/registry)/Langpack-$(1).list
522
523$(call gb_CustomTarget_get_workdir,postprocess/registry)/Langpack-$(1).list : \
524	$(call gb_XcuLangpackTarget_get_target,Langpack-$(1).xcu) \
525	| $(call gb_CustomTarget_get_workdir,postprocess/registry)/.dir
526
527$(call gb_XcdTarget_get_target,fcfg_langpack_$(1).xcd) : \
528	$(call gb_CustomTarget_get_workdir,postprocess/registry)/fcfg_langpack_$(1).list \
529	| $(call gb_CustomTarget_get_workdir,postprocess/registry)/.dir
530
531$(call gb_CustomTarget_get_workdir,postprocess/registry)/fcfg_langpack_$(1).list : \
532	$(call gb_Configuration_get_target,fcfg_langpack) \
533	| $(call gb_CustomTarget_get_workdir,postprocess/registry)/.dir
534
535$(call gb_XcdTarget_get_target,registry_$(1).xcd) : \
536	$(call gb_CustomTarget_get_workdir,postprocess/registry)/registry_$(1).list
537
538$(call gb_CustomTarget_get_workdir,postprocess/registry)/registry_$(1).list : \
539	$(call gb_Configuration_get_target,registry) \
540	$(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),\
541		$(foreach driver,$(postprocess_DRIVERS),$(call gb_Configuration_get_target,$(driver))) \
542	) \
543	$(if $(filter TRUE,$(ENABLE_ONLINE_UPDATE)),$(call gb_Configuration_get_target,updchk)) \
544	| $(call gb_CustomTarget_get_workdir,postprocess/registry)/.dir
545
546endef
547$(foreach lang,$(gb_Configuration_LANGS),$(eval $(call postprocess_lang_deps,$(lang))))
548
549#
550# Rules
551#
552
553postprocess_main_SED := \
554	-e 's,$${ABOUTBOXPRODUCTVERSION},$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)$(LIBO_VERSION_SUFFIX),g' \
555	-e 's,$${ABOUTBOXPRODUCTVERSIONSUFFIX},$(LIBO_VERSION_SUFFIX_SUFFIX),g' \
556	-e 's,$${OOOVENDOR},$(if $(OOO_VENDOR),$(subst $(COMMA),\x2c,$(OOO_VENDOR)),The Document Foundation),g' \
557	-e 's,$${PRODUCTNAME},$(PRODUCTNAME),g' \
558	-e 's,$${PRODUCTVERSION},$(PRODUCTVERSION),g' \
559	-e 's,$${PRODUCTEXTENSION},.$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)$(LIBO_VERSION_SUFFIX),g' \
560	-e 's,$${STARTCENTER_ADDFEATURE_URL},http://extensions.libreoffice.org/,g' \
561	-e 's,$${STARTCENTER_INFO_URL},https://www.libreoffice.org/,g' \
562	-e 's,$${STARTCENTER_TEMPLREP_URL},http://templates.libreoffice.org/,g' \
563	-e 's,$${SYSTEM_LIBEXTTEXTCAT_DATA},$(SYSTEM_LIBEXTTEXTCAT_DATA),g' \
564	-e 's,$${SYSTEM_LIBNUMBERTEXT_DATA},$(SYSTEM_LIBNUMBERTEXT_DATA),g' \
565
566$(call gb_XcdTarget_get_target,main.xcd) \
567		: $(BUILDDIR)/config_host.mk.stamp \
568        | $(call gb_ExternalExecutable_get_dependencies,xsltproc)
569	$(call gb_Output_announce,main,$(true),XCD,3)
570	$(call gb_Trace_StartRange,main,XCD)
571	$(call gb_Helper_abbreviate_dirs, \
572		mkdir -p $(dir $@) && \
573		$(call gb_ExternalExecutable_get_command,xsltproc) --nonet \
574			$(SRCDIR)/solenv/bin/packregistry.xslt \
575			$(call gb_CustomTarget_get_workdir,postprocess/registry)/main.list \
576		|  sed $(postprocess_main_SED) > $@ \
577	)
578	$(call gb_Trace_EndRange,main,XCD)
579
580$(call gb_XcdTarget_get_target,%.xcd) : \
581        | $(call gb_ExternalExecutable_get_dependencies,xsltproc)
582	$(call gb_Output_announce,$*,$(true),XCD,3)
583	$(call gb_Trace_StartRange,$*,XCD)
584	$(call gb_Helper_abbreviate_dirs, \
585		mkdir -p $(dir $@) && \
586		$(call gb_ExternalExecutable_get_command,xsltproc) --nonet \
587			-o $@ $(SRCDIR)/solenv/bin/packregistry.xslt $< \
588	)
589	$(call gb_Trace_EndRange,$*,XCD)
590
591$(call gb_CustomTarget_get_workdir,postprocess/registry)/Langpack-%.list :
592	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,2)
593	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH)
594	echo '<list><dependency file="main"/><filename>$(call gb_XcuLangpackTarget_get_target,Langpack-$*.xcu)</filename></list>' > $@
595	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),ECH)
596
597# It can happen that localized fcfg_langpack_*.zip contains
598# zero-sized org/openoffice/TypeDetection/Filter.xcu; filter them out in the
599# find shell command below (see issue 110041):
600$(call gb_CustomTarget_get_workdir,postprocess/registry)/fcfg_langpack_%.list :
601	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),AWK,2)
602	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),AWK)
603	$(call gb_Helper_abbreviate_dirs,\
604	    $(FIND) $(call gb_XcuResTarget_get_target,fcfg_langpack/$*/) \
605	         -name *.xcu -size +0c \
606		| LC_ALL=C $(SORT) \
607	        | $(gb_AWK) 'BEGIN{print "<list>"} \
608	                    {print "<filename>"$$0"</filename>"} \
609	               END  {print "</list>"}' > $@ \
610	)
611	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),AWK)
612
613$(call gb_CustomTarget_get_workdir,postprocess/registry)/registry_%.list :
614	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),AWK,2)
615	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),AWK)
616	$(call gb_Helper_abbreviate_dirs,\
617	    $(FIND) $(call gb_XcuResTarget_get_target,registry/$*/) \
618	         $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),\
619	             $(foreach driver,$(postprocess_DRIVERS),\
620	                 $(call gb_XcuResTarget_get_target,$(driver)/$*/)))\
621	         $(if $(filter TRUE,$(ENABLE_ONLINE_UPDATE)),\
622	             $(call gb_XcuResTarget_get_target,updchk/$*/))\
623	         -name *.xcu \
624		| LC_ALL=C $(SORT) \
625	        | $(gb_AWK) 'BEGIN{print "<list>"} \
626	                    {print "<filename>"$$0"</filename>"} \
627	               END  {print "</list>"}' > $@ \
628	)
629	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),AWK)
630
631$(call gb_CustomTarget_get_workdir,postprocess/registry)/%.list :
632	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,2)
633	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH)
634	mv $(call var2file,$@.tmp,70,<list> $(foreach i,$(postprocess_DEPS_$*), <dependency file='$i'/>) \
635		   $(foreach i,$(postprocess_OPTDEPS_$*), <dependency file='$i' optional='true'/>) \
636		   $(foreach i,$(postprocess_FILES_$*), <filename>$(i)</filename>) </list>) \
637	   $@
638	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),ECH)
639
640# vim: set noet sw=4 ts=4:
641