blob: 061fc7bbb7d4002c3b2ab0d9139fd1c7c6e7b899 [file] [log] [blame]
Takeshi Abeb2bd33e2011-08-10 02:12:48 +09001# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
Michael Stahlc74af0d2011-04-01 20:49:35 +00002#
Michael Meeksd037b812026-03-26 15:06:16 +00003# This file is part of the Collabora Office project.
Kohei Yoshidaa6639312012-07-27 22:14:39 -04004#
Michael Meeks1e4422a2013-05-16 21:56:04 +01005# 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/.
Michael Stahlc74af0d2011-04-01 20:49:35 +00008#
Michael Meeks1e4422a2013-05-16 21:56:04 +01009# This file incorporates work covered by the following license notice:
Michael Stahlc74af0d2011-04-01 20:49:35 +000010#
Michael Meeks1e4422a2013-05-16 21:56:04 +010011# Licensed to the Apache Software Foundation (ASF) under one or more
12# contributor license agreements. See the NOTICE file distributed
13# with this work for additional information regarding copyright
14# ownership. The ASF licenses this file to you under the Apache
15# License, Version 2.0 (the "License"); you may not use this file
16# except in compliance with the License. You may obtain a copy of
17# the License at http://www.apache.org/licenses/LICENSE-2.0 .
Michael Stahlc74af0d2011-04-01 20:49:35 +000018#
Michael Stahlc74af0d2011-04-01 20:49:35 +000019
20# this file describes all the external libraries
21# depending on the configure options these may be taken from the system,
22# or the internal/bundled copy may be built.
23
Zolnai Tamás62fd6302014-04-18 12:55:56 +020024# for every external, a function gb_LinkTarget__use_FOO is defined,
Michael Stahlc74af0d2011-04-01 20:49:35 +000025# once for the system case, once for the internal case.
26
27# in the system case, no libraries should be registered, but the target-local
28# variable LIBS should be set to FOO_LIBS, and INCLUDES to FOO_CFLAGS.
29
David Ostrovsky152e2a22014-11-30 18:26:01 +010030
31ifeq ($(CPUNAME),X86_64)
32wnt_arch_subdir_optional=x64/
33wnt_arch_subdir_mandatory=x64
34else ifeq ($(CPUNAME),INTEL)
35wnt_arch_subdir_mandatory=Win32
36endif
37
Matúš Kukan8e535df2012-04-07 13:59:33 +020038# External headers
39
Michael Stahl5378dea2014-02-11 19:11:47 +010040ifneq ($(SYSTEM_ODBC_HEADERS),)
Matúš Kukan5eff0b62012-04-07 13:46:59 +020041
42define gb_LinkTarget__use_odbc_headers
43$(call gb_LinkTarget_add_defs,$(1),\
44 -DSYSTEM_ODBC_HEADERS \
45)
46
47endef
48
Michael Stahl5378dea2014-02-11 19:11:47 +010049else # !SYSTEM_ODBC_HEADERS
Matúš Kukan5eff0b62012-04-07 13:46:59 +020050
51define gb_LinkTarget__use_odbc_headers
Michael Stahlfea65aa2013-05-06 20:09:47 +020052$(call gb_LinkTarget_set_include,$(1),\
Andras Timar18992dd2021-11-30 12:45:40 +010053 -I$(SRCDIR)/external/iODBC/inc \
Michael Stahlfea65aa2013-05-06 20:09:47 +020054 $$(INCLUDE) \
55)
Matúš Kukan5eff0b62012-04-07 13:46:59 +020056
57endef
58
Michael Stahl5378dea2014-02-11 19:11:47 +010059endif # SYSTEM_ODBC_HEADERS
Matúš Kukan5eff0b62012-04-07 13:46:59 +020060
Michael Stahle3abec32014-02-11 15:57:18 +010061ifneq ($(SYSTEM_MDDS),)
Matúš Kukan22f50fb2012-08-29 12:27:17 +020062
David Tardond5d39272014-03-03 15:29:27 +010063gb_ExternalProject__use_mdds_headers :=
64
David Tardon93aff252014-03-03 16:23:27 +010065define gb_LinkTarget__use_mdds_headers
66$(call gb_LinkTarget_set_include,$(1),\
67 $(MDDS_CFLAGS) \
68 $$(INCLUDE) \
69)
70
71endef
Matúš Kukan22f50fb2012-08-29 12:27:17 +020072
Michael Stahle3abec32014-02-11 15:57:18 +010073else # !SYSTEM_MDDS
Matúš Kukan22f50fb2012-08-29 12:27:17 +020074
David Tardond5d39272014-03-03 15:29:27 +010075define gb_ExternalProject__use_mdds_headers
David Tardon7fffbdc2015-06-24 15:08:48 +020076$(call gb_ExternalProject_use_unpacked,$(1),mdds)
David Tardond5d39272014-03-03 15:29:27 +010077
78endef
79
Matúš Kukan22f50fb2012-08-29 12:27:17 +020080define gb_LinkTarget__use_mdds_headers
81$(call gb_LinkTarget_use_unpacked,$(1),mdds)
82$(call gb_LinkTarget_set_include,$(1),\
David Tardon93aff252014-03-03 16:23:27 +010083 $(MDDS_CFLAGS) \
Matúš Kukan22f50fb2012-08-29 12:27:17 +020084 $$(INCLUDE) \
85)
86
87endef
88
Michael Stahle3abec32014-02-11 15:57:18 +010089endif # SYSTEM_MDDS
Matúš Kukan22f50fb2012-08-29 12:27:17 +020090
Michael Stahlff69e722014-02-11 19:08:10 +010091ifneq ($(SYSTEM_GLM),)
Markus Mohrhardae9e6112013-12-23 17:31:55 +000092
Caolán McNamara2f866012020-02-06 16:45:18 +000093define gb_LinkTarget__use_glm_headers
94$(call gb_LinkTarget_add_defs,$(1),\
95 -DGLM_FORCE_CTOR_INIT \
96)
97
98endef
99
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200100gb_ExternalProject__use_glm_headers :=
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000101
102else
103
104define gb_LinkTarget__use_glm_headers
Caolán McNamara2f866012020-02-06 16:45:18 +0000105$(call gb_LinkTarget_add_defs,$(1),\
106 -DGLM_FORCE_CTOR_INIT \
107)
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000108$(call gb_LinkTarget_use_unpacked,$(1),glm)
109$(call gb_LinkTarget_set_include,$(1),\
David Tardon13494912015-05-19 16:59:26 +0200110 $(GLM_CFLAGS) \
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000111 $$(INCLUDE) \
112)
113
114endef
115
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200116define gb_ExternalProject__use_glm_headers
David Tardon682e3592015-06-24 15:11:40 +0200117$(call gb_ExternalProject_use_unpacked,$(1),glm)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200118
119endef
120
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000121endif
122
Luboš Luňák478f2902019-10-12 16:24:03 +0200123ifneq ($(ENABLE_SKIA),)
124define gb_LinkTarget__use_skia
125$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200126 -I$(gb_UnpackedTarball_workdir)/skia/include/core \
127 -I$(gb_UnpackedTarball_workdir)/skia/include/effects \
128 -I$(gb_UnpackedTarball_workdir)/skia/include/gpu \
129 -I$(gb_UnpackedTarball_workdir)/skia/include/config \
130 -I$(gb_UnpackedTarball_workdir)/skia/include/ports \
131 -I$(gb_UnpackedTarball_workdir)/skia/include/private \
132 -I$(gb_UnpackedTarball_workdir)/skia/include/third_party/vulkan \
133 -I$(gb_UnpackedTarball_workdir)/skia/tools/gpu \
134 -I$(gb_UnpackedTarball_workdir)/skia \
Luboš Luňák2eeb6822020-06-25 10:35:00 +0200135 -I$(SRCDIR)/external/skia/inc/ \
Luboš Luňáka81cddb2019-10-17 12:07:48 +0200136 $$(INCLUDE) \
Luboš Luňák478f2902019-10-12 16:24:03 +0200137)
Noel Grandin8b517df2024-05-07 19:27:43 +0200138$(call gb_LinkTarget_use_libraries,$(1),skia)
Luboš Luňáka81cddb2019-10-17 12:07:48 +0200139$(call gb_LinkTarget_add_defs,$(1),\
140 -DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \
Noel Grandin8b517df2024-05-07 19:27:43 +0200141 -DSKIA_DLL \
Luboš Luňáka81cddb2019-10-17 12:07:48 +0200142)
Luboš Luňák478f2902019-10-12 16:24:03 +0200143endef
Noel Grandin8b517df2024-05-07 19:27:43 +0200144$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
145 skia \
146))
Luboš Luňák478f2902019-10-12 16:24:03 +0200147endif
148
Xisco Fauli1cb84d62025-10-30 20:11:23 +0100149ifneq ($(filter LZMA,$(BUILD_TYPE)),)
150ifneq ($(SYSTEM_LZMA),)
151
152define gb_LinkTarget__use_lzma_impl
153$(if $(2),,$(error gb_LinkTarget__use_lzma_impl needs additional parameter))
154
155$(call gb_LinkTarget_add_defs,$(1),\
156 -DSYSTEM_LZMA \
157)
158
159$(call gb_LinkTarget_add_libs,$(1),-llzma)
160
161endef
162
163gb_ExternalProject__use_lzma :=
164
165else # !SYSTEM_LZMA
166
167define gb_LinkTarget__use_lzma_impl
168$(if $(2),,$(error gb_LinkTarget__use_lzma_impl needs additional parameter))
169
170$(call gb_LinkTarget_set_include,$(1),\
171 -I$(gb_UnpackedTarball_workdir)/lzma \
172 $$(INCLUDE) \
173)
174
175$(call gb_LinkTarget_use_static_libraries,$(1),\
176 $(2) \
177)
178
179endef
180
181define gb_ExternalProject__use_lzma
182$(call gb_ExternalProject_use_static_libraries,$(1),lzma)
183
184endef
185
186endif # SYSTEM_LZMA
187endif # LZMA
188
Xisco Fauli71d738e2025-11-03 14:20:12 +0100189ifneq ($(filter SQLITE3,$(BUILD_TYPE)),)
Xisco Faulif98ce0f2025-10-27 14:39:23 +0100190ifneq ($(SYSTEM_SQLITE3),)
191
192define gb_LinkTarget__use_sqlite3_impl
193$(if $(2),,$(error gb_LinkTarget__use_sqlite3_impl needs additional parameter))
194
195$(call gb_LinkTarget_add_defs,$(1),\
196 -DSYSTEM_SQLITE3 \
197)
198
199$(call gb_LinkTarget_add_libs,$(1),-lsqlite3)
200
201endef
202
203gb_ExternalProject__use_sqlite3 :=
204
205else # !SYSTEM_SQLITE3
206
207define gb_LinkTarget__use_sqlite3_impl
208$(if $(2),,$(error gb_LinkTarget__use_sqlite3_impl needs additional parameter))
209
210$(call gb_LinkTarget_set_include,$(1),\
211 -I$(gb_UnpackedTarball_workdir)/sqlite3 \
212 $$(INCLUDE) \
213)
214
215$(call gb_LinkTarget_use_static_libraries,$(1),\
216 $(2) \
217)
218
219endef
220
221define gb_ExternalProject__use_sqlite3
222$(call gb_ExternalProject_use_static_libraries,$(1),sqlite3)
223
224endef
225
226endif # SYSTEM_SQLITE3
Xisco Fauli71d738e2025-11-03 14:20:12 +0100227endif # SQLITE3
Xisco Faulif98ce0f2025-10-27 14:39:23 +0100228
Michael Stahl674e7912013-05-06 20:23:49 +0200229ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
David Tardoneafaec92012-12-21 14:08:27 +0100230
231define gb_LinkTarget__use_sane_headers
Michael Stahl72279ea2013-05-06 20:14:35 +0200232$(call gb_LinkTarget_set_include,$(1),\
Mike Kaganski585d9802017-12-22 20:46:12 +0300233 $(if $(filter WNT,$(OS)), \
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200234 -I$(gb_UnpackedTarball_workdir)/twain_dsm/pub/include, \
Mike Kaganski585d9802017-12-22 20:46:12 +0300235 -I$(SRCDIR)/external/sane/inc) \
236 $$(INCLUDE) \
David Tardoneafaec92012-12-21 14:08:27 +0100237)
238
Mike Kaganski585d9802017-12-22 20:46:12 +0300239ifeq ($(OS),WNT)
240$(call gb_LinkTarget_use_unpacked,$(1),twain_dsm)
241endif
242
David Tardoneafaec92012-12-21 14:08:27 +0100243endef
244
245else
246
247gb_LinkTarget__use_sane_headers :=
248
249endif
250
Michael Stahl8555b372014-02-11 19:28:33 +0100251ifneq ($(SYSTEM_BLUEZ),)
David Tardon8fa06c82013-11-05 06:53:49 +0100252
253gb_LinkTarget__use_bluez_bluetooth_headers :=
254
255else # !SYSTEM_BLUEZ
256
257define gb_LinkTarget__use_bluez_bluetooth_headers
258$(call gb_LinkTarget_set_include,$(1),\
259 -I$(SRCDIR)/external/bluez_bluetooth/inc \
260 $$(INCLUDE) \
261)
262
263endef
264
265endif # SYSTEM_BLUEZ
266
Matúš Kukan8e535df2012-04-07 13:59:33 +0200267# External libraries
268
Michael Stahle3abec32014-02-11 15:57:18 +0100269ifneq ($(SYSTEM_CPPUNIT),)
David Tardon785e1d92011-07-25 10:34:22 +0200270
271define gb_LinkTarget__use_cppunit
272$(call gb_LinkTarget_set_include,$(1),\
273 $$(INCLUDE) \
274 $(CPPUNIT_CFLAGS) \
275)
276
277$(call gb_LinkTarget_add_libs,$(1),\
278 $(CPPUNIT_LIBS) \
279)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100280
David Tardon785e1d92011-07-25 10:34:22 +0200281endef
282
Michael Stahle3abec32014-02-11 15:57:18 +0100283else # !SYSTEM_CPPUNIT
David Tardon785e1d92011-07-25 10:34:22 +0200284
David Tardon785e1d92011-07-25 10:34:22 +0200285define gb_LinkTarget__use_cppunit
Markus Mohrhardd63a9402016-02-23 11:28:31 +0100286$(call gb_LinkTarget_use_external_project,$(1),cppunit, full)
Peter Foley143835b2012-11-25 16:37:40 -0500287
Peter Foley143835b2012-11-25 16:37:40 -0500288$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200289 -I$(gb_UnpackedTarball_workdir)/cppunit/include\
Peter Foley143835b2012-11-25 16:37:40 -0500290 $$(INCLUDE) \
291)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100292
Michael Stahl77fe50b2013-10-23 23:35:16 +0200293ifeq ($(COM),MSC)
294$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200295 $(gb_UnpackedTarball_workdir)/cppunit/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
Michael Stahl77fe50b2013-10-23 23:35:16 +0200296)
297else
298$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200299 -L$(gb_UnpackedTarball_workdir)/cppunit/src/cppunit/.libs -lcppunit \
Michael Stahl77fe50b2013-10-23 23:35:16 +0200300)
301endif
302
David Tardon785e1d92011-07-25 10:34:22 +0200303endef
304
Michael Stahle3abec32014-02-11 15:57:18 +0100305endif # SYSTEM_CPPUNIT
Michael Stahlc74af0d2011-04-01 20:49:35 +0000306
Jan-Marek Glogowskia6fae992022-01-05 11:49:19 +0100307
308ifeq ($(ENABLE_EPOXY),TRUE)
309ifeq ($(SYSTEM_EPOXY),TRUE)
David Tardon864f7752014-02-09 21:19:07 +0100310
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000311define gb_LinkTarget__use_epoxy
David Tardon864f7752014-02-09 21:19:07 +0100312$(call gb_LinkTarget_set_include,$(1),\
313 $$(INCLUDE) \
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000314 $(EPOXY_CFLAGS) \
David Tardon864f7752014-02-09 21:19:07 +0100315)
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000316$(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS))
David Tardon864f7752014-02-09 21:19:07 +0100317
318endef
319
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000320gb_ExternalProject__use_epoxy :=
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200321
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000322else # !SYSTEM_EPOXY
David Tardon864f7752014-02-09 21:19:07 +0100323
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000324define gb_LinkTarget__use_epoxy
325$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200326 -I$(gb_UnpackedTarball_workdir)/epoxy/include \
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000327 $$(INCLUDE) \
328)
329
330$(call gb_LinkTarget_use_libraries,$(1),\
331 epoxy \
332)
333
334endef
335
336$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
337 epoxy \
Michael Stahl0c94f232014-03-18 17:17:04 +0100338))
339
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000340define gb_ExternalProject__use_epoxy
341$(call gb_ExternalProject_use_external_project,$(1),epoxy)
David Tardon864f7752014-02-09 21:19:07 +0100342
343endef
344
Jan-Marek Glogowskia6fae992022-01-05 11:49:19 +0100345endif # !SYSTEM_EPOXY
346else # !ENABLE_EPOXY
347
348gb_LinkTarget__use_epoxy :=
349gb_ExternalProject__use_epoxy :=
350
351endif # !ENABLE_EPOXY
352
David Tardon864f7752014-02-09 21:19:07 +0100353
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200354define gb_LinkTarget__use_iconv
Tamas Bunth26b40fc2018-08-16 16:35:17 +0200355ifeq ($(COM),MSC)
356$(call gb_LinkTarget_add_libs,$(1),libiconv.lib)
357else
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200358$(call gb_LinkTarget_add_libs,$(1),-liconv)
Tamas Bunth26b40fc2018-08-16 16:35:17 +0200359endif
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200360endef
361
Michael Stahl871d75e2017-09-14 13:30:05 +0200362ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
Peter Foleyc322d502013-01-23 16:29:08 -0500363
Michael Stahl871d75e2017-09-14 13:30:05 +0200364define gb_LinkTarget__use_mariadb-connector-c
David Tardon217eae42013-11-05 06:49:33 +0100365$(call gb_LinkTarget_set_include,$(1),\
366 $$(INCLUDE) \
367 $(MARIADB_CFLAGS) \
368)
369$(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
370
371endef
Michael Stahl871d75e2017-09-14 13:30:05 +0200372gb_ExternalProject__use_mariadb-connector-c :=
David Tardon217eae42013-11-05 06:49:33 +0100373
Michael Stahl871d75e2017-09-14 13:30:05 +0200374else # !SYSTEM_MARIADB_CONNECTOR_C
David Tardon217eae42013-11-05 06:49:33 +0100375
Michael Stahl871d75e2017-09-14 13:30:05 +0200376define gb_LinkTarget__use_mariadb-connector-c
David Tardon217eae42013-11-05 06:49:33 +0100377$(call gb_LinkTarget_set_include,$(1),\
378 $$(INCLUDE) \
379 $(MARIADB_CFLAGS) \
380)
381$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahl871d75e2017-09-14 13:30:05 +0200382 mariadb-connector-c \
David Tardon217eae42013-11-05 06:49:33 +0100383)
Michael Stahl13a05ee2018-08-20 19:07:40 +0200384ifeq ($(OS),MACOSX)
385$(call gb_LinkTarget_add_libs,$(1),\
386 -liconv \
387)
388endif
Michael Stahlfe041bb2020-06-16 15:09:50 +0200389$(call gb_LinkTarget_use_system_win32_libs,$(1),\
390 ws2_32 \
391 advapi32 \
392 kernel32 \
393 shlwapi \
394 crypt32 \
Mike Kaganski5a0498d2023-10-20 08:52:46 +0300395 bcrypt \
Michael Stahlfe041bb2020-06-16 15:09:50 +0200396)
David Tardon217eae42013-11-05 06:49:33 +0100397
398endef
Michael Stahl871d75e2017-09-14 13:30:05 +0200399define gb_ExternalProject__use_mariadb-connector-c
400$(call gb_ExternalProject_use_static_libraries,$(1),mariadb-connector-c)
David Tardon217eae42013-11-05 06:49:33 +0100401
402endef
403
Michael Stahl871d75e2017-09-14 13:30:05 +0200404endif # SYSTEM_MARIADB_CONNECTOR_C
David Tardon217eae42013-11-05 06:49:33 +0100405
406
Michael Stahl871d75e2017-09-14 13:30:05 +0200407ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
David Tardon217eae42013-11-05 06:49:33 +0100408
Peter Foleyc322d502013-01-23 16:29:08 -0500409define gb_LinkTarget__use_mysql
410
411$(call gb_LinkTarget_add_defs,$(1),\
Fridrich Štrba1bf43062013-03-06 11:45:50 +0100412 -DSYSTEM_MARIADB \
Peter Foleyc322d502013-01-23 16:29:08 -0500413)
414
415$(call gb_LinkTarget_add_libs,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100416 $(MARIADB_LIBS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500417)
418
419$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100420 $(MARIADB_CFLAGS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500421 $$(INCLUDE) \
422)
423endef
424
425else
426
427define gb_LinkTarget__use_mysql
428
429$(call gb_LinkTarget_set_include,$(1),\
Peter Foleyc322d502013-01-23 16:29:08 -0500430 $$(INCLUDE) \
431)
432
433endef
434
435endif
436
Michael Stahl04ff5352014-02-11 16:21:04 +0100437ifneq ($(SYSTEM_ZLIB),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000438
439define gb_LinkTarget__use_zlib
Michael Stahla88ef232011-04-13 16:11:41 +0000440$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000441 -DSYSTEM_ZLIB \
Stephan Bergmann2030e382021-08-04 08:00:16 +0200442 -DZLIB_CONST \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000443)
444$(call gb_LinkTarget_add_libs,$(1),-lz)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100445
Michael Stahlc74af0d2011-04-01 20:49:35 +0000446endef
447
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100448gb_ExternalProject__use_zlib :=
449
Michael Stahlc74af0d2011-04-01 20:49:35 +0000450else # !SYSTEM_ZLIB
451
David Tardoncb276232012-10-26 15:33:26 +0200452define gb_LinkTarget__use_zlib_multiarch
453$(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
454
Stephan Bergmann2030e382021-08-04 08:00:16 +0200455$(call gb_LinkTarget_add_defs,$(1), \
456 -DZLIB_CONST \
457)
458
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200459$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl3c38b772013-05-08 15:47:24 +0200460 $(ZLIB_CFLAGS) \
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200461 $$(INCLUDE) \
462)
David Tardoncb276232012-10-26 15:33:26 +0200463
Michael Stahlc923f7d2012-04-07 23:22:08 +0200464$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardoncb276232012-10-26 15:33:26 +0200465 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000466)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100467
Michael Stahlc74af0d2011-04-01 20:49:35 +0000468endef
469
David Tardoncb276232012-10-26 15:33:26 +0200470define gb_LinkTarget__use_zlib
471$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
472
473endef
474
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100475define gb_ExternalProject__use_zlib
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100476$(call gb_ExternalProject_use_static_libraries,$(1),zlib)
477
478endef
479
Michael Stahlc74af0d2011-04-01 20:49:35 +0000480endif # SYSTEM_ZLIB
481
Akshay Kumar Dubeyb4107492025-04-16 02:05:16 +0530482ifneq ($(SYSTEM_ZSTD),)
483 define gb_LinkTarget__use_zstd
484 $(call gb_LinkTarget_add_libs,$(1),-lzstd)
485 endef
486
487 gb_ExternalProject__use_zstd :=
488else
489 define gb_LinkTarget__use_zstd
490 $(call gb_LinkTarget_set_include,$(1),$(ZSTD_CFLAGS) $$(INCLUDE))
491 $(call gb_LinkTarget_use_static_libraries,$(1),zstd)
492 endef
493
494 define gb_ExternalProject__use_zstd
495 $(call gb_ExternalProject_use_static_libraries,$(1),zstd)
496 endef
497endif
498
Ujjawal Kumar8539f392025-06-13 23:07:17 +0530499ifneq ($(SYSTEM_MD4C),)
500 define gb_LinkTarget__use_md4c
501 $(call gb_LinkTarget_add_libs,$(1),$(MD4C_LIBS))
502 endef
503
504 gb_ExternalProject__use_md4c :=
505else
506 define gb_LinkTarget__use_md4c
507 $(call gb_LinkTarget_set_include,$(1),$(MD4C_CFLAGS) $$(INCLUDE))
508 $(call gb_LinkTarget_use_static_libraries,$(1),md4c)
509 endef
510
511 define gb_ExternalProject__use_md4c
512 $(call gb_ExternalProject_use_static_libraries,$(1),md4c)
513 endef
514endif
515
Michael Stahlc74af0d2011-04-01 20:49:35 +0000516
Michael Stahl77d297f2017-09-13 22:50:14 +0200517ifneq ($(SYSTEM_LIBJPEG),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000518
Michael Stahl77d297f2017-09-13 22:50:14 +0200519define gb_LinkTarget__use_libjpeg
Caolán McNamara1295f492021-10-20 16:07:29 +0100520$(call gb_LinkTarget_set_include,$(1),\
521 $$(INCLUDE) \
522 $(LIBJPEG_CFLAGS) \
523)
Michael Stahleea709f2016-11-02 14:13:54 +0100524$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000525$(call gb_LinkTarget_set_ldflags,$(1),\
Michael Stahl73d2fe92011-04-13 16:11:39 +0000526 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000527)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100528
Michael Stahlc74af0d2011-04-01 20:49:35 +0000529endef
530
Michael Stahl77d297f2017-09-13 22:50:14 +0200531gb_ExternalProject__use_libjpeg :=
Michael Stahleea709f2016-11-02 14:13:54 +0100532
Caolán McNamaraae967542017-03-14 14:20:36 +0000533else
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100534
Michael Stahl77d297f2017-09-13 22:50:14 +0200535define gb_LinkTarget__use_libjpeg
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100536$(call gb_LinkTarget_set_include,$(1),\
Xisco Faulic9057562025-04-02 11:56:10 +0200537 -I$(gb_UnpackedTarball_workdir)/libjpeg-turbo/src \
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100538 $$(INCLUDE) \
539)
Caolán McNamara1295f492021-10-20 16:07:29 +0100540$(call gb_LinkTarget_use_static_libraries,$(1),libjpeg-turbo)
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100541
542endef
543
Michael Stahl77d297f2017-09-13 22:50:14 +0200544define gb_ExternalProject__use_libjpeg
Stephan Bergmannf6e02292022-01-02 20:14:04 +0100545$(call gb_ExternalProject_use_static_libraries,$(1),libjpeg-turbo)
Michael Stahleea709f2016-11-02 14:13:54 +0100546
547endef
548
Michael Stahl77d297f2017-09-13 22:50:14 +0200549endif # SYSTEM_LIBJPEG
Michael Stahlc74af0d2011-04-01 20:49:35 +0000550
Michael Stahlab586f12014-02-11 19:25:30 +0100551ifneq ($(SYSTEM_MYTHES),)
Peter Foley1d1bab42012-10-28 12:00:06 -0400552
553define gb_LinkTarget__use_mythes
Rene Engelhard99ef1f52012-10-28 23:00:03 +0100554$(call gb_LinkTarget_set_include,$(1),\
555 $$(INCLUDE) \
556 $(MYTHES_CFLAGS) \
557)
558$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
559
Peter Foley1d1bab42012-10-28 12:00:06 -0400560endef
561
562else # !SYSTEM_MYTHES
563
Peter Foley1d1bab42012-10-28 12:00:06 -0400564define gb_LinkTarget__use_mythes
Michael Stahl90ad80e32013-05-07 23:59:00 +0200565$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200566 -I$(gb_UnpackedTarball_workdir)/mythes \
Michael Stahl90ad80e32013-05-07 23:59:00 +0200567 $$(INCLUDE) \
568)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200569
570ifeq ($(COM),MSC)
Matúš Kukan327db9f2012-10-28 22:40:30 +0100571$(call gb_LinkTarget_use_static_libraries,$(1),\
572 mythes \
Peter Foley1d1bab42012-10-28 12:00:06 -0400573)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200574else
575$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
576$(call gb_LinkTarget_use_external_project,$(1),mythes)
577endif
Matúš Kukan327db9f2012-10-28 22:40:30 +0100578
Peter Foley1d1bab42012-10-28 12:00:06 -0400579endef
580
581endif # SYSTEM_MYTHES
582
Michael Stahlc74af0d2011-04-01 20:49:35 +0000583
Michael Stahl46648152014-02-11 16:33:18 +0100584ifneq ($(SYSTEM_EXPAT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000585
David Tardon51149802013-04-09 09:22:20 +0200586define gb_LinkTarget__use_expat_impl
587$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000588
Michael Stahla88ef232011-04-13 16:11:41 +0000589$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000590 -DSYSTEM_EXPAT \
591)
592
593$(call gb_LinkTarget_add_libs,$(1),-lexpat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100594
Michael Stahlc74af0d2011-04-01 20:49:35 +0000595endef
596
Michael Stahl77289672012-11-17 00:36:29 +0100597gb_ExternalProject__use_expat :=
598
Michael Stahlc74af0d2011-04-01 20:49:35 +0000599else # !SYSTEM_EXPAT
600
David Tardon51149802013-04-09 09:22:20 +0200601define gb_LinkTarget__use_expat_impl
602$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000603
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700604$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200605 -I$(gb_UnpackedTarball_workdir)/expat/lib \
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700606 $$(INCLUDE) \
607)
608
Michael Stahlc923f7d2012-04-07 23:22:08 +0200609$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000610 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000611)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100612
Michael Stahlc74af0d2011-04-01 20:49:35 +0000613endef
614
Michael Stahl77289672012-11-17 00:36:29 +0100615define gb_ExternalProject__use_expat
Michael Stahl77289672012-11-17 00:36:29 +0100616$(call gb_ExternalProject_use_static_libraries,$(1),expat)
617
618endef
619
Michael Stahlc74af0d2011-04-01 20:49:35 +0000620endif # SYSTEM_EXPAT
621
David Tardon51149802013-04-09 09:22:20 +0200622define gb_LinkTarget__use_expat
623$(call gb_LinkTarget__use_expat_impl,$(1),expat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100624
Michael Stahlc74af0d2011-04-01 20:49:35 +0000625endef
626
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100627ifneq ($(SYSTEM_HYPH),)
Peter Foleydd584cb2012-11-03 13:54:46 -0400628
629define gb_LinkTarget__use_hyphen
630$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
631
632endef
633
634else # !SYSTEM_HYPH
635
Peter Foleydd584cb2012-11-03 13:54:46 -0400636define gb_LinkTarget__use_hyphen
637$(call gb_LinkTarget_use_unpacked,$(1),hyphen)
638$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200639 -I$(gb_UnpackedTarball_workdir)/hyphen\
Peter Foleydd584cb2012-11-03 13:54:46 -0400640 $$(INCLUDE) \
641)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200642
643ifeq ($(COM),MSC)
Peter Foleydd584cb2012-11-03 13:54:46 -0400644$(call gb_LinkTarget_use_static_libraries,$(1),\
645 hyphen \
646)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200647else
648$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
649$(call gb_LinkTarget_use_external_project,$(1),hyphen)
650endif
Peter Foleydd584cb2012-11-03 13:54:46 -0400651
652endef
653
654endif # SYSTEM_HYPH
655
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100656ifneq ($(SYSTEM_HUNSPELL),)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100657
658define gb_LinkTarget__use_hunspell
659$(call gb_LinkTarget_set_include,$(1),\
660 $$(INCLUDE) \
661 $(HUNSPELL_CFLAGS) \
662)
663$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
664
665endef
666
Michael Stahl2f6261f2013-09-19 19:28:36 +0200667gb_ExternalProject__use_hunspell :=
668
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100669else # !SYSTEM_HUNSPELL
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +0200670ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100671
672define gb_LinkTarget__use_hunspell
673$(call gb_LinkTarget_add_defs,$(1),\
674 -DHUNSPELL_STATIC \
675)
Matúš Kukan7a030392012-10-29 23:29:37 +0100676$(call gb_LinkTarget_use_unpacked,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100677$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200678 -I$(gb_UnpackedTarball_workdir)/hunspell/src/hunspell\
Matúš Kukan7a030392012-10-29 23:29:37 +0100679 $$(INCLUDE) \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100680)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200681
682ifeq ($(COM),MSC)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200683$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan327db9f2012-10-28 22:40:30 +0100684 hunspell \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100685)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200686else
687$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
688$(call gb_LinkTarget_use_external_project,$(1),hunspell)
689endif
690
691endef
692
693define gb_ExternalProject__use_hunspell
694$(call gb_ExternalProject_use_external_project,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100695
696endef
697
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +0200698endif # ENABLE_WASM_STRIP_HUNSPELL
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100699endif # SYSTEM_HUNSPELL
700
701
Michael Stahladddbbc2014-02-11 18:40:09 +0100702ifneq ($(SYSTEM_BOOST),)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200703
David Tardon57c439a2016-03-08 06:06:36 +0100704define gb_LinkTarget__use_boost_lib
David Tardon0f6919c2012-06-06 17:04:01 +0200705$(call gb_LinkTarget_set_include,$(1),\
706 $$(INCLUDE) \
707 $(BOOST_CPPFLAGS) \
708)
709
710$(call gb_LinkTarget_add_ldflags,$(1),\
711 $(BOOST_LDFLAGS) \
712)
713
David Tardon57c439a2016-03-08 06:06:36 +0100714$(call gb_LinkTarget_add_libs,$(1),$(2))
715
716endef
717
Caolán McNamarac25eee42017-04-19 12:02:25 +0100718define gb_LinkTarget__use_boost_locale
719$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_LOCALE_LIB))
720
721endef
722
David Tardon23d2e0e2016-03-08 08:35:59 +0100723define gb_LinkTarget__use_boost_date_time
David Tardon57c439a2016-03-08 06:06:36 +0100724$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_DATE_TIME_LIB))
David Tardon0f6919c2012-06-06 17:04:01 +0200725
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200726endef
727
David Tardonb4339fa2016-03-08 06:08:36 +0100728define gb_LinkTarget__use_boost_filesystem
729$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
730
731endef
732
733gb_ExternalProject__use_boost_filesystem :=
734
Markus Mohrhard36788e92014-01-08 13:17:28 +0100735define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100736$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_IOSTREAMS_LIB))
Markus Mohrhard36788e92014-01-08 13:17:28 +0100737
738endef
739
David Tardon6d9de6b2014-03-03 20:39:13 +0100740gb_ExternalProject__use_boost_iostreams :=
741
Stephan Bergmann93208022013-02-16 22:56:19 +0100742define gb_LinkTarget__use_boost_headers
743$(call gb_LinkTarget_set_include,$(1),\
744 $$(INCLUDE) \
745 $(BOOST_CPPFLAGS) \
746)
747
748endef
749
Peter Foleycdb6eca2012-11-10 08:56:12 -0500750gb_ExternalProject__use_boost_headers:=
751
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200752else # !SYSTEM_BOOST
753
David Tardon57c439a2016-03-08 06:06:36 +0100754define gb_LinkTarget__use_boost_lib
Michael Stahl7f2e1682012-09-06 20:22:11 +0200755$(call gb_LinkTarget_add_defs,$(1),\
756 -DBOOST_ALL_NO_LIB \
757)
758
David Tardon57c439a2016-03-08 06:06:36 +0100759$(call gb_LinkTarget_use_static_libraries,$(1),$(2))
760
761endef
762
Caolán McNamarac25eee42017-04-19 12:02:25 +0100763define gb_LinkTarget__use_boost_locale
764$(call gb_LinkTarget__use_boost_lib,$(1),boost_locale)
765$(call gb_LinkTarget_add_libs,$(1),\
766 $(if $(filter $(OS),MACOSX),-liconv) \
767)
768
769endef
770
David Tardon23d2e0e2016-03-08 08:35:59 +0100771define gb_LinkTarget__use_boost_date_time
772$(call gb_LinkTarget__use_boost_lib,$(1),boost_date_time)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200773
774endef
775
David Tardond72a33c2016-03-08 05:57:40 +0100776define gb_LinkTarget__use_boost_filesystem
David Tardon57c439a2016-03-08 06:06:36 +0100777$(call gb_LinkTarget__use_boost_lib,$(1),boost_filesystem)
David Tardond72a33c2016-03-08 05:57:40 +0100778
779endef
780
781define gb_ExternalProject__use_boost_filesystem
782$(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
783endef
784
Markus Mohrhard36788e92014-01-08 13:17:28 +0100785define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100786$(call gb_LinkTarget__use_boost_lib,$(1),boost_iostreams)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300787
788endef
789
Markus Mohrhard36788e92014-01-08 13:17:28 +0100790define gb_ExternalProject__use_boost_iostreams
791$(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
792endef
793
Peter Foleye1f742a2012-11-12 18:37:10 -0500794define gb_LinkTarget__use_boost_headers
Christian Lohmaier1654a1e72012-11-14 18:11:30 +0100795$(call gb_LinkTarget_use_unpacked,$(1),boost)
Michael Stahla53586f2013-01-26 21:19:13 +0100796$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmannf51656c2016-05-31 13:32:15 +0200797 $(BOOST_CPPFLAGS) \
Michael Stahla53586f2013-01-26 21:19:13 +0100798 $$(INCLUDE) \
799)
Peter Foleye1f742a2012-11-12 18:37:10 -0500800
801endef
802
Peter Foleycdb6eca2012-11-10 08:56:12 -0500803define gb_ExternalProject__use_boost_headers
David Tardon682e3592015-06-24 15:11:40 +0200804$(call gb_ExternalProject_use_unpacked,$(1),boost)
Peter Foleycdb6eca2012-11-10 08:56:12 -0500805
806endef
David Tardond72a33c2016-03-08 05:57:40 +0100807
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200808endif # SYSTEM_BOOST
809
810
Michael Stahl38abb6a2017-09-13 23:44:32 +0200811ifneq ($(SYSTEM_LIBCMIS),)
Matúš Kukan464b4332012-01-15 02:12:49 +0100812
Michael Stahl38abb6a2017-09-13 23:44:32 +0200813define gb_LinkTarget__use_libcmis
Matúš Kukan464b4332012-01-15 02:12:49 +0100814$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100815 $$(INCLUDE) \
Michael Stahl38abb6a2017-09-13 23:44:32 +0200816 $(LIBCMIS_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100817)
Michael Stahl38abb6a2017-09-13 23:44:32 +0200818$(call gb_LinkTarget_add_libs,$(1),$(LIBCMIS_LIBS))
Matúš Kukan464b4332012-01-15 02:12:49 +0100819
820endef
821
Michael Stahl38abb6a2017-09-13 23:44:32 +0200822else # !SYSTEM_LIBCMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100823
Michael Stahl38abb6a2017-09-13 23:44:32 +0200824define gb_LinkTarget__use_libcmis
Michael Stahl759d02b2013-05-08 00:55:21 +0200825$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200826 -I$(gb_UnpackedTarball_workdir)/libcmis/inc \
Michael Stahl759d02b2013-05-08 00:55:21 +0200827 $$(INCLUDE) \
828)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200829$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahl38abb6a2017-09-13 23:44:32 +0200830 libcmis \
Matúš Kukan464b4332012-01-15 02:12:49 +0100831)
832
833endef
834
Michael Stahl38abb6a2017-09-13 23:44:32 +0200835endif # SYSTEM_LIBCMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100836
David Tardon32cd12c2014-04-26 19:46:40 +0200837ifeq ($(ENABLE_JAVA),TRUE)
David Tardon2a71e152014-04-26 16:08:07 +0200838
David Tardon2a71e152014-04-26 16:08:07 +0200839define gb_LinkTarget__use_jawt
840$(call gb_LinkTarget_add_libs,$(1),\
841 $(JAWTLIB) \
842)
843
844endef
Peter Foleye5ccda42012-12-25 11:23:58 -0500845
David Tardon2a71e152014-04-26 16:08:07 +0200846else # !ENABLE_JAVA
847
848gb_LinkTarget__use_jawt :=
849
850endif # ENABLE_JAVA
Matúš Kukan464b4332012-01-15 02:12:49 +0100851
Michael Stahl23647592014-02-11 19:04:20 +0100852ifneq ($(SYSTEM_LIBATOMIC_OPS),)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100853
854define gb_LinkTarget__use_libatomic_ops
855$(call gb_LinkTarget_set_include,$(1),\
856 $$(INCLUDE) \
857 $(LIBATOMIC_OPS_CFLAGS) \
858)
859$(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
860
861endef
862gb_ExternalProject__use_libatomic_ops :=
863
864else # !SYSTEM_LIBATOMIC_OPS
865
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100866define gb_LinkTarget__use_libatomic_ops
867$(call gb_LinkTarget_set_include,$(1),\
868$(LIBATOMIC_OPS_CFLAGS) \
869 $$(INCLUDE) \
870 $(LIBATOMIC_OPS_CFLAGS) \
871)
Michael Stahlb3085262013-10-24 12:22:58 +0200872$(call gb_LinkTarget_use_external_project,$(1),\
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100873 libatomic_ops \
874)
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100875
Michael Stahlb3085262013-10-24 12:22:58 +0200876$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200877 -L$(gb_UnpackedTarball_workdir)/libatomic_ops/src/lib -latomic_ops \
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100878)
879
880endef
881
882define gb_ExternalProject__use_libatomic_ops
Michael Stahlb3085262013-10-24 12:22:58 +0200883$(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100884
885endef
886
887endif # SYSTEM_LIBATOMIC_OPS
888
889
Michael Stahle3abec32014-02-11 15:57:18 +0100890ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
Matúš Kukanbd030302011-12-03 15:06:52 +0100891
892define gb_LinkTarget__use_libexttextcat
893$(call gb_LinkTarget_set_include,$(1),\
894 $$(INCLUDE) \
895 $(LIBEXTTEXTCAT_CFLAGS) \
896)
Peter Foley31219f02012-11-09 17:25:56 -0500897$(call gb_LinkTarget_add_defs,$(1),\
898 -DSYSTEM_LIBEXTTEXTCAT \
899)
Matúš Kukanbd030302011-12-03 15:06:52 +0100900$(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
901
902endef
903
904else # !SYSTEM_LIBEXTTEXTCAT
905
Matúš Kukanbd030302011-12-03 15:06:52 +0100906define gb_LinkTarget__use_libexttextcat
Peter Foley31219f02012-11-09 17:25:56 -0500907$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200908 -I$(gb_UnpackedTarball_workdir)/libexttextcat/src \
Peter Foley31219f02012-11-09 17:25:56 -0500909 $$(INCLUDE) \
910)
Matúš Kukanbd030302011-12-03 15:06:52 +0100911
Michael Stahl2f6261f2013-09-19 19:28:36 +0200912ifeq ($(COM),MSC)
913$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahl653e3582017-09-13 23:57:54 +0200914 libexttextcat \
Michael Stahl2f6261f2013-09-19 19:28:36 +0200915)
916else
917$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200918 $(gb_UnpackedTarball_workdir)/libexttextcat/src/.libs/libexttextcat-2.0.a\
Michael Stahl2f6261f2013-09-19 19:28:36 +0200919)
Michael Stahl653e3582017-09-13 23:57:54 +0200920$(call gb_LinkTarget_use_external_project,$(1),libexttextcat)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200921endif
922
923
Matúš Kukanbd030302011-12-03 15:06:52 +0100924endef
925
926endif # SYSTEM_LIBEXTTEXTCAT
927
928
László Némethf1579d32018-02-20 11:38:24 +0100929ifneq ($(SYSTEM_LIBNUMBERTEXT),)
930
931define gb_LinkTarget__use_libnumbertext
932$(call gb_LinkTarget_set_include,$(1),\
933 $$(INCLUDE) \
934 $(LIBNUMBERTEXT_CFLAGS) \
935)
936$(call gb_LinkTarget_add_defs,$(1),\
937 -DSYSTEM_LIBNUMBERTEXT \
938)
939$(call gb_LinkTarget_add_libs,$(1),$(LIBNUMBERTEXT_LIBS))
940
941endef
942
943else # !SYSTEM_LIBNUMBERTEXT
944
Christian Lohmaier566050c2018-08-22 00:47:13 +0200945$(eval $(call gb_Helper_register_packages_for_install,ooo, \
946 libnumbertext_numbertext \
947))
948
László Némethf1579d32018-02-20 11:38:24 +0100949define gb_LinkTarget__use_libnumbertext
Mike Kaganski19c45de2018-05-15 15:39:01 +0100950$(call gb_LinkTarget_use_package,$(1),libnumbertext_numbertext)
László Némethf1579d32018-02-20 11:38:24 +0100951$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200952 -I$(gb_UnpackedTarball_workdir)/libnumbertext/src \
László Némethf1579d32018-02-20 11:38:24 +0100953 $$(INCLUDE) \
954)
László Némethf1579d32018-02-20 11:38:24 +0100955
956ifeq ($(COM),MSC)
957$(call gb_LinkTarget_use_static_libraries,$(1),\
958 libnumbertext \
959)
960else
961
962$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +0200963 $(gb_UnpackedTarball_workdir)/libnumbertext/src/.libs/libnumbertext-1.0.a\
László Némethf1579d32018-02-20 11:38:24 +0100964)
Stephan Bergmanne046c362018-05-04 10:21:23 +0200965$(call gb_LinkTarget_use_external_project,$(1),libnumbertext,full)
László Némethf1579d32018-02-20 11:38:24 +0100966
967endif
968
969endef
970
László Némethf1579d32018-02-20 11:38:24 +0100971endif # SYSTEM_LIBNUMBERTEXT
972
973
Michael Stahl379f9782014-02-11 16:49:19 +0100974ifneq ($(SYSTEM_LIBXML),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000975
976define gb_LinkTarget__use_libxml2
Michael Stahla88ef232011-04-13 16:11:41 +0000977$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000978 -DSYSTEM_LIBXML \
979)
980$(call gb_LinkTarget_set_include,$(1),\
981 $$(INCLUDE) \
982 $(LIBXML_CFLAGS) \
983)
984$(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100985
Michael Stahlc74af0d2011-04-01 20:49:35 +0000986endef
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500987gb_ExternalProject__use_libxml2:=
Michael Stahlc74af0d2011-04-01 20:49:35 +0000988
989else # !SYSTEM_LIBXML
990
Michael Stahl64ea9942014-03-14 11:48:24 +0100991$(eval $(call gb_Helper_register_packages_for_install,ure,\
Michael Stahl84b0f062017-09-14 14:54:07 +0200992 libxml2 \
Michael Stahl64ea9942014-03-14 11:48:24 +0100993))
994
Michael Stahlc74af0d2011-04-01 20:49:35 +0000995define gb_LinkTarget__use_libxml2
Michael Stahl84b0f062017-09-14 14:54:07 +0200996$(call gb_LinkTarget_use_package,$(1),libxml2)
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500997$(call gb_LinkTarget_set_include,$(1),\
998 $$(INCLUDE) \
David Tardon7515b1a2014-07-17 17:27:05 +0200999 $(LIBXML_CFLAGS) \
1000)
1001
1002$(call gb_LinkTarget_add_libs,$(1),\
1003 $(LIBXML_LIBS) \
Peter Foleyb9d6c7a2013-02-05 17:19:11 -05001004)
1005
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001006ifeq ($(COM),MSC)
David Tardon7515b1a2014-07-17 17:27:05 +02001007$(call gb_LinkTarget_use_external,$(1),icu_headers)
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001008endif
1009
Peter Foleyb9d6c7a2013-02-05 17:19:11 -05001010endef
1011define gb_ExternalProject__use_libxml2
Michael Stahl84b0f062017-09-14 14:54:07 +02001012$(call gb_ExternalProject_use_package,$(1),libxml2)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001013
David Tardon7515b1a2014-07-17 17:27:05 +02001014ifeq ($(COM),MSC)
Michael Stahl0c3838b2018-01-19 14:13:34 +01001015$(call gb_ExternalProject_use_packages,$(1),icu icu_ure)
David Tardon7515b1a2014-07-17 17:27:05 +02001016endif
1017
Michael Stahlc74af0d2011-04-01 20:49:35 +00001018endef
1019
1020endif # SYSTEM_LIBXML
1021
1022
Michael Stahle3abec32014-02-11 15:57:18 +01001023ifneq ($(SYSTEM_LIBXSLT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001024
1025define gb_LinkTarget__use_libxslt
1026$(call gb_LinkTarget_set_include,$(1),\
1027 $$(INCLUDE) \
1028 $(LIBXSLT_CFLAGS) \
1029)
1030$(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001031
Michael Stahlc74af0d2011-04-01 20:49:35 +00001032endef
1033
David Tardonab03e872012-08-15 07:20:13 +02001034define gb_LinkTarget__use_libexslt
1035$(call gb_LinkTarget_set_include,$(1),\
1036 $$(INCLUDE) \
1037 $(LIBEXSLT_CFLAGS) \
1038)
1039
1040$(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
1041
1042endef
1043
Michael Stahlc74af0d2011-04-01 20:49:35 +00001044else # !SYSTEM_LIBXSLT
1045
Michael Stahl32a617d2014-02-17 11:23:19 +01001046$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Michael Stahl15b973e2017-09-14 15:26:10 +02001047 libxslt \
Michael Stahl32a617d2014-02-17 11:23:19 +01001048))
1049
Michael Stahlc74af0d2011-04-01 20:49:35 +00001050define gb_LinkTarget__use_libxslt
Michael Stahl15b973e2017-09-14 15:26:10 +02001051$(call gb_LinkTarget_use_package,$(1),libxslt)
Peter Foley856c0752013-02-02 15:44:30 -05001052$(call gb_LinkTarget_set_include,$(1),\
1053 $$(INCLUDE) \
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001054 -I$(gb_UnpackedTarball_workdir)/libxslt \
Peter Foley856c0752013-02-02 15:44:30 -05001055)
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001056
1057ifeq ($(COM),MSC)
1058$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001059 $(gb_UnpackedTarball_workdir)/libxslt/win32/bin.msvc/libxslt.lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001060)
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001061else
1062$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001063 -L$(gb_UnpackedTarball_workdir)/libxslt/libxslt/.libs -lxslt \
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001064)
1065endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001066
Michael Stahlc74af0d2011-04-01 20:49:35 +00001067endef
1068
David Tardonab03e872012-08-15 07:20:13 +02001069define gb_LinkTarget__use_libexslt
Michael Stahl15b973e2017-09-14 15:26:10 +02001070$(call gb_LinkTarget_use_package,$(1),libxslt)
Peter Foley856c0752013-02-02 15:44:30 -05001071$(call gb_LinkTarget_set_include,$(1),\
1072 $$(INCLUDE) \
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001073 -I$(gb_UnpackedTarball_workdir)/libxslt \
Peter Foley856c0752013-02-02 15:44:30 -05001074)
1075
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001076ifeq ($(COM),MSC)
1077$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001078 $(gb_UnpackedTarball_workdir)/libxslt/win32/bin.msvc/libexslt.lib \
David Tardonab03e872012-08-15 07:20:13 +02001079)
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001080else
1081$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001082 -L$(gb_UnpackedTarball_workdir)/libxslt/libexslt/.libs -lexslt \
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001083)
1084endif
David Tardonab03e872012-08-15 07:20:13 +02001085
1086endef
1087
Michael Stahlc74af0d2011-04-01 20:49:35 +00001088endif # SYSTEM_LIBXSLT
1089
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +02001090
Miklos Vajnaab50f0b2017-06-21 21:59:11 +02001091ifneq ($(SYSTEM_XMLSEC),)
1092
1093define gb_LinkTarget__use_xmlsec
1094$(call gb_LinkTarget_add_defs,$(1),\
1095 -DSYSTEM_XMLSEC \
1096)
1097$(call gb_LinkTarget_set_include,$(1),\
1098 $$(INCLUDE) \
1099 $(XMLSEC_CFLAGS) \
1100)
1101$(call gb_LinkTarget_add_libs,$(1),$(XMLSEC_LIBS))
1102
1103endef
1104
1105gb_ExternalProject__use_xmlsec:=
1106
1107else # !SYSTEM_XMLSEC
1108
1109$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1110 xmlsec \
1111))
1112
1113define gb_LinkTarget__use_xmlsec
1114
1115endef
1116
1117endif # SYSTEM_XMLSEC
1118
Michael Stahl49dde4c2014-02-11 19:42:28 +01001119ifneq ($(SYSTEM_LIBLANGTAG),)
Eike Rathkea774a482012-08-06 19:22:43 +02001120
1121define gb_LinkTarget__use_liblangtag
1122$(call gb_LinkTarget_set_include,$(1),\
1123 $$(INCLUDE) \
1124 $(LIBLANGTAG_CFLAGS) \
1125)
1126
1127$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1128
1129endef
1130
David Tardonc2a119b2016-01-13 14:24:31 +01001131gb_ExternalProject__use_liblangtag :=
1132
Eike Rathkea774a482012-08-06 19:22:43 +02001133else # !SYSTEM_LIBLANGTAG
1134
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001135$(eval $(call gb_Helper_register_packages_for_install,ure,\
Michael Stahl01adcd82014-03-18 17:38:06 +01001136 liblangtag_data \
1137))
1138
David Tardon7d93bb82016-01-13 15:45:17 +01001139ifeq ($(COM),MSC)
1140
Eike Rathkea774a482012-08-06 19:22:43 +02001141define gb_LinkTarget__use_liblangtag
Peter Foley782151a2012-11-11 16:02:36 -05001142$(call gb_LinkTarget_set_include,$(1),\
David Tardon34513502016-01-13 14:21:10 +01001143 $(LIBLANGTAG_CFLAGS) \
Peter Foley782151a2012-11-11 16:02:36 -05001144 $$(INCLUDE) \
1145)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001146$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
Michael Stahl0bb76482017-09-14 12:20:31 +02001147$(call gb_LinkTarget_use_external_project,$(1),liblangtag)
Eike Rathkea774a482012-08-06 19:22:43 +02001148
1149endef
1150
David Tardon7d93bb82016-01-13 15:45:17 +01001151else
1152
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001153$(eval $(call gb_Helper_register_packages_for_install,ure,\
David Tardon7d93bb82016-01-13 15:45:17 +01001154 liblangtag \
1155))
1156
1157define gb_LinkTarget__use_liblangtag
1158$(call gb_LinkTarget_set_include,$(1),\
1159 $(LIBLANGTAG_CFLAGS) \
1160 $$(INCLUDE) \
1161)
1162$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1163$(call gb_LinkTarget_use_package,$(1),liblangtag)
1164
1165endef
1166
1167endif # MSC
1168
David Tardonc2a119b2016-01-13 14:24:31 +01001169define gb_ExternalProject__use_liblangtag
Michael Stahl0bb76482017-09-14 12:20:31 +02001170$(call gb_ExternalProject_use_external_project,$(1),liblangtag)
David Tardonc2a119b2016-01-13 14:24:31 +01001171
1172endef
1173
Eike Rathkea774a482012-08-06 19:22:43 +02001174endif # SYSTEM_LIBLANGTAG
1175
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +02001176
Michael Stahle3abec32014-02-11 15:57:18 +01001177ifneq ($(SYSTEM_REDLAND),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001178
1179define gb_LinkTarget__use_librdf
Michael Stahla88ef232011-04-13 16:11:41 +00001180$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +00001181 -DSYSTEM_REDLAND \
1182)
1183$(call gb_LinkTarget_set_include,$(1),\
1184 $$(INCLUDE) \
1185 $(REDLAND_CFLAGS) \
1186)
1187$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001188
Michael Stahlc74af0d2011-04-01 20:49:35 +00001189endef
1190
Peter Foley18bd1e72012-12-27 18:04:21 -05001191gb_LinkTarget__use_redland_headers:=
1192
1193gb_LinkTarget__use_raptor_headers:=
1194
1195gb_LinkTarget__use_rasqal_headers:=
1196
Michael Stahlc74af0d2011-04-01 20:49:35 +00001197else # !SYSTEM_REDLAND
1198
Peter Foley18bd1e72012-12-27 18:04:21 -05001199define gb_LinkTarget__use_redland_headers
1200$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001201 -I$(gb_UnpackedTarball_workdir)/redland/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001202 $$(INCLUDE) \
1203)
1204
1205endef
1206
1207define gb_LinkTarget__use_raptor_headers
1208$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001209 -I$(gb_UnpackedTarball_workdir)/raptor/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001210 $$(INCLUDE) \
1211)
1212
1213endef
1214
1215define gb_LinkTarget__use_rasqal_headers
1216$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001217 -I$(gb_UnpackedTarball_workdir)/rasqal/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001218 $$(INCLUDE) \
1219)
1220
1221endef
1222
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001223ifneq ($(OS),ANDROID)
1224
Michael Stahl5f9cda22013-11-01 15:43:47 +01001225ifeq ($(COM),MSC)
Michael Stahlae8e5792014-01-10 12:07:31 +01001226$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
David Tardon491dea02013-05-01 11:23:50 +02001227 raptor2 \
1228 rasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001229 rdf \
1230))
Michael Stahl5ae30d32014-03-13 19:32:13 +01001231else
1232$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1233 raptor \
1234 rasqal \
1235 redland \
1236))
Michael Stahl5f9cda22013-11-01 15:43:47 +01001237endif
Michael Stahlc74af0d2011-04-01 20:49:35 +00001238
1239define gb_LinkTarget__use_librdf
Michael Stahl831aaef2013-10-24 01:09:35 +02001240ifeq ($(COM),MSC)
1241$(call gb_LinkTarget_use_libraries,$(1),\
1242 raptor2 \
1243 rdf \
1244)
1245else
Caolán McNamara87114362016-12-19 21:17:48 +00001246$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Matúš Kukan85d1e392013-12-14 11:17:30 +01001247
Michael Stahl2793c542013-10-23 21:18:24 +02001248$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001249 -L$(gb_UnpackedTarball_workdir)/redland/src/.libs -lrdf \
1250 -L$(gb_UnpackedTarball_workdir)/raptor/src/.libs -lraptor2 \
1251 -L$(gb_UnpackedTarball_workdir)/rasqal/src/.libs -lrasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001252)
Michael Stahl831aaef2013-10-24 01:09:35 +02001253endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001254
Michael Stahlc74af0d2011-04-01 20:49:35 +00001255endef
1256
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001257else # ANDROID
1258
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001259define gb_LinkTarget__use_librdf
Caolán McNamara87114362016-12-19 21:17:48 +00001260$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001261
1262endef
1263
1264endif # ANDROID
1265
Michael Stahlc74af0d2011-04-01 20:49:35 +00001266endif # SYSTEM_REDLAND
1267
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001268ifneq ($(SYSTEM_CAIRO),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001269
Michael Stahlc74af0d2011-04-01 20:49:35 +00001270define gb_LinkTarget__use_cairo
1271$(call gb_LinkTarget_set_include,$(1),\
1272 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001273 $(CAIRO_CFLAGS) \
Caolán McNamara84ed46d2024-10-17 12:53:12 +01001274 -DSYSTEM_CAIRO \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001275)
David Tardon962771f2013-05-24 14:35:18 +02001276$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001277$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001278
Michael Stahlc74af0d2011-04-01 20:49:35 +00001279endef
1280
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001281else # !SYSTEM_CAIRO
Michael Stahlc74af0d2011-04-01 20:49:35 +00001282
Tor Lillqvistfbcabd72025-02-25 19:52:15 +02001283ifneq ($(filter-out MACOSX$(ENABLE_HEADLESS) WNT$(ENABLE_HEADLESS),$(OS)),)
Christian Lohmaierdac70b92021-06-08 20:04:46 +02001284
Michael Stahl32a617d2014-02-17 11:23:19 +01001285$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1286 cairo \
Jan-Marek Glogowski017bc462021-06-01 18:53:40 +02001287 pixman \
Michael Stahl32a617d2014-02-17 11:23:19 +01001288))
1289
Tor Lillqvistfbcabd72025-02-25 19:52:15 +02001290ifeq ($(COM)-$(ENABLE_HEADLESS),MSC-TRUE)
1291
1292$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1293 cairo \
1294 pixman \
1295))
1296
1297define gb_LinkTarget__use_pixman
1298$(call gb_LinkTarget_set_include,$(1),\
1299 -I$(call gb_UnpackedTarball_get_dir,pixman)/pixman \
1300 $$(INCLUDE) \
1301)
1302$(call gb_LinkTarget_use_libraries,$(1),\
1303 pixman \
1304)
1305
1306endef
1307
1308endif
1309
Michael Stahlc74af0d2011-04-01 20:49:35 +00001310define gb_LinkTarget__use_cairo
Michael Stahlde142202012-11-20 22:05:36 +01001311$(call gb_LinkTarget_use_package,$(1),cairo)
1312$(call gb_LinkTarget_use_package,$(1),pixman)
David Tardon962771f2013-05-24 14:35:18 +02001313$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001314$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001315 -I$(gb_UnpackedTarball_workdir)/cairo \
1316 -I$(gb_UnpackedTarball_workdir)/cairo/src \
Caolán McNamara2b515d092025-09-19 12:47:25 +01001317 -I$(gb_UnpackedTarball_workdir)/cairo/builddir/src \
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001318 -I$(gb_UnpackedTarball_workdir)/pixman/pixman \
Caolán McNamara2b515d092025-09-19 12:47:25 +01001319 -I$(gb_UnpackedTarball_workdir)/pixman/builddir/pixman \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001320 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001321)
Michael Stahld89f48b2013-10-23 21:27:05 +02001322$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann5ce9bf32022-11-28 23:37:15 +01001323 $(if $(filter EMSCRIPTEN,$(OS)), \
Caolán McNamara2b515d092025-09-19 12:47:25 +01001324 $(gb_UnpackedTarball_workdir)/cairo/builddir/src/libcairo-lo.a \
Tor Lillqvistfbcabd72025-02-25 19:52:15 +02001325 $(gb_UnpackedTarball_workdir)/pixman/builddir/pixman/libpixman-1.a \
1326 , \
1327 $(if $(filter WNT,$(OS)), \
1328 $(WORKDIR)/LinkTarget/Library/icairo.lib \
1329 , \
1330 -L$(gb_UnpackedTarball_workdir)/cairo/builddir/src -lcairo-lo \
1331 -L$(gb_UnpackedTarball_workdir)/pixman/builddir/pixman -lpixman-1) \
1332 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001333)
Caolán McNamara5bb76f62011-07-25 21:50:34 +01001334
Michael Stahlc74af0d2011-04-01 20:49:35 +00001335endef
1336
Christian Lohmaierdac70b92021-06-08 20:04:46 +02001337endif # !MACOSX, !WNT
1338
Jan-Marek Glogowski1193c332021-06-01 19:29:58 +02001339endif # !SYSTEM_CAIRO
Michael Stahl32a617d2014-02-17 11:23:19 +01001340
Michael Stahl379f9782014-02-11 16:49:19 +01001341ifneq ($(SYSTEM_FREETYPE),)
David Tardon962771f2013-05-24 14:35:18 +02001342
1343define gb_LinkTarget__use_freetype_headers
Caolán McNamarab41ae462011-07-25 22:24:27 +01001344$(call gb_LinkTarget_set_include,$(1),\
1345 $$(INCLUDE) \
1346 $(FREETYPE_CFLAGS) \
1347)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001348
David Tardon962771f2013-05-24 14:35:18 +02001349endef
1350
Michael Stahle568d2a2013-09-30 14:10:22 +02001351gb_ExternalProject__use_freetype :=
1352
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001353else
David Tardon962771f2013-05-24 14:35:18 +02001354
1355define gb_LinkTarget__use_freetype_headers
Michael Stahlb242cee82013-10-24 12:08:50 +02001356$(call gb_LinkTarget_use_external_project,$(1),freetype)
David Tardon962771f2013-05-24 14:35:18 +02001357$(call gb_LinkTarget_set_include,$(1),\
David Tardone0603172017-02-02 13:31:13 +01001358 $(FREETYPE_CFLAGS) \
David Tardon962771f2013-05-24 14:35:18 +02001359 $$(INCLUDE) \
1360)
1361
David Tardon61695f12013-05-24 17:15:20 +02001362endef
1363
Michael Stahle568d2a2013-09-30 14:10:22 +02001364define gb_ExternalProject__use_freetype
Michael Stahlb242cee82013-10-24 12:08:50 +02001365$(call gb_ExternalProject_use_external_project,$(1),freetype)
Michael Stahle568d2a2013-09-30 14:10:22 +02001366
1367endef
1368
David Tardon962771f2013-05-24 14:35:18 +02001369endif # SYSTEM_FREETYPE
1370
David Tardone0603172017-02-02 13:31:13 +01001371define gb_LinkTarget__use_freetype
1372$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1373$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1374
1375endef
1376
Michael Stahl04ff5352014-02-11 16:21:04 +01001377ifneq ($(SYSTEM_FONTCONFIG),)
David Tardon4eb68422013-05-24 14:16:03 +02001378
Caolán McNamarab41ae462011-07-25 22:24:27 +01001379define gb_LinkTarget__use_fontconfig
1380$(call gb_LinkTarget_set_include,$(1),\
1381 $$(INCLUDE) \
1382 $(FONTCONFIG_CFLAGS) \
1383)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001384
Caolán McNamarab41ae462011-07-25 22:24:27 +01001385$(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1386
1387endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001388
Jan-Marek Glogowskib7313bc2021-11-30 18:58:10 +01001389ifeq ($(OS),EMSCRIPTEN)
1390$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1391 libfontconfig_data \
1392))
1393endif
1394
Jan-Marek Glogowski1193c332021-06-01 19:29:58 +02001395gb_ExternalProject__use_fontconfig :=
1396
Jan-Marek Glogowskib7313bc2021-11-30 18:58:10 +01001397else # SYSTEM_FONTCONFIG
David Tardon4eb68422013-05-24 14:16:03 +02001398
Caolán McNamarae904a252025-08-26 20:48:50 +01001399ifneq (,$(filter FONTCONFIG,$(BUILD_TYPE)))
Tor Lillqvist8d90e022022-10-20 11:20:12 +03001400
1401$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1402 fontconfig \
1403))
1404
1405endif
1406
David Tardon4eb68422013-05-24 14:16:03 +02001407define gb_LinkTarget__use_fontconfig
Stephan Bergmanne096fbc2023-03-07 10:13:25 +01001408ifeq ($(OS),LINUX)
1409$(call gb_LinkTarget_use_package,$(1),fontconfig)
1410else
Michael Stahl76596b32013-10-24 11:01:41 +02001411$(call gb_LinkTarget_use_external_project,$(1),fontconfig)
Stephan Bergmanne096fbc2023-03-07 10:13:25 +01001412endif
David Tardon4eb68422013-05-24 14:16:03 +02001413$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001414 -I$(gb_UnpackedTarball_workdir)/fontconfig \
David Tardon4eb68422013-05-24 14:16:03 +02001415 $$(INCLUDE) \
1416)
1417
Caolán McNamara1ad871c2016-12-20 11:37:13 +00001418$(call gb_LinkTarget_add_libs,$(1),\
Tor Lillqvistfbcabd72025-02-25 19:52:15 +02001419 $(if $(filter WNT,$(OS)), \
1420 $(WORKDIR)/LinkTarget/StaticLibrary/fontconfig.lib \
1421 , \
1422 -L$(gb_UnpackedTarball_workdir)/fontconfig/src/.libs -lfontconfig \
1423 ) \
Caolán McNamara1ad871c2016-12-20 11:37:13 +00001424)
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001425
David Tardon4eb68422013-05-24 14:16:03 +02001426endef
1427
Jan-Marek Glogowski1193c332021-06-01 19:29:58 +02001428define gb_ExternalProject__use_fontconfig
1429$(call gb_ExternalProject_use_external_project,$(1),fontconfig)
1430
1431endef
1432
David Tardon4eb68422013-05-24 14:16:03 +02001433endif # SYSTEM_FONTCONFIG
1434
Michael Stahle3abec32014-02-11 15:57:18 +01001435ifneq ($(SYSTEM_GRAPHITE),)
Michael Stahl87e44332011-04-13 16:11:39 +00001436
Michael Stahl87e44332011-04-13 16:11:39 +00001437define gb_LinkTarget__use_graphite
Michael Stahl87e44332011-04-13 16:11:39 +00001438$(call gb_LinkTarget_set_include,$(1),\
1439 $$(INCLUDE) \
1440 $(GRAPHITE_CFLAGS) \
1441)
1442$(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001443
Michael Stahl87e44332011-04-13 16:11:39 +00001444endef
1445
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001446gb_ExternalProject__use_graphite:=
1447
Michael Stahle3abec32014-02-11 15:57:18 +01001448else # !SYSTEM_GRAPHITE
Michael Stahl87e44332011-04-13 16:11:39 +00001449
Michael Stahl87e44332011-04-13 16:11:39 +00001450define gb_LinkTarget__use_graphite
Matúš Kukan7a030392012-10-29 23:29:37 +01001451$(call gb_LinkTarget_use_unpacked,$(1),graphite)
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001452$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001453 -I$(gb_UnpackedTarball_workdir)/graphite/include \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001454 $$(INCLUDE) \
1455)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001456$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001457 graphite \
Michael Stahl87e44332011-04-13 16:11:39 +00001458)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001459
Michael Stahl87e44332011-04-13 16:11:39 +00001460endef
1461
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001462define gb_ExternalProject__use_graphite
David Tardonb5c566f2016-11-03 17:23:56 +01001463$(call gb_ExternalProject_use_static_libraries,$(1),\
1464 graphite \
1465)
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001466
1467endef
Michael Stahl87e44332011-04-13 16:11:39 +00001468endif # SYSTEM_GRAPHITE
1469
Michael Stahl187194b2014-02-11 19:17:42 +01001470ifneq ($(SYSTEM_ICU),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001471
Peter Foleyb92a0d92012-12-25 17:39:43 -05001472gb_LinkTarget__use_icu_headers:=
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001473gb_ExternalProject__use_icu:=
Peter Foleyb92a0d92012-12-25 17:39:43 -05001474
Matúš Kukan6fad1752011-08-11 12:42:39 +02001475define gb_LinkTarget__use_icudata
1476$(call gb_LinkTarget_add_libs,$(1),-licudata)
1477
1478endef
David Tardon1a852392011-07-26 09:58:54 +02001479define gb_LinkTarget__use_icui18n
1480$(call gb_LinkTarget_add_libs,$(1),-licui18n)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001481
David Tardon1a852392011-07-26 09:58:54 +02001482endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001483define gb_LinkTarget__use_icuuc
1484$(call gb_LinkTarget_add_libs,$(1),-licuuc)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001485
Michael Stahlc74af0d2011-04-01 20:49:35 +00001486endef
1487
1488else # !SYSTEM_ICU
1489
Michael Stahl057613c2014-07-24 00:22:51 +02001490$(eval $(call gb_Helper_register_packages_for_install,ure, \
1491 icu_ure \
1492))
1493
Michael Stahle7592692014-03-14 11:23:52 +01001494$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1495 icu \
1496))
1497
Tor Lillqvist084db5f2012-09-24 10:37:25 +03001498ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001499gb_ICU_suffix:=lo
1500else
1501gb_ICU_suffix:=
1502endif
1503
Peter Foleyb92a0d92012-12-25 17:39:43 -05001504define gb_LinkTarget__use_icu_headers
Peter Foleyce9bf0f2013-03-23 12:32:31 -04001505$(call gb_LinkTarget_use_unpacked,$(1),icu)
Peter Foleyb92a0d92012-12-25 17:39:43 -05001506$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001507 -I$(gb_UnpackedTarball_workdir)/icu/source \
1508 -I$(gb_UnpackedTarball_workdir)/icu/source/i18n \
1509 -I$(gb_UnpackedTarball_workdir)/icu/source/common \
Peter Foleyb92a0d92012-12-25 17:39:43 -05001510 $$(INCLUDE) \
1511)
1512
1513endef
1514
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001515define gb_ExternalProject__use_icu
1516$(call gb_ExternalProject_use_package,$(1),icu)
Fridrich Štrba851ca9c2013-01-25 10:29:59 +01001517
1518endef
1519
Peter Foleyf7452122012-11-04 08:46:44 -05001520# icudata and icui18n is called icudt and icuin when built with MSVC :-/
Michael Stahla92f80f2013-10-23 15:00:29 +02001521define gb_LinkTarget__use_icudata
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001522$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001523
1524ifeq ($(OS),WNT)
1525$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001526 $(gb_UnpackedTarball_workdir)/icu/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001527)
Michael Stahla92f80f2013-10-23 15:00:29 +02001528else
1529$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001530 -L$(gb_UnpackedTarball_workdir)/icu/source/lib -licudata$(gb_ICU_suffix) \
Michael Stahla92f80f2013-10-23 15:00:29 +02001531)
1532endif
Matúš Kukan6fad1752011-08-11 12:42:39 +02001533
1534endef
Michael Stahla92f80f2013-10-23 15:00:29 +02001535
1536define gb_LinkTarget__use_icui18n
1537$(call gb_LinkTarget_use_package,$(1),icu)
1538
1539ifeq ($(OS),WNT)
1540$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001541 $(gb_UnpackedTarball_workdir)/icu/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Michael Stahla92f80f2013-10-23 15:00:29 +02001542)
1543else
1544$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001545 -L$(gb_UnpackedTarball_workdir)/icu/source/lib -licui18n$(gb_ICU_suffix) \
Michael Stahla92f80f2013-10-23 15:00:29 +02001546)
1547endif
1548
1549endef
1550
Michael Stahlc74af0d2011-04-01 20:49:35 +00001551define gb_LinkTarget__use_icuuc
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001552$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001553
1554ifeq ($(OS),WNT)
1555$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001556 $(gb_UnpackedTarball_workdir)/icu/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001557)
Michael Stahla92f80f2013-10-23 15:00:29 +02001558else
1559$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001560 -L$(gb_UnpackedTarball_workdir)/icu/source/lib -licuuc$(gb_ICU_suffix) \
Michael Stahla92f80f2013-10-23 15:00:29 +02001561)
1562endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001563
Michael Stahlc74af0d2011-04-01 20:49:35 +00001564endef
1565
1566endif # SYSTEM_ICU
1567
Michael Stahle3abec32014-02-11 15:57:18 +01001568ifneq ($(SYSTEM_HARFBUZZ),)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001569
1570define gb_LinkTarget__use_harfbuzz
1571$(call gb_LinkTarget_set_include,$(1),\
1572 $$(INCLUDE) \
1573 $(HARFBUZZ_CFLAGS) \
1574)
1575$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1576
1577endef
1578
David Tardoncc96f0c2017-02-01 12:32:35 +01001579gb_ExternalProject__use_harfbuzz :=
1580
Michael Stahle3abec32014-02-11 15:57:18 +01001581else # SYSTEM_HARFBUZZ != TRUE
Khaled Hosny7e389f42013-04-20 13:00:56 +02001582
Khaled Hosny7e389f42013-04-20 13:00:56 +02001583define gb_LinkTarget__use_harfbuzz
Michael Stahl8db02752013-05-07 23:28:45 +02001584$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl2f6261f2013-09-19 19:28:36 +02001585 $(HARFBUZZ_CFLAGS) \
Michael Stahl8db02752013-05-07 23:28:45 +02001586 $$(INCLUDE) \
1587)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001588$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
Stephan Bergmann0a554242018-09-22 17:30:36 +02001589$(call gb_LinkTarget_use_external,$(1),icuuc)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001590$(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001591
1592endef
1593
David Tardoncc96f0c2017-02-01 12:32:35 +01001594define gb_ExternalProject__use_harfbuzz
1595$(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1596
1597endef
1598
Khaled Hosny7e389f42013-04-20 13:00:56 +02001599endif # SYSTEM_HARFBUZZ
Michael Stahl4a8919f2011-04-18 11:13:57 +00001600
Jan-Marek Glogowski013ddc42021-04-23 10:04:29 +02001601ifneq ($(ENABLE_OPENSSL),TRUE)
Andres Gomeze3f607e2013-04-11 10:24:25 +03001602
1603gb_ExternalProject__use_openssl:=
1604gb_LinkTarget__use_openssl_headers:=
1605gb_LinkTarget__use_openssl:=
1606
Jan-Marek Glogowski013ddc42021-04-23 10:04:29 +02001607else # ENABLE_OPENSSL
Andres Gomeze3f607e2013-04-11 10:24:25 +03001608
Michael Stahle3abec32014-02-11 15:57:18 +01001609ifneq ($(SYSTEM_OPENSSL),)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001610
Peter Foley9ddba662012-12-28 11:19:06 -05001611gb_LinkTarget__use_openssl_headers:=
1612gb_ExternalProject__use_openssl:=
1613
Michael Stahl4a8919f2011-04-18 11:13:57 +00001614define gb_LinkTarget__use_openssl
1615$(call gb_LinkTarget_set_include,$(1),\
1616 $$(INCLUDE) \
1617 $(OPENSSL_CFLAGS) \
1618)
1619$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001620
Michael Stahl4a8919f2011-04-18 11:13:57 +00001621endef
1622
1623else # !SYSTEM_OPENSSL
1624
Michael Stahlf921e262014-03-13 19:36:48 +01001625$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1626 openssl \
1627))
1628
Peter Foley9ddba662012-12-28 11:19:06 -05001629define gb_ExternalProject__use_openssl
1630$(call gb_ExternalProject_use_package,$(1),openssl)
1631
1632endef
1633
1634define gb_LinkTarget__use_openssl_headers
Stephan Bergmann0f7008e2021-01-07 10:15:51 +01001635$(call gb_LinkTarget_use_external_project,$(1),openssl,full)
Peter Foley9ddba662012-12-28 11:19:06 -05001636$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001637 -I$(gb_UnpackedTarball_workdir)/openssl/include \
Peter Foley9ddba662012-12-28 11:19:06 -05001638 $$(INCLUDE) \
1639)
1640
1641endef
1642
Michael Stahl4a8919f2011-04-18 11:13:57 +00001643define gb_LinkTarget__use_openssl
Peter Foley9ddba662012-12-28 11:19:06 -05001644$(call gb_LinkTarget_use_package,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001645ifeq ($(OS),WNT)
Michael Stahl5b906622013-10-24 00:22:20 +02001646$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001647 $(gb_UnpackedTarball_workdir)/openssl/libcrypto.lib \
1648 $(gb_UnpackedTarball_workdir)/openssl/libssl.lib \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001649)
1650else
Michael Stahl2f6261f2013-09-19 19:28:36 +02001651$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001652 $(gb_UnpackedTarball_workdir)/openssl/libssl.a \
1653 $(gb_UnpackedTarball_workdir)/openssl/libcrypto.a \
Jan-Marek Glogowski0911b0a2020-07-14 23:16:53 +02001654 $(if $(filter $(OS),LINUX),-pthread) \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001655)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001656$(call gb_LinkTarget_use_external_project,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001657ifeq ($(OS),SOLARIS)
Michael Stahl80374352012-09-28 12:25:50 +02001658$(call gb_LinkTarget_add_libs,$(1),\
1659 -lnsl \
1660 -lsocket \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001661)
1662endif
1663endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001664
Michael Stahl4a8919f2011-04-18 11:13:57 +00001665endef
1666
1667endif # SYSTEM_OPENSSL
Jan-Marek Glogowski013ddc42021-04-23 10:04:29 +02001668endif # ENABLE_OPENSSL
Michael Stahl4a8919f2011-04-18 11:13:57 +00001669
Matúš Kukanc4560482011-07-28 01:03:23 +02001670
Michael Stahl77c92132023-12-18 20:50:05 +01001671ifneq ($(SYSTEM_ARGON2),)
1672
1673define gb_LinkTarget__use_argon2
1674$(call gb_LinkTarget_set_include,$(1),\
1675 $(ARGON2_CFLAGS) \
1676 $$(INCLUDE) \
1677)
1678$(call gb_LinkTarget_add_libs,$(1),$(ARGON2_LIBS))
1679
1680endef
1681
1682else # !SYSTEM_ARGON2
1683
1684$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1685 argon2 \
1686))
1687
1688define gb_LinkTarget__use_argon2
1689$(call gb_LinkTarget_set_include,$(1),\
1690 $(ARGON2_CFLAGS) \
1691 $$(INCLUDE) \
1692)
1693$(call gb_LinkTarget_add_libs,$(1),$(ARGON2_LIBS))
1694$(call gb_LinkTarget_use_package,$(1),argon2)
1695endef
1696
1697endif # SYSTEM_ARGON2
1698
1699
Michael Stahle3abec32014-02-11 15:57:18 +01001700ifneq ($(SYSTEM_CDR),)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001701
1702define gb_LinkTarget__use_cdr
1703$(call gb_LinkTarget_set_include,$(1),\
1704 $$(INCLUDE) \
1705 $(CDR_CFLAGS) \
1706)
1707$(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1708
1709endef
1710
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001711else # !SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001712
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001713define gb_LinkTarget__use_cdr
David Tardonf16f3662013-05-24 13:48:03 +02001714$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001715 -I$(gb_UnpackedTarball_workdir)/libcdr/inc \
David Tardonf16f3662013-05-24 13:48:03 +02001716 $$(INCLUDE) \
1717)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001718$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001719 $(gb_UnpackedTarball_workdir)/libcdr/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001720)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001721$(call gb_LinkTarget_use_external_project,$(1),libcdr)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001722endef
1723
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001724endif # SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001725
1726
Michael Stahle3abec32014-02-11 15:57:18 +01001727ifneq ($(SYSTEM_EBOOK),)
David Tardon316be1b2013-11-09 15:52:36 +01001728
1729define gb_LinkTarget__use_ebook
1730$(call gb_LinkTarget_set_include,$(1),\
1731 $$(INCLUDE) \
1732 $(EBOOK_CFLAGS) \
1733)
1734$(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1735
1736endef
1737
1738gb_ExternalProject__use_ebook :=
1739
1740else # !SYSTEM_EBOOK
1741
1742define gb_LinkTarget__use_ebook
1743$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001744 -I${WORKDIR}/UnpackedTarball/libebook/inc \
David Tardon316be1b2013-11-09 15:52:36 +01001745 $$(INCLUDE) \
1746)
1747$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001748 $(gb_UnpackedTarball_workdir)/libebook/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
David Tardon316be1b2013-11-09 15:52:36 +01001749)
1750$(call gb_LinkTarget_use_external_project,$(1),libebook)
1751
1752endef
1753
1754define gb_ExternalProject__use_ebook
1755$(call gb_ExternalProject_use_external_project,$(1),libebook)
1756
1757endef
1758
1759endif # SYSTEM_EBOOK
1760
1761
Michael Stahle3abec32014-02-11 15:57:18 +01001762ifneq ($(SYSTEM_ETONYEK),)
David Tardon08ca3e42013-10-24 16:46:49 +02001763
1764define gb_LinkTarget__use_etonyek
1765$(call gb_LinkTarget_set_include,$(1),\
1766 $$(INCLUDE) \
1767 $(ETONYEK_CFLAGS) \
1768)
1769$(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1770
1771endef
1772
1773gb_ExternalProject__use_etonyek :=
1774
1775else # !SYSTEM_ETONYEK
1776
David Tardon78deb812015-05-19 16:12:08 +02001777ifeq ($(COM),MSC)
1778
1779$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1780 etonyek \
1781))
1782
David Tardon08ca3e42013-10-24 16:46:49 +02001783define gb_LinkTarget__use_etonyek
1784$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001785 -I$(gb_UnpackedTarball_workdir)/libetonyek/inc \
David Tardon78deb812015-05-19 16:12:08 +02001786 $$(INCLUDE) \
1787)
1788$(call gb_LinkTarget_use_libraries,$(1),\
1789 etonyek \
1790)
1791
1792endef
1793
1794else # !MSC
1795
1796$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1797 libetonyek \
1798))
1799
1800define gb_LinkTarget__use_etonyek
1801$(call gb_LinkTarget_use_package,$(1),libetonyek)
1802
1803$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001804 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
David Tardon78deb812015-05-19 16:12:08 +02001805 -DLIBETONYEK_VISIBILITY \
David Tardon08ca3e42013-10-24 16:46:49 +02001806 $$(INCLUDE) \
1807)
1808$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001809 -L$(gb_UnpackedTarball_workdir)/libetonyek/src/lib/.libs -letonyek-0.1 \
David Tardon08ca3e42013-10-24 16:46:49 +02001810)
1811$(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1812
1813endef
1814
1815define gb_ExternalProject__use_etonyek
1816$(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1817
1818endef
1819
David Tardon78deb812015-05-19 16:12:08 +02001820endif
1821
David Tardon08ca3e42013-10-24 16:46:49 +02001822endif # SYSTEM_ETONYEK
1823
1824
Michael Stahle3abec32014-02-11 15:57:18 +01001825ifneq ($(SYSTEM_FREEHAND),)
Fridrich Štrba67153d72013-10-31 12:42:50 +01001826
1827define gb_LinkTarget__use_freehand
1828$(call gb_LinkTarget_set_include,$(1),\
1829 $$(INCLUDE) \
1830 $(FREEHAND_CFLAGS) \
1831)
1832$(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1833
1834endef
1835
1836gb_ExternalProject__use_freehand :=
1837
1838else # !SYSTEM_FREEHAND
1839
1840define gb_LinkTarget__use_freehand
1841$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001842 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001843 $$(INCLUDE) \
1844)
1845$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001846 $(gb_UnpackedTarball_workdir)/libfreehand/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001847)
1848$(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1849
1850endef
1851
1852define gb_ExternalProject__use_freehand
1853$(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1854
1855endef
1856
1857endif # SYSTEM_FREEHAND
1858
1859
Michael Stahle3abec32014-02-11 15:57:18 +01001860ifneq ($(SYSTEM_ODFGEN),)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001861
1862define gb_LinkTarget__use_odfgen
1863$(call gb_LinkTarget_set_include,$(1),\
1864 $$(INCLUDE) \
1865 $(ODFGEN_CFLAGS) \
1866)
1867$(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1868
1869endef
1870
1871else # !SYSTEM_ODFGEN
1872
David Tardon36c3f912014-05-24 09:13:33 +02001873ifeq ($(COM),MSC)
1874
1875$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1876 odfgen \
1877))
1878
Fridrich Štrba93848e12013-05-02 20:25:51 +02001879define gb_LinkTarget__use_odfgen
David Tardon0f8a90c2013-05-24 13:49:11 +02001880$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001881 -I$(gb_UnpackedTarball_workdir)/libodfgen/inc \
David Tardon0f8a90c2013-05-24 13:49:11 +02001882 $$(INCLUDE) \
1883)
David Tardon36c3f912014-05-24 09:13:33 +02001884$(call gb_LinkTarget_use_libraries,$(1),\
1885 odfgen \
Fridrich Štrba93848e12013-05-02 20:25:51 +02001886)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001887
1888endef
1889
David Tardon36c3f912014-05-24 09:13:33 +02001890else # !MSC
1891
1892$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1893 libodfgen \
1894))
1895
1896define gb_LinkTarget__use_odfgen
1897$(call gb_LinkTarget_use_package,$(1),libodfgen)
1898
1899$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001900 -I$(gb_UnpackedTarball_workdir)/libodfgen/inc \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001901 -DLIBODFGEN_VISIBILITY \
David Tardon36c3f912014-05-24 09:13:33 +02001902 $$(INCLUDE) \
1903)
1904$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001905 -L$(gb_UnpackedTarball_workdir)/libodfgen/src/.libs -lodfgen-0.1 \
David Tardon36c3f912014-05-24 09:13:33 +02001906)
1907
1908endef
1909
1910endif
1911
Fridrich Štrba93848e12013-05-02 20:25:51 +02001912endif # SYSTEM_ODFGEN
1913
Miklos Vajna3f163062017-08-02 16:29:48 +02001914ifneq ($(SYSTEM_EPUBGEN),)
1915
1916define gb_LinkTarget__use_epubgen
1917$(call gb_LinkTarget_set_include,$(1),\
1918 $$(INCLUDE) \
1919 $(EPUBGEN_CFLAGS) \
1920)
1921$(call gb_LinkTarget_add_libs,$(1),$(EPUBGEN_LIBS))
1922
1923endef
1924gb_ExternalProject__use_epubgen :=
1925
1926else # !SYSTEM_EPUBGEN
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +02001927ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
Miklos Vajna3f163062017-08-02 16:29:48 +02001928
1929define gb_LinkTarget__use_epubgen
1930$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001931 -I$(gb_UnpackedTarball_workdir)/libepubgen/inc \
Miklos Vajna3f163062017-08-02 16:29:48 +02001932 $$(INCLUDE) \
1933)
1934$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02001935 $(gb_UnpackedTarball_workdir)/libepubgen/src/lib/.libs/libepubgen-0.1$(gb_StaticLibrary_PLAINEXT) \
Miklos Vajna3f163062017-08-02 16:29:48 +02001936)
1937$(call gb_LinkTarget_use_external_project,$(1),libepubgen)
1938
1939endef
1940define gb_ExternalProject__use_epubgen
1941$(call gb_ExternalProject_use_external_project,$(1),libepubgen)
1942
1943endef
1944
Armin Le Grand (Allotropia)02140552021-04-30 17:26:41 +02001945endif # ENABLE_WASM_STRIP_EPUB
Miklos Vajna3f163062017-08-02 16:29:48 +02001946endif # SYSTEM_EPUBGEN
Fridrich Štrba93848e12013-05-02 20:25:51 +02001947
David Tardonb421ce72014-05-24 08:39:54 +02001948ifneq ($(SYSTEM_REVENGE),)
1949
1950define gb_LinkTarget__use_revenge
1951$(call gb_LinkTarget_set_include,$(1),\
1952 $$(INCLUDE) \
1953 $(REVENGE_CFLAGS) \
1954)
1955$(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1956
1957endef
1958
David Tardon7c9c7792014-05-25 13:06:57 +02001959gb_ExternalProject__use_revenge :=
1960
David Tardonb421ce72014-05-24 08:39:54 +02001961else # !SYSTEM_REVENGE
1962
1963ifeq ($(COM),MSC)
1964
1965$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1966 revenge \
1967))
1968
1969define gb_LinkTarget__use_revenge
1970$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001971 $(REVENGE_CFLAGS) \
David Tardonb421ce72014-05-24 08:39:54 +02001972 $$(INCLUDE) \
1973)
1974$(call gb_LinkTarget_use_libraries,$(1),\
1975 revenge \
1976)
1977
1978endef
1979
David Tardon7c9c7792014-05-25 13:06:57 +02001980define gb_ExternalProject__use_revenge
1981$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1982
1983endef
1984
David Tardonb421ce72014-05-24 08:39:54 +02001985else # !MSC
1986
1987$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1988 librevenge \
1989))
1990
1991define gb_LinkTarget__use_revenge
1992$(call gb_LinkTarget_use_package,$(1),librevenge)
1993
1994$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001995 $(REVENGE_CFLAGS) \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001996 -DLIBREVENGE_VISIBILITY \
David Tardonb421ce72014-05-24 08:39:54 +02001997 $$(INCLUDE) \
1998)
1999$(call gb_LinkTarget_add_libs,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02002000 $(REVENGE_LIBS) \
David Tardonb421ce72014-05-24 08:39:54 +02002001)
2002endef
2003
David Tardon7c9c7792014-05-25 13:06:57 +02002004define gb_ExternalProject__use_revenge
2005$(call gb_ExternalProject_use_package,$(1),librevenge)
2006
2007endef
2008
David Tardonb421ce72014-05-24 08:39:54 +02002009endif # MSC
2010
2011endif # SYSTEM_REVENGE
2012
2013
Michael Stahle3abec32014-02-11 15:57:18 +01002014ifneq ($(SYSTEM_ABW),)
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01002015
2016define gb_LinkTarget__use_abw
2017$(call gb_LinkTarget_set_include,$(1),\
2018 $$(INCLUDE) \
2019 $(ABW_CFLAGS) \
2020)
2021$(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
2022
2023endef
2024gb_ExternalProject__use_abw :=
2025
2026else # !SYSTEM_ABW
2027
2028define gb_LinkTarget__use_abw
2029$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002030 -I$(gb_UnpackedTarball_workdir)/libabw/inc \
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01002031 $$(INCLUDE) \
2032)
2033$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002034 $(gb_UnpackedTarball_workdir)/libabw/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01002035)
2036$(call gb_LinkTarget_use_external_project,$(1),libabw)
2037
2038endef
2039define gb_ExternalProject__use_abw
2040$(call gb_ExternalProject_use_external_project,$(1),libabw)
2041
2042endef
2043
2044endif # SYSTEM_ABW
2045
2046
Michael Stahle3abec32014-02-11 15:57:18 +01002047ifneq ($(SYSTEM_MSPUB),)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02002048
2049define gb_LinkTarget__use_mspub
2050$(call gb_LinkTarget_set_include,$(1),\
2051 $$(INCLUDE) \
2052 $(MSPUB_CFLAGS) \
2053)
2054$(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
2055
2056endef
2057
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01002058else # !SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02002059
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02002060define gb_LinkTarget__use_mspub
Michael Stahl35ac39e2013-05-16 13:09:11 +02002061$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002062 -I$(gb_UnpackedTarball_workdir)/libmspub/inc \
Michael Stahl35ac39e2013-05-16 13:09:11 +02002063 $$(INCLUDE) \
2064)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002065$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002066 $(gb_UnpackedTarball_workdir)/libmspub/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba093a5c92013-01-28 10:13:50 +01002067)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002068$(call gb_LinkTarget_use_external_project,$(1),libmspub)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02002069
2070endef
2071
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01002072endif # SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02002073
2074
David Tardon516fb342014-06-26 21:26:11 +02002075ifneq ($(SYSTEM_PAGEMAKER),)
2076
2077define gb_LinkTarget__use_pagemaker
2078$(call gb_LinkTarget_set_include,$(1),\
2079 $$(INCLUDE) \
2080 $(PAGEMAKER_CFLAGS) \
2081)
2082$(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
2083
2084endef
2085gb_ExternalProject__use_pagemaker :=
2086
2087else # !SYSTEM_PAGEMAKER
2088
2089define gb_LinkTarget__use_pagemaker
2090$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002091 -I$(gb_UnpackedTarball_workdir)/libpagemaker/inc \
David Tardon516fb342014-06-26 21:26:11 +02002092 $$(INCLUDE) \
2093)
2094$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002095 $(gb_UnpackedTarball_workdir)/libpagemaker/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
David Tardon516fb342014-06-26 21:26:11 +02002096)
2097$(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
2098
2099endef
2100define gb_ExternalProject__use_pagemaker
2101$(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
2102
2103endef
2104
2105endif # SYSTEM_PAGEMAKER
2106
2107
Aleksas Pantechovskise59b5b12017-08-27 22:10:14 +03002108ifneq ($(SYSTEM_QXP),)
2109
2110define gb_LinkTarget__use_qxp
2111$(call gb_LinkTarget_set_include,$(1),\
2112 $$(INCLUDE) \
2113 $(QXP_CFLAGS) \
2114)
2115$(call gb_LinkTarget_add_libs,$(1),$(QXP_LIBS))
2116
2117endef
2118gb_ExternalProject__use_qxp :=
2119
2120else # !SYSTEM_QXP
2121
2122define gb_LinkTarget__use_qxp
2123$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002124 -I$(gb_UnpackedTarball_workdir)/libqxp/inc \
Aleksas Pantechovskise59b5b12017-08-27 22:10:14 +03002125 $$(INCLUDE) \
2126)
2127$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002128 $(gb_UnpackedTarball_workdir)/libqxp/src/lib/.libs/libqxp-0.0$(gb_StaticLibrary_PLAINEXT) \
Aleksas Pantechovskise59b5b12017-08-27 22:10:14 +03002129)
2130$(call gb_LinkTarget_use_external_project,$(1),libqxp)
2131
2132endef
2133define gb_ExternalProject__use_qxp
2134$(call gb_ExternalProject_use_external_project,$(1),libqxp)
2135
2136endef
2137
2138endif # SYSTEM_QXP
2139
2140
Aleksas Pantechovskisaaed6fe2016-06-22 19:02:29 +03002141ifneq ($(SYSTEM_ZMF),)
2142
2143define gb_LinkTarget__use_zmf
2144$(call gb_LinkTarget_set_include,$(1),\
2145 $$(INCLUDE) \
2146 $(ZMF_CFLAGS) \
2147)
2148$(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
2149
2150endef
2151gb_ExternalProject__use_zmf :=
2152
2153else # !SYSTEM_ZMF
2154
2155define gb_LinkTarget__use_zmf
2156$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002157 -I$(gb_UnpackedTarball_workdir)/libzmf/inc \
Aleksas Pantechovskisaaed6fe2016-06-22 19:02:29 +03002158 $$(INCLUDE) \
2159)
2160$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002161 $(gb_UnpackedTarball_workdir)/libzmf/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
Aleksas Pantechovskisaaed6fe2016-06-22 19:02:29 +03002162)
2163$(call gb_LinkTarget_use_external_project,$(1),libzmf)
2164
2165endef
2166define gb_ExternalProject__use_zmf
2167$(call gb_ExternalProject_use_external_project,$(1),libzmf)
2168
2169endef
2170
2171endif # SYSTEM_ZMF
2172
2173
Michael Stahle3abec32014-02-11 15:57:18 +01002174ifneq ($(SYSTEM_VISIO),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002175
2176define gb_LinkTarget__use_visio
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002177$(call gb_LinkTarget_set_include,$(1),\
2178 $$(INCLUDE) \
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002179 $(VISIO_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002180)
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002181$(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002182
2183endef
2184
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002185else # !SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002186
Matúš Kukanc6a63952011-07-28 17:29:44 +02002187define gb_LinkTarget__use_visio
Michael Stahlacc7f612013-05-16 13:14:37 +02002188$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002189 -I$(gb_UnpackedTarball_workdir)/libvisio/inc \
Michael Stahlacc7f612013-05-16 13:14:37 +02002190 $$(INCLUDE) \
2191)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002192$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002193 $(gb_UnpackedTarball_workdir)/libvisio/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba64ab6112012-11-05 11:43:55 +01002194)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002195$(call gb_LinkTarget_use_external_project,$(1),libvisio)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002196
2197endef
2198
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002199endif # SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002200
2201
Michael Stahle3abec32014-02-11 15:57:18 +01002202ifneq ($(SYSTEM_WPD),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002203
2204define gb_LinkTarget__use_wpd
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002205$(call gb_LinkTarget_set_include,$(1),\
2206 $$(INCLUDE) \
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002207 $(WPD_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002208)
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002209$(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002210
2211endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002212gb_ExternalProject__use_wpd :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002213
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002214else # !SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002215
David Tardonc868a0c2014-12-23 18:37:54 +01002216ifeq ($(COM),MSC)
2217
2218$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2219 wpd \
2220))
2221
Fridrich Štrba4425db62012-09-24 13:17:45 +02002222define gb_LinkTarget__use_wpd
Michael Stahldb5c8c52013-05-16 13:28:14 +02002223$(call gb_LinkTarget_set_include,$(1),\
2224 $(WPD_CFLAGS) \
2225 $$(INCLUDE) \
2226)
David Tardonc868a0c2014-12-23 18:37:54 +01002227$(call gb_LinkTarget_use_libraries,$(1),\
2228 wpd \
Michael Stahl34295432012-09-24 22:25:28 +02002229)
Fridrich Štrba4425db62012-09-24 13:17:45 +02002230
2231endef
David Tardonc868a0c2014-12-23 18:37:54 +01002232
Michael Stahl2b7536a2012-10-05 21:17:25 +02002233define gb_ExternalProject__use_wpd
David Tardonc868a0c2014-12-23 18:37:54 +01002234$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002235
2236endef
Fridrich Štrba4425db62012-09-24 13:17:45 +02002237
David Tardonc868a0c2014-12-23 18:37:54 +01002238else # !MSC
2239
2240$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2241 libwpd \
2242))
2243
2244define gb_LinkTarget__use_wpd
2245$(call gb_LinkTarget_use_package,$(1),libwpd)
2246
2247$(call gb_LinkTarget_set_include,$(1),\
2248 $(WPD_CFLAGS) \
2249 $$(INCLUDE) \
2250)
2251$(call gb_LinkTarget_add_libs,$(1),\
2252 $(WPD_LIBS) \
2253)
2254
2255endef
2256
2257define gb_ExternalProject__use_wpd
2258$(call gb_ExternalProject_use_package,$(1),libwpd)
2259
2260endef
2261
2262endif # MSC
2263
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002264endif # SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002265
2266
Michael Stahle3abec32014-02-11 15:57:18 +01002267ifneq ($(SYSTEM_WPG),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002268
2269define gb_LinkTarget__use_wpg
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002270$(call gb_LinkTarget_set_include,$(1),\
2271 $$(INCLUDE) \
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002272 $(WPG_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002273)
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002274$(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002275
2276endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002277gb_ExternalProject__use_wpg :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002278
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002279else # !SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002280
David Tardonc868a0c2014-12-23 18:37:54 +01002281ifeq ($(COM),MSC)
2282
2283$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2284 wpg \
2285))
2286
Matúš Kukanc6a63952011-07-28 17:29:44 +02002287define gb_LinkTarget__use_wpg
David Tardonc51a2542013-05-24 14:53:37 +02002288$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002289 -I$(gb_UnpackedTarball_workdir)/libwpg/inc \
David Tardonc51a2542013-05-24 14:53:37 +02002290 $$(INCLUDE) \
2291)
David Tardonc868a0c2014-12-23 18:37:54 +01002292$(call gb_LinkTarget_use_libraries,$(1),\
2293 wpg \
Michael Stahl53b7bdc2012-10-05 17:19:47 +02002294)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002295
2296endef
David Tardonc868a0c2014-12-23 18:37:54 +01002297
2298else # !MSC
2299
2300$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2301 libwpg \
2302))
2303
2304define gb_LinkTarget__use_wpg
2305$(call gb_LinkTarget_use_package,$(1),libwpg)
2306
2307$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002308 -I$(gb_UnpackedTarball_workdir)/libwpg/inc \
David Tardonc868a0c2014-12-23 18:37:54 +01002309 $$(INCLUDE) \
2310)
2311$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002312 -L$(gb_UnpackedTarball_workdir)/libwpg/src/lib/.libs -lwpg-0.3 \
David Tardonc868a0c2014-12-23 18:37:54 +01002313)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002314
2315endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002316
David Tardonc868a0c2014-12-23 18:37:54 +01002317endif # MSC
2318
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002319endif # SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002320
2321
Michael Stahle3abec32014-02-11 15:57:18 +01002322ifneq ($(SYSTEM_WPS),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002323
2324define gb_LinkTarget__use_wps
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002325$(call gb_LinkTarget_set_include,$(1),\
2326 $$(INCLUDE) \
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002327 $(WPS_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002328)
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002329$(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002330
2331endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002332gb_ExternalProject__use_wps :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002333
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002334else # !SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002335
David Tardonf85d10f2014-05-30 15:35:48 +02002336ifeq ($(COM),MSC)
2337
2338$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2339 wps \
2340))
2341
Matúš Kukanc6a63952011-07-28 17:29:44 +02002342define gb_LinkTarget__use_wps
David Tardon6f9d8212013-05-24 14:58:31 +02002343$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002344 -I$(gb_UnpackedTarball_workdir)/libwps/inc \
David Tardon6f9d8212013-05-24 14:58:31 +02002345 $$(INCLUDE) \
2346)
David Tardonf85d10f2014-05-30 15:35:48 +02002347
2348$(call gb_LinkTarget_use_libraries,$(1),\
2349 wps \
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02002350)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002351
2352endef
David Tardonf85d10f2014-05-30 15:35:48 +02002353
2354else # !MSC
2355
2356$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2357 libwps \
2358))
2359
2360define gb_LinkTarget__use_wps
2361$(call gb_LinkTarget_use_package,$(1),libwps)
2362
2363$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002364 -I$(gb_UnpackedTarball_workdir)/libwps/inc \
David Tardonf85d10f2014-05-30 15:35:48 +02002365 $$(INCLUDE) \
2366)
2367$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002368 -L$(gb_UnpackedTarball_workdir)/libwps/src/lib/.libs -lwps-0.4 \
David Tardonf85d10f2014-05-30 15:35:48 +02002369)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002370
2371endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002372
David Tardonf85d10f2014-05-30 15:35:48 +02002373endif # MSC
2374
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002375endif # SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002376
2377
Michael Stahle3abec32014-02-11 15:57:18 +01002378ifneq ($(SYSTEM_MWAW),)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002379
2380define gb_LinkTarget__use_mwaw
2381$(call gb_LinkTarget_set_include,$(1),\
2382 $$(INCLUDE) \
2383 $(MWAW_CFLAGS) \
2384)
2385$(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2386
2387endef
2388
2389else # !SYSTEM_MWAW
2390
David Tardon79211c12014-05-30 13:55:20 +02002391ifeq ($(COM),MSC)
2392
2393$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2394 mwaw \
2395))
2396
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002397define gb_LinkTarget__use_mwaw
Michael Stahlff718952013-05-16 13:11:36 +02002398$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002399 -I$(gb_UnpackedTarball_workdir)/libmwaw/inc \
Michael Stahlff718952013-05-16 13:11:36 +02002400 $$(INCLUDE) \
2401)
David Tardon79211c12014-05-30 13:55:20 +02002402
2403$(call gb_LinkTarget_use_libraries,$(1),\
2404 mwaw \
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002405)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002406
2407endef
2408
David Tardon79211c12014-05-30 13:55:20 +02002409else # !MSC
2410
2411$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2412 libmwaw \
2413))
2414
2415define gb_LinkTarget__use_mwaw
2416$(call gb_LinkTarget_use_package,$(1),libmwaw)
2417
2418$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002419 -I$(gb_UnpackedTarball_workdir)/libmwaw/inc \
David Tardon79211c12014-05-30 13:55:20 +02002420 $$(INCLUDE) \
2421)
2422$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002423 -L$(gb_UnpackedTarball_workdir)/libmwaw/src/lib/.libs -lmwaw-0.3 \
David Tardon79211c12014-05-30 13:55:20 +02002424)
2425
2426endef
2427
2428endif # MSC
2429
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002430endif # SYSTEM_MWAW
2431
osnola1faae1f2016-08-10 12:43:56 +02002432ifneq ($(SYSTEM_STAROFFICE),)
2433
2434define gb_LinkTarget__use_staroffice
2435$(call gb_LinkTarget_set_include,$(1),\
2436 $$(INCLUDE) \
2437 $(STAROFFICE_CFLAGS) \
2438)
2439$(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2440
2441endef
2442
2443else # !SYSTEM_STAROFFICE
2444
2445ifeq ($(COM),MSC)
2446
2447$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2448 staroffice \
2449))
2450
2451define gb_LinkTarget__use_staroffice
2452$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002453 -I$(gb_UnpackedTarball_workdir)/libstaroffice/inc \
osnola1faae1f2016-08-10 12:43:56 +02002454 $$(INCLUDE) \
2455)
2456
2457$(call gb_LinkTarget_use_libraries,$(1),\
2458 staroffice \
2459)
2460
2461endef
2462
2463else # !MSC
2464
2465$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2466 libstaroffice \
2467))
2468
2469define gb_LinkTarget__use_staroffice
2470$(call gb_LinkTarget_use_package,$(1),libstaroffice)
2471
2472$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002473 -I$(gb_UnpackedTarball_workdir)/libstaroffice/inc \
osnola1faae1f2016-08-10 12:43:56 +02002474 $$(INCLUDE) \
2475)
2476$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002477 -L$(gb_UnpackedTarball_workdir)/libstaroffice/src/lib/.libs -lstaroffice-0.0 \
osnola1faae1f2016-08-10 12:43:56 +02002478)
2479
2480endef
2481
2482endif # MSC
2483
2484endif # SYSTEM_STAROFFICE
2485
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002486
Michael Stahle3abec32014-02-11 15:57:18 +01002487ifneq ($(SYSTEM_LCMS2),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002488
2489define gb_LinkTarget__use_lcms2
2490$(call gb_LinkTarget_set_include,$(1),\
2491 $$(INCLUDE) \
Peter Foleyf7452122012-11-04 08:46:44 -05002492 $(LCMS2_CFLAGS) \
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002493)
2494$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2495
2496endef
2497
Peter Foley8905c0e2012-11-08 21:00:30 -05002498gb_ExternalProject__use_lcms2 :=
2499
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002500else # !SYSTEM_LCMS2
2501
Michael Stahl32a617d2014-02-17 11:23:19 +01002502$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2503 lcms2 \
2504))
2505
Peter Foley8905c0e2012-11-08 21:00:30 -05002506define gb_ExternalProject__use_lcms2
2507$(call gb_ExternalProject_use_package,$(1),lcms2)
2508
2509endef
2510
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002511ifeq ($(OS),ANDROID)
2512
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002513define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002514$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002515$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002516 -I$(gb_UnpackedTarball_workdir)/lcms2/include \
Matúš Kukan3790e842012-09-04 22:00:15 +02002517 $$(INCLUDE) \
2518)
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002519
2520endef
2521
2522else
2523
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002524define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002525$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002526$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002527 -I$(gb_UnpackedTarball_workdir)/lcms2/include \
Matúš Kukan3790e842012-09-04 22:00:15 +02002528 $$(INCLUDE) \
2529)
Michael Stahl25f65f22013-10-23 22:04:36 +02002530$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002531
2532endef
2533
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002534endif # ANDROID
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002535endif # SYSTEM_LCMS2
2536
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002537ifneq ($(ENABLE_LPSOLVE),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002538
Michael Stahlab586f12014-02-11 19:25:30 +01002539ifneq ($(SYSTEM_LPSOLVE),)
Matúš Kukanc4560482011-07-28 01:03:23 +02002540
Peter Foley085346f2012-11-03 19:19:30 -04002541define gb_LinkTarget__use_lpsolve
Matúš Kukanc4560482011-07-28 01:03:23 +02002542$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
Peter Foley085346f2012-11-03 19:19:30 -04002543$(call gb_LinkTarget_add_defs,$(1),\
2544 -DSYSTEM_LPSOLVE \
Peter Foley29d5e292012-11-07 18:18:08 -05002545)
Matúš Kukanc4560482011-07-28 01:03:23 +02002546
2547endef
2548
2549else # !SYSTEM_LPSOLVE
2550
Peter Foley085346f2012-11-03 19:19:30 -04002551define gb_LinkTarget__use_lpsolve
Stephan Bergmann54471172019-10-19 15:50:07 +02002552$(call gb_LinkTarget_use_package,$(1),lpsolve)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002553ifeq ($(COM),MSC)
2554$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002555 $(gb_UnpackedTarball_workdir)/lpsolve/lpsolve55/lpsolve55.lib \
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002556)
2557else
Michael Stahlb177b302013-10-23 21:33:51 +02002558$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002559 -L$(gb_UnpackedTarball_workdir)/lpsolve/lpsolve55 -llpsolve55 \
Matúš Kukanc4560482011-07-28 01:03:23 +02002560)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002561endif
Peter Foley085346f2012-11-03 19:19:30 -04002562$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002563 -I$(gb_UnpackedTarball_workdir)/lpsolve \
Peter Foley085346f2012-11-03 19:19:30 -04002564 $$(INCLUDE) \
2565)
Matúš Kukanc4560482011-07-28 01:03:23 +02002566
2567endef
2568
Matúš Kukan083fa762014-02-27 17:08:09 +01002569$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2570 lpsolve \
2571))
2572
Matúš Kukanc4560482011-07-28 01:03:23 +02002573endif # SYSTEM_LPSOLVE
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002574
Matúš Kukan077bdc72014-03-27 14:51:46 +01002575else
2576
2577gb_LinkTarget__use_lpsolve :=
2578
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002579endif # ENABLE_LPSOLVE
2580
2581ifneq ($(ENABLE_COINMP),)
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002582
Rene Engelhardd85f5132014-08-06 00:03:21 +02002583ifneq ($(SYSTEM_COINMP),TRUE)
2584
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002585define gb_LinkTarget__use_coinmp
2586$(call gb_LinkTarget_use_package,$(1),coinmp)
2587ifeq ($(COM),MSC)
2588$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002589 $(gb_UnpackedTarball_workdir)/coinmp/CoinMP/MSVisualStudio/v9/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)/CoinMP.lib \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002590)
2591else
2592$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002593 -L$(gb_UnpackedTarball_workdir)/coinmp/Cbc/src/.libs -lCbc -lCbcSolver \
2594 -L$(gb_UnpackedTarball_workdir)/coinmp/Cgl/src/.libs -lCgl \
2595 -L$(gb_UnpackedTarball_workdir)/coinmp/Clp/src/.libs -lClp \
2596 -L$(gb_UnpackedTarball_workdir)/coinmp/Clp/src/OsiClp/.libs -lOsiClp \
2597 -L$(gb_UnpackedTarball_workdir)/coinmp/CoinMP/src/.libs -lCoinMP \
2598 -L$(gb_UnpackedTarball_workdir)/coinmp/CoinUtils/src/.libs -lCoinUtils \
2599 -L$(gb_UnpackedTarball_workdir)/coinmp/Osi/src/Osi/.libs -lOsi \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002600)
2601endif
2602$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002603 -I$(gb_UnpackedTarball_workdir)/coinmp/CoinMP/src \
2604 -I$(gb_UnpackedTarball_workdir)/coinmp/CoinUtils/src \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002605 $$(INCLUDE) \
2606)
2607
2608endef
2609
2610$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2611 coinmp \
2612))
2613
Rene Engelhardd85f5132014-08-06 00:03:21 +02002614else # SYSTEM_COINMP
2615
2616define gb_LinkTarget__use_coinmp
2617$(call gb_LinkTarget_set_include,$(1),\
2618 $$(INCLUDE) \
2619 $(COINMP_CFLAGS) \
2620)
2621$(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2622
2623endef
2624
2625endif
2626
Matúš Kukan077bdc72014-03-27 14:51:46 +01002627else
2628
2629gb_LinkTarget__use_coinmp :=
2630
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002631endif # ENABLE_COINMP
Matúš Kukanc4560482011-07-28 01:03:23 +02002632
Michael Stahl9ec0e6d2015-11-27 23:54:40 +01002633ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2634
2635define gb_LinkTarget__use_mDNSResponder
2636$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002637 -I$(gb_UnpackedTarball_workdir)/mDNSResponder/mDNSShared \
Michael Stahl9ec0e6d2015-11-27 23:54:40 +01002638 $$(INCLUDE) \
2639)
2640$(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2641endef
2642
2643endif # MDNSRESPONDER
2644
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002645ifeq ($(ENABLE_GIO),TRUE)
Matúš Kukanc4560482011-07-28 01:03:23 +02002646
Matúš Kukan464b4332012-01-15 02:12:49 +01002647define gb_LinkTarget__use_gio
2648$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01002649 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00002650 $(GIO_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01002651)
2652
2653$(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2654
2655endef
2656
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002657else # ENABLE_GIO
2658
2659define gb_LinkTarget__use_gio
Caolán McNamara1e98bb42012-11-06 20:09:57 +00002660
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002661endef
2662
2663endif # ENABLE_GIO
2664
Siqid0419802013-07-24 11:16:31 +02002665ifeq ($(ENABLE_AVAHI),TRUE)
2666
2667define gb_LinkTarget__use_avahi
2668$(call gb_LinkTarget_set_include,$(1),\
2669 $$(INCLUDE) \
2670 $(AVAHI_CFLAGS) \
2671)
2672
2673$(call gb_LinkTarget_add_defs,$(1),\
2674 -DENABLE_AVAHI \
2675)
2676
2677$(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2678
2679endef
2680
2681else # ENABLE_AVAHI
2682
David Tardon9ce38ef2013-11-05 07:03:08 +01002683gb_LinkTarget__use_avahi :=
Siqid0419802013-07-24 11:16:31 +02002684
2685endif # ENABLE_AVAHI
2686
Michael Weghorne702e272024-06-11 07:31:07 +02002687ifeq ($(ENABLE_CPDB),TRUE)
2688
2689define gb_LinkTarget__use_cpdb
2690$(call gb_LinkTarget_set_include,$(1),\
2691 $$(INCLUDE) \
2692 $(CPDB_CFLAGS) \
2693)
2694
2695$(call gb_LinkTarget_add_libs,$(1),\
2696 $(CPDB_LIBS) \
2697)
2698
2699endef
2700
2701else # ENABLE_CPDB
2702
2703define gb_LinkTarget__use_cpdb
2704
2705endef
2706
2707endif # ENABLE_CPDB
2708
Caolán McNamara68ffb332012-09-14 11:31:50 +01002709ifeq ($(ENABLE_CUPS),TRUE)
2710
2711define gb_LinkTarget__use_cups
Caolán McNamara68ffb332012-09-14 11:31:50 +01002712
2713$(call gb_LinkTarget_add_libs,$(1),\
2714 -lcups \
2715)
2716
2717endef
2718
2719else # ENABLE_CUPS
2720
2721define gb_LinkTarget__use_cups
2722
2723endef
2724
Arkadiy Illarionov02addb32018-07-08 16:33:32 +03002725endif # ENABLE_CUPS
David Tardon1b717ce2011-11-02 13:00:48 +01002726
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002727ifeq ($(ENABLE_DBUS),TRUE)
David Tardon1b717ce2011-11-02 13:00:48 +01002728
2729define gb_LinkTarget__use_dbus
2730$(call gb_LinkTarget_set_include,$(1),\
2731 $$(INCLUDE) \
2732 $(DBUS_CFLAGS) \
2733)
2734
David Tardon1b717ce2011-11-02 13:00:48 +01002735$(call gb_LinkTarget_add_libs,$(1),\
2736 $(DBUS_LIBS) \
2737)
2738
2739endef
2740
2741else # ENABLE_DBUS
2742
2743define gb_LinkTarget__use_dbus
2744
2745endef
2746
2747endif # ENABLE_DBUS
2748
2749
Michael Stahle3abec32014-02-11 15:57:18 +01002750ifneq ($(SYSTEM_LIBPNG),)
David Tardon6df9c472011-09-15 14:44:34 +02002751
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002752define gb_LinkTarget__use_libpng
David Tardon6df9c472011-09-15 14:44:34 +02002753$(call gb_LinkTarget_set_include,$(1),\
2754 $$(INCLUDE) \
2755 $(LIBPNG_CFLAGS) \
2756)
2757
2758$(call gb_LinkTarget_add_libs,$(1),\
2759 $(LIBPNG_LIBS) \
2760)
2761
2762endef
2763
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002764gb_ExternalProject__use_libpng :=
David Tardon5955e7b2016-11-03 13:58:29 +01002765
David Tardon6df9c472011-09-15 14:44:34 +02002766else # !SYSTEM_LIBPNG
2767
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002768define gb_LinkTarget__use_libpng
Michael Stahl416b3212013-05-08 17:22:22 +02002769$(call gb_LinkTarget_set_include,$(1),\
2770 $(LIBPNG_CFLAGS) \
2771 $$(INCLUDE) \
2772)
Matúš Kukanf96d58b2012-09-08 18:13:20 +02002773$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002774 libpng \
David Tardon6df9c472011-09-15 14:44:34 +02002775)
Michael Stahl398ce442012-09-28 21:47:29 +02002776$(call gb_LinkTarget__use_zlib,$(1))
David Tardon6df9c472011-09-15 14:44:34 +02002777
2778endef
2779
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002780define gb_ExternalProject__use_libpng
David Tardon5955e7b2016-11-03 13:58:29 +01002781$(call gb_ExternalProject_use_static_libraries,$(1),\
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002782 libpng \
David Tardon5955e7b2016-11-03 13:58:29 +01002783)
2784
2785endef
2786
David Tardon6df9c472011-09-15 14:44:34 +02002787endif # !SYSTEM_LIBPNG
2788
Julien Nabeta2ffd712022-05-19 20:09:51 +01002789ifneq ($(SYSTEM_LIBTIFF),)
2790
2791define gb_LinkTarget__use_libtiff
2792$(call gb_LinkTarget_set_include,$(1),\
2793 $$(INCLUDE) \
2794 $(LIBTIFF_CFLAGS) \
2795)
2796
2797$(call gb_LinkTarget_add_libs,$(1),\
2798 $(LIBTIFF_LIBS) \
2799)
2800
2801endef
2802
2803gb_ExternalProject__use_libtiff :=
2804
2805else # !SYSTEM_LIBTIFF
2806
2807define gb_LinkTarget__use_libtiff
2808$(call gb_LinkTarget_set_include,$(1),\
2809 $(LIBTIFF_CFLAGS) \
2810 $$(INCLUDE) \
2811)
2812
2813$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002814 -I$(gb_UnpackedTarball_workdir)/libtiff/libtiff \
Julien Nabeta2ffd712022-05-19 20:09:51 +01002815 $$(INCLUDE) \
2816)
2817ifeq ($(OS),WNT)
2818$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002819 $(gb_UnpackedTarball_workdir)/libtiff/libtiff/.libs/libtiff$(gb_StaticLibrary_PLAINEXT) \
Julien Nabeta2ffd712022-05-19 20:09:51 +01002820)
2821else
2822$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002823 -L$(gb_UnpackedTarball_workdir)/libtiff/libtiff/.libs -ltiff \
Julien Nabeta2ffd712022-05-19 20:09:51 +01002824)
2825endif
Stephan Bergmann3e21c3c2022-05-24 09:18:38 +02002826$(call gb_LinkTarget_use_external_project,$(1),libtiff,full)
Julien Nabeta2ffd712022-05-19 20:09:51 +01002827
2828endef
2829
2830define gb_ExternalProject__use_libtiff
Caolán McNamara11e42352022-05-21 16:30:59 +01002831$(call gb_ExternalProject_use_external_project,$(1),libtiff)
Julien Nabeta2ffd712022-05-19 20:09:51 +01002832
2833endef
2834
2835endif # !SYSTEM_LIBTIFF
Michael Stahl50471a82011-12-06 19:17:52 +01002836
Luboš Luňák60eaa422022-01-13 15:59:49 +01002837ifneq ($(SYSTEM_LIBWEBP),)
2838
2839define gb_LinkTarget__use_libwebp
2840$(call gb_LinkTarget_set_include,$(1),\
2841 $$(INCLUDE) \
2842 $(LIBWEBP_CFLAGS) \
2843)
2844
2845$(call gb_LinkTarget_add_libs,$(1),\
2846 $(LIBWEBP_LIBS) \
2847)
2848
2849endef
2850
2851gb_ExternalProject__use_libwebp :=
2852
2853else # !SYSTEM_LIBWEBP
2854
2855define gb_LinkTarget__use_libwebp
2856$(call gb_LinkTarget_set_include,$(1),\
2857 $(LIBWEBP_CFLAGS) \
2858 $$(INCLUDE) \
2859)
2860
2861$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002862 -I$(gb_UnpackedTarball_workdir)/libwebp/src \
Luboš Luňák60eaa422022-01-13 15:59:49 +01002863 $$(INCLUDE) \
2864)
2865ifeq ($(OS),WNT)
2866$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002867 $(gb_UnpackedTarball_workdir)/libwebp/output/lib/libwebp$(if $(MSVC_USE_DEBUG_RUNTIME),_debug)$(gb_StaticLibrary_PLAINEXT) \
Luboš Luňák60eaa422022-01-13 15:59:49 +01002868)
2869else
2870$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002871 -L$(gb_UnpackedTarball_workdir)/libwebp/src/.libs -lwebp \
2872 -L$(gb_UnpackedTarball_workdir)/libwebp/sharpyuv/.libs -lsharpyuv \
Luboš Luňák60eaa422022-01-13 15:59:49 +01002873)
2874endif
2875$(call gb_LinkTarget_use_external_project,$(1),libwebp)
2876
2877endef
2878
2879define gb_ExternalProject__use_libwebp
Caolán McNamara11e42352022-05-21 16:30:59 +01002880$(call gb_ExternalProject_use_external_project,$(1),libwebp)
Luboš Luňák60eaa422022-01-13 15:59:49 +01002881
2882endef
2883
2884endif # !SYSTEM_LIBWEBP
2885
2886
Michael Stahle3abec32014-02-11 15:57:18 +01002887ifneq ($(SYSTEM_CURL),)
Michael Stahl50471a82011-12-06 19:17:52 +01002888
2889define gb_LinkTarget__use_curl
Cédric Bosdonnat89361fa2014-07-16 17:02:01 +02002890$(call gb_LinkTarget_add_defs,$(1),\
2891 -DSYSTEM_CURL \
2892)
Michael Stahl50471a82011-12-06 19:17:52 +01002893$(call gb_LinkTarget_set_include,$(1),\
2894 $$(INCLUDE) \
2895 $(CURL_CFLAGS) \
2896)
2897$(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2898
2899endef
2900
2901else # !SYSTEM_CURL
2902
Mike Kaganskicf539002023-11-10 21:09:11 +03002903$(if $(ENABLE_CURL),\
Michael Stahl32a617d2014-02-17 11:23:19 +01002904$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2905 curl \
Mike Kaganskicf539002023-11-10 21:09:11 +03002906)))
Michael Stahl32a617d2014-02-17 11:23:19 +01002907
Michael Stahl50471a82011-12-06 19:17:52 +01002908define gb_LinkTarget__use_curl
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002909$(call gb_LinkTarget_use_package,$(1),curl)
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002910$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002911 -I$(gb_UnpackedTarball_workdir)/curl/include \
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002912 $$(INCLUDE) \
2913)
Michael Stahl936a1a92013-10-23 22:37:11 +02002914
2915ifeq ($(COM),MSC)
Michael Stahl714b93b2013-10-24 00:32:04 +02002916$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002917 $(gb_UnpackedTarball_workdir)/curl/builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-zlib-static-ipv6-sspi-schannel/lib/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).lib \
Michael Stahl50471a82011-12-06 19:17:52 +01002918)
Michael Stahl936a1a92013-10-23 22:37:11 +02002919else
2920$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002921 -L$(gb_UnpackedTarball_workdir)/curl/lib/.libs -lcurl \
Michael Stahl936a1a92013-10-23 22:37:11 +02002922)
2923endif
Michael Stahl50471a82011-12-06 19:17:52 +01002924
2925endef
2926
2927endif # SYSTEM_CURL
2928
Stephan Bergmann49313b02012-11-27 15:35:02 +01002929ifeq ($(ENABLE_VALGRIND),TRUE)
David Tardon3446cda2011-12-23 12:21:19 +01002930
2931define gb_LinkTarget__use_valgrind
2932$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmann49313b02012-11-27 15:35:02 +01002933 -DHAVE_VALGRIND_HEADERS \
David Tardon3446cda2011-12-23 12:21:19 +01002934)
2935
2936$(call gb_LinkTarget_set_include,$(1),\
2937 $$(INCLUDE) \
2938 $(VALGRIND_CFLAGS) \
2939)
2940
2941endef
2942
Stephan Bergmann49313b02012-11-27 15:35:02 +01002943else # !ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002944
2945define gb_LinkTarget__use_valgrind
2946
2947endef
2948
Stephan Bergmann49313b02012-11-27 15:35:02 +01002949endif # ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002950
Ashod Nakashian0d8c6702019-03-06 22:06:35 -05002951ifeq ($(ENABLE_POPPLER),TRUE)
2952
Michael Stahl32db4992014-02-11 19:35:22 +01002953ifneq ($(SYSTEM_POPPLER),)
David Tardondba2d322012-02-18 18:54:35 +01002954
2955define gb_LinkTarget__use_poppler
David Tardondba2d322012-02-18 18:54:35 +01002956$(call gb_LinkTarget_set_include,$(1),\
2957 $(POPPLER_CFLAGS) \
2958 $$(INCLUDE) \
2959)
2960
2961$(call gb_LinkTarget_add_libs,$(1),\
2962 $(POPPLER_LIBS) \
2963)
2964
2965endef
2966
2967else # !SYSTEM_POPPLER
2968
Michael Warner6ea7ca42021-11-12 08:13:16 -05002969$(eval $(call gb_Helper_register_packages_for_install,pdfimport,\
2970 poppler_data \
2971))
2972
David Tardondba2d322012-02-18 18:54:35 +01002973define gb_LinkTarget__use_poppler
David Tardoncad68c62015-09-29 18:09:16 +02002974$(call gb_LinkTarget_use_external_project,$(1),poppler,full)
Michael Warner648e4102021-05-11 09:22:27 -04002975$(call gb_LinkTarget_use_package,$(1),poppler_data)
David Tardon548b61a2012-02-21 06:58:02 +01002976$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02002977 -I$(gb_UnpackedTarball_workdir)/poppler \
2978 -I$(gb_UnpackedTarball_workdir)/poppler/poppler \
2979 -I$(gb_UnpackedTarball_workdir)/poppler/goo \
David Tardon548b61a2012-02-21 06:58:02 +01002980 $$(INCLUDE) \
David Tardondba2d322012-02-18 18:54:35 +01002981)
2982
Michael Stahl67e53552018-06-20 16:10:44 +02002983$(call gb_LinkTarget_use_static_libraries,$(1),poppler)
Michael Stahl77d297f2017-09-13 22:50:14 +02002984$(call gb_LinkTarget_use_external,$(1),libjpeg)
Michael Stahl43532a02016-11-03 15:58:08 +01002985
David Tardon548b61a2012-02-21 06:58:02 +01002986ifeq ($(OS),MACOSX)
Michael Stahl967986b2012-09-28 00:54:49 +02002987$(call gb_LinkTarget_add_libs,$(1),\
2988 -lobjc \
David Tardon548b61a2012-02-21 06:58:02 +01002989)
Caolán McNamara0d5cc8c2014-08-30 15:12:53 +01002990else ifeq ($(OS),LINUX)
2991$(call gb_LinkTarget_add_libs,$(1),\
2992 -pthread \
2993)
David Tardon548b61a2012-02-21 06:58:02 +01002994else ifeq ($(OS),WNT)
Michael Stahldc397aae2012-09-28 15:31:46 +02002995$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon548b61a2012-02-21 06:58:02 +01002996 advapi32 \
2997 gdi32 \
2998)
2999endif
3000
David Tardondba2d322012-02-18 18:54:35 +01003001endef
3002
3003endif # SYSTEM_POPPLER
3004
Ashod Nakashian0d8c6702019-03-06 22:06:35 -05003005endif # ENABLE_POPPLER
3006
David Tardon3446cda2011-12-23 12:21:19 +01003007
Michael Stahl46648152014-02-11 16:33:18 +01003008ifneq ($(SYSTEM_CLUCENE),)
David Tardon22c60cb2012-04-07 15:50:47 +02003009
3010define gb_LinkTarget__use_clucene
3011$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003012 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
Thorsten Behrensff071072023-11-02 18:17:50 +01003013 -DSYSTEM_CLUCENE \
David Tardon22c60cb2012-04-07 15:50:47 +02003014)
3015
3016$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003017 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
David Tardon22c60cb2012-04-07 15:50:47 +02003018 $$(INCLUDE) \
3019)
3020
3021$(call gb_LinkTarget_add_libs,$(1),\
3022 $(CLUCENE_LIBS) \
3023)
3024
3025endef
3026
3027else # !SYSTEM_CLUCENE
3028
3029define gb_LinkTarget__use_clucene
Michael Stahl28cde0c2013-05-07 23:47:27 +02003030$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003031 -I$(gb_UnpackedTarball_workdir)/clucene/src/core \
3032 -I$(gb_UnpackedTarball_workdir)/clucene/src/shared \
3033 -I$(gb_UnpackedTarball_workdir)/clucene/src/contribs-lib \
Michael Stahl28cde0c2013-05-07 23:47:27 +02003034 $$(INCLUDE) \
3035)
3036
Michael Stahlc923f7d2012-04-07 23:22:08 +02003037$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon22c60cb2012-04-07 15:50:47 +02003038 clucene \
3039)
3040
3041endef
3042
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02003043$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
Jan-Marek Glogowski87cdb3e2021-12-21 14:12:10 +01003044 $(call gb_Helper_optionals_or,HELPTOOLS XMLHELP,clucene) \
David Tardon22c60cb2012-04-07 15:50:47 +02003045))
3046
3047endif # SYSTEM_CLUCENE
3048
Peter Foley64402842011-12-22 16:34:35 -05003049define gb_LinkTarget__use_gobject
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01003050$(call gb_LinkTarget_add_libs,$(1),\
3051 $(GOBJECT_LIBS) \
3052)
3053
3054$(call gb_LinkTarget_set_include,$(1),\
3055 $$(INCLUDE) \
3056 $(GOBJECT_CFLAGS) \
3057)
Peter Foley64402842011-12-22 16:34:35 -05003058endef
3059
Sophia Schröderf4fc28a2018-04-11 15:39:57 +01003060ifneq ($(SYSTEM_HSQLDB),)
3061
3062define gb_LinkTarget__use_hsqldb
3063
3064$(call gb_LinkTarget_add_defs,$(1),\
3065 -DSYSTEM_HSQLDB \
3066 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
3067)
3068
3069endef
3070
3071else # !SYSTEM_HSQLDB
3072
3073define gb_LinkTarget__use_hsqldb
3074
3075endef
3076
3077endif # SYSTEM_HSQLDB
3078
Andrew Udvare6776c532019-01-08 04:53:51 -05003079ifeq ($(ENABLE_LDAP),TRUE)
Michael Stahl5378dea2014-02-11 19:11:47 +01003080ifneq ($(SYSTEM_OPENLDAP),)
Michael Stahle0ee0d42012-07-16 19:00:07 +02003081
3082define gb_LinkTarget__use_openldap
3083
3084$(call gb_LinkTarget_add_libs,$(1),\
3085 -lldap \
3086 -llber \
3087)
3088
3089endef
3090
Michael Stahl2f6261f2013-09-19 19:28:36 +02003091gb_ExternalProject__use_openldap :=
3092
Michael Stahl5378dea2014-02-11 19:11:47 +01003093else # !SYSTEM_OPENLDAP
Michael Stahle0ee0d42012-07-16 19:00:07 +02003094
Michael Stahle0ee0d42012-07-16 19:00:07 +02003095define gb_LinkTarget__use_openldap
Matúš Kukan7a030392012-10-29 23:29:37 +01003096$(call gb_LinkTarget_use_unpacked,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02003097$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003098 -I$(gb_UnpackedTarball_workdir)/openldap/include \
Michael Stahle0ee0d42012-07-16 19:00:07 +02003099 $$(INCLUDE) \
3100)
Stephan Bergmann6b4c4352015-10-09 09:21:48 +02003101$(call gb_LinkTarget_use_external_project,$(1),openldap,full)
Michael Stahl2f6261f2013-09-19 19:28:36 +02003102$(call gb_LinkTarget_add_libs,$(1), \
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003103 $(gb_UnpackedTarball_workdir)/openldap/libraries/libldap/.libs/libldap.a \
3104 $(gb_UnpackedTarball_workdir)/openldap/libraries/liblber/.libs/liblber.a \
Michael Stahle0ee0d42012-07-16 19:00:07 +02003105)
3106
3107endef
Andrew Udvare6776c532019-01-08 04:53:51 -05003108endif
Michael Stahle0ee0d42012-07-16 19:00:07 +02003109
Michael Stahl2f6261f2013-09-19 19:28:36 +02003110define gb_ExternalProject__use_openldap
3111$(call gb_ExternalProject_use_external_project,$(1),openldap)
3112
3113endef
3114
Michael Stahle0ee0d42012-07-16 19:00:07 +02003115endif # SYSTEM_OPENLDAP
3116
Wastack45f42682016-07-28 17:16:19 +02003117ifneq ($(SYSTEM_LIBTOMMATH),)
3118
3119define gb_LinkTarget__use_libtommath
3120$(call gb_LinkTarget_set_include,$(1),\
3121 $(LIBTOMMATH_CFLAGS) \
3122 $$(INCLUDE) \
3123)
3124$(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
3125
3126endef
3127
3128else # !SYSTEM_LIBTOMMATH
3129define gb_LinkTarget__use_libtommath
3130$(call gb_LinkTarget_set_include,$(1),\
3131 -I${WORKDIR}/UnpackedTarball/libtommath \
3132 $$(INCLUDE) \
3133)
3134$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003135 $(gb_UnpackedTarball_workdir)/libtommath/libtommath$(gb_StaticLibrary_PLAINEXT) \
Wastack45f42682016-07-28 17:16:19 +02003136)
3137$(call gb_LinkTarget_use_external_project,$(1),libtommath)
3138
3139endef
3140
3141endif # SYSTEM_LIBTOMMATH
3142
3143define gb_ExternalProject__use_libtommath
3144$(call gb_ExternalProject_use_external_project,$(1),libtommath)
3145
3146endef
Michael Stahle0ee0d42012-07-16 19:00:07 +02003147
Javier Fernandezf53228c2013-05-10 18:21:30 +00003148ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
3149
Michael Stahl23647592014-02-11 19:04:20 +01003150ifneq ($(SYSTEM_FIREBIRD),)
Javier Fernandezf53228c2013-05-10 18:21:30 +00003151
Rene Engelhard0b68d702013-07-16 21:50:14 +02003152define gb_LinkTarget__use_libfbembed
Javier Fernandezf53228c2013-05-10 18:21:30 +00003153$(call gb_LinkTarget_set_include,$(1),\
3154 $(FIREBIRD_CFLAGS) \
3155 $$(INCLUDE) \
3156)
3157$(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
3158
3159endef
3160
Javier Fernandezf53228c2013-05-10 18:21:30 +00003161else # !SYSTEM_FIREBIRD
3162
Michael Stahl2c78d492017-01-09 14:45:11 +01003163$(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
3164 firebird \
3165))
3166
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01003167#$(call gb_LinkTarget__use_libatomic_ops,$(1))
Wastack45f42682016-07-28 17:16:19 +02003168#$(call gb_LinkTarget__use_libtommath,$(1))
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01003169
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01003170define gb_LinkTarget__use_libfbembed
3171$(call gb_LinkTarget_use_package,$(1),firebird)
Javier Fernandezf53228c2013-05-10 18:21:30 +00003172$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003173 -I$(gb_UnpackedTarball_workdir)/firebird/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
Javier Fernandezf53228c2013-05-10 18:21:30 +00003174 $$(INCLUDE) \
3175)
Michael Stahl37563db2013-10-22 22:22:49 +02003176ifeq ($(COM),MSC)
3177$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003178 $(gb_UnpackedTarball_workdir)/firebird/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
Javier Fernandezf53228c2013-05-10 18:21:30 +00003179)
Michael Stahl37563db2013-10-22 22:22:49 +02003180else
3181$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003182 -L$(gb_UnpackedTarball_workdir)/firebird/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
Michael Stahl37563db2013-10-22 22:22:49 +02003183)
3184endif
Javier Fernandezf53228c2013-05-10 18:21:30 +00003185
3186endef
3187
Javier Fernandezf53228c2013-05-10 18:21:30 +00003188
3189# endef
3190
3191endif # SYSTEM_FIREBIRD
3192
3193else # !ENABLE_FIREBIRD_SDBC
Michael Stahl6fa0b372014-02-12 17:01:35 +01003194
Javier Fernandezf53228c2013-05-10 18:21:30 +00003195gb_LinkTarget__use_firebird :=
3196# gb_LinkTarget__use_atomic_ops :=
Wastack45f42682016-07-28 17:16:19 +02003197# gb_LinkTarget__use_libtommath :=
Javier Fernandezf53228c2013-05-10 18:21:30 +00003198
3199endif # ENABLE_FIREBIRD_SDBC
3200
3201
Michael Stahl5866b332014-02-11 18:56:33 +01003202ifneq ($(SYSTEM_POSTGRESQL),)
David Tardon8bc7afb2012-04-05 10:53:08 +02003203
3204define gb_LinkTarget__use_postgresql
3205
David Tardon8bc7afb2012-04-05 10:53:08 +02003206$(call gb_LinkTarget_set_include,$(1),\
3207 $(POSTGRESQL_INC) \
3208 $$(INCLUDE) \
3209)
3210
3211$(call gb_LinkTarget_add_libs,$(1),\
3212 -lpq \
3213)
3214
3215$(call gb_LinkTarget_add_ldflags,$(1),\
3216 $(POSTGRESQL_LIB) \
3217)
3218
3219endef
3220
3221else # !SYSTEM_POSTGRESQL
3222
Michael Stahl5e6e87f2021-01-21 14:26:01 +01003223ifeq ($(OS),WNT)
Mike Kaganskifac623a2023-11-10 21:10:11 +03003224$(if $(MPL_SUBSET),,\
Michael Stahl5e6e87f2021-01-21 14:26:01 +01003225$(eval $(call gb_Helper_register_packages_for_install,postgresqlsdbc,\
3226 postgresql \
Mike Kaganskifac623a2023-11-10 21:10:11 +03003227)))
Michael Stahl5e6e87f2021-01-21 14:26:01 +01003228endif # WNT
3229
David Tardon8bc7afb2012-04-05 10:53:08 +02003230define gb_LinkTarget__use_postgresql
3231
Michael Stahl234833f2021-01-19 15:38:05 +01003232$(call gb_LinkTarget_use_external_project,$(1),postgresql,full)
David Tardoncb9823b2012-10-22 06:33:00 +02003233
David Tardon8bc7afb2012-04-05 10:53:08 +02003234$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003235 -I$(gb_UnpackedTarball_workdir)/postgresql/src/include \
3236 -I$(gb_UnpackedTarball_workdir)/postgresql/src/interfaces/libpq \
David Tardon8bc7afb2012-04-05 10:53:08 +02003237 $$(INCLUDE) \
3238)
3239
Michael Stahl234833f2021-01-19 15:38:05 +01003240ifeq ($(OS),WNT)
3241
Michael Stahl234833f2021-01-19 15:38:05 +01003242$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003243 $(gb_UnpackedTarball_workdir)/postgresql/$(gb_MSBUILD_CONFIG)/libpq/libpq.lib \
Michael Stahl234833f2021-01-19 15:38:05 +01003244)
3245
Jan-Marek Glogowski58d5f742021-05-22 21:42:26 +02003246else # !WNT
Michael Stahl234833f2021-01-19 15:38:05 +01003247
Michael Stahl2f6261f2013-09-19 19:28:36 +02003248$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003249 $(gb_UnpackedTarball_workdir)/postgresql/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
3250 $(gb_UnpackedTarball_workdir)/postgresql/src/common/libpgcommon$(gb_StaticLibrary_PLAINEXT) \
3251 $(gb_UnpackedTarball_workdir)/postgresql/src/port/libpgport$(gb_StaticLibrary_PLAINEXT) \
Jan-Marek Glogowski58d5f742021-05-22 21:42:26 +02003252 $(if $(WITH_GSSAPI),$(GSSAPI_LIBS)) \
David Tardon8bc7afb2012-04-05 10:53:08 +02003253)
3254
Jan-Marek Glogowski58d5f742021-05-22 21:42:26 +02003255endif # !WNT
David Tardon8bc7afb2012-04-05 10:53:08 +02003256
Jan-Marek Glogowski58d5f742021-05-22 21:42:26 +02003257endef # gb_LinkTarget__use_postgresql
David Tardon8bc7afb2012-04-05 10:53:08 +02003258
Jan-Marek Glogowski58d5f742021-05-22 21:42:26 +02003259endif # !SYSTEM_POSTGRESQL
David Tardon8bc7afb2012-04-05 10:53:08 +02003260
Michael Weghornba672022022-01-27 15:16:47 +01003261ifneq (,$(filter TRUE,$(ENABLE_KF5) $(ENABLE_GTK3_KDE5)))
Milian Wolff4d78cf92018-01-10 16:26:10 +01003262
Jan-Marek Glogowskid3c6ac62019-07-09 15:28:29 +00003263define gb_LinkTarget__use_kf5
Milian Wolff4d78cf92018-01-10 16:26:10 +01003264$(call gb_LinkTarget_set_include,$(1),\
3265 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS)))) \
3266 $$(INCLUDE) \
3267)
3268
Michael Weghorn4aa60492019-06-08 13:45:36 +02003269$(call gb_LinkTarget_add_cxxflags,$(1),\
Milian Wolff4d78cf92018-01-10 16:26:10 +01003270 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS))) \
3271)
3272
3273$(call gb_LinkTarget_add_libs,$(1),\
3274 $(KF5_LIBS) \
3275)
3276
Milian Wolff4d78cf92018-01-10 16:26:10 +01003277endef
3278
Jan-Marek Glogowskid3c6ac62019-07-09 15:28:29 +00003279else # !ENABLE_KF5
Milian Wolff4d78cf92018-01-10 16:26:10 +01003280
Jan-Marek Glogowskid3c6ac62019-07-09 15:28:29 +00003281define gb_LinkTarget__use_kf5
Milian Wolff4d78cf92018-01-10 16:26:10 +01003282
3283endef
3284
Jan-Marek Glogowskid3c6ac62019-07-09 15:28:29 +00003285endif # ENABLE_KF5
Milian Wolff4d78cf92018-01-10 16:26:10 +01003286
Michael Weghorn720bf6a2023-06-22 08:48:05 +02003287ifneq (,$(filter TRUE,$(ENABLE_KF6)))
Milian Wolff4d78cf92018-01-10 16:26:10 +01003288
Michael Weghorn720bf6a2023-06-22 08:48:05 +02003289define gb_LinkTarget__use_kf6
3290$(call gb_LinkTarget_set_include,$(1),\
3291 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KF6_CFLAGS)))) \
3292 $$(INCLUDE) \
3293)
3294
3295$(call gb_LinkTarget_add_cxxflags,$(1),\
3296 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KF6_CFLAGS))) \
3297)
3298
3299$(call gb_LinkTarget_add_libs,$(1),\
3300 $(KF6_LIBS) \
3301)
3302
3303endef
3304
3305else # !ENABLE_KF6
3306
3307define gb_LinkTarget__use_kf6
3308
3309endef
3310
3311endif # ENABLE_KF6
Milian Wolff4d78cf92018-01-10 16:26:10 +01003312
Michael Weghornba672022022-01-27 15:16:47 +01003313ifneq (,$(filter TRUE,$(ENABLE_QT5) $(ENABLE_GTK3_KDE5)))
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003314
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003315define gb_LinkTarget__use_qt5
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003316$(call gb_LinkTarget_set_include,$(1),\
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003317 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS)))) \
3318 $$(INCLUDE) \
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003319)
3320
3321$(call gb_LinkTarget_add_defs,$(1),\
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003322 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS))) \
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003323)
3324
3325$(call gb_LinkTarget_add_libs,$(1),\
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003326 $(QT5_LIBS) \
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003327)
3328
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003329endef
3330
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003331else # !ENABLE_QT5
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003332
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003333define gb_LinkTarget__use_qt5
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003334
3335endef
3336
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003337endif # ENABLE_QT5
David Tardond4efa8b2012-04-28 20:48:14 +02003338
Michael Weghorn88d57cf2021-09-29 11:09:51 +02003339ifeq ($(ENABLE_QT6),TRUE)
3340
3341define gb_LinkTarget__use_qt6
3342$(call gb_LinkTarget_set_include,$(1),\
3343 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(QT6_CFLAGS)))) \
3344 $$(INCLUDE) \
3345)
3346
3347$(call gb_LinkTarget_add_defs,$(1),\
3348 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(QT6_CFLAGS))) \
3349)
3350
3351$(call gb_LinkTarget_add_libs,$(1),\
3352 $(QT6_LIBS) \
3353)
3354
3355endef
3356
3357else # !ENABLE_QT6
3358
3359define gb_LinkTarget__use_qt6
3360
3361endef
3362
3363endif # ENABLE_QT6
3364
3365
David Ostrovskye16ac692012-05-27 22:50:41 +02003366# PYTHON
Michael Stahl91926332012-11-27 15:50:53 +01003367# extra python_headers external because pyuno wrapper must not link python
Michael Stahl0443d0a2014-02-11 16:57:35 +01003368ifneq ($(SYSTEM_PYTHON),)
David Ostrovskye16ac692012-05-27 22:50:41 +02003369
Michael Stahl91926332012-11-27 15:50:53 +01003370define gb_LinkTarget__use_python_headers
David Ostrovskye16ac692012-05-27 22:50:41 +02003371$(call gb_LinkTarget_add_defs,$(1),\
Andrea Gelmini2a81eee2018-12-06 23:10:27 +01003372 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003373)
3374
3375$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003376 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003377 $$(INCLUDE) \
3378)
3379
Michael Stahl91926332012-11-27 15:50:53 +01003380endef
3381
3382define gb_LinkTarget__use_python
3383$(call gb_LinkTarget__use_python_headers,$(1))
3384
David Ostrovskye16ac692012-05-27 22:50:41 +02003385$(call gb_LinkTarget_add_libs,$(1),\
3386 $(PYTHON_LIBS) \
3387)
3388
3389endef
3390
3391else # !SYSTEM_PYTHON
3392
Michael Stahl720ca8e2014-03-18 18:24:15 +01003393$(eval $(call gb_Helper_register_packages_for_install,python,\
3394 python3 \
Jan-Marek Glogowskifad7e202021-02-07 15:15:58 +01003395 $(if $(filter WNT,$(OS)),libffi) \
Michael Stahl720ca8e2014-03-18 18:24:15 +01003396))
3397
Michael Stahl91926332012-11-27 15:50:53 +01003398define gb_LinkTarget__use_python_headers
David Tardoncad68c62015-09-29 18:09:16 +02003399$(call gb_LinkTarget_use_external_project,$(1),python3,full)
Michael Stahl91926332012-11-27 15:50:53 +01003400$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003401 -I$(gb_UnpackedTarball_workdir)/python3 \
3402 -I$(gb_UnpackedTarball_workdir)/python3/PC \
3403 -I$(gb_UnpackedTarball_workdir)/python3/Include \
Michael Stahl91926332012-11-27 15:50:53 +01003404 $$(INCLUDE) \
3405)
3406
3407endef
3408
David Ostrovskye16ac692012-05-27 22:50:41 +02003409define gb_LinkTarget__use_python
Michael Stahl91926332012-11-27 15:50:53 +01003410$(call gb_LinkTarget__use_python_headers,$(1))
Michael Stahld9162d22015-07-29 12:17:03 +02003411ifeq ($(OS),MACOSX)
3412$(call gb_LinkTarget_use_generated_package,$(1),python3)
3413else
Michael Stahl57dd4d02015-07-29 10:56:57 +02003414$(call gb_LinkTarget_use_package,$(1),python3)
Michael Stahld9162d22015-07-29 12:17:03 +02003415endif
David Ostrovskye16ac692012-05-27 22:50:41 +02003416
3417ifeq ($(OS),WNT)
Jan-Marek Glogowskibd066a12020-07-18 03:57:20 +02003418ifeq ($(CPUNAME),X86_64)
Stephan Bergmannc7a920a2022-02-23 08:51:28 +01003419python_arch_subdir=amd64/
Jan-Marek Glogowski5e1b3e92021-03-22 22:13:39 +01003420else ifeq ($(CPUNAME),AARCH64)
Stephan Bergmannc7a920a2022-02-23 08:51:28 +01003421python_arch_subdir=arm64/
Jan-Marek Glogowskibd066a12020-07-18 03:57:20 +02003422else
Stephan Bergmannc7a920a2022-02-23 08:51:28 +01003423python_arch_subdir=win32/
Jan-Marek Glogowskibd066a12020-07-18 03:57:20 +02003424endif
David Ostrovskye16ac692012-05-27 22:50:41 +02003425$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003426 $(gb_UnpackedTarball_workdir)/python3/PCbuild/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib \
David Ostrovskye16ac692012-05-27 22:50:41 +02003427)
3428else ifeq ($(OS),MACOSX)
3429$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003430 -F$(gb_UnpackedTarball_workdir)/python3/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
David Ostrovskye16ac692012-05-27 22:50:41 +02003431)
3432else
Michael Stahlb6bcbb62013-04-21 14:34:50 +02003433$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003434 -L$(gb_UnpackedTarball_workdir)/python3 \
Thomas Viehmann12142492020-11-27 23:08:08 +01003435 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)$(if $(ENABLE_DBGUTIL),d) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003436)
3437endif
3438
David Ostrovskye16ac692012-05-27 22:50:41 +02003439endef
3440
Michael Stahl79084662020-01-09 15:06:07 +01003441# this is only used by python currently
Christian Lohmaier186e9722025-04-08 14:30:15 +02003442# libffi library delivered to instdir is necessary to use internal python with meson (wants to import _ctypes)
Michael Stahl79084662020-01-09 15:06:07 +01003443define gb_ExternalProject__use_libffi
Christian Lohmaier186e9722025-04-08 14:30:15 +02003444$(call gb_ExternalProject_use_package,$(1),libffi)
Michael Stahl79084662020-01-09 15:06:07 +01003445
3446endef
3447
David Ostrovskye16ac692012-05-27 22:50:41 +02003448endif # SYSTEM_PYTHON
3449
Kohei Yoshida49b0b692012-09-04 15:05:35 -04003450# ORCUS
Michael Stahle3abec32014-02-11 15:57:18 +01003451ifneq ($(SYSTEM_LIBORCUS),)
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003452
3453define gb_LinkTarget__use_orcus
3454$(call gb_LinkTarget_set_include,$(1),\
3455 $$(INCLUDE) \
Matúš Kukana2d63fe2012-09-09 16:29:10 +02003456 $(ORCUS_CFLAGS) \
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003457)
Rene Engelhard26b80fc2013-04-13 19:29:33 +02003458$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
Rene Engelhardfb360f52013-04-13 16:17:29 +02003459endef
3460
3461define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003462
3463endef
3464
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003465else # !SYSTEM_LIBORCUS
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003466
David Tardonedb38d72015-06-04 16:09:48 +02003467ifeq ($(COM),MSC)
3468
3469$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3470 orcus \
3471 orcus-parser \
3472))
3473
Kohei Yoshidac8b7e982012-08-31 10:11:32 -04003474define gb_LinkTarget__use_orcus
Matúš Kukan1ee76032012-09-09 15:29:43 +02003475$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003476 -I$(gb_UnpackedTarball_workdir)/liborcus/include \
Matúš Kukan1ee76032012-09-09 15:29:43 +02003477 $$(INCLUDE) \
3478)
David Tardonf1035c12012-11-23 06:49:21 +01003479
David Tardonedb38d72015-06-04 16:09:48 +02003480$(call gb_LinkTarget_use_libraries,$(1),\
3481 orcus \
Stephan Bergmann3743cdb2013-02-17 22:58:21 +01003482)
David Tardonf1035c12012-11-23 06:49:21 +01003483
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003484endef
3485
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003486define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaecc884e2013-12-17 21:18:46 -05003487$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003488 -I$(gb_UnpackedTarball_workdir)/liborcus/include \
Kohei Yoshidaecc884e2013-12-17 21:18:46 -05003489 $$(INCLUDE) \
3490)
David Tardonedb38d72015-06-04 16:09:48 +02003491
3492$(call gb_LinkTarget_use_libraries,$(1),\
3493 orcus-parser \
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003494)
3495
3496endef
3497
David Tardonedb38d72015-06-04 16:09:48 +02003498else # !MSC
3499
3500$(eval $(call gb_Helper_register_packages_for_install,ooo,\
3501 liborcus \
3502))
3503
3504define gb_LinkTarget__use_orcus
3505$(call gb_LinkTarget_use_package,$(1),liborcus)
3506
3507$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003508 -I$(gb_UnpackedTarball_workdir)/liborcus/include \
David Tardonedb38d72015-06-04 16:09:48 +02003509 $$(INCLUDE) \
3510)
3511
3512$(call gb_LinkTarget_add_libs,$(1),\
Kohei Yoshidad48fddc2025-09-15 22:28:20 -04003513 -L$(gb_UnpackedTarball_workdir)/liborcus/src/liborcus/.libs -lorcus-0.21 \
David Tardonedb38d72015-06-04 16:09:48 +02003514)
3515
3516$(if $(SYSTEM_BOOST), \
3517 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
David Tardonedb38d72015-06-04 16:09:48 +02003518)
3519
3520endef
3521
3522define gb_LinkTarget__use_orcus-parser
3523$(call gb_LinkTarget_use_package,$(1),liborcus)
3524
3525$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003526 -I$(gb_UnpackedTarball_workdir)/liborcus/include \
David Tardonedb38d72015-06-04 16:09:48 +02003527 $$(INCLUDE) \
3528)
3529
3530$(call gb_LinkTarget_add_libs,$(1),\
Kohei Yoshidad48fddc2025-09-15 22:28:20 -04003531 -L$(gb_UnpackedTarball_workdir)/liborcus/src/parser/.libs -lorcus-parser-0.21 \
David Tardonedb38d72015-06-04 16:09:48 +02003532)
3533
3534endef
3535
3536endif # MSC
3537
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003538endif # SYSTEM_LIBORCUS
David Ostrovskye16ac692012-05-27 22:50:41 +02003539
Khaled Hosny5aad1912022-10-01 13:03:11 +02003540ifeq ($(ENABLE_EOT),TRUE)
David Tardon49a4d362013-11-12 16:44:40 +01003541
Khaled Hosny5aad1912022-10-01 13:03:11 +02003542ifneq ($(SYSTEM_LIBEOT),)
David Tardon49a4d362013-11-12 16:44:40 +01003543
3544define gb_LinkTarget__use_libeot
3545$(call gb_LinkTarget_set_include,$(1),\
3546 $$(INCLUDE) \
3547 $(LIBEOT_CFLAGS) \
3548)
3549$(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3550
3551endef
3552
3553gb_ExternalProject__use_libeot :=
3554
3555else # !SYSTEM_LIBEOT
3556
3557define gb_LinkTarget__use_libeot
3558$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003559 -I$(gb_UnpackedTarball_workdir)/libeot/inc \
David Tardon49a4d362013-11-12 16:44:40 +01003560 $$(INCLUDE) \
3561)
Tomaž Vajngerl80e08f52025-05-09 00:06:19 +09003562
3563ifeq ($(COM),MSC)
3564
3565$(call gb_LinkTarget_use_static_libraries,$(1),\
3566 libeot \
3567)
3568
3569else
3570
David Tardon49a4d362013-11-12 16:44:40 +01003571$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003572 $(gb_UnpackedTarball_workdir)/libeot/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
David Tardon49a4d362013-11-12 16:44:40 +01003573)
Tomaž Vajngerl80e08f52025-05-09 00:06:19 +09003574
3575endif
3576
David Tardon49a4d362013-11-12 16:44:40 +01003577$(call gb_LinkTarget_use_external_project,$(1),libeot)
3578
3579endef
3580
3581define gb_ExternalProject__use_libeot
3582$(call gb_ExternalProject_use_external_project,$(1),libeot)
3583
3584endef
3585
Khaled Hosny5aad1912022-10-01 13:03:11 +02003586endif # SYSTEM_LIBEOT
3587
3588else # !ENABLE_EOT
David Tardon49a4d362013-11-12 16:44:40 +01003589
3590gb_LinkTarget__use_libeot :=
3591gb_ExternalProject__use_libeot :=
3592
Khaled Hosny5aad1912022-10-01 13:03:11 +02003593endif # ENABLE_EOT
David Tardon49a4d362013-11-12 16:44:40 +01003594
Khaled Hosny5aad1912022-10-01 13:03:11 +02003595### X11 stuff ###
Michael Stahl78b59b82012-09-27 21:45:47 +02003596
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003597ifeq ($(USING_X11), TRUE)
Michael Stahl78b59b82012-09-27 21:45:47 +02003598
Michael Stahl78b59b82012-09-27 21:45:47 +02003599define gb_LinkTarget__use_Xrandr
Michael Stahl78b59b82012-09-27 21:45:47 +02003600$(call gb_LinkTarget_set_include,$(1),\
3601 $$(INCLUDE) \
3602 $(XRANDR_CFLAGS) \
3603)
3604
3605$(call gb_LinkTarget_add_libs,$(1),\
3606 $(XRANDR_LIBS) \
3607)
3608endef
3609
Michael Stahl78b59b82012-09-27 21:45:47 +02003610define gb_LinkTarget__use_Xrender
Michael Stahl78b59b82012-09-27 21:45:47 +02003611$(call gb_LinkTarget_set_include,$(1),\
3612 $$(INCLUDE) \
3613 $(XRENDER_CFLAGS) \
3614)
3615
3616$(call gb_LinkTarget_add_libs,$(1),\
3617 $(XRENDER_LIBS) \
3618)
3619endef
3620
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003621endif # USING_X11
Michael Stahl78b59b82012-09-27 21:45:47 +02003622
Tor Lillqvist35491072011-08-02 21:22:35 +03003623
Michael Meeksb440cfc2013-02-28 12:05:07 +00003624gb_ExternalProject__use_nss3:=
3625
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003626
Michael Stahle3abec32014-02-11 15:57:18 +01003627ifneq ($(SYSTEM_NSS),)
David Tardonb6aa4842011-08-11 13:10:14 +02003628
David Tardon2b9dbc82012-08-13 06:57:51 +02003629define gb_LinkTarget__use_nss3
3630$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmannea641222012-11-19 16:40:33 +01003631 -DSYSTEM_NSS \
David Tardon2b9dbc82012-08-13 06:57:51 +02003632)
3633
David Tardonb6aa4842011-08-11 13:10:14 +02003634$(call gb_LinkTarget_set_include,$(1),\
3635 $$(INCLUDE) \
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003636 $(NSS_CFLAGS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003637)
3638
3639$(call gb_LinkTarget_add_libs,$(1),\
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003640 $(NSS_LIBS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003641)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003642
David Tardonb6aa4842011-08-11 13:10:14 +02003643endef
3644
Michael Stahl395c0c02021-10-19 16:00:53 +02003645define gb_LinkTarget__use_nssutil3
3646$(call gb_LinkTarget__use_nss3,$(1))
3647
3648endef
3649
David Tardon2b9dbc82012-08-13 06:57:51 +02003650define gb_LinkTarget__use_plc4
3651$(call gb_LinkTarget__use_nss3,$(1))
3652
3653endef
3654
David Tardon6ef46562013-02-04 10:04:07 +01003655define gb_LinkTarget__use_ssl3
3656$(call gb_LinkTarget__use_nss3,$(1))
3657
3658endef
3659
Michael Stahle3abec32014-02-11 15:57:18 +01003660else # !SYSTEM_NSS
David Tardonb6aa4842011-08-11 13:10:14 +02003661
Michael Stahlffae67c2014-03-13 19:51:19 +01003662$(eval $(call gb_Helper_register_packages_for_install,ooo, \
3663 nss \
3664))
3665
David Tardon2b9dbc82012-08-13 06:57:51 +02003666define gb_LinkTarget__use_nss3
Peter Foleyc003d252013-01-01 09:39:36 -05003667$(call gb_LinkTarget_use_package,$(1),nss)
David Tardon2b9dbc82012-08-13 06:57:51 +02003668$(call gb_LinkTarget_set_include,$(1),\
3669 $$(INCLUDE) \
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003670 -I$(gb_UnpackedTarball_workdir)/nss/dist/public/nss \
3671 -I$(gb_UnpackedTarball_workdir)/nss/dist/out/include \
David Tardon2b9dbc82012-08-13 06:57:51 +02003672)
3673
Michael Stahld2f62c32013-10-23 00:14:01 +02003674ifeq ($(COM),MSC)
3675$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003676 $(gb_UnpackedTarball_workdir)/nss/dist/out/lib/nspr4.lib \
3677 $(gb_UnpackedTarball_workdir)/nss/dist/out/lib/nss3.lib \
3678 $(gb_UnpackedTarball_workdir)/nss/dist/out/lib/smime3.lib \
David Tardon2b9dbc82012-08-13 06:57:51 +02003679)
Michael Stahld2f62c32013-10-23 00:14:01 +02003680else
3681$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003682 -L$(gb_UnpackedTarball_workdir)/nss/dist/out/lib \
Michael Stahld2f62c32013-10-23 00:14:01 +02003683 -lnspr4 \
3684 -lnss3 \
3685 -lsmime3 \
3686)
3687endif
David Tardon2b9dbc82012-08-13 06:57:51 +02003688
3689endef
3690
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003691define gb_LinkTarget__use_plc4
Peter Foleyc003d252013-01-01 09:39:36 -05003692$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003693ifeq ($(COM),MSC)
3694$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003695 $(gb_UnpackedTarball_workdir)/nss/dist/out/lib/plc4.lib \
David Tardonb6aa4842011-08-11 13:10:14 +02003696)
Michael Stahld2f62c32013-10-23 00:14:01 +02003697else
3698$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003699 -L$(gb_UnpackedTarball_workdir)/nss/dist/out/lib -lplc4 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003700)
3701endif
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003702
David Tardonb6aa4842011-08-11 13:10:14 +02003703endef
3704
David Tardon6ef46562013-02-04 10:04:07 +01003705define gb_LinkTarget__use_ssl3
3706$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003707ifeq ($(COM),MSC)
3708$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003709 $(gb_UnpackedTarball_workdir)/nss/dist/out/lib/ssl3.lib \
David Tardon6ef46562013-02-04 10:04:07 +01003710)
Michael Stahld2f62c32013-10-23 00:14:01 +02003711else
3712$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003713 -L$(gb_UnpackedTarball_workdir)/nss/dist/out/lib -lssl3 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003714)
3715endif
David Tardon6ef46562013-02-04 10:04:07 +01003716
3717endef
3718
Michael Stahl395c0c02021-10-19 16:00:53 +02003719define gb_LinkTarget__use_nssutil3
3720$(call gb_LinkTarget_use_package,$(1),nss)
3721$(call gb_LinkTarget_set_include,$(1),\
3722 $$(INCLUDE) \
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003723 -I$(gb_UnpackedTarball_workdir)/nss/dist/public/nss \
3724 -I$(gb_UnpackedTarball_workdir)/nss/dist/out/include \
Michael Stahl395c0c02021-10-19 16:00:53 +02003725)
3726
3727ifeq ($(COM),MSC)
3728$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003729 $(gb_UnpackedTarball_workdir)/nss/dist/out/lib/nssutil3.lib \
Michael Stahl395c0c02021-10-19 16:00:53 +02003730)
3731else
3732$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003733 -L$(gb_UnpackedTarball_workdir)/nss/dist/out/lib \
Michael Stahl395c0c02021-10-19 16:00:53 +02003734 -lnssutil3 \
3735)
3736endif
3737
3738endef
3739
Michael Meeksb440cfc2013-02-28 12:05:07 +00003740define gb_ExternalProject__use_nss3
3741$(call gb_ExternalProject_use_package,$(1),nss)
Michael Meeksb440cfc2013-02-28 12:05:07 +00003742
3743endef
3744
Michael Stahle3abec32014-02-11 15:57:18 +01003745endif # SYSTEM_NSS
3746
Markus Mohrharda46ef632015-11-15 04:39:24 +01003747ifeq ($(ENABLE_BREAKPAD),TRUE)
3748
Markus Mohrharda46ef632015-11-15 04:39:24 +01003749define gb_LinkTarget__use_breakpad
3750$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003751 -I$(gb_UnpackedTarball_workdir)/breakpad/src \
Markus Mohrharda46ef632015-11-15 04:39:24 +01003752 $$(INCLUDE) \
3753)
3754
3755ifeq ($(COM),MSC)
Markus Mohrhardff9b7d12016-03-31 00:00:03 +02003756$(call gb_LinkTarget_use_static_libraries,$(1),\
3757 breakpad \
Markus Mohrharda46ef632015-11-15 04:39:24 +01003758)
3759else
3760$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003761 $(gb_UnpackedTarball_workdir)/breakpad/src/client/linux/libbreakpad_client.a \
Markus Mohrharda46ef632015-11-15 04:39:24 +01003762)
3763endif
3764
3765$(call gb_LinkTarget_use_external_project,$(1),breakpad)
3766
Michael Stahlb4d3a0d2016-02-23 15:08:47 +01003767endef
3768
Markus Mohrhard133a5d872016-02-27 14:50:13 +01003769endif # ENABLE_BREAKPAD
Markus Mohrharda46ef632015-11-15 04:39:24 +01003770
David Tardon7c77ff52017-11-24 10:44:42 +01003771ifeq ($(ENABLE_GPGMEPP),TRUE)
3772
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003773ifneq ($(SYSTEM_GPGMEPP),)
Katarina Behrens595848c2017-01-30 15:50:55 +01003774
Katarina Behrensf41fa222017-02-23 12:57:42 +01003775gb_ExternalProject__use_gpgmepp:=
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003776gb_ExternalProject__use_libassuan:=
3777gb_ExternalProject__use_libgpg-error:=
3778
Katarina Behrensf41fa222017-02-23 12:57:42 +01003779define gb_LinkTarget__use_gpgmepp
Katarina Behrens595848c2017-01-30 15:50:55 +01003780$(call gb_LinkTarget_set_include,$(1),\
3781 $$(INCLUDE) \
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003782 $$(GPGMEPP_CFLAGS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003783)
3784
3785$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003786 $(GPGMEPP_LIBS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003787)
3788
3789endef
3790
Thorsten Behrensa27f2622017-11-23 18:06:59 +01003791else ifneq ($(filter GPGMEPP,$(BUILD_TYPE)),) # NON-SYSTEM_GPGME
Katarina Behrens55519a12017-02-15 16:00:16 +01003792
Katarina Behrensf41fa222017-02-23 12:57:42 +01003793define gb_ExternalProject__use_gpgmepp
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003794$(call gb_ExternalProject_use_external_project,$(1),gpgmepp)
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003795
3796endef
3797define gb_ExternalProject__use_libassuan
3798$(call gb_ExternalProject_use_external_project,$(1),libassuan)
3799
3800endef
3801define gb_ExternalProject__use_libgpg-error
3802$(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3803
3804endef
3805
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003806ifneq ($(filter WNT,$(OS)),)
3807
3808define gb_LinkTarget__use_libgpg-error
3809$(call gb_LinkTarget_use_package,$(1),libgpg-error)
3810
3811$(call gb_LinkTarget_set_include,$(1),\
3812 $(GPG_ERROR_CFLAGS) \
3813 $$(INCLUDE) \
3814)
3815$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003816 -LIBPATH:$(gb_UnpackedTarball_workdir)/libgpg-error/src/.libs libgpg-error.lib \
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003817)
3818
3819endef
3820
3821define gb_LinkTarget__use_libassuan
3822$(call gb_LinkTarget_use_package,$(1),libassuan)
3823
3824$(call gb_LinkTarget_set_include,$(1),\
3825 $(LIBASSUAN_CFLAGS) \
3826 $$(INCLUDE) \
3827)
3828$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003829 -LIBPATH:$(gb_UnpackedTarball_workdir)/libassuan/src/.libs libassuan.lib \
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003830)
3831
3832endef
3833
Katarina Behrensf41fa222017-02-23 12:57:42 +01003834define gb_LinkTarget__use_gpgmepp
Katarina Behrens55519a12017-02-15 16:00:16 +01003835$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003836 -I$(gb_UnpackedTarball_workdir)/gpgmepp/lang/cpp/src \
3837 -I$(gb_UnpackedTarball_workdir)/gpgmepp/src \
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003838 $$(GPG_ERROR_CFLAGS) \
3839 $$(INCLUDE) \
3840)
3841$(call gb_LinkTarget_use_libraries,$(1),\
3842 gpgmepp \
3843)
3844
3845endef
3846
3847$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Michael Stahl2a589022020-08-05 11:59:03 +02003848 gpgmepp \
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003849 libassuan \
3850 libgpg-error \
3851))
3852
3853$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3854 gpgmepp \
3855))
3856
3857endif
3858
3859ifneq ($(filter MACOSX LINUX,$(OS)),)
3860
3861define gb_LinkTarget__use_gpgmepp
3862$(call gb_LinkTarget_use_package,$(1),gpgmepp)
3863
3864$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003865 -I$(gb_UnpackedTarball_workdir)/gpgmepp/lang/cpp/src \
3866 -I$(gb_UnpackedTarball_workdir)/gpgmepp/src \
Samuel Mehrbrodt65866962017-02-24 16:54:36 +01003867 $$(GPG_ERROR_CFLAGS) \
Katarina Behrens55519a12017-02-15 16:00:16 +01003868 $$(INCLUDE) \
3869)
3870$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02003871 -L$(gb_UnpackedTarball_workdir)/gpgmepp/lang/cpp/src/.libs/ -lgpgmepp \
3872 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L$(gb_UnpackedTarball_workdir)/gpgmepp/src/.libs/ -lgpgme) \
Caolán McNamaraa58c4442017-12-08 09:48:09 +00003873 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(GPG_ERROR_LIBS)) \
3874 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(LIBASSUAN_LIBS)) \
Katarina Behrens55519a12017-02-15 16:00:16 +01003875)
Katarina Behrens55519a12017-02-15 16:00:16 +01003876
3877endef
3878
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003879$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003880 gpgmepp \
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003881 libassuan \
3882 libgpg-error \
3883))
3884
Katarina Behrens595848c2017-01-30 15:50:55 +01003885endif
3886
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003887endif
3888
David Tardon7c77ff52017-11-24 10:44:42 +01003889else # !ENABLE_GPGMEPP
3890
3891gb_ExternalProject__use_gpgmepp :=
3892gb_ExternalProject__use_libassuan :=
3893gb_ExternalProject__use_libgpg-error :=
3894
3895gb_LinkTarget__use_gpgmepp :=
3896gb_LinkTarget__use_libassuan :=
3897gb_LinkTarget__use_libgpg-error :=
3898
3899endif # ENABLE_GPGMEPP
3900
Stephan Bergmannecc617e2015-07-08 11:20:19 +02003901define gb_LinkTarget__use_dconf
Michael Weghorn2d4bb242019-09-30 15:08:30 +00003902$(call gb_LinkTarget_set_include,$(1),\
3903 $$(INCLUDE) \
3904 $(DCONF_CFLAGS) \
3905)
3906
Stephan Bergmannecc617e2015-07-08 11:20:19 +02003907$(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3908endef
3909
Michael Stahl2ee5f242011-09-15 14:01:27 +02003910### Jars ############################################################
3911
Sophia Schröderf4fc28a2018-04-11 15:39:57 +01003912ifneq ($(SYSTEM_HSQLDB),)
3913
3914define gb_Jar__use_hsqldb
3915$(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3916endef
3917define gb_JunitTest__use_hsqldb
3918$(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3919endef
3920
3921else # !SYSTEM_HSQLDB
3922
3923ifeq ($(ENABLE_JAVA),TRUE)
3924$(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
3925 hsqldb \
3926))
3927endif
3928
3929define gb_Jar__use_hsqldb
3930$(call gb_Jar_use_jar,$(1),hsqldb)
3931endef
3932define gb_JunitTest__use_hsqldb
3933$(call gb_JunitTest_use_jar,$(1),hsqldb)
3934endef
3935
3936endif # SYSTEM_HSQLDB
3937
3938
Rene Engelhard40facc42014-05-23 07:43:19 +02003939ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3940
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003941ifneq ($(SYSTEM_BSH),)
David Tardon3bcf9102011-10-04 09:44:48 +02003942
Michael Stahla4551262012-08-15 17:41:25 +02003943define gb_Jar__use_bsh
3944$(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
David Tardon3bcf9102011-10-04 09:44:48 +02003945endef
3946
3947else # !SYSTEM_BSH
3948
David Tardon2dec0672014-05-19 10:20:37 +02003949ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl8475eb92014-03-18 20:38:30 +01003950$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003951 bsh \
3952))
David Tardon2dec0672014-05-19 10:20:37 +02003953endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003954
Michael Stahla4551262012-08-15 17:41:25 +02003955define gb_Jar__use_bsh
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003956$(call gb_Jar_use_jar,$(1),bsh)
David Tardon3bcf9102011-10-04 09:44:48 +02003957endef
3958
3959endif # SYSTEM_BSH
3960
Rene Engelhard40facc42014-05-23 07:43:19 +02003961endif
3962
3963ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
Michael Stahl2ee5f242011-09-15 14:01:27 +02003964
Michael Stahl49dde4c2014-02-11 19:42:28 +01003965ifneq ($(SYSTEM_RHINO),)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003966
Michael Stahla4551262012-08-15 17:41:25 +02003967define gb_Jar__use_rhino
3968$(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003969endef
3970
3971else # !SYSTEM_RHINO
3972
David Tardon2dec0672014-05-19 10:20:37 +02003973ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl6474d1c2014-03-18 20:50:02 +01003974$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003975 js \
3976))
David Tardon2dec0672014-05-19 10:20:37 +02003977endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003978
Michael Stahla4551262012-08-15 17:41:25 +02003979define gb_Jar__use_rhino
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003980$(call gb_Jar_use_jar,$(1),js)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003981endef
3982
3983endif # SYSTEM_RHINO
3984
Rene Engelhard40facc42014-05-23 07:43:19 +02003985endif
3986
Michael Stahl32db4992014-02-11 19:35:22 +01003987ifneq ($(SYSTEM_JFREEREPORT),)
David Tardon9b530e12012-04-07 10:07:35 +02003988
Michael Stahla4551262012-08-15 17:41:25 +02003989define gb_Jar__use_flow-engine
3990$(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003991endef
3992
Michael Stahla4551262012-08-15 17:41:25 +02003993define gb_Jar__use_flute
3994$(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003995endef
3996
Michael Stahla4551262012-08-15 17:41:25 +02003997define gb_Jar__use_libbase
3998$(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003999endef
4000
Michael Stahla4551262012-08-15 17:41:25 +02004001define gb_Jar__use_libfonts
4002$(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004003endef
4004
Michael Stahla4551262012-08-15 17:41:25 +02004005define gb_Jar__use_libformula
4006$(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004007endef
4008
Michael Stahla4551262012-08-15 17:41:25 +02004009define gb_Jar__use_liblayout
4010$(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004011endef
4012
Michael Stahla4551262012-08-15 17:41:25 +02004013define gb_Jar__use_libloader
4014$(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004015endef
4016
Michael Stahla4551262012-08-15 17:41:25 +02004017define gb_Jar__use_librepository
4018$(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004019endef
4020
Michael Stahla4551262012-08-15 17:41:25 +02004021define gb_Jar__use_libserializer
4022$(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004023endef
4024
Michael Stahla4551262012-08-15 17:41:25 +02004025define gb_Jar__use_libxml
4026$(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004027endef
4028
Michael Stahla4551262012-08-15 17:41:25 +02004029define gb_Jar__use_sac
4030$(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02004031endef
4032
4033else # !SYSTEM_JFREEREPORT
4034
David Tardon2dec0672014-05-19 10:20:37 +02004035ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl4c3626af2014-03-18 22:03:00 +01004036$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
Michael Stahl070ca1e2013-10-25 21:01:58 +02004037 flow-engine \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004038 flute-1.1.6 \
4039 libbase-1.1.6 \
4040 libfonts-1.1.6 \
4041 libformula-1.1.7 \
Michael Stahl070ca1e2013-10-25 21:01:58 +02004042 liblayout \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004043 libloader-1.1.6 \
4044 librepository-1.1.6 \
4045 libserializer-1.1.6 \
4046 libxml-1.1.7 \
4047 sac \
4048))
David Tardon2dec0672014-05-19 10:20:37 +02004049endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004050
Michael Stahla4551262012-08-15 17:41:25 +02004051define gb_Jar__use_flow-engine
Michael Stahl070ca1e2013-10-25 21:01:58 +02004052$(call gb_Jar_use_jar,$(1),flow-engine)
David Tardon9b530e12012-04-07 10:07:35 +02004053endef
4054
Michael Stahla4551262012-08-15 17:41:25 +02004055define gb_Jar__use_flute
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004056$(call gb_Jar_use_jar,$(1),flute-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02004057endef
4058
Michael Stahla4551262012-08-15 17:41:25 +02004059define gb_Jar__use_libbase
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004060$(call gb_Jar_use_jar,$(1),libbase-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02004061endef
4062
Michael Stahla4551262012-08-15 17:41:25 +02004063define gb_Jar__use_libfonts
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004064$(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02004065endef
4066
Michael Stahla4551262012-08-15 17:41:25 +02004067define gb_Jar__use_libformula
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004068$(call gb_Jar_use_jar,$(1),libformula-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02004069endef
4070
Michael Stahla4551262012-08-15 17:41:25 +02004071define gb_Jar__use_liblayout
Michael Stahl070ca1e2013-10-25 21:01:58 +02004072$(call gb_Jar_use_jar,$(1),liblayout)
David Tardon9b530e12012-04-07 10:07:35 +02004073endef
4074
Michael Stahla4551262012-08-15 17:41:25 +02004075define gb_Jar__use_libloader
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004076$(call gb_Jar_use_jar,$(1),libloader-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02004077endef
4078
Michael Stahla4551262012-08-15 17:41:25 +02004079define gb_Jar__use_librepository
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004080$(call gb_Jar_use_jar,$(1),librepository-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02004081endef
4082
Michael Stahla4551262012-08-15 17:41:25 +02004083define gb_Jar__use_libserializer
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004084$(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02004085endef
4086
Michael Stahla4551262012-08-15 17:41:25 +02004087define gb_Jar__use_libxml
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004088$(call gb_Jar_use_jar,$(1),libxml-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02004089endef
4090
Michael Stahla4551262012-08-15 17:41:25 +02004091define gb_Jar__use_sac
Michael Stahl5a4bcd32012-08-17 11:02:49 +02004092$(call gb_Jar_use_jar,$(1),sac)
David Tardon9b530e12012-04-07 10:07:35 +02004093endef
4094
4095endif # SYSTEM_JFREEREPORT
4096
Caolán McNamara3de3f662024-09-20 12:25:11 +01004097# As a guide, Java-Websocket was packaged for Fedora 35
4098# https://src.fedoraproject.org/rpms/Java-WebSocket/tree/f35
4099ifneq ($(SYSTEM_JAVA_WEBSOCKET),)
4100
4101define gb_Jar__use_java_websocket
4102$(call gb_Jar_use_system_jar,$(1),$(JAVA_WEBSOCKET_JAR))
4103endef
4104
4105else # !SYSTEM_JAVA_WEBSOCKET
Skyler Grey8e246332023-08-18 13:30:35 +00004106
4107ifeq ($(ENABLE_JAVA),TRUE)
4108$(eval $(call gb_Helper_register_jars_for_install,URE,ure, \
4109 java_websocket \
4110))
4111endif
4112
4113define gb_Jar__use_java_websocket
4114$(call gb_Jar_use_jar,$(1),java_websocket)
4115endef
David Tardonc2eca352012-12-02 10:51:37 +01004116
Caolán McNamara3de3f662024-09-20 12:25:11 +01004117endif # SYSTEM_JAVA_WEBSOCKET
4118
David Tardonc2eca352012-12-02 10:51:37 +01004119# Executables
4120
David Tardonedf67302012-12-30 12:27:04 +01004121define gb_Executable__register_bestreversemap
4122$(call gb_Executable_add_runtime_dependencies,bestreversemap,\
Jan-Marek Glogowskied1aa172022-01-08 06:47:02 +01004123 $(call gb_CondLibSalTextenc,$(call gb_Library_get_target_for_build,sal_textenc)) \
David Tardonedf67302012-12-30 12:27:04 +01004124)
4125endef
4126
David Tardonceb0d062012-12-30 13:11:43 +01004127# TODO depending on the whole URE might be overkill, but I do not have a
4128# Windows machine to debug it...
David Tardonceb0d062012-12-30 13:11:43 +01004129define gb_Executable__register_climaker
4130$(call gb_Executable_add_runtime_dependencies,climaker,\
Jan-Marek Glogowskie9301742021-05-22 02:41:58 +02004131 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01004132 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Jan-Marek Glogowski7efb6322021-05-31 02:26:43 +02004133 $(call gb_UnoApi_get_target_for_build,udkapi) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01004134 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
David Tardonceb0d062012-12-30 13:11:43 +01004135)
4136endef
4137
David Tardon6c1614a2014-01-08 13:49:46 +01004138define gb_Executable__register_cppumaker
4139$(call gb_Executable_add_runtime_dependencies,cppumaker,\
Jan-Marek Glogowskied1aa172022-01-08 06:47:02 +01004140 $(call gb_CondLibSalTextenc,$(call gb_Library_get_target,sal_textenc)) \
David Tardon6c1614a2014-01-08 13:49:46 +01004141)
4142endef
4143
Matúš Kukanbae52ee2013-05-16 09:17:57 +02004144# This is used to determine what we need for 'build' platform.
Matúš Kukan9555b5b2013-06-14 12:48:20 +02004145define gb_Executable__register_gengal
Matúš Kukan94b68822013-06-17 10:41:18 +02004146$(call gb_Executable_add_runtime_dependencies,gengal,\
Jan-Marek Glogowskie9301742021-05-22 02:41:58 +02004147 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
Stephan Bergmann0e7d4d92021-08-22 11:26:38 +02004148 $(call gb_Library_get_target_for_build,localedata_en) \
Jan Holesovskyf7e01822026-03-02 16:54:54 +01004149 $(if $(filter MACOSX-,$(OS_FOR_BUILD)-$(USE_HEADLESS_CODE)),$(call gb_Library_get_target_for_build,vclplug_osx)) \
Tor Lillqvistfbcabd72025-02-25 19:52:15 +02004150 $(if $(filter WNT-,$(OS_FOR_BUILD)-$(USE_HEADLESS_CODE)),$(call gb_Library_get_target_for_build,vclplug_win)) \
Jan-Marek Glogowski63972e72020-07-17 22:14:39 +02004151 $(if $(filter host,$(gb_Side)),$(call gb_Package_get_target,postprocess_images)) \
Matúš Kukan8b162f22013-09-27 10:58:28 +02004152 $(call gb_Package_get_target_for_build,postprocess_registry) \
Matúš Kukan15614c82015-12-05 07:05:37 +01004153 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
4154 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
4155 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01004156 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
4157 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
Jan-Marek Glogowski7efb6322021-05-31 02:26:43 +02004158 $(call gb_UnoApi_get_target_for_build,offapi) \
4159 $(call gb_UnoApi_get_target_for_build,udkapi) \
David Tardon1546c292013-05-07 20:41:41 +02004160)
4161endef
4162
David Tardonedf67302012-12-30 12:27:04 +01004163define gb_Executable__register_localize
4164$(call gb_Executable_add_runtime_dependencies,localize,\
Caolán McNamara00657ae2017-06-11 20:56:30 +01004165 $(foreach exec,cfgex helpex propex treex ulfex xrmex,\
David Tardonedf67302012-12-30 12:27:04 +01004166 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
4167 ) \
4168)
4169endef
4170
Michael Stahl4c51feb2013-09-21 01:39:41 +02004171# FIXME ure/services.rdb needs cleanup
Stephan Bergmannab149c72013-04-24 10:42:40 +02004172# The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
David Tardonedf67302012-12-30 12:27:04 +01004173# due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
David Tardonedf67302012-12-30 12:27:04 +01004174define gb_Executable__register_saxparser
4175$(call gb_Executable_add_runtime_dependencies,saxparser,\
Jan-Marek Glogowskie9301742021-05-22 02:41:58 +02004176 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
David Tardon92f66c52014-10-13 16:59:33 +02004177 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02004178 $(call gb_Rdb_get_target_for_build,saxparser) \
Tor Lillqvistcb872392016-08-17 01:14:54 +03004179 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
Jan-Marek Glogowski7efb6322021-05-31 02:26:43 +02004180 $(call gb_UnoApi_get_target_for_build,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01004181)
4182endef
4183
Stephan Bergmannab149c72013-04-24 10:42:40 +02004184# NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
David Tardonedf67302012-12-30 12:27:04 +01004185# required due to the settings for URE_SERVICES and URE_TYPES in
4186# cppuhelper/source/unorc
David Tardonedf67302012-12-30 12:27:04 +01004187define gb_Executable__register_uno
4188$(call gb_Executable_add_runtime_dependencies,uno,\
Jan-Marek Glogowskie9301742021-05-22 02:41:58 +02004189 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01004190 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Jan-Marek Glogowski7efb6322021-05-31 02:26:43 +02004191 $(call gb_UnoApi_get_target_for_build,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01004192)
4193endef
4194
4195
4196# External executables
4197
Michael Stahl379f9782014-02-11 16:49:19 +01004198ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01004199
4200gb_ExternalExecutable__register_xmllint :=
4201
4202else # ! SYSTEM_LIBXML_FOR_BUILD
4203
4204define gb_ExternalExecutable__register_xmllint
Michael Stahl84b0f062017-09-14 14:54:07 +02004205$(call gb_ExternalExecutable_set_internal,xmllint,$(WORKDIR_FOR_BUILD)/UnpackedTarball/libxml2/$(if $(filter MSC,$(COM)),win32/bin.msvc)/xmllint$(gb_Executable_EXT_for_build),libxml2)
David Tardon5b660242014-07-28 10:38:49 +02004206$(call gb_ExternalExecutable_add_dependencies,xmllint,\
4207 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl84b0f062017-09-14 14:54:07 +02004208 $(call gb_Package_get_target,libxml2) \
David Tardon5b660242014-07-28 10:38:49 +02004209)
David Tardonc2eca352012-12-02 10:51:37 +01004210
4211endef
4212
4213endif # SYSTEM_LIBXML_FOR_BUILD
4214
Michael Stahle3abec32014-02-11 15:57:18 +01004215ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01004216
4217gb_ExternalExecutable__register_xsltproc :=
4218
4219else # ! SYSTEM_LIBXSLT_FOR_BUILD
4220
4221define gb_ExternalExecutable__register_xsltproc
Michael Stahl15b973e2017-09-14 15:26:10 +02004222$(call gb_ExternalExecutable_set_internal,xsltproc,$(WORKDIR_FOR_BUILD)/UnpackedTarball/libxslt/$(if $(filter MSC,$(COM)),win32/bin.msvc,xsltproc)/xsltproc$(gb_Executable_EXT_for_build),libxslt)
David Tardon5b660242014-07-28 10:38:49 +02004223$(call gb_ExternalExecutable_add_dependencies,xsltproc,\
4224 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl84b0f062017-09-14 14:54:07 +02004225 $(call gb_Package_get_target,libxml2) \
Michael Stahl15b973e2017-09-14 15:26:10 +02004226 $(call gb_Package_get_target,libxslt) \
David Tardon5b660242014-07-28 10:38:49 +02004227)
David Tardonc2eca352012-12-02 10:51:37 +01004228
4229endef
4230
4231endif # SYSTEM_LIBXSLT_FOR_BUILD
4232
Matúš Kukane4826722013-03-05 22:03:38 +01004233ifeq (,$(PYTHON_FOR_BUILD))
David Tardonc2eca352012-12-02 10:51:37 +01004234
4235define gb_ExternalExecutable__register_python
Christian Lohmaier04032bd2013-03-19 17:27:01 +01004236ifeq ($(OS),MACOSX)
4237
4238# use set_external, to avoid having the command added as prerequisite for the
4239# targets that make use of it. (Otherwise make will choke as it doesn't have a
4240# matching rule to build that specific file)
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004241$(call gb_ExternalExecutable_set_external,python,$(gb_UnpackedTarball_workdir)/python3/python-inst/@__________________________________________________OOO/LibreOfficePython.framework/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01004242# the Zip ensures that internal python has been built (cannot use the Package
4243# target, as that is not used on Mac)
David Tardon45a5c262013-05-16 13:36:24 +02004244$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01004245
4246else
4247
Andras Timar567466b2025-10-31 13:30:22 +01004248$(call gb_ExternalExecutable_set_internal,python,$(INSTROOT_FOR_BUILD)/$(LIBO_BIN_FOLDER)/$(if $(filter WNT,$(OS)),python-core-$(PYTHON_VERSION)/bin/python.exe,python))
Stephan Bergmann233610f2014-03-19 11:24:13 +01004249$(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01004250$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
4251
4252endif
David Tardonc2eca352012-12-02 10:51:37 +01004253
4254endef
4255
Matúš Kukane4826722013-03-05 22:03:38 +01004256else
4257
4258define gb_ExternalExecutable__register_python
4259$(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
4260
4261endef
4262
4263endif # PYTHON_FOR_BUILD
David Tardonc2eca352012-12-02 10:51:37 +01004264
David Tardon63069262012-12-29 12:56:24 +01004265ifneq ($(SYSTEM_GENBRK),)
4266
4267define gb_ExternalExecutable__register_genbrk
4268$(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
4269
4270endef
4271
4272else # ! SYSTEM_GENBRK
4273
4274define gb_ExternalExecutable__register_genbrk
David Tardondbac8f52014-04-18 18:34:40 +02004275$(call gb_ExternalExecutable_set_internal,genbrk,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genbrk$(gb_Executable_EXT_for_build),icu)
Stephan Bergmann58d80a62014-03-19 10:39:40 +01004276$(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004277$(call gb_ExternalExecutable_add_dependencies,genbrk,\
4278 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004279 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004280)
4281
4282endef
4283
4284endif
4285
4286ifneq ($(SYSTEM_GENCCODE),)
4287
4288define gb_ExternalExecutable__register_genccode
4289$(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
4290
4291endef
4292
4293else # ! SYSTEM_GENCCODE
4294
4295define gb_ExternalExecutable__register_genccode
David Tardondbac8f52014-04-18 18:34:40 +02004296$(call gb_ExternalExecutable_set_internal,genccode,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genccode$(gb_Executable_EXT_for_build),icu)
Stephan Bergmann58d80a62014-03-19 10:39:40 +01004297$(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004298$(call gb_ExternalExecutable_add_dependencies,genccode,\
4299 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004300 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004301)
4302
4303endef
4304
4305endif
4306
4307ifneq ($(SYSTEM_GENCMN),)
4308
4309define gb_ExternalExecutable__register_gencmn
4310$(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
4311
4312endef
4313
4314else # ! SYSTEM_GENCMN
4315
4316define gb_ExternalExecutable__register_gencmn
David Tardondbac8f52014-04-18 18:34:40 +02004317$(call gb_ExternalExecutable_set_internal,gencmn,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/gencmn$(gb_Executable_EXT_for_build),icu)
Stephan Bergmann58d80a62014-03-19 10:39:40 +01004318$(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004319$(call gb_ExternalExecutable_add_dependencies,gencmn,\
4320 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004321 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004322)
4323
4324endef
4325
4326endif
4327
Nathan Yee7eb863d2015-07-03 11:58:27 +02004328ifneq ($(SYSTEM_BZIP2),)
4329
4330define gb_LinkTarget__use_bzip2
4331$(call gb_LinkTarget_set_include,$(1),\
4332 $(BZIP2_CFLAGS) \
4333 $$(INCLUDE) \
4334)
4335$(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4336
4337endef
Jan Holesovsky025952f2015-07-03 13:46:38 +02004338
Nathan Yee7eb863d2015-07-03 11:58:27 +02004339gb_ExternalProject__use_bzip2 :=
4340
4341else # !SYSTEM_BZIP2
4342
4343define gb_LinkTarget__use_bzip2
Nathan Yee7eb863d2015-07-03 11:58:27 +02004344$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004345 -I$(gb_UnpackedTarball_workdir)/bzip2 \
Nathan Yee7eb863d2015-07-03 11:58:27 +02004346 $$(INCLUDE) \
4347)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004348
4349ifeq ($(COM),MSC)
4350$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004351 $(gb_UnpackedTarball_workdir)/bzip2/libbz2.lib \
Nathan Yeeb59955b2015-07-14 14:36:37 -07004352)
4353else
Jan Holesovsky025952f2015-07-03 13:46:38 +02004354$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004355 -L$(gb_UnpackedTarball_workdir)/bzip2 -lbz2 \
Jan Holesovsky025952f2015-07-03 13:46:38 +02004356)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004357endif
4358
Jan Holesovskyec477172015-07-07 09:24:45 +02004359$(call gb_LinkTarget_use_external_project,$(1),bzip2)
Nathan Yee7eb863d2015-07-03 11:58:27 +02004360endef
4361
4362define gb_ExternalProject__use_bzip2
4363$(call gb_ExternalProject_use_external_project,$(1),bzip2)
4364endef
4365
Taichi Haradaguchic72d5d72023-09-20 20:12:54 +09004366endif # SYSTEM_BZIP2
Nathan Yee7eb863d2015-07-03 11:58:27 +02004367
Stephan Bergmannec53ac62016-04-12 20:06:04 +02004368define gb_LinkTarget__use_clew
4369$(call gb_LinkTarget_set_include,$(1), \
4370 -I$(SRCDIR)/external/clew/source/include \
4371 $$(INCLUDE) \
4372)
4373$(call gb_LinkTarget_use_libraries,$(1),clew)
4374endef
4375
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004376ifneq ($(ENABLE_PDFIUM),)
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004377define gb_LinkTarget__use_pdfium
4378$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004379 -I$(gb_UnpackedTarball_workdir)/pdfium/public \
Miklos Vajna9b4ab9b2020-01-22 21:02:05 +01004380 -DCOMPONENT_BUILD \
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004381 $$(INCLUDE) \
4382)
4383$(call gb_LinkTarget_use_libraries,$(1),pdfium)
4384endef
4385$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4386 pdfium \
4387))
Caolán McNamara42970952025-09-19 14:17:55 +01004388
Caolán McNamara9e185402025-11-03 11:00:18 +00004389ifneq ($(SYSTEM_AFDKO),)
4390
4391else # !SYSTEM_AFDKO
4392
Caolán McNamara42970952025-09-19 14:17:55 +01004393define gb_LinkTarget__use_afdko
4394$(call gb_LinkTarget_use_unpacked,$(1),afdko)
4395$(call gb_LinkTarget_set_include,$(1),\
4396 -I$(gb_UnpackedTarball_workdir)/afdko/c/shared/include \
4397 -I$(gb_UnpackedTarball_workdir)/afdko/c/shared/resource \
4398 -I$(gb_UnpackedTarball_workdir)/afdko/c/makeotf/include \
4399 -I$(gb_UnpackedTarball_workdir)/afdko/c/makeotf/source \
4400 $$(INCLUDE) \
4401)
Caolán McNamara9e185402025-11-03 11:00:18 +00004402$(call gb_LinkTarget_use_static_libraries,$(1),afdko)
Caolán McNamara42970952025-09-19 14:17:55 +01004403endef
4404
4405define gb_ExternalProject__use_afdko
4406$(call gb_ExternalProject_use_static_libraries,$(1),afdko)
Caolán McNamara42970952025-09-19 14:17:55 +01004407endef
4408
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004409endif
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004410
Caolán McNamara9e185402025-11-03 11:00:18 +00004411endif
4412
Rene Engelhard19b0ba52022-02-20 12:13:19 +01004413ifneq ($(SYSTEM_DRAGONBOX),)
4414
4415define gb_LinkTarget__use_dragonbox
4416$(call gb_LinkTarget_set_include,$(1),\
4417 $$(INCLUDE) \
4418 $$(DRAGONBOX_CFLAGS) \
4419)
4420endef
4421
4422else
4423
Mike Kaganski9eb90832022-02-15 09:20:52 +03004424define gb_LinkTarget__use_dragonbox
4425$(call gb_LinkTarget_use_unpacked,$(1),dragonbox)
4426$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004427 -I$(gb_UnpackedTarball_workdir)/dragonbox/include/\
Mike Kaganski9eb90832022-02-15 09:20:52 +03004428 $$(INCLUDE) \
4429)
Mike Kaganski9eb90832022-02-15 09:20:52 +03004430endef
4431
Rene Engelhard19b0ba52022-02-20 12:13:19 +01004432endif
4433
Mike Kaganskib6feccc2025-09-21 03:11:25 +05004434ifneq ($(SYSTEM_FAST_FLOAT),)
4435
4436define gb_LinkTarget__use_fast_float
Mike Kaganskif3e70042020-02-23 19:19:10 +03004437$(call gb_LinkTarget_set_include,$(1),\
Mike Kaganskib6feccc2025-09-21 03:11:25 +05004438 $$(INCLUDE) \
4439 $$(FAST_FLOAT_CFLAGS) \
4440)
4441endef
4442
4443else
4444
4445define gb_LinkTarget__use_fast_float
4446$(call gb_LinkTarget_use_unpacked,$(1),fast_float)
4447$(call gb_LinkTarget_set_include,$(1),\
4448 -I$(gb_UnpackedTarball_workdir)/fast_float/include/\
Mike Kaganskif3e70042020-02-23 19:19:10 +03004449 $$(INCLUDE) \
4450)
Mike Kaganskif3e70042020-02-23 19:19:10 +03004451endef
4452
Mike Kaganskib6feccc2025-09-21 03:11:25 +05004453endif
Mike Kaganskif3e70042020-02-23 19:19:10 +03004454
Sarper Akdemira7f22392020-05-13 11:28:05 +03004455ifneq ($(SYSTEM_BOX2D),)
4456
4457define gb_LinkTarget__use_box2d
4458$(call gb_LinkTarget_set_include,$(1),\
4459 -DSYSTEM_BOX2D \
4460 $$(INCLUDE) \
4461 $(BOX2D_CFLAGS) \
4462)
4463$(call gb_LinkTarget_add_libs,$(1),$(BOX2D_LIBS))
4464
4465endef
4466
4467gb_ExternalProject__use_box2d :=
4468
4469else # !SYSTEM_BOX2D
4470
4471define gb_LinkTarget__use_box2d
4472$(call gb_LinkTarget_use_unpacked,$(1),box2d)
4473$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004474 -I$(gb_UnpackedTarball_workdir)/box2d/include/\
Sarper Akdemira7f22392020-05-13 11:28:05 +03004475 $$(INCLUDE) \
4476)
4477$(call gb_LinkTarget_use_static_libraries,$(1),\
4478 box2d \
4479)
4480
4481endef
4482
4483define gb_ExternalProject__use_box2d
4484$(call gb_ExternalProject_use_static_libraries,$(1),box2d)
4485
4486endef
4487
4488endif # SYSTEM_BOX2D
4489
Rene Engelhard82a95542023-10-30 20:27:12 +01004490ifneq ($(SYSTEM_ZXCVBN),)
4491define gb_LinkTarget__use_zxcvbn-c
4492$(call gb_LinkTarget_set_include,$(1),\
4493 -DSYSTEM_ZXCVBN \
4494 $$(INCLUDE) \
4495)
4496$(call gb_LinkTarget_add_libs,$(1),-lzxcvbn)
4497endef
4498
4499else
4500
Sarper Akdemir3d5cafb2023-10-02 15:56:04 +03004501define gb_LinkTarget__use_zxcvbn-c
4502$(call gb_LinkTarget_use_unpacked,$(1),zxcvbn-c)
4503$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004504 -I$(gb_UnpackedTarball_workdir)/zxcvbn-c\
Sarper Akdemir3d5cafb2023-10-02 15:56:04 +03004505 $$(INCLUDE) \
4506)
4507$(call gb_LinkTarget_use_static_libraries,$(1),\
4508 zxcvbn-c \
4509)
4510endef
Rene Engelhard82a95542023-10-30 20:27:12 +01004511endif
4512
Sarper Akdemir3d5cafb2023-10-02 15:56:04 +03004513
homeboy445f72cd652021-03-06 14:21:25 +05304514ifneq ($(SYSTEM_ZXING),)
4515
4516define gb_LinkTarget__use_zxing
4517$(call gb_LinkTarget_set_include,$(1),\
4518 -DSYSTEM_ZXING \
4519 $$(INCLUDE) \
4520 $(ZXING_CFLAGS) \
4521)
4522$(call gb_LinkTarget_add_libs,$(1),$(ZXING_LIBS))
4523
4524endef
4525
4526gb_ExternalProject__use_zxing :=
4527
4528else # !SYSTEM_ZXING
4529
4530ifneq ($(ENABLE_ZXING),)
4531
4532define gb_LinkTarget__use_zxing
4533$(call gb_LinkTarget_use_unpacked,$(1),zxing)
4534$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004535 -I$(gb_UnpackedTarball_workdir)/zxing/core/src/\
homeboy445f72cd652021-03-06 14:21:25 +05304536 $$(INCLUDE) \
4537)
4538$(call gb_LinkTarget_use_static_libraries,$(1),\
4539 zxing \
4540)
4541
4542endef
4543
4544define gb_ExternalProject__use_zxing
4545$(call gb_ExternalProject_use_static_libraries,$(1),zxing)
4546
4547endef
4548
4549else # !ENABLE_ZXING
4550
4551define gb_LinkTarget__use_zxing
4552endef
4553
4554endif # ENABLE_ZXING
4555
4556endif # SYSTEM_ZXING
4557
Tomaž Vajngerl472fec12022-07-16 12:17:20 +02004558
Rene Engelhardcd9afc22023-06-17 14:38:27 +02004559ifneq ($(SYSTEM_FROZEN),)
4560define gb_LinkTarget__use_frozen
4561$(call gb_LinkTarget_set_include,$(1),\
4562 $$(INCLUDE) \
4563 $(FROZEN_CFLAGS)
4564)
4565endef
4566else
Tomaž Vajngerl472fec12022-07-16 12:17:20 +02004567define gb_LinkTarget__use_frozen
4568$(call gb_LinkTarget_use_unpacked,$(1),frozen)
4569$(call gb_LinkTarget_set_include,$(1),\
Christian Lohmaier875a1bf2024-05-05 19:20:33 +02004570 -I$(gb_UnpackedTarball_workdir)/frozen/include/\
Tomaž Vajngerl472fec12022-07-16 12:17:20 +02004571 $$(INCLUDE) \
4572)
4573endef
Rene Engelhardcd9afc22023-06-17 14:38:27 +02004574endif
Tomaž Vajngerl472fec12022-07-16 12:17:20 +02004575
Michael Stahl8f803412024-10-25 15:02:34 +02004576ifneq ($(WITH_YRS),)
4577
4578define gb_LinkTarget__use_yrs
Michael Stahlb28efcf2025-06-24 15:34:40 +02004579$(call gb_LinkTarget_use_external_project,$(1),y-crdt)
Michael Stahl8f803412024-10-25 15:02:34 +02004580$(call gb_LinkTarget_set_include,$(1),\
4581 $$(INCLUDE) \
Michael Stahlb28efcf2025-06-24 15:34:40 +02004582 -I$(gb_UnpackedTarball_workdir)/y-crdt/tests-ffi/include \
Michael Stahl8f803412024-10-25 15:02:34 +02004583)
Mike Kaganskic9de8602025-10-30 11:40:36 +05004584ifeq ($(COM),MSC)
4585$(call gb_LinkTarget_add_libs,$(1),\
4586 $(gb_UnpackedTarball_workdir)/y-crdt/target/debug/yrs.lib \
4587 $(eval $(call gb_LinkTarget_use_system_win32_libs,$(1),\
4588 ntdll \
4589 userenv \
4590 ws2_32 \
4591 ))
4592)
4593else
Michael Stahlb28efcf2025-06-24 15:34:40 +02004594$(call gb_LinkTarget_add_libs,$(1),$(gb_UnpackedTarball_workdir)/y-crdt/target/debug/libyrs.a)
Mike Kaganskic9de8602025-10-30 11:40:36 +05004595endif
Michael Stahl8f803412024-10-25 15:02:34 +02004596endef
4597
4598else
4599
4600gb_LinkTarget__use_yrs :=
4601
4602endif
4603
Christian Lohmaier9430b652025-05-07 19:46:13 +02004604gb_ExternalProject__use_meson :=
4605ifneq (,$(filter MESON,$(BUILD_TYPE)))
4606define gb_ExternalProject__use_meson
4607$(call gb_ExternalProject_use_unpacked,$(1),meson)
4608endef
4609endif
4610
Michael Weghorn88d57cf2021-09-29 11:09:51 +02004611# vim: set noet sw=4 ts=4: