blob: aecbd71b8b43147a070dcc1039d1f0ebc3b1f6f0 [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 Meeks1e4422a2013-05-16 21:56:04 +01003# This file is part of the LibreOffice 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),\
Khaled Hosny891bb7c2013-11-04 18:40:17 +020053 -I$(SRCDIR)/external/unixODBC/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
93gb_LinkTarget__use_glm_headers :=
Zolnai Tamás6403f2b2014-06-25 15:19:41 +020094gb_ExternalProject__use_glm_headers :=
Markus Mohrhardae9e6112013-12-23 17:31:55 +000095
96else
97
98define gb_LinkTarget__use_glm_headers
99$(call gb_LinkTarget_use_unpacked,$(1),glm)
100$(call gb_LinkTarget_set_include,$(1),\
David Tardon13494912015-05-19 16:59:26 +0200101 $(GLM_CFLAGS) \
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000102 $$(INCLUDE) \
103)
104
105endef
106
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200107define gb_ExternalProject__use_glm_headers
David Tardon682e3592015-06-24 15:11:40 +0200108$(call gb_ExternalProject_use_unpacked,$(1),glm)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200109
110endef
111
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000112endif
113
Michael Stahl674e7912013-05-06 20:23:49 +0200114ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
David Tardoneafaec92012-12-21 14:08:27 +0100115
116define gb_LinkTarget__use_sane_headers
Michael Stahl72279ea2013-05-06 20:14:35 +0200117$(call gb_LinkTarget_set_include,$(1),\
Mike Kaganski585d9802017-12-22 20:46:12 +0300118 $(if $(filter WNT,$(OS)), \
119 -I$(call gb_UnpackedTarball_get_dir,twain_dsm/pub/include), \
120 -I$(SRCDIR)/external/sane/inc) \
121 $$(INCLUDE) \
David Tardoneafaec92012-12-21 14:08:27 +0100122)
123
Mike Kaganski585d9802017-12-22 20:46:12 +0300124ifeq ($(OS),WNT)
125$(call gb_LinkTarget_use_unpacked,$(1),twain_dsm)
126endif
127
David Tardoneafaec92012-12-21 14:08:27 +0100128endef
129
130else
131
132gb_LinkTarget__use_sane_headers :=
133
134endif
135
Michael Stahl8555b372014-02-11 19:28:33 +0100136ifneq ($(SYSTEM_BLUEZ),)
David Tardon8fa06c82013-11-05 06:53:49 +0100137
138gb_LinkTarget__use_bluez_bluetooth_headers :=
139
140else # !SYSTEM_BLUEZ
141
142define gb_LinkTarget__use_bluez_bluetooth_headers
143$(call gb_LinkTarget_set_include,$(1),\
144 -I$(SRCDIR)/external/bluez_bluetooth/inc \
145 $$(INCLUDE) \
146)
147
148endef
149
150endif # SYSTEM_BLUEZ
151
Matúš Kukan8e535df2012-04-07 13:59:33 +0200152# External libraries
153
Michael Stahle3abec32014-02-11 15:57:18 +0100154ifneq ($(SYSTEM_CPPUNIT),)
David Tardon785e1d92011-07-25 10:34:22 +0200155
156define gb_LinkTarget__use_cppunit
157$(call gb_LinkTarget_set_include,$(1),\
158 $$(INCLUDE) \
159 $(CPPUNIT_CFLAGS) \
160)
161
162$(call gb_LinkTarget_add_libs,$(1),\
163 $(CPPUNIT_LIBS) \
164)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100165
David Tardon785e1d92011-07-25 10:34:22 +0200166endef
167
Michael Stahle3abec32014-02-11 15:57:18 +0100168else # !SYSTEM_CPPUNIT
David Tardon785e1d92011-07-25 10:34:22 +0200169
David Tardon785e1d92011-07-25 10:34:22 +0200170define gb_LinkTarget__use_cppunit
Markus Mohrhardd63a9402016-02-23 11:28:31 +0100171$(call gb_LinkTarget_use_external_project,$(1),cppunit, full)
Peter Foley143835b2012-11-25 16:37:40 -0500172
Peter Foley143835b2012-11-25 16:37:40 -0500173$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200174 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
Peter Foley143835b2012-11-25 16:37:40 -0500175 $$(INCLUDE) \
176)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100177
Michael Stahl77fe50b2013-10-23 23:35:16 +0200178ifeq ($(COM),MSC)
179$(call gb_LinkTarget_add_libs,$(1),\
180 $(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
181)
182else
183$(call gb_LinkTarget_add_libs,$(1),\
184 -L$(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/.libs -lcppunit \
185)
186endif
187
David Tardon785e1d92011-07-25 10:34:22 +0200188endef
189
Michael Stahle3abec32014-02-11 15:57:18 +0100190endif # SYSTEM_CPPUNIT
Michael Stahlc74af0d2011-04-01 20:49:35 +0000191
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000192ifneq ($(SYSTEM_EPOXY),)
David Tardon864f7752014-02-09 21:19:07 +0100193
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000194define gb_LinkTarget__use_epoxy
David Tardon864f7752014-02-09 21:19:07 +0100195$(call gb_LinkTarget_set_include,$(1),\
196 $$(INCLUDE) \
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000197 $(EPOXY_CFLAGS) \
David Tardon864f7752014-02-09 21:19:07 +0100198)
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000199$(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS))
David Tardon864f7752014-02-09 21:19:07 +0100200
201endef
202
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000203gb_ExternalProject__use_epoxy :=
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200204
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000205else # !SYSTEM_EPOXY
David Tardon864f7752014-02-09 21:19:07 +0100206
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000207define gb_LinkTarget__use_epoxy
208$(call gb_LinkTarget_set_include,$(1),\
209 -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \
210 $$(INCLUDE) \
211)
212
213$(call gb_LinkTarget_use_libraries,$(1),\
214 epoxy \
215)
216
217endef
218
219$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
220 epoxy \
Michael Stahl0c94f232014-03-18 17:17:04 +0100221))
222
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000223define gb_ExternalProject__use_epoxy
224$(call gb_ExternalProject_use_external_project,$(1),epoxy)
David Tardon864f7752014-02-09 21:19:07 +0100225
226endef
227
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000228endif # SYSTEM_EPOXY
David Tardon864f7752014-02-09 21:19:07 +0100229
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200230define gb_LinkTarget__use_iconv
231$(call gb_LinkTarget_add_libs,$(1),-liconv)
232
233endef
234
Michael Stahl871d75e2017-09-14 13:30:05 +0200235ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
Peter Foleyc322d502013-01-23 16:29:08 -0500236
Michael Stahl871d75e2017-09-14 13:30:05 +0200237define gb_LinkTarget__use_mariadb-connector-c
David Tardon217eae42013-11-05 06:49:33 +0100238$(call gb_LinkTarget_set_include,$(1),\
239 $$(INCLUDE) \
240 $(MARIADB_CFLAGS) \
241)
242$(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
243
244endef
Michael Stahl871d75e2017-09-14 13:30:05 +0200245gb_ExternalProject__use_mariadb-connector-c :=
David Tardon217eae42013-11-05 06:49:33 +0100246
Michael Stahl871d75e2017-09-14 13:30:05 +0200247else # !SYSTEM_MARIADB_CONNECTOR_C
David Tardon217eae42013-11-05 06:49:33 +0100248
Michael Stahl871d75e2017-09-14 13:30:05 +0200249define gb_LinkTarget__use_mariadb-connector-c
David Tardon217eae42013-11-05 06:49:33 +0100250$(call gb_LinkTarget_set_include,$(1),\
251 $$(INCLUDE) \
252 $(MARIADB_CFLAGS) \
253)
254$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahl871d75e2017-09-14 13:30:05 +0200255 mariadb-connector-c \
David Tardon217eae42013-11-05 06:49:33 +0100256)
257
258endef
Michael Stahl871d75e2017-09-14 13:30:05 +0200259define gb_ExternalProject__use_mariadb-connector-c
260$(call gb_ExternalProject_use_static_libraries,$(1),mariadb-connector-c)
David Tardon217eae42013-11-05 06:49:33 +0100261
262endef
263
Michael Stahl871d75e2017-09-14 13:30:05 +0200264endif # SYSTEM_MARIADB_CONNECTOR_C
David Tardon217eae42013-11-05 06:49:33 +0100265
266
Michael Stahl871d75e2017-09-14 13:30:05 +0200267ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
David Tardon217eae42013-11-05 06:49:33 +0100268
Peter Foleyc322d502013-01-23 16:29:08 -0500269define gb_LinkTarget__use_mysql
270
271$(call gb_LinkTarget_add_defs,$(1),\
Fridrich Štrba1bf43062013-03-06 11:45:50 +0100272 -DSYSTEM_MARIADB \
Peter Foleyc322d502013-01-23 16:29:08 -0500273)
274
275$(call gb_LinkTarget_add_libs,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100276 $(MARIADB_LIBS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500277)
278
279$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100280 $(MARIADB_CFLAGS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500281 $$(INCLUDE) \
282)
283endef
284
285else
286
287define gb_LinkTarget__use_mysql
288
289$(call gb_LinkTarget_set_include,$(1),\
Peter Foleyc322d502013-01-23 16:29:08 -0500290 $$(INCLUDE) \
291)
292
293endef
294
295endif
296
Michael Stahlb2940202017-09-14 16:12:55 +0200297ifneq ($(SYSTEM_MYSQL_CONNECTOR_CPP),)
Peter Foleyc322d502013-01-23 16:29:08 -0500298
Michael Stahlb2940202017-09-14 16:12:55 +0200299define gb_LinkTarget__use_mysql-connector-cpp
Peter Foleyc322d502013-01-23 16:29:08 -0500300$(call gb_LinkTarget_add_libs,$(1),\
301 -lmysqlcppconn \
302)
303
304$(call gb_LinkTarget_add_defs,$(1),\
Peter Foleyb02d7992013-01-24 15:43:52 -0500305 -DSYSTEM_MYSQL_CPPCONN \
Peter Foleyc322d502013-01-23 16:29:08 -0500306)
307endef
308
309else
310
Stephan Bergmann5afa25c2015-06-12 16:26:25 +0200311$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OXT,\
Peter Foleyc322d502013-01-23 16:29:08 -0500312 mysqlcppconn \
313))
314
Michael Stahl5f356bd2013-01-28 23:53:30 +0100315# note: this does not link mysqlcppconn, it is loaded via osl_loadModuleRelative
Michael Stahlb2940202017-09-14 16:12:55 +0200316define gb_LinkTarget__use_mysql-connector-cpp
Peter Foleyc322d502013-01-23 16:29:08 -0500317
Michael Stahlb2940202017-09-14 16:12:55 +0200318$(call gb_LinkTarget_use_unpacked,$(1),mysql-connector-cpp)
Michael Stahl5f356bd2013-01-28 23:53:30 +0100319
Peter Foleyb02d7992013-01-24 15:43:52 -0500320$(call gb_LinkTarget_add_defs,$(1),\
321 -DCPPCONN_LIB_BUILD \
322)
323
Peter Foleyc322d502013-01-23 16:29:08 -0500324$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlb2940202017-09-14 16:12:55 +0200325 -I$(call gb_UnpackedTarball_get_dir,mysql-connector-cpp) \
326 -I$(call gb_UnpackedTarball_get_dir,mysql-connector-cpp)/cppconn \
Peter Foleyc322d502013-01-23 16:29:08 -0500327 $$(INCLUDE) \
328)
329
330endef
331
332endif
333
Michael Stahl04ff5352014-02-11 16:21:04 +0100334ifneq ($(SYSTEM_ZLIB),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000335
336define gb_LinkTarget__use_zlib
Michael Stahla88ef232011-04-13 16:11:41 +0000337$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000338 -DSYSTEM_ZLIB \
339)
340$(call gb_LinkTarget_add_libs,$(1),-lz)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100341
Michael Stahlc74af0d2011-04-01 20:49:35 +0000342endef
343
David Tardoncb276232012-10-26 15:33:26 +0200344# nothing on system
345define gb_LinkTarget__use_zlib_x64
346
347endef
348
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100349gb_ExternalProject__use_zlib :=
350
Michael Stahlc74af0d2011-04-01 20:49:35 +0000351else # !SYSTEM_ZLIB
352
David Tardoncb276232012-10-26 15:33:26 +0200353define gb_LinkTarget__use_zlib_multiarch
354$(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
355
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200356$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl3c38b772013-05-08 15:47:24 +0200357 $(ZLIB_CFLAGS) \
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200358 $$(INCLUDE) \
359)
David Tardoncb276232012-10-26 15:33:26 +0200360
Michael Stahlc923f7d2012-04-07 23:22:08 +0200361$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardoncb276232012-10-26 15:33:26 +0200362 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000363)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100364
Michael Stahlc74af0d2011-04-01 20:49:35 +0000365endef
366
David Tardoncb276232012-10-26 15:33:26 +0200367define gb_LinkTarget__use_zlib
368$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
369
370endef
371
372define gb_LinkTarget__use_zlib_x64
373$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
374
375endef
376
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100377define gb_ExternalProject__use_zlib
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100378$(call gb_ExternalProject_use_static_libraries,$(1),zlib)
379
380endef
381
Michael Stahlc74af0d2011-04-01 20:49:35 +0000382endif # SYSTEM_ZLIB
383
384
Michael Stahl77d297f2017-09-13 22:50:14 +0200385ifneq ($(SYSTEM_LIBJPEG),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000386
Michael Stahl77d297f2017-09-13 22:50:14 +0200387define gb_LinkTarget__use_libjpeg
Michael Stahleea709f2016-11-02 14:13:54 +0100388$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000389$(call gb_LinkTarget_set_ldflags,$(1),\
Michael Stahl73d2fe92011-04-13 16:11:39 +0000390 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000391)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100392
Michael Stahlc74af0d2011-04-01 20:49:35 +0000393endef
394
Michael Stahl77d297f2017-09-13 22:50:14 +0200395gb_ExternalProject__use_libjpeg :=
Michael Stahleea709f2016-11-02 14:13:54 +0100396
Caolán McNamaraae967542017-03-14 14:20:36 +0000397else
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100398
Michael Stahl77d297f2017-09-13 22:50:14 +0200399define gb_LinkTarget__use_libjpeg
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100400$(call gb_LinkTarget_set_include,$(1),\
Michael Stahleea709f2016-11-02 14:13:54 +0100401 $(LIBJPEG_CFLAGS) \
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100402 $$(INCLUDE) \
403)
Michael Stahleea709f2016-11-02 14:13:54 +0100404$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
Michael Stahl77d297f2017-09-13 22:50:14 +0200405$(call gb_LinkTarget_use_external_project,$(1),libjpeg-turbo,full)
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100406
407endef
408
Michael Stahl77d297f2017-09-13 22:50:14 +0200409define gb_ExternalProject__use_libjpeg
410$(call gb_ExternalProject_use_external_project,$(1),libjpeg-turbo)
Michael Stahleea709f2016-11-02 14:13:54 +0100411
412endef
413
Michael Stahl77d297f2017-09-13 22:50:14 +0200414endif # SYSTEM_LIBJPEG
Michael Stahlc74af0d2011-04-01 20:49:35 +0000415
Michael Stahlab586f12014-02-11 19:25:30 +0100416ifneq ($(SYSTEM_MYTHES),)
Peter Foley1d1bab42012-10-28 12:00:06 -0400417
418define gb_LinkTarget__use_mythes
Rene Engelhard99ef1f52012-10-28 23:00:03 +0100419$(call gb_LinkTarget_set_include,$(1),\
420 $$(INCLUDE) \
421 $(MYTHES_CFLAGS) \
422)
423$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
424
Peter Foley1d1bab42012-10-28 12:00:06 -0400425endef
426
427else # !SYSTEM_MYTHES
428
Peter Foley1d1bab42012-10-28 12:00:06 -0400429define gb_LinkTarget__use_mythes
Michael Stahl90ad80e32013-05-07 23:59:00 +0200430$(call gb_LinkTarget_set_include,$(1),\
431 -I$(call gb_UnpackedTarball_get_dir,mythes) \
432 $$(INCLUDE) \
433)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200434
435ifeq ($(COM),MSC)
Matúš Kukan327db9f2012-10-28 22:40:30 +0100436$(call gb_LinkTarget_use_static_libraries,$(1),\
437 mythes \
Peter Foley1d1bab42012-10-28 12:00:06 -0400438)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200439else
440$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
441$(call gb_LinkTarget_use_external_project,$(1),mythes)
442endif
Matúš Kukan327db9f2012-10-28 22:40:30 +0100443
Peter Foley1d1bab42012-10-28 12:00:06 -0400444endef
445
446endif # SYSTEM_MYTHES
447
Michael Stahlc74af0d2011-04-01 20:49:35 +0000448
Michael Stahl46648152014-02-11 16:33:18 +0100449ifneq ($(SYSTEM_EXPAT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000450
David Tardon51149802013-04-09 09:22:20 +0200451define gb_LinkTarget__use_expat_impl
452$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000453
Michael Stahla88ef232011-04-13 16:11:41 +0000454$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000455 -DSYSTEM_EXPAT \
456)
457
458$(call gb_LinkTarget_add_libs,$(1),-lexpat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100459
Michael Stahlc74af0d2011-04-01 20:49:35 +0000460endef
461
Michael Stahl77289672012-11-17 00:36:29 +0100462gb_ExternalProject__use_expat :=
463
Michael Stahlc74af0d2011-04-01 20:49:35 +0000464else # !SYSTEM_EXPAT
465
David Tardon51149802013-04-09 09:22:20 +0200466define gb_LinkTarget__use_expat_impl
467$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000468
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700469$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl5e037bb2013-05-07 21:47:18 +0200470 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700471 $$(INCLUDE) \
472)
473
Michael Stahlc923f7d2012-04-07 23:22:08 +0200474$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000475 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000476)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100477
Michael Stahlc74af0d2011-04-01 20:49:35 +0000478endef
479
Michael Stahl77289672012-11-17 00:36:29 +0100480define gb_ExternalProject__use_expat
Michael Stahl77289672012-11-17 00:36:29 +0100481$(call gb_ExternalProject_use_static_libraries,$(1),expat)
482
483endef
484
Michael Stahlc74af0d2011-04-01 20:49:35 +0000485endif # SYSTEM_EXPAT
486
David Tardon51149802013-04-09 09:22:20 +0200487define gb_LinkTarget__use_expat
488$(call gb_LinkTarget__use_expat_impl,$(1),expat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100489
Michael Stahlc74af0d2011-04-01 20:49:35 +0000490endef
491
David Tardon51149802013-04-09 09:22:20 +0200492define gb_LinkTarget__use_expat_x64
493$(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100494
Michael Stahlc74af0d2011-04-01 20:49:35 +0000495endef
496
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100497ifneq ($(SYSTEM_HYPH),)
Peter Foleydd584cb2012-11-03 13:54:46 -0400498
499define gb_LinkTarget__use_hyphen
500$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
501
502endef
503
504else # !SYSTEM_HYPH
505
Peter Foleydd584cb2012-11-03 13:54:46 -0400506define gb_LinkTarget__use_hyphen
507$(call gb_LinkTarget_use_unpacked,$(1),hyphen)
508$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200509 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
Peter Foleydd584cb2012-11-03 13:54:46 -0400510 $$(INCLUDE) \
511)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200512
513ifeq ($(COM),MSC)
Peter Foleydd584cb2012-11-03 13:54:46 -0400514$(call gb_LinkTarget_use_static_libraries,$(1),\
515 hyphen \
516)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200517else
518$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
519$(call gb_LinkTarget_use_external_project,$(1),hyphen)
520endif
Peter Foleydd584cb2012-11-03 13:54:46 -0400521
522endef
523
524endif # SYSTEM_HYPH
525
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100526ifneq ($(SYSTEM_HUNSPELL),)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100527
528define gb_LinkTarget__use_hunspell
529$(call gb_LinkTarget_set_include,$(1),\
530 $$(INCLUDE) \
531 $(HUNSPELL_CFLAGS) \
532)
533$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
534
535endef
536
Michael Stahl2f6261f2013-09-19 19:28:36 +0200537gb_ExternalProject__use_hunspell :=
538
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100539else # !SYSTEM_HUNSPELL
540
541define gb_LinkTarget__use_hunspell
542$(call gb_LinkTarget_add_defs,$(1),\
543 -DHUNSPELL_STATIC \
544)
Matúš Kukan7a030392012-10-29 23:29:37 +0100545$(call gb_LinkTarget_use_unpacked,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100546$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200547 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
Matúš Kukan7a030392012-10-29 23:29:37 +0100548 $$(INCLUDE) \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100549)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200550
551ifeq ($(COM),MSC)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200552$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan327db9f2012-10-28 22:40:30 +0100553 hunspell \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100554)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200555else
556$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
557$(call gb_LinkTarget_use_external_project,$(1),hunspell)
558endif
559
560endef
561
562define gb_ExternalProject__use_hunspell
563$(call gb_ExternalProject_use_external_project,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100564
565endef
566
567endif # SYSTEM_HUNSPELL
568
569
Michael Stahladddbbc2014-02-11 18:40:09 +0100570ifneq ($(SYSTEM_BOOST),)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200571
David Tardon57c439a2016-03-08 06:06:36 +0100572define gb_LinkTarget__use_boost_lib
David Tardon0f6919c2012-06-06 17:04:01 +0200573$(call gb_LinkTarget_set_include,$(1),\
574 $$(INCLUDE) \
575 $(BOOST_CPPFLAGS) \
576)
577
578$(call gb_LinkTarget_add_ldflags,$(1),\
579 $(BOOST_LDFLAGS) \
580)
581
David Tardon57c439a2016-03-08 06:06:36 +0100582$(call gb_LinkTarget_add_libs,$(1),$(2))
583
584endef
585
Caolán McNamarac25eee42017-04-19 12:02:25 +0100586define gb_LinkTarget__use_boost_locale
587$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_LOCALE_LIB))
588
589endef
590
David Tardon23d2e0e2016-03-08 08:35:59 +0100591define gb_LinkTarget__use_boost_date_time
David Tardon57c439a2016-03-08 06:06:36 +0100592$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_DATE_TIME_LIB))
David Tardon0f6919c2012-06-06 17:04:01 +0200593
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200594endef
595
David Tardonb4339fa2016-03-08 06:08:36 +0100596define gb_LinkTarget__use_boost_filesystem
597$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
598
599endef
600
601gb_ExternalProject__use_boost_filesystem :=
602
Markus Mohrhard36788e92014-01-08 13:17:28 +0100603define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100604$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_IOSTREAMS_LIB))
Markus Mohrhard36788e92014-01-08 13:17:28 +0100605
606endef
607
David Tardon6d9de6b2014-03-03 20:39:13 +0100608gb_ExternalProject__use_boost_iostreams :=
609
Markus Mohrhard36788e92014-01-08 13:17:28 +0100610define gb_LinkTarget__use_boost_system
David Tardon57c439a2016-03-08 06:06:36 +0100611$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_SYSTEM_LIB))
Tor Lillqvist503b2482013-05-22 19:50:22 +0300612
613endef
614
Markus Mohrhard36788e92014-01-08 13:17:28 +0100615gb_ExternalProject__use_boost_system :=
Tor Lillqvist503b2482013-05-22 19:50:22 +0300616
Stephan Bergmann93208022013-02-16 22:56:19 +0100617define gb_LinkTarget__use_boost_headers
618$(call gb_LinkTarget_set_include,$(1),\
619 $$(INCLUDE) \
620 $(BOOST_CPPFLAGS) \
621)
622
623endef
624
Peter Foleycdb6eca2012-11-10 08:56:12 -0500625gb_ExternalProject__use_boost_headers:=
626
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200627else # !SYSTEM_BOOST
628
David Tardon57c439a2016-03-08 06:06:36 +0100629define gb_LinkTarget__use_boost_lib
Michael Stahl7f2e1682012-09-06 20:22:11 +0200630$(call gb_LinkTarget_add_defs,$(1),\
631 -DBOOST_ALL_NO_LIB \
632)
633
David Tardon57c439a2016-03-08 06:06:36 +0100634$(call gb_LinkTarget_use_static_libraries,$(1),$(2))
635
636endef
637
Caolán McNamarac25eee42017-04-19 12:02:25 +0100638define gb_LinkTarget__use_boost_locale
639$(call gb_LinkTarget__use_boost_lib,$(1),boost_locale)
640$(call gb_LinkTarget_add_libs,$(1),\
641 $(if $(filter $(OS),MACOSX),-liconv) \
642)
643
644endef
645
David Tardon23d2e0e2016-03-08 08:35:59 +0100646define gb_LinkTarget__use_boost_date_time
647$(call gb_LinkTarget__use_boost_lib,$(1),boost_date_time)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200648
649endef
650
David Tardond72a33c2016-03-08 05:57:40 +0100651define gb_LinkTarget__use_boost_filesystem
David Tardon57c439a2016-03-08 06:06:36 +0100652$(call gb_LinkTarget__use_boost_lib,$(1),boost_filesystem)
David Tardond72a33c2016-03-08 05:57:40 +0100653
654endef
655
656define gb_ExternalProject__use_boost_filesystem
657$(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
658endef
659
Markus Mohrhard36788e92014-01-08 13:17:28 +0100660define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100661$(call gb_LinkTarget__use_boost_lib,$(1),boost_iostreams)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300662
663endef
664
Markus Mohrhard36788e92014-01-08 13:17:28 +0100665define gb_ExternalProject__use_boost_iostreams
666$(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
667endef
668
669define gb_LinkTarget__use_boost_system
David Tardon57c439a2016-03-08 06:06:36 +0100670$(call gb_LinkTarget__use_boost_lib,$(1),boost_system)
Markus Mohrhard36788e92014-01-08 13:17:28 +0100671
672endef
673
674define gb_ExternalProject__use_boost_system
675$(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300676endef
677
Peter Foleye1f742a2012-11-12 18:37:10 -0500678define gb_LinkTarget__use_boost_headers
Christian Lohmaier1654a1e72012-11-14 18:11:30 +0100679$(call gb_LinkTarget_use_unpacked,$(1),boost)
Michael Stahla53586f2013-01-26 21:19:13 +0100680$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmannf51656c2016-05-31 13:32:15 +0200681 $(BOOST_CPPFLAGS) \
Michael Stahla53586f2013-01-26 21:19:13 +0100682 $$(INCLUDE) \
683)
Peter Foleye1f742a2012-11-12 18:37:10 -0500684
685endef
686
Peter Foleycdb6eca2012-11-10 08:56:12 -0500687define gb_ExternalProject__use_boost_headers
David Tardon682e3592015-06-24 15:11:40 +0200688$(call gb_ExternalProject_use_unpacked,$(1),boost)
Peter Foleycdb6eca2012-11-10 08:56:12 -0500689
690endef
David Tardond72a33c2016-03-08 05:57:40 +0100691
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200692endif # SYSTEM_BOOST
693
694
Michael Stahl38abb6a2017-09-13 23:44:32 +0200695ifneq ($(SYSTEM_LIBCMIS),)
Matúš Kukan464b4332012-01-15 02:12:49 +0100696
Michael Stahl38abb6a2017-09-13 23:44:32 +0200697define gb_LinkTarget__use_libcmis
Matúš Kukan464b4332012-01-15 02:12:49 +0100698$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100699 $$(INCLUDE) \
Michael Stahl38abb6a2017-09-13 23:44:32 +0200700 $(LIBCMIS_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100701)
Michael Stahl38abb6a2017-09-13 23:44:32 +0200702$(call gb_LinkTarget_add_libs,$(1),$(LIBCMIS_LIBS))
Matúš Kukan464b4332012-01-15 02:12:49 +0100703
704endef
705
Michael Stahl38abb6a2017-09-13 23:44:32 +0200706else # !SYSTEM_LIBCMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100707
Michael Stahl38abb6a2017-09-13 23:44:32 +0200708define gb_LinkTarget__use_libcmis
Michael Stahl759d02b2013-05-08 00:55:21 +0200709$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl38abb6a2017-09-13 23:44:32 +0200710 -I$(call gb_UnpackedTarball_get_dir,libcmis)/src \
Michael Stahl759d02b2013-05-08 00:55:21 +0200711 $$(INCLUDE) \
712)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200713$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahl38abb6a2017-09-13 23:44:32 +0200714 libcmis \
Matúš Kukan464b4332012-01-15 02:12:49 +0100715)
716
717endef
718
Michael Stahl38abb6a2017-09-13 23:44:32 +0200719endif # SYSTEM_LIBCMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100720
David Tardon32cd12c2014-04-26 19:46:40 +0200721ifeq ($(ENABLE_JAVA),TRUE)
David Tardon2a71e152014-04-26 16:08:07 +0200722
David Tardon2a71e152014-04-26 16:08:07 +0200723define gb_LinkTarget__use_jawt
724$(call gb_LinkTarget_add_libs,$(1),\
725 $(JAWTLIB) \
726)
727
728endef
Peter Foleye5ccda42012-12-25 11:23:58 -0500729
David Tardon2a71e152014-04-26 16:08:07 +0200730else # !ENABLE_JAVA
731
732gb_LinkTarget__use_jawt :=
733
734endif # ENABLE_JAVA
Matúš Kukan464b4332012-01-15 02:12:49 +0100735
Michael Stahl23647592014-02-11 19:04:20 +0100736ifneq ($(SYSTEM_LIBATOMIC_OPS),)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100737
738define gb_LinkTarget__use_libatomic_ops
739$(call gb_LinkTarget_set_include,$(1),\
740 $$(INCLUDE) \
741 $(LIBATOMIC_OPS_CFLAGS) \
742)
743$(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
744
745endef
746gb_ExternalProject__use_libatomic_ops :=
747
748else # !SYSTEM_LIBATOMIC_OPS
749
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100750define gb_LinkTarget__use_libatomic_ops
751$(call gb_LinkTarget_set_include,$(1),\
752$(LIBATOMIC_OPS_CFLAGS) \
753 $$(INCLUDE) \
754 $(LIBATOMIC_OPS_CFLAGS) \
755)
Michael Stahlb3085262013-10-24 12:22:58 +0200756$(call gb_LinkTarget_use_external_project,$(1),\
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100757 libatomic_ops \
758)
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100759
Michael Stahlb3085262013-10-24 12:22:58 +0200760$(call gb_LinkTarget_add_libs,$(1),\
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100761 -L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src/lib -latomic_ops \
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100762)
763
764endef
765
766define gb_ExternalProject__use_libatomic_ops
Michael Stahlb3085262013-10-24 12:22:58 +0200767$(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100768
769endef
770
771endif # SYSTEM_LIBATOMIC_OPS
772
773
Michael Stahle3abec32014-02-11 15:57:18 +0100774ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
Matúš Kukanbd030302011-12-03 15:06:52 +0100775
776define gb_LinkTarget__use_libexttextcat
777$(call gb_LinkTarget_set_include,$(1),\
778 $$(INCLUDE) \
779 $(LIBEXTTEXTCAT_CFLAGS) \
780)
Peter Foley31219f02012-11-09 17:25:56 -0500781$(call gb_LinkTarget_add_defs,$(1),\
782 -DSYSTEM_LIBEXTTEXTCAT \
783)
Matúš Kukanbd030302011-12-03 15:06:52 +0100784$(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
785
786endef
787
788else # !SYSTEM_LIBEXTTEXTCAT
789
Matúš Kukanbd030302011-12-03 15:06:52 +0100790define gb_LinkTarget__use_libexttextcat
Peter Foley31219f02012-11-09 17:25:56 -0500791$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl653e3582017-09-13 23:57:54 +0200792 -I$(call gb_UnpackedTarball_get_dir,libexttextcat/src) \
Peter Foley31219f02012-11-09 17:25:56 -0500793 $$(INCLUDE) \
794)
Matúš Kukanbd030302011-12-03 15:06:52 +0100795
Michael Stahl2f6261f2013-09-19 19:28:36 +0200796ifeq ($(COM),MSC)
797$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahl653e3582017-09-13 23:57:54 +0200798 libexttextcat \
Michael Stahl2f6261f2013-09-19 19:28:36 +0200799)
800else
801$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl653e3582017-09-13 23:57:54 +0200802 $(call gb_UnpackedTarball_get_dir,libexttextcat)/src/.libs/libexttextcat-2.0.a\
Michael Stahl2f6261f2013-09-19 19:28:36 +0200803)
Michael Stahl653e3582017-09-13 23:57:54 +0200804$(call gb_LinkTarget_use_external_project,$(1),libexttextcat)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200805endif
806
807
Matúš Kukanbd030302011-12-03 15:06:52 +0100808endef
809
810endif # SYSTEM_LIBEXTTEXTCAT
811
812
Michael Stahl379f9782014-02-11 16:49:19 +0100813ifneq ($(SYSTEM_LIBXML),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000814
815define gb_LinkTarget__use_libxml2
Michael Stahla88ef232011-04-13 16:11:41 +0000816$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000817 -DSYSTEM_LIBXML \
818)
819$(call gb_LinkTarget_set_include,$(1),\
820 $$(INCLUDE) \
821 $(LIBXML_CFLAGS) \
822)
823$(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100824
Michael Stahlc74af0d2011-04-01 20:49:35 +0000825endef
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500826gb_ExternalProject__use_libxml2:=
Michael Stahlc74af0d2011-04-01 20:49:35 +0000827
828else # !SYSTEM_LIBXML
829
Michael Stahl64ea9942014-03-14 11:48:24 +0100830$(eval $(call gb_Helper_register_packages_for_install,ure,\
Michael Stahl84b0f062017-09-14 14:54:07 +0200831 libxml2 \
Michael Stahl64ea9942014-03-14 11:48:24 +0100832))
833
Michael Stahlc74af0d2011-04-01 20:49:35 +0000834define gb_LinkTarget__use_libxml2
Michael Stahl84b0f062017-09-14 14:54:07 +0200835$(call gb_LinkTarget_use_package,$(1),libxml2)
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500836$(call gb_LinkTarget_set_include,$(1),\
837 $$(INCLUDE) \
David Tardon7515b1a2014-07-17 17:27:05 +0200838 $(LIBXML_CFLAGS) \
839)
840
841$(call gb_LinkTarget_add_libs,$(1),\
842 $(LIBXML_LIBS) \
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500843)
844
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200845ifeq ($(COM),MSC)
David Tardon7515b1a2014-07-17 17:27:05 +0200846$(call gb_LinkTarget_use_external,$(1),icu_headers)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200847endif
848
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500849endef
850define gb_ExternalProject__use_libxml2
Michael Stahl84b0f062017-09-14 14:54:07 +0200851$(call gb_ExternalProject_use_package,$(1),libxml2)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100852
David Tardon7515b1a2014-07-17 17:27:05 +0200853ifeq ($(COM),MSC)
Michael Stahl0c3838b2018-01-19 14:13:34 +0100854$(call gb_ExternalProject_use_packages,$(1),icu icu_ure)
David Tardon7515b1a2014-07-17 17:27:05 +0200855endif
856
Michael Stahlc74af0d2011-04-01 20:49:35 +0000857endef
858
859endif # SYSTEM_LIBXML
860
861
Michael Stahle3abec32014-02-11 15:57:18 +0100862ifneq ($(SYSTEM_LIBXSLT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000863
864define gb_LinkTarget__use_libxslt
865$(call gb_LinkTarget_set_include,$(1),\
866 $$(INCLUDE) \
867 $(LIBXSLT_CFLAGS) \
868)
869$(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100870
Michael Stahlc74af0d2011-04-01 20:49:35 +0000871endef
872
David Tardonab03e872012-08-15 07:20:13 +0200873define gb_LinkTarget__use_libexslt
874$(call gb_LinkTarget_set_include,$(1),\
875 $$(INCLUDE) \
876 $(LIBEXSLT_CFLAGS) \
877)
878
879$(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
880
881endef
882
Michael Stahlc74af0d2011-04-01 20:49:35 +0000883else # !SYSTEM_LIBXSLT
884
Michael Stahl32a617d2014-02-17 11:23:19 +0100885$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Michael Stahl15b973e2017-09-14 15:26:10 +0200886 libxslt \
Michael Stahl32a617d2014-02-17 11:23:19 +0100887))
888
Michael Stahlc74af0d2011-04-01 20:49:35 +0000889define gb_LinkTarget__use_libxslt
Michael Stahl15b973e2017-09-14 15:26:10 +0200890$(call gb_LinkTarget_use_package,$(1),libxslt)
Peter Foley856c0752013-02-02 15:44:30 -0500891$(call gb_LinkTarget_set_include,$(1),\
892 $$(INCLUDE) \
Michael Stahl15b973e2017-09-14 15:26:10 +0200893 -I$(call gb_UnpackedTarball_get_dir,libxslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500894)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200895
896ifeq ($(COM),MSC)
897$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl15b973e2017-09-14 15:26:10 +0200898 $(call gb_UnpackedTarball_get_dir,libxslt)/win32/bin.msvc/libxslt.lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000899)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200900else
901$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl15b973e2017-09-14 15:26:10 +0200902 -L$(call gb_UnpackedTarball_get_dir,libxslt)/libxslt/.libs -lxslt \
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200903)
904endif
Caolán McNamara6bccd202011-07-25 22:10:33 +0100905
Michael Stahlc74af0d2011-04-01 20:49:35 +0000906endef
907
David Tardonab03e872012-08-15 07:20:13 +0200908define gb_LinkTarget__use_libexslt
Michael Stahl15b973e2017-09-14 15:26:10 +0200909$(call gb_LinkTarget_use_package,$(1),libxslt)
Peter Foley856c0752013-02-02 15:44:30 -0500910$(call gb_LinkTarget_set_include,$(1),\
911 $$(INCLUDE) \
Michael Stahl15b973e2017-09-14 15:26:10 +0200912 -I$(call gb_UnpackedTarball_get_dir,libxslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500913)
914
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200915ifeq ($(COM),MSC)
916$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl15b973e2017-09-14 15:26:10 +0200917 $(call gb_UnpackedTarball_get_dir,libxslt)/win32/bin.msvc/libexslt.lib \
David Tardonab03e872012-08-15 07:20:13 +0200918)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200919else
920$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl15b973e2017-09-14 15:26:10 +0200921 -L$(call gb_UnpackedTarball_get_dir,libxslt)/libexslt/.libs -lexslt \
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200922)
923endif
David Tardonab03e872012-08-15 07:20:13 +0200924
925endef
926
Michael Stahlc74af0d2011-04-01 20:49:35 +0000927endif # SYSTEM_LIBXSLT
928
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +0200929
Miklos Vajnaab50f0b2017-06-21 21:59:11 +0200930ifneq ($(SYSTEM_XMLSEC),)
931
932define gb_LinkTarget__use_xmlsec
933$(call gb_LinkTarget_add_defs,$(1),\
934 -DSYSTEM_XMLSEC \
935)
936$(call gb_LinkTarget_set_include,$(1),\
937 $$(INCLUDE) \
938 $(XMLSEC_CFLAGS) \
939)
940$(call gb_LinkTarget_add_libs,$(1),$(XMLSEC_LIBS))
941
942endef
943
944gb_ExternalProject__use_xmlsec:=
945
946else # !SYSTEM_XMLSEC
947
948$(eval $(call gb_Helper_register_packages_for_install,ooo,\
949 xmlsec \
950))
951
952define gb_LinkTarget__use_xmlsec
953
954endef
955
956endif # SYSTEM_XMLSEC
957
Michael Stahl49dde4c2014-02-11 19:42:28 +0100958ifneq ($(SYSTEM_LIBLANGTAG),)
Eike Rathkea774a482012-08-06 19:22:43 +0200959
960define gb_LinkTarget__use_liblangtag
961$(call gb_LinkTarget_set_include,$(1),\
962 $$(INCLUDE) \
963 $(LIBLANGTAG_CFLAGS) \
964)
965
966$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
967
968endef
969
David Tardonc2a119b2016-01-13 14:24:31 +0100970gb_ExternalProject__use_liblangtag :=
971
Eike Rathkea774a482012-08-06 19:22:43 +0200972else # !SYSTEM_LIBLANGTAG
973
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200974$(eval $(call gb_Helper_register_packages_for_install,ure,\
Michael Stahl01adcd82014-03-18 17:38:06 +0100975 liblangtag_data \
976))
977
David Tardon7d93bb82016-01-13 15:45:17 +0100978ifeq ($(COM),MSC)
979
Eike Rathkea774a482012-08-06 19:22:43 +0200980define gb_LinkTarget__use_liblangtag
Peter Foley782151a2012-11-11 16:02:36 -0500981$(call gb_LinkTarget_set_include,$(1),\
David Tardon34513502016-01-13 14:21:10 +0100982 $(LIBLANGTAG_CFLAGS) \
Peter Foley782151a2012-11-11 16:02:36 -0500983 $$(INCLUDE) \
984)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200985$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
Michael Stahl0bb76482017-09-14 12:20:31 +0200986$(call gb_LinkTarget_use_external_project,$(1),liblangtag)
Eike Rathkea774a482012-08-06 19:22:43 +0200987
988endef
989
David Tardon7d93bb82016-01-13 15:45:17 +0100990else
991
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200992$(eval $(call gb_Helper_register_packages_for_install,ure,\
David Tardon7d93bb82016-01-13 15:45:17 +0100993 liblangtag \
994))
995
996define gb_LinkTarget__use_liblangtag
997$(call gb_LinkTarget_set_include,$(1),\
998 $(LIBLANGTAG_CFLAGS) \
999 $$(INCLUDE) \
1000)
1001$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1002$(call gb_LinkTarget_use_package,$(1),liblangtag)
1003
1004endef
1005
1006endif # MSC
1007
David Tardonc2a119b2016-01-13 14:24:31 +01001008define gb_ExternalProject__use_liblangtag
Michael Stahl0bb76482017-09-14 12:20:31 +02001009$(call gb_ExternalProject_use_external_project,$(1),liblangtag)
David Tardonc2a119b2016-01-13 14:24:31 +01001010
1011endef
1012
Eike Rathkea774a482012-08-06 19:22:43 +02001013endif # SYSTEM_LIBLANGTAG
1014
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +02001015
Matúš Kukandcae0502014-02-25 21:47:33 +01001016gb_ExternalProject__use_apr :=
1017
1018ifeq ($(WITH_WEBDAV),serf)
Matúš Kukan0b272532014-02-06 12:28:36 +01001019
1020define gb_LinkTarget__use_apr
1021$(call gb_LinkTarget_set_include,$(1),\
1022 $$(INCLUDE) \
1023 $(APR_CFLAGS) \
1024)
1025$(call gb_LinkTarget_add_libs,$(1),\
1026 $(APR_LIBS) \
Michael Stahl5cf22052014-06-05 13:35:14 +02001027 $(if $(filter $(OS),LINUX),-lpthread) \
1028 $(if $(filter $(OS),MACOSX),-liconv) \
Matúš Kukan0b272532014-02-06 12:28:36 +01001029)
1030
1031ifeq ($(SYSTEM_APR),)
1032$(call gb_LinkTarget_use_system_win32_libs,$(1),\
1033 mswsock \
1034 rpcrt4 \
1035 shell32 \
1036)
1037$(call gb_LinkTarget_add_defs,$(1),\
1038 -DAPR_DECLARE_STATIC \
1039 -DAPU_DECLARE_STATIC \
1040)
1041$(call gb_LinkTarget_use_external_project,$(1),apr_util)
1042endif
1043
1044endef
1045
1046define gb_ExternalProject__use_apr
1047ifeq ($(SYSTEM_APR),)
1048$(call gb_ExternalProject_use_external_project,$(1),apr_util)
1049endif
1050
1051endef
1052
1053define gb_LinkTarget__use_serf
1054$(call gb_LinkTarget_set_include,$(1),\
1055 $(SERF_CFLAGS) \
1056 $$(INCLUDE) \
1057)
1058$(call gb_LinkTarget_add_libs,$(1),\
1059 $(SERF_LIBS) \
1060)
1061
1062ifeq ($(SYSTEM_SERF),)
1063$(call gb_LinkTarget_use_external_project,$(1),serf)
1064endif
1065
1066endef
1067
Matúš Kukandcae0502014-02-25 21:47:33 +01001068else ifeq ($(WITH_WEBDAV),neon)
Eike Rathkea774a482012-08-06 19:22:43 +02001069
Michael Stahle3abec32014-02-11 15:57:18 +01001070ifneq ($(SYSTEM_NEON),)
Matúš Kukan464b4332012-01-15 02:12:49 +01001071
1072define gb_LinkTarget__use_neon
Matúš Kukan464b4332012-01-15 02:12:49 +01001073$(call gb_LinkTarget_add_defs,$(1),\
1074 -DNEON_VERSION=0x$(NEON_VERSION) \
David Tardonb74bf412013-08-12 09:39:59 +02001075 -DSYSTEM_NEON \
Matúš Kukan464b4332012-01-15 02:12:49 +01001076)
Matúš Kukan464b4332012-01-15 02:12:49 +01001077$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001078 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00001079 $(NEON_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001080)
1081
1082$(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
1083
1084endef
1085
1086else # !SYSTEM_NEON
1087
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02001088$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
Matúš Kukan464b4332012-01-15 02:12:49 +01001089 neon \
1090))
1091
1092define gb_LinkTarget__use_neon
Matúš Kukan7a030392012-10-29 23:29:37 +01001093$(call gb_LinkTarget_use_unpacked,$(1),neon)
Matúš Kukan464b4332012-01-15 02:12:49 +01001094$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001095 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001096 $$(INCLUDE) \
1097)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001098$(call gb_LinkTarget_use_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001099 neon \
1100)
1101
1102endef
1103
1104endif # SYSTEM_NEON
1105
Matúš Kukandcae0502014-02-25 21:47:33 +01001106endif # WITH_WEBDAV
Matúš Kukan464b4332012-01-15 02:12:49 +01001107
Michael Stahle3abec32014-02-11 15:57:18 +01001108ifneq ($(SYSTEM_REDLAND),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001109
1110define gb_LinkTarget__use_librdf
Michael Stahla88ef232011-04-13 16:11:41 +00001111$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +00001112 -DSYSTEM_REDLAND \
1113)
1114$(call gb_LinkTarget_set_include,$(1),\
1115 $$(INCLUDE) \
1116 $(REDLAND_CFLAGS) \
1117)
1118$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001119
Michael Stahlc74af0d2011-04-01 20:49:35 +00001120endef
1121
Peter Foley18bd1e72012-12-27 18:04:21 -05001122gb_LinkTarget__use_redland_headers:=
1123
1124gb_LinkTarget__use_raptor_headers:=
1125
1126gb_LinkTarget__use_rasqal_headers:=
1127
Michael Stahlc74af0d2011-04-01 20:49:35 +00001128else # !SYSTEM_REDLAND
1129
Peter Foley18bd1e72012-12-27 18:04:21 -05001130define gb_LinkTarget__use_redland_headers
1131$(call gb_LinkTarget_set_include,$(1),\
Michael Stahld719c012013-04-01 12:41:18 +02001132 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001133 $$(INCLUDE) \
1134)
1135
1136endef
1137
1138define gb_LinkTarget__use_raptor_headers
1139$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001140 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001141 $$(INCLUDE) \
1142)
1143
1144endef
1145
1146define gb_LinkTarget__use_rasqal_headers
1147$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001148 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001149 $$(INCLUDE) \
1150)
1151
1152endef
1153
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001154ifneq ($(OS),ANDROID)
1155
Michael Stahl5f9cda22013-11-01 15:43:47 +01001156ifeq ($(COM),MSC)
Michael Stahlae8e5792014-01-10 12:07:31 +01001157$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
David Tardon491dea02013-05-01 11:23:50 +02001158 raptor2 \
1159 rasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001160 rdf \
1161))
Michael Stahl5ae30d32014-03-13 19:32:13 +01001162else
1163$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1164 raptor \
1165 rasqal \
1166 redland \
1167))
Michael Stahl5f9cda22013-11-01 15:43:47 +01001168endif
Michael Stahlc74af0d2011-04-01 20:49:35 +00001169
1170define gb_LinkTarget__use_librdf
Michael Stahl831aaef2013-10-24 01:09:35 +02001171ifeq ($(COM),MSC)
1172$(call gb_LinkTarget_use_libraries,$(1),\
1173 raptor2 \
1174 rdf \
1175)
1176else
Caolán McNamara87114362016-12-19 21:17:48 +00001177$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Matúš Kukan85d1e392013-12-14 11:17:30 +01001178
Michael Stahl2793c542013-10-23 21:18:24 +02001179$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl2793c542013-10-23 21:18:24 +02001180 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
Caolán McNamara87114362016-12-19 21:17:48 +00001181 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1182 -L$(call gb_UnpackedTarball_get_dir,rasqal)/src/.libs -lrasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001183)
Michael Stahl831aaef2013-10-24 01:09:35 +02001184endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001185
Michael Stahlc74af0d2011-04-01 20:49:35 +00001186endef
1187
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001188else # ANDROID
1189
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001190define gb_LinkTarget__use_librdf
Caolán McNamara87114362016-12-19 21:17:48 +00001191$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001192
1193endef
1194
1195endif # ANDROID
1196
Michael Stahlc74af0d2011-04-01 20:49:35 +00001197endif # SYSTEM_REDLAND
1198
1199
Michael Stahlf7a6da22016-02-29 21:15:09 +01001200ifneq ($(USING_X11)$(ENABLE_CAIRO_CANVAS)$(ENABLE_HEADLESS),) # or
Michael Stahl32a617d2014-02-17 11:23:19 +01001201
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001202ifneq ($(SYSTEM_CAIRO),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001203
Michael Stahlc74af0d2011-04-01 20:49:35 +00001204define gb_LinkTarget__use_cairo
1205$(call gb_LinkTarget_set_include,$(1),\
1206 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001207 $(CAIRO_CFLAGS) \
1208)
David Tardon962771f2013-05-24 14:35:18 +02001209$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001210$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001211
Michael Stahlc74af0d2011-04-01 20:49:35 +00001212endef
1213
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001214else # !SYSTEM_CAIRO
Michael Stahlc74af0d2011-04-01 20:49:35 +00001215
Michael Stahl32a617d2014-02-17 11:23:19 +01001216$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1217 cairo \
1218 $(if $(filter $(OS),WNT),,pixman) \
1219))
1220
Michael Stahlc74af0d2011-04-01 20:49:35 +00001221define gb_LinkTarget__use_cairo
Michael Stahlde142202012-11-20 22:05:36 +01001222$(call gb_LinkTarget_use_package,$(1),cairo)
1223$(call gb_LinkTarget_use_package,$(1),pixman)
David Tardon962771f2013-05-24 14:35:18 +02001224$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001225$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001226 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1227 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001228 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001229)
Michael Stahld89f48b2013-10-23 21:27:05 +02001230$(call gb_LinkTarget_add_libs,$(1),\
1231 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001232 $(if $(filter-out MACOSX WNT,$(OS)), \
Michael Stahld89f48b2013-10-23 21:27:05 +02001233 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001234 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001235)
Caolán McNamara5bb76f62011-07-25 21:50:34 +01001236
Michael Stahlc74af0d2011-04-01 20:49:35 +00001237endef
1238
1239endif # SYSTEM_CAIRO
1240
Caolán McNamarafb7d4ba2015-11-16 13:40:22 +00001241else ifeq ($(OS),ANDROID)
1242
1243define gb_LinkTarget__use_cairo
1244$(call gb_LinkTarget_use_package,$(1),cairo)
1245$(call gb_LinkTarget_use_package,$(1),pixman)
1246$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1247$(call gb_LinkTarget_set_include,$(1),\
1248 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1249 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1250 $$(INCLUDE) \
1251)
1252$(call gb_LinkTarget_add_libs,$(1),\
1253 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1254 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
1255)
1256
1257endef
1258
Michael Stahl32a617d2014-02-17 11:23:19 +01001259endif # CAIRO
1260
Michael Stahl379f9782014-02-11 16:49:19 +01001261ifneq ($(SYSTEM_FREETYPE),)
David Tardon962771f2013-05-24 14:35:18 +02001262
1263define gb_LinkTarget__use_freetype_headers
Caolán McNamarab41ae462011-07-25 22:24:27 +01001264$(call gb_LinkTarget_set_include,$(1),\
1265 $$(INCLUDE) \
1266 $(FREETYPE_CFLAGS) \
1267)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001268
David Tardon962771f2013-05-24 14:35:18 +02001269endef
1270
Michael Stahle568d2a2013-09-30 14:10:22 +02001271gb_ExternalProject__use_freetype :=
1272
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001273else
David Tardon962771f2013-05-24 14:35:18 +02001274
1275define gb_LinkTarget__use_freetype_headers
Michael Stahlb242cee82013-10-24 12:08:50 +02001276$(call gb_LinkTarget_use_external_project,$(1),freetype)
David Tardon962771f2013-05-24 14:35:18 +02001277$(call gb_LinkTarget_set_include,$(1),\
David Tardone0603172017-02-02 13:31:13 +01001278 $(FREETYPE_CFLAGS) \
David Tardon962771f2013-05-24 14:35:18 +02001279 $$(INCLUDE) \
1280)
1281
David Tardon61695f12013-05-24 17:15:20 +02001282endef
1283
Michael Stahle568d2a2013-09-30 14:10:22 +02001284define gb_ExternalProject__use_freetype
Michael Stahlb242cee82013-10-24 12:08:50 +02001285$(call gb_ExternalProject_use_external_project,$(1),freetype)
Michael Stahle568d2a2013-09-30 14:10:22 +02001286
1287endef
1288
David Tardon962771f2013-05-24 14:35:18 +02001289endif # SYSTEM_FREETYPE
1290
David Tardone0603172017-02-02 13:31:13 +01001291define gb_LinkTarget__use_freetype
1292$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1293$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1294
1295endef
1296
Michael Stahl04ff5352014-02-11 16:21:04 +01001297ifneq ($(SYSTEM_FONTCONFIG),)
David Tardon4eb68422013-05-24 14:16:03 +02001298
Caolán McNamarab41ae462011-07-25 22:24:27 +01001299define gb_LinkTarget__use_fontconfig
1300$(call gb_LinkTarget_set_include,$(1),\
1301 $$(INCLUDE) \
1302 $(FONTCONFIG_CFLAGS) \
1303)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001304
Caolán McNamarab41ae462011-07-25 22:24:27 +01001305$(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1306
1307endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001308
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001309else
David Tardon4eb68422013-05-24 14:16:03 +02001310
David Tardon4eb68422013-05-24 14:16:03 +02001311define gb_LinkTarget__use_fontconfig
Michael Stahl76596b32013-10-24 11:01:41 +02001312$(call gb_LinkTarget_use_external_project,$(1),fontconfig)
David Tardon4eb68422013-05-24 14:16:03 +02001313$(call gb_LinkTarget_set_include,$(1),\
1314 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1315 $$(INCLUDE) \
1316)
1317
Caolán McNamara1ad871c2016-12-20 11:37:13 +00001318$(call gb_LinkTarget_add_libs,$(1),\
1319 -L$(call gb_UnpackedTarball_get_dir,fontconfig)/src/.libs -lfontconfig \
1320)
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001321
David Tardon4eb68422013-05-24 14:16:03 +02001322endef
1323
1324endif # SYSTEM_FONTCONFIG
1325
Michael Stahle3abec32014-02-11 15:57:18 +01001326ifneq ($(SYSTEM_GRAPHITE),)
Michael Stahl87e44332011-04-13 16:11:39 +00001327
Michael Stahl87e44332011-04-13 16:11:39 +00001328define gb_LinkTarget__use_graphite
Michael Stahl87e44332011-04-13 16:11:39 +00001329$(call gb_LinkTarget_set_include,$(1),\
1330 $$(INCLUDE) \
1331 $(GRAPHITE_CFLAGS) \
1332)
1333$(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001334
Michael Stahl87e44332011-04-13 16:11:39 +00001335endef
1336
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001337gb_ExternalProject__use_graphite:=
1338
Michael Stahle3abec32014-02-11 15:57:18 +01001339else # !SYSTEM_GRAPHITE
Michael Stahl87e44332011-04-13 16:11:39 +00001340
Michael Stahl87e44332011-04-13 16:11:39 +00001341define gb_LinkTarget__use_graphite
Matúš Kukan7a030392012-10-29 23:29:37 +01001342$(call gb_LinkTarget_use_unpacked,$(1),graphite)
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001343$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001344 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001345 $$(INCLUDE) \
1346)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001347$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001348 graphite \
Michael Stahl87e44332011-04-13 16:11:39 +00001349)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001350
Michael Stahl87e44332011-04-13 16:11:39 +00001351endef
1352
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001353define gb_ExternalProject__use_graphite
David Tardonb5c566f2016-11-03 17:23:56 +01001354$(call gb_ExternalProject_use_static_libraries,$(1),\
1355 graphite \
1356)
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001357
1358endef
Michael Stahl87e44332011-04-13 16:11:39 +00001359endif # SYSTEM_GRAPHITE
1360
Michael Stahl187194b2014-02-11 19:17:42 +01001361ifneq ($(SYSTEM_ICU),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001362
Peter Foleyb92a0d92012-12-25 17:39:43 -05001363gb_LinkTarget__use_icu_headers:=
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001364gb_ExternalProject__use_icu:=
Peter Foleyb92a0d92012-12-25 17:39:43 -05001365
Matúš Kukan6fad1752011-08-11 12:42:39 +02001366define gb_LinkTarget__use_icudata
1367$(call gb_LinkTarget_add_libs,$(1),-licudata)
1368
1369endef
David Tardon1a852392011-07-26 09:58:54 +02001370define gb_LinkTarget__use_icui18n
1371$(call gb_LinkTarget_add_libs,$(1),-licui18n)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001372
David Tardon1a852392011-07-26 09:58:54 +02001373endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001374define gb_LinkTarget__use_icuuc
1375$(call gb_LinkTarget_add_libs,$(1),-licuuc)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001376
Michael Stahlc74af0d2011-04-01 20:49:35 +00001377endef
1378
1379else # !SYSTEM_ICU
1380
Michael Stahl057613c2014-07-24 00:22:51 +02001381$(eval $(call gb_Helper_register_packages_for_install,ure, \
1382 icu_ure \
1383))
1384
Michael Stahle7592692014-03-14 11:23:52 +01001385$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1386 icu \
1387))
1388
Tor Lillqvist084db5f2012-09-24 10:37:25 +03001389ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001390gb_ICU_suffix:=lo
1391else
1392gb_ICU_suffix:=
1393endif
1394
Peter Foleyb92a0d92012-12-25 17:39:43 -05001395define gb_LinkTarget__use_icu_headers
Peter Foleyce9bf0f2013-03-23 12:32:31 -04001396$(call gb_LinkTarget_use_unpacked,$(1),icu)
Peter Foleyb92a0d92012-12-25 17:39:43 -05001397$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001398 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1399 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1400 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
Peter Foleyb92a0d92012-12-25 17:39:43 -05001401 $$(INCLUDE) \
1402)
1403
1404endef
1405
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001406define gb_ExternalProject__use_icu
1407$(call gb_ExternalProject_use_package,$(1),icu)
Fridrich Štrba851ca9c2013-01-25 10:29:59 +01001408
1409endef
1410
Peter Foleyf7452122012-11-04 08:46:44 -05001411# icudata and icui18n is called icudt and icuin when built with MSVC :-/
Michael Stahla92f80f2013-10-23 15:00:29 +02001412define gb_LinkTarget__use_icudata
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001413$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001414
1415ifeq ($(OS),WNT)
1416$(call gb_LinkTarget_add_libs,$(1),\
1417 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001418)
Michael Stahla92f80f2013-10-23 15:00:29 +02001419else
1420$(call gb_LinkTarget_add_libs,$(1),\
1421 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licudata$(gb_ICU_suffix) \
1422)
1423endif
Matúš Kukan6fad1752011-08-11 12:42:39 +02001424
1425endef
Michael Stahla92f80f2013-10-23 15:00:29 +02001426
1427define gb_LinkTarget__use_icui18n
1428$(call gb_LinkTarget_use_package,$(1),icu)
1429
1430ifeq ($(OS),WNT)
1431$(call gb_LinkTarget_add_libs,$(1),\
1432 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1433)
1434else
1435$(call gb_LinkTarget_add_libs,$(1),\
1436 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licui18n$(gb_ICU_suffix) \
1437)
1438endif
1439
1440endef
1441
Michael Stahlc74af0d2011-04-01 20:49:35 +00001442define gb_LinkTarget__use_icuuc
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001443$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001444
1445ifeq ($(OS),WNT)
1446$(call gb_LinkTarget_add_libs,$(1),\
1447 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001448)
Michael Stahla92f80f2013-10-23 15:00:29 +02001449else
1450$(call gb_LinkTarget_add_libs,$(1),\
1451 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licuuc$(gb_ICU_suffix) \
1452)
1453endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001454
Michael Stahlc74af0d2011-04-01 20:49:35 +00001455endef
1456
1457endif # SYSTEM_ICU
1458
Michael Stahle3abec32014-02-11 15:57:18 +01001459ifneq ($(SYSTEM_HARFBUZZ),)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001460
1461define gb_LinkTarget__use_harfbuzz
1462$(call gb_LinkTarget_set_include,$(1),\
1463 $$(INCLUDE) \
1464 $(HARFBUZZ_CFLAGS) \
1465)
1466$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1467
1468endef
1469
David Tardoncc96f0c2017-02-01 12:32:35 +01001470gb_ExternalProject__use_harfbuzz :=
1471
Michael Stahle3abec32014-02-11 15:57:18 +01001472else # SYSTEM_HARFBUZZ != TRUE
Khaled Hosny7e389f42013-04-20 13:00:56 +02001473
Khaled Hosny7e389f42013-04-20 13:00:56 +02001474define gb_LinkTarget__use_harfbuzz
Michael Stahl8db02752013-05-07 23:28:45 +02001475$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl2f6261f2013-09-19 19:28:36 +02001476 $(HARFBUZZ_CFLAGS) \
Michael Stahl8db02752013-05-07 23:28:45 +02001477 $$(INCLUDE) \
1478)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001479$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1480$(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001481
1482endef
1483
David Tardoncc96f0c2017-02-01 12:32:35 +01001484define gb_ExternalProject__use_harfbuzz
1485$(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1486
1487endef
1488
Khaled Hosny7e389f42013-04-20 13:00:56 +02001489endif # SYSTEM_HARFBUZZ
Michael Stahl4a8919f2011-04-18 11:13:57 +00001490
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001491ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomeze3f607e2013-04-11 10:24:25 +03001492
1493gb_ExternalProject__use_openssl:=
1494gb_LinkTarget__use_openssl_headers:=
1495gb_LinkTarget__use_openssl:=
1496
1497else # !DISABLE_OPENSSL
1498
Michael Stahle3abec32014-02-11 15:57:18 +01001499ifneq ($(SYSTEM_OPENSSL),)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001500
Peter Foley9ddba662012-12-28 11:19:06 -05001501gb_LinkTarget__use_openssl_headers:=
1502gb_ExternalProject__use_openssl:=
1503
Michael Stahl4a8919f2011-04-18 11:13:57 +00001504define gb_LinkTarget__use_openssl
1505$(call gb_LinkTarget_set_include,$(1),\
1506 $$(INCLUDE) \
1507 $(OPENSSL_CFLAGS) \
1508)
1509$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001510
Michael Stahl4a8919f2011-04-18 11:13:57 +00001511endef
1512
1513else # !SYSTEM_OPENSSL
1514
Michael Stahlf921e262014-03-13 19:36:48 +01001515$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1516 openssl \
1517))
1518
Peter Foley9ddba662012-12-28 11:19:06 -05001519define gb_ExternalProject__use_openssl
1520$(call gb_ExternalProject_use_package,$(1),openssl)
1521
1522endef
1523
1524define gb_LinkTarget__use_openssl_headers
Michael Stahlc7ca0712016-03-07 21:18:23 +01001525$(call gb_LinkTarget_use_external_project,$(1),openssl)
Peter Foley9ddba662012-12-28 11:19:06 -05001526$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001527 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
Peter Foley9ddba662012-12-28 11:19:06 -05001528 $$(INCLUDE) \
1529)
1530
1531endef
1532
Michael Stahl4a8919f2011-04-18 11:13:57 +00001533define gb_LinkTarget__use_openssl
Peter Foley9ddba662012-12-28 11:19:06 -05001534$(call gb_LinkTarget_use_package,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001535ifeq ($(OS),WNT)
Michael Stahl5b906622013-10-24 00:22:20 +02001536$(call gb_LinkTarget_add_libs,$(1),\
1537 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/ssleay32.lib \
1538 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/libeay32.lib \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001539)
1540else
Michael Stahl2f6261f2013-09-19 19:28:36 +02001541$(call gb_LinkTarget_add_libs,$(1),\
1542 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1543 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001544)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001545$(call gb_LinkTarget_use_external_project,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001546ifeq ($(OS),SOLARIS)
Michael Stahl80374352012-09-28 12:25:50 +02001547$(call gb_LinkTarget_add_libs,$(1),\
1548 -lnsl \
1549 -lsocket \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001550)
1551endif
1552endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001553
Michael Stahl4a8919f2011-04-18 11:13:57 +00001554endef
1555
1556endif # SYSTEM_OPENSSL
Andres Gomeze3f607e2013-04-11 10:24:25 +03001557endif # DISABLE_OPENSSL
Michael Stahl4a8919f2011-04-18 11:13:57 +00001558
Matúš Kukanc4560482011-07-28 01:03:23 +02001559
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001560ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomez48d49752013-04-11 10:32:54 +03001561
1562define gb_LinkTarget__use_gnutls
1563$(call gb_LinkTarget_set_include,$(1),\
1564 $$(INCLUDE) \
1565 $(GNUTLS_CFLAGS) \
1566)
1567
1568$(call gb_LinkTarget_add_defs,$(1),\
1569 -DDISABLE_OPENSSL \
1570)
1571
1572$(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1573
1574endef
1575
1576define gb_LinkTarget__use_libgcrypt
1577$(call gb_LinkTarget_set_include,$(1),\
1578 $$(INCLUDE) \
1579 $(LIBGCRYPT_CFLAGS) \
1580)
1581
1582$(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1583
1584endef
1585
1586else # !DISABLE_OPENSSL
1587
1588gb_LinkTarget__use_gnutls:=
1589gb_LinkTarget__use_libgcrypt:=
1590
1591endif # DISABLE_OPENSSL
1592
1593
Michael Stahle3abec32014-02-11 15:57:18 +01001594ifneq ($(SYSTEM_CDR),)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001595
1596define gb_LinkTarget__use_cdr
1597$(call gb_LinkTarget_set_include,$(1),\
1598 $$(INCLUDE) \
1599 $(CDR_CFLAGS) \
1600)
1601$(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1602
1603endef
1604
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001605else # !SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001606
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001607define gb_LinkTarget__use_cdr
David Tardonf16f3662013-05-24 13:48:03 +02001608$(call gb_LinkTarget_set_include,$(1),\
1609 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1610 $$(INCLUDE) \
1611)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001612$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001613 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001614)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001615$(call gb_LinkTarget_use_external_project,$(1),libcdr)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001616endef
1617
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001618endif # SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001619
1620
Michael Stahle3abec32014-02-11 15:57:18 +01001621ifneq ($(SYSTEM_EBOOK),)
David Tardon316be1b2013-11-09 15:52:36 +01001622
1623define gb_LinkTarget__use_ebook
1624$(call gb_LinkTarget_set_include,$(1),\
1625 $$(INCLUDE) \
1626 $(EBOOK_CFLAGS) \
1627)
1628$(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1629
1630endef
1631
1632gb_ExternalProject__use_ebook :=
1633
1634else # !SYSTEM_EBOOK
1635
1636define gb_LinkTarget__use_ebook
1637$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001638 -I${WORKDIR}/UnpackedTarball/libebook/inc \
David Tardon316be1b2013-11-09 15:52:36 +01001639 $$(INCLUDE) \
1640)
1641$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001642 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
David Tardon316be1b2013-11-09 15:52:36 +01001643)
1644$(call gb_LinkTarget_use_external_project,$(1),libebook)
1645
1646endef
1647
1648define gb_ExternalProject__use_ebook
1649$(call gb_ExternalProject_use_external_project,$(1),libebook)
1650
1651endef
1652
1653endif # SYSTEM_EBOOK
1654
1655
Michael Stahle3abec32014-02-11 15:57:18 +01001656ifneq ($(SYSTEM_ETONYEK),)
David Tardon08ca3e42013-10-24 16:46:49 +02001657
1658define gb_LinkTarget__use_etonyek
1659$(call gb_LinkTarget_set_include,$(1),\
1660 $$(INCLUDE) \
1661 $(ETONYEK_CFLAGS) \
1662)
1663$(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1664
1665endef
1666
1667gb_ExternalProject__use_etonyek :=
1668
1669else # !SYSTEM_ETONYEK
1670
David Tardon78deb812015-05-19 16:12:08 +02001671ifeq ($(COM),MSC)
1672
1673$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1674 etonyek \
1675))
1676
David Tardon08ca3e42013-10-24 16:46:49 +02001677define gb_LinkTarget__use_etonyek
1678$(call gb_LinkTarget_set_include,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001679 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1680 $$(INCLUDE) \
1681)
1682$(call gb_LinkTarget_use_libraries,$(1),\
1683 etonyek \
1684)
1685
1686endef
1687
1688else # !MSC
1689
1690$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1691 libetonyek \
1692))
1693
1694define gb_LinkTarget__use_etonyek
1695$(call gb_LinkTarget_use_package,$(1),libetonyek)
1696
1697$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001698 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
David Tardon78deb812015-05-19 16:12:08 +02001699 -DLIBETONYEK_VISIBILITY \
David Tardon08ca3e42013-10-24 16:46:49 +02001700 $$(INCLUDE) \
1701)
1702$(call gb_LinkTarget_add_libs,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001703 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
David Tardon08ca3e42013-10-24 16:46:49 +02001704)
1705$(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1706
1707endef
1708
1709define gb_ExternalProject__use_etonyek
1710$(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1711
1712endef
1713
David Tardon78deb812015-05-19 16:12:08 +02001714endif
1715
David Tardon08ca3e42013-10-24 16:46:49 +02001716endif # SYSTEM_ETONYEK
1717
1718
Michael Stahle3abec32014-02-11 15:57:18 +01001719ifneq ($(SYSTEM_FREEHAND),)
Fridrich Štrba67153d72013-10-31 12:42:50 +01001720
1721define gb_LinkTarget__use_freehand
1722$(call gb_LinkTarget_set_include,$(1),\
1723 $$(INCLUDE) \
1724 $(FREEHAND_CFLAGS) \
1725)
1726$(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1727
1728endef
1729
1730gb_ExternalProject__use_freehand :=
1731
1732else # !SYSTEM_FREEHAND
1733
1734define gb_LinkTarget__use_freehand
1735$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001736 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001737 $$(INCLUDE) \
1738)
1739$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001740 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001741)
1742$(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1743
1744endef
1745
1746define gb_ExternalProject__use_freehand
1747$(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1748
1749endef
1750
1751endif # SYSTEM_FREEHAND
1752
1753
Michael Stahle3abec32014-02-11 15:57:18 +01001754ifneq ($(SYSTEM_ODFGEN),)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001755
1756define gb_LinkTarget__use_odfgen
1757$(call gb_LinkTarget_set_include,$(1),\
1758 $$(INCLUDE) \
1759 $(ODFGEN_CFLAGS) \
1760)
1761$(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1762
1763endef
1764
1765else # !SYSTEM_ODFGEN
1766
David Tardon36c3f912014-05-24 09:13:33 +02001767ifeq ($(COM),MSC)
1768
1769$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1770 odfgen \
1771))
1772
Fridrich Štrba93848e12013-05-02 20:25:51 +02001773define gb_LinkTarget__use_odfgen
David Tardon0f8a90c2013-05-24 13:49:11 +02001774$(call gb_LinkTarget_set_include,$(1),\
1775 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1776 $$(INCLUDE) \
1777)
David Tardon36c3f912014-05-24 09:13:33 +02001778$(call gb_LinkTarget_use_libraries,$(1),\
1779 odfgen \
Fridrich Štrba93848e12013-05-02 20:25:51 +02001780)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001781
1782endef
1783
David Tardon36c3f912014-05-24 09:13:33 +02001784else # !MSC
1785
1786$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1787 libodfgen \
1788))
1789
1790define gb_LinkTarget__use_odfgen
1791$(call gb_LinkTarget_use_package,$(1),libodfgen)
1792
1793$(call gb_LinkTarget_set_include,$(1),\
1794 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001795 -DLIBODFGEN_VISIBILITY \
David Tardon36c3f912014-05-24 09:13:33 +02001796 $$(INCLUDE) \
1797)
1798$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001799 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
David Tardon36c3f912014-05-24 09:13:33 +02001800)
1801
1802endef
1803
1804endif
1805
Fridrich Štrba93848e12013-05-02 20:25:51 +02001806endif # SYSTEM_ODFGEN
1807
Miklos Vajna3f163062017-08-02 16:29:48 +02001808ifneq ($(SYSTEM_EPUBGEN),)
1809
1810define gb_LinkTarget__use_epubgen
1811$(call gb_LinkTarget_set_include,$(1),\
1812 $$(INCLUDE) \
1813 $(EPUBGEN_CFLAGS) \
1814)
1815$(call gb_LinkTarget_add_libs,$(1),$(EPUBGEN_LIBS))
1816
1817endef
1818gb_ExternalProject__use_epubgen :=
1819
1820else # !SYSTEM_EPUBGEN
1821
1822define gb_LinkTarget__use_epubgen
1823$(call gb_LinkTarget_set_include,$(1),\
1824 -I$(call gb_UnpackedTarball_get_dir,libepubgen)/inc \
1825 $$(INCLUDE) \
1826)
1827$(call gb_LinkTarget_add_libs,$(1),\
Miklos Vajnab2b1debf2017-12-13 10:54:27 +01001828 $(call gb_UnpackedTarball_get_dir,libepubgen)/src/lib/.libs/libepubgen-0.1$(gb_StaticLibrary_PLAINEXT) \
Miklos Vajna3f163062017-08-02 16:29:48 +02001829)
1830$(call gb_LinkTarget_use_external_project,$(1),libepubgen)
1831
1832endef
1833define gb_ExternalProject__use_epubgen
1834$(call gb_ExternalProject_use_external_project,$(1),libepubgen)
1835
1836endef
1837
1838endif # SYSTEM_EPUBGEN
Fridrich Štrba93848e12013-05-02 20:25:51 +02001839
David Tardonb421ce72014-05-24 08:39:54 +02001840ifneq ($(SYSTEM_REVENGE),)
1841
1842define gb_LinkTarget__use_revenge
1843$(call gb_LinkTarget_set_include,$(1),\
1844 $$(INCLUDE) \
1845 $(REVENGE_CFLAGS) \
1846)
1847$(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1848
1849endef
1850
David Tardon7c9c7792014-05-25 13:06:57 +02001851gb_ExternalProject__use_revenge :=
1852
David Tardonb421ce72014-05-24 08:39:54 +02001853else # !SYSTEM_REVENGE
1854
1855ifeq ($(COM),MSC)
1856
1857$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1858 revenge \
1859))
1860
1861define gb_LinkTarget__use_revenge
1862$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001863 $(REVENGE_CFLAGS) \
David Tardonb421ce72014-05-24 08:39:54 +02001864 $$(INCLUDE) \
1865)
1866$(call gb_LinkTarget_use_libraries,$(1),\
1867 revenge \
1868)
1869
1870endef
1871
David Tardon7c9c7792014-05-25 13:06:57 +02001872define gb_ExternalProject__use_revenge
1873$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1874
1875endef
1876
David Tardonb421ce72014-05-24 08:39:54 +02001877else # !MSC
1878
1879$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1880 librevenge \
1881))
1882
1883define gb_LinkTarget__use_revenge
1884$(call gb_LinkTarget_use_package,$(1),librevenge)
1885
1886$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001887 $(REVENGE_CFLAGS) \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001888 -DLIBREVENGE_VISIBILITY \
David Tardonb421ce72014-05-24 08:39:54 +02001889 $$(INCLUDE) \
1890)
1891$(call gb_LinkTarget_add_libs,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001892 $(REVENGE_LIBS) \
David Tardonb421ce72014-05-24 08:39:54 +02001893)
1894endef
1895
David Tardon7c9c7792014-05-25 13:06:57 +02001896define gb_ExternalProject__use_revenge
1897$(call gb_ExternalProject_use_package,$(1),librevenge)
1898
1899endef
1900
David Tardonb421ce72014-05-24 08:39:54 +02001901endif # MSC
1902
1903endif # SYSTEM_REVENGE
1904
1905
Michael Stahle3abec32014-02-11 15:57:18 +01001906ifneq ($(SYSTEM_ABW),)
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001907
1908define gb_LinkTarget__use_abw
1909$(call gb_LinkTarget_set_include,$(1),\
1910 $$(INCLUDE) \
1911 $(ABW_CFLAGS) \
1912)
1913$(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1914
1915endef
1916gb_ExternalProject__use_abw :=
1917
1918else # !SYSTEM_ABW
1919
1920define gb_LinkTarget__use_abw
1921$(call gb_LinkTarget_set_include,$(1),\
1922 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1923 $$(INCLUDE) \
1924)
1925$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001926 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001927)
1928$(call gb_LinkTarget_use_external_project,$(1),libabw)
1929
1930endef
1931define gb_ExternalProject__use_abw
1932$(call gb_ExternalProject_use_external_project,$(1),libabw)
1933
1934endef
1935
1936endif # SYSTEM_ABW
1937
1938
Michael Stahle3abec32014-02-11 15:57:18 +01001939ifneq ($(SYSTEM_MSPUB),)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001940
1941define gb_LinkTarget__use_mspub
1942$(call gb_LinkTarget_set_include,$(1),\
1943 $$(INCLUDE) \
1944 $(MSPUB_CFLAGS) \
1945)
1946$(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1947
1948endef
1949
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001950else # !SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001951
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001952define gb_LinkTarget__use_mspub
Michael Stahl35ac39e2013-05-16 13:09:11 +02001953$(call gb_LinkTarget_set_include,$(1),\
1954 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
1955 $$(INCLUDE) \
1956)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001957$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001958 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba093a5c92013-01-28 10:13:50 +01001959)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001960$(call gb_LinkTarget_use_external_project,$(1),libmspub)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001961
1962endef
1963
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001964endif # SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001965
1966
David Tardon516fb342014-06-26 21:26:11 +02001967ifneq ($(SYSTEM_PAGEMAKER),)
1968
1969define gb_LinkTarget__use_pagemaker
1970$(call gb_LinkTarget_set_include,$(1),\
1971 $$(INCLUDE) \
1972 $(PAGEMAKER_CFLAGS) \
1973)
1974$(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
1975
1976endef
1977gb_ExternalProject__use_pagemaker :=
1978
1979else # !SYSTEM_PAGEMAKER
1980
1981define gb_LinkTarget__use_pagemaker
1982$(call gb_LinkTarget_set_include,$(1),\
1983 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
1984 $$(INCLUDE) \
1985)
1986$(call gb_LinkTarget_add_libs,$(1),\
1987 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
1988)
1989$(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
1990
1991endef
1992define gb_ExternalProject__use_pagemaker
1993$(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
1994
1995endef
1996
1997endif # SYSTEM_PAGEMAKER
1998
1999
Aleksas Pantechovskise59b5b12017-08-27 22:10:14 +03002000ifneq ($(SYSTEM_QXP),)
2001
2002define gb_LinkTarget__use_qxp
2003$(call gb_LinkTarget_set_include,$(1),\
2004 $$(INCLUDE) \
2005 $(QXP_CFLAGS) \
2006)
2007$(call gb_LinkTarget_add_libs,$(1),$(QXP_LIBS))
2008
2009endef
2010gb_ExternalProject__use_qxp :=
2011
2012else # !SYSTEM_QXP
2013
2014define gb_LinkTarget__use_qxp
2015$(call gb_LinkTarget_set_include,$(1),\
2016 -I$(call gb_UnpackedTarball_get_dir,libqxp)/inc \
2017 $$(INCLUDE) \
2018)
2019$(call gb_LinkTarget_add_libs,$(1),\
2020 $(call gb_UnpackedTarball_get_dir,libqxp)/src/lib/.libs/libqxp-0.0$(gb_StaticLibrary_PLAINEXT) \
2021)
2022$(call gb_LinkTarget_use_external_project,$(1),libqxp)
2023
2024endef
2025define gb_ExternalProject__use_qxp
2026$(call gb_ExternalProject_use_external_project,$(1),libqxp)
2027
2028endef
2029
2030endif # SYSTEM_QXP
2031
2032
Aleksas Pantechovskisaaed6fe2016-06-22 19:02:29 +03002033ifneq ($(SYSTEM_ZMF),)
2034
2035define gb_LinkTarget__use_zmf
2036$(call gb_LinkTarget_set_include,$(1),\
2037 $$(INCLUDE) \
2038 $(ZMF_CFLAGS) \
2039)
2040$(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
2041
2042endef
2043gb_ExternalProject__use_zmf :=
2044
2045else # !SYSTEM_ZMF
2046
2047define gb_LinkTarget__use_zmf
2048$(call gb_LinkTarget_set_include,$(1),\
2049 -I$(call gb_UnpackedTarball_get_dir,libzmf)/inc \
2050 $$(INCLUDE) \
2051)
2052$(call gb_LinkTarget_add_libs,$(1),\
2053 $(call gb_UnpackedTarball_get_dir,libzmf)/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
2054)
2055$(call gb_LinkTarget_use_external_project,$(1),libzmf)
2056
2057endef
2058define gb_ExternalProject__use_zmf
2059$(call gb_ExternalProject_use_external_project,$(1),libzmf)
2060
2061endef
2062
2063endif # SYSTEM_ZMF
2064
2065
Michael Stahle3abec32014-02-11 15:57:18 +01002066ifneq ($(SYSTEM_VISIO),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002067
2068define gb_LinkTarget__use_visio
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002069$(call gb_LinkTarget_set_include,$(1),\
2070 $$(INCLUDE) \
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002071 $(VISIO_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002072)
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002073$(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002074
2075endef
2076
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002077else # !SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002078
Matúš Kukanc6a63952011-07-28 17:29:44 +02002079define gb_LinkTarget__use_visio
Michael Stahlacc7f612013-05-16 13:14:37 +02002080$(call gb_LinkTarget_set_include,$(1),\
2081 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
2082 $$(INCLUDE) \
2083)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002084$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02002085 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba64ab6112012-11-05 11:43:55 +01002086)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002087$(call gb_LinkTarget_use_external_project,$(1),libvisio)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002088
2089endef
2090
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002091endif # SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002092
2093
Michael Stahle3abec32014-02-11 15:57:18 +01002094ifneq ($(SYSTEM_WPD),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002095
2096define gb_LinkTarget__use_wpd
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002097$(call gb_LinkTarget_set_include,$(1),\
2098 $$(INCLUDE) \
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002099 $(WPD_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002100)
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002101$(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002102
2103endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002104gb_ExternalProject__use_wpd :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002105
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002106else # !SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002107
David Tardonc868a0c2014-12-23 18:37:54 +01002108ifeq ($(COM),MSC)
2109
2110$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2111 wpd \
2112))
2113
Fridrich Štrba4425db62012-09-24 13:17:45 +02002114define gb_LinkTarget__use_wpd
Michael Stahldb5c8c52013-05-16 13:28:14 +02002115$(call gb_LinkTarget_set_include,$(1),\
2116 $(WPD_CFLAGS) \
2117 $$(INCLUDE) \
2118)
David Tardonc868a0c2014-12-23 18:37:54 +01002119$(call gb_LinkTarget_use_libraries,$(1),\
2120 wpd \
Michael Stahl34295432012-09-24 22:25:28 +02002121)
Fridrich Štrba4425db62012-09-24 13:17:45 +02002122
2123endef
David Tardonc868a0c2014-12-23 18:37:54 +01002124
Michael Stahl2b7536a2012-10-05 21:17:25 +02002125define gb_ExternalProject__use_wpd
David Tardonc868a0c2014-12-23 18:37:54 +01002126$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002127
2128endef
Fridrich Štrba4425db62012-09-24 13:17:45 +02002129
David Tardonc868a0c2014-12-23 18:37:54 +01002130else # !MSC
2131
2132$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2133 libwpd \
2134))
2135
2136define gb_LinkTarget__use_wpd
2137$(call gb_LinkTarget_use_package,$(1),libwpd)
2138
2139$(call gb_LinkTarget_set_include,$(1),\
2140 $(WPD_CFLAGS) \
2141 $$(INCLUDE) \
2142)
2143$(call gb_LinkTarget_add_libs,$(1),\
2144 $(WPD_LIBS) \
2145)
2146
2147endef
2148
2149define gb_ExternalProject__use_wpd
2150$(call gb_ExternalProject_use_package,$(1),libwpd)
2151
2152endef
2153
2154endif # MSC
2155
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002156endif # SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002157
2158
Michael Stahle3abec32014-02-11 15:57:18 +01002159ifneq ($(SYSTEM_WPG),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002160
2161define gb_LinkTarget__use_wpg
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002162$(call gb_LinkTarget_set_include,$(1),\
2163 $$(INCLUDE) \
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002164 $(WPG_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002165)
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002166$(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002167
2168endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002169gb_ExternalProject__use_wpg :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002170
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002171else # !SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002172
David Tardonc868a0c2014-12-23 18:37:54 +01002173ifeq ($(COM),MSC)
2174
2175$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2176 wpg \
2177))
2178
Matúš Kukanc6a63952011-07-28 17:29:44 +02002179define gb_LinkTarget__use_wpg
David Tardonc51a2542013-05-24 14:53:37 +02002180$(call gb_LinkTarget_set_include,$(1),\
2181 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2182 $$(INCLUDE) \
2183)
David Tardonc868a0c2014-12-23 18:37:54 +01002184$(call gb_LinkTarget_use_libraries,$(1),\
2185 wpg \
Michael Stahl53b7bdc2012-10-05 17:19:47 +02002186)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002187
2188endef
David Tardonc868a0c2014-12-23 18:37:54 +01002189
2190else # !MSC
2191
2192$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2193 libwpg \
2194))
2195
2196define gb_LinkTarget__use_wpg
2197$(call gb_LinkTarget_use_package,$(1),libwpg)
2198
2199$(call gb_LinkTarget_set_include,$(1),\
2200 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2201 $$(INCLUDE) \
2202)
2203$(call gb_LinkTarget_add_libs,$(1),\
2204 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2205)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002206
2207endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002208
David Tardonc868a0c2014-12-23 18:37:54 +01002209endif # MSC
2210
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002211endif # SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002212
2213
Michael Stahle3abec32014-02-11 15:57:18 +01002214ifneq ($(SYSTEM_WPS),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002215
2216define gb_LinkTarget__use_wps
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002217$(call gb_LinkTarget_set_include,$(1),\
2218 $$(INCLUDE) \
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002219 $(WPS_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002220)
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002221$(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002222
2223endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002224gb_ExternalProject__use_wps :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002225
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002226else # !SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002227
David Tardonf85d10f2014-05-30 15:35:48 +02002228ifeq ($(COM),MSC)
2229
2230$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2231 wps \
2232))
2233
Matúš Kukanc6a63952011-07-28 17:29:44 +02002234define gb_LinkTarget__use_wps
David Tardon6f9d8212013-05-24 14:58:31 +02002235$(call gb_LinkTarget_set_include,$(1),\
2236 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2237 $$(INCLUDE) \
2238)
David Tardonf85d10f2014-05-30 15:35:48 +02002239
2240$(call gb_LinkTarget_use_libraries,$(1),\
2241 wps \
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02002242)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002243
2244endef
David Tardonf85d10f2014-05-30 15:35:48 +02002245
2246else # !MSC
2247
2248$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2249 libwps \
2250))
2251
2252define gb_LinkTarget__use_wps
2253$(call gb_LinkTarget_use_package,$(1),libwps)
2254
2255$(call gb_LinkTarget_set_include,$(1),\
2256 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2257 $$(INCLUDE) \
2258)
2259$(call gb_LinkTarget_add_libs,$(1),\
osnolaf9568332015-05-18 10:21:10 +02002260 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
David Tardonf85d10f2014-05-30 15:35:48 +02002261)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002262
2263endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002264
David Tardonf85d10f2014-05-30 15:35:48 +02002265endif # MSC
2266
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002267endif # SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002268
2269
Michael Stahle3abec32014-02-11 15:57:18 +01002270ifneq ($(SYSTEM_MWAW),)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002271
2272define gb_LinkTarget__use_mwaw
2273$(call gb_LinkTarget_set_include,$(1),\
2274 $$(INCLUDE) \
2275 $(MWAW_CFLAGS) \
2276)
2277$(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2278
2279endef
2280
2281else # !SYSTEM_MWAW
2282
David Tardon79211c12014-05-30 13:55:20 +02002283ifeq ($(COM),MSC)
2284
2285$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2286 mwaw \
2287))
2288
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002289define gb_LinkTarget__use_mwaw
Michael Stahlff718952013-05-16 13:11:36 +02002290$(call gb_LinkTarget_set_include,$(1),\
2291 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2292 $$(INCLUDE) \
2293)
David Tardon79211c12014-05-30 13:55:20 +02002294
2295$(call gb_LinkTarget_use_libraries,$(1),\
2296 mwaw \
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002297)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002298
2299endef
2300
David Tardon79211c12014-05-30 13:55:20 +02002301else # !MSC
2302
2303$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2304 libmwaw \
2305))
2306
2307define gb_LinkTarget__use_mwaw
2308$(call gb_LinkTarget_use_package,$(1),libmwaw)
2309
2310$(call gb_LinkTarget_set_include,$(1),\
2311 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2312 $$(INCLUDE) \
2313)
2314$(call gb_LinkTarget_add_libs,$(1),\
2315 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2316)
2317
2318endef
2319
2320endif # MSC
2321
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002322endif # SYSTEM_MWAW
2323
osnola1faae1f2016-08-10 12:43:56 +02002324ifneq ($(SYSTEM_STAROFFICE),)
2325
2326define gb_LinkTarget__use_staroffice
2327$(call gb_LinkTarget_set_include,$(1),\
2328 $$(INCLUDE) \
2329 $(STAROFFICE_CFLAGS) \
2330)
2331$(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2332
2333endef
2334
2335else # !SYSTEM_STAROFFICE
2336
2337ifeq ($(COM),MSC)
2338
2339$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2340 staroffice \
2341))
2342
2343define gb_LinkTarget__use_staroffice
2344$(call gb_LinkTarget_set_include,$(1),\
2345 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2346 $$(INCLUDE) \
2347)
2348
2349$(call gb_LinkTarget_use_libraries,$(1),\
2350 staroffice \
2351)
2352
2353endef
2354
2355else # !MSC
2356
2357$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2358 libstaroffice \
2359))
2360
2361define gb_LinkTarget__use_staroffice
2362$(call gb_LinkTarget_use_package,$(1),libstaroffice)
2363
2364$(call gb_LinkTarget_set_include,$(1),\
2365 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2366 $$(INCLUDE) \
2367)
2368$(call gb_LinkTarget_add_libs,$(1),\
2369 -L$(call gb_UnpackedTarball_get_dir,libstaroffice)/src/lib/.libs -lstaroffice-0.0 \
2370)
2371
2372endef
2373
2374endif # MSC
2375
2376endif # SYSTEM_STAROFFICE
2377
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002378
Michael Stahle3abec32014-02-11 15:57:18 +01002379ifneq ($(SYSTEM_LCMS2),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002380
2381define gb_LinkTarget__use_lcms2
2382$(call gb_LinkTarget_set_include,$(1),\
2383 $$(INCLUDE) \
Peter Foleyf7452122012-11-04 08:46:44 -05002384 $(LCMS2_CFLAGS) \
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002385)
2386$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2387
2388endef
2389
Peter Foley8905c0e2012-11-08 21:00:30 -05002390gb_ExternalProject__use_lcms2 :=
2391
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002392else # !SYSTEM_LCMS2
2393
Michael Stahl32a617d2014-02-17 11:23:19 +01002394$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2395 lcms2 \
2396))
2397
Peter Foley8905c0e2012-11-08 21:00:30 -05002398define gb_ExternalProject__use_lcms2
2399$(call gb_ExternalProject_use_package,$(1),lcms2)
2400
2401endef
2402
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002403ifeq ($(OS),ANDROID)
2404
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002405define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002406$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002407$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002408 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002409 $$(INCLUDE) \
2410)
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002411
2412endef
2413
2414else
2415
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002416define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002417$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002418$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002419 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002420 $$(INCLUDE) \
2421)
Michael Stahl25f65f22013-10-23 22:04:36 +02002422$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002423
2424endef
2425
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002426endif # ANDROID
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002427endif # SYSTEM_LCMS2
2428
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002429ifneq ($(ENABLE_LPSOLVE),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002430
Michael Stahlab586f12014-02-11 19:25:30 +01002431ifneq ($(SYSTEM_LPSOLVE),)
Matúš Kukanc4560482011-07-28 01:03:23 +02002432
Peter Foley085346f2012-11-03 19:19:30 -04002433define gb_LinkTarget__use_lpsolve
Matúš Kukanc4560482011-07-28 01:03:23 +02002434$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
Peter Foley085346f2012-11-03 19:19:30 -04002435$(call gb_LinkTarget_add_defs,$(1),\
2436 -DSYSTEM_LPSOLVE \
Peter Foley29d5e292012-11-07 18:18:08 -05002437)
Matúš Kukanc4560482011-07-28 01:03:23 +02002438
2439endef
2440
2441else # !SYSTEM_LPSOLVE
2442
Peter Foley085346f2012-11-03 19:19:30 -04002443define gb_LinkTarget__use_lpsolve
Michael Stahlf4732872016-12-09 17:23:11 +01002444$(call gb_LinkTarget_use_external_project,$(1),lpsolve)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002445ifeq ($(COM),MSC)
2446$(call gb_LinkTarget_add_libs,$(1),\
2447 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2448)
2449else
Michael Stahlb177b302013-10-23 21:33:51 +02002450$(call gb_LinkTarget_add_libs,$(1),\
2451 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
Matúš Kukanc4560482011-07-28 01:03:23 +02002452)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002453endif
Peter Foley085346f2012-11-03 19:19:30 -04002454$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002455 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
Peter Foley085346f2012-11-03 19:19:30 -04002456 $$(INCLUDE) \
2457)
Matúš Kukanc4560482011-07-28 01:03:23 +02002458
2459endef
2460
Matúš Kukan083fa762014-02-27 17:08:09 +01002461$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2462 lpsolve \
2463))
2464
Matúš Kukanc4560482011-07-28 01:03:23 +02002465endif # SYSTEM_LPSOLVE
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002466
Matúš Kukan077bdc72014-03-27 14:51:46 +01002467else
2468
2469gb_LinkTarget__use_lpsolve :=
2470
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002471endif # ENABLE_LPSOLVE
2472
2473ifneq ($(ENABLE_COINMP),)
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002474
Rene Engelhardd85f5132014-08-06 00:03:21 +02002475ifneq ($(SYSTEM_COINMP),TRUE)
2476
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002477define gb_LinkTarget__use_coinmp
2478$(call gb_LinkTarget_use_package,$(1),coinmp)
2479ifeq ($(COM),MSC)
2480$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovsky152e2a22014-11-30 18:26:01 +01002481 $(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/MSVisualStudio/v9/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)/CoinMP.lib \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002482)
2483else
2484$(call gb_LinkTarget_add_libs,$(1),\
2485 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2486 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2487 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2488 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2489 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2490 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2491 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2492)
2493endif
2494$(call gb_LinkTarget_set_include,$(1),\
2495 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
Caolán McNamara67b4b342014-06-06 14:32:09 +01002496 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002497 $$(INCLUDE) \
2498)
2499
2500endef
2501
2502$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2503 coinmp \
2504))
2505
Rene Engelhardd85f5132014-08-06 00:03:21 +02002506else # SYSTEM_COINMP
2507
2508define gb_LinkTarget__use_coinmp
2509$(call gb_LinkTarget_set_include,$(1),\
2510 $$(INCLUDE) \
2511 $(COINMP_CFLAGS) \
2512)
2513$(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2514
2515endef
2516
2517endif
2518
Matúš Kukan077bdc72014-03-27 14:51:46 +01002519else
2520
2521gb_LinkTarget__use_coinmp :=
2522
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002523endif # ENABLE_COINMP
Matúš Kukanc4560482011-07-28 01:03:23 +02002524
Michael Stahl9ec0e6d2015-11-27 23:54:40 +01002525ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2526
2527define gb_LinkTarget__use_mDNSResponder
2528$(call gb_LinkTarget_set_include,$(1),\
2529 -I$(call gb_UnpackedTarball_get_dir,mDNSResponder)/mDNSShared \
2530 $$(INCLUDE) \
2531)
2532$(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2533endef
2534
2535endif # MDNSRESPONDER
2536
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002537ifeq ($(ENABLE_GIO),TRUE)
Matúš Kukanc4560482011-07-28 01:03:23 +02002538
Matúš Kukan464b4332012-01-15 02:12:49 +01002539define gb_LinkTarget__use_gio
2540$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01002541 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00002542 $(GIO_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01002543)
2544
2545$(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2546
2547endef
2548
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002549else # ENABLE_GIO
2550
2551define gb_LinkTarget__use_gio
Caolán McNamara1e98bb42012-11-06 20:09:57 +00002552
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002553endef
2554
2555endif # ENABLE_GIO
2556
Siqid0419802013-07-24 11:16:31 +02002557ifeq ($(ENABLE_AVAHI),TRUE)
2558
2559define gb_LinkTarget__use_avahi
2560$(call gb_LinkTarget_set_include,$(1),\
2561 $$(INCLUDE) \
2562 $(AVAHI_CFLAGS) \
2563)
2564
2565$(call gb_LinkTarget_add_defs,$(1),\
2566 -DENABLE_AVAHI \
2567)
2568
2569$(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2570
2571endef
2572
2573else # ENABLE_AVAHI
2574
David Tardon9ce38ef2013-11-05 07:03:08 +01002575gb_LinkTarget__use_avahi :=
Siqid0419802013-07-24 11:16:31 +02002576
2577endif # ENABLE_AVAHI
2578
2579
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002580define gb_LinkTarget__use_gtk
2581$(call gb_LinkTarget_set_include,$(1),\
2582 $$(INCLUDE) \
2583 $(GTK_CFLAGS) \
2584)
2585
2586$(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
2587
David Tardonadb11052011-12-01 13:39:09 +01002588ifeq ($(ENABLE_GTK_PRINT),TRUE)
2589
2590$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
2591
2592$(call gb_LinkTarget_set_include,$(1),\
2593 $$(INCLUDE) \
2594 $(GTK_PRINT_CFLAGS) \
2595)
2596
2597$(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
2598
2599endif
2600
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002601endef
Michael Stahl4a8919f2011-04-18 11:13:57 +00002602
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002603define gb_LinkTarget__use_gthread
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002604$(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002605endef
2606
Caolán McNamara68ffb332012-09-14 11:31:50 +01002607ifeq ($(ENABLE_CUPS),TRUE)
2608
2609define gb_LinkTarget__use_cups
2610$(call gb_LinkTarget_add_defs,$(1),\
2611 -DENABLE_CUPS \
2612)
2613
2614$(call gb_LinkTarget_add_libs,$(1),\
2615 -lcups \
2616)
2617
2618endef
2619
2620else # ENABLE_CUPS
2621
2622define gb_LinkTarget__use_cups
2623
2624endef
2625
2626endif # ENABLE_DBUS
David Tardon1b717ce2011-11-02 13:00:48 +01002627
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002628ifeq ($(ENABLE_DBUS),TRUE)
David Tardon1b717ce2011-11-02 13:00:48 +01002629
2630define gb_LinkTarget__use_dbus
2631$(call gb_LinkTarget_set_include,$(1),\
2632 $$(INCLUDE) \
2633 $(DBUS_CFLAGS) \
2634)
2635
David Tardon1b717ce2011-11-02 13:00:48 +01002636$(call gb_LinkTarget_add_libs,$(1),\
2637 $(DBUS_LIBS) \
2638)
2639
2640endef
2641
2642else # ENABLE_DBUS
2643
2644define gb_LinkTarget__use_dbus
2645
2646endef
2647
2648endif # ENABLE_DBUS
2649
2650
Michael Stahle3abec32014-02-11 15:57:18 +01002651ifneq ($(SYSTEM_LIBPNG),)
David Tardon6df9c472011-09-15 14:44:34 +02002652
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002653define gb_LinkTarget__use_libpng
David Tardon6df9c472011-09-15 14:44:34 +02002654$(call gb_LinkTarget_set_include,$(1),\
2655 $$(INCLUDE) \
2656 $(LIBPNG_CFLAGS) \
2657)
2658
2659$(call gb_LinkTarget_add_libs,$(1),\
2660 $(LIBPNG_LIBS) \
2661)
2662
2663endef
2664
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002665gb_ExternalProject__use_libpng :=
David Tardon5955e7b2016-11-03 13:58:29 +01002666
David Tardon6df9c472011-09-15 14:44:34 +02002667else # !SYSTEM_LIBPNG
2668
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002669define gb_LinkTarget__use_libpng
Michael Stahl416b3212013-05-08 17:22:22 +02002670$(call gb_LinkTarget_set_include,$(1),\
2671 $(LIBPNG_CFLAGS) \
2672 $$(INCLUDE) \
2673)
Matúš Kukanf96d58b2012-09-08 18:13:20 +02002674$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002675 libpng \
David Tardon6df9c472011-09-15 14:44:34 +02002676)
Michael Stahl398ce442012-09-28 21:47:29 +02002677$(call gb_LinkTarget__use_zlib,$(1))
David Tardon6df9c472011-09-15 14:44:34 +02002678
2679endef
2680
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002681define gb_ExternalProject__use_libpng
David Tardon5955e7b2016-11-03 13:58:29 +01002682$(call gb_ExternalProject_use_static_libraries,$(1),\
Michael Stahlb0e0ee42017-09-14 14:12:40 +02002683 libpng \
David Tardon5955e7b2016-11-03 13:58:29 +01002684)
2685
2686endef
2687
David Tardon6df9c472011-09-15 14:44:34 +02002688endif # !SYSTEM_LIBPNG
2689
Michael Stahl50471a82011-12-06 19:17:52 +01002690
Michael Stahle3abec32014-02-11 15:57:18 +01002691ifneq ($(SYSTEM_CURL),)
Michael Stahl50471a82011-12-06 19:17:52 +01002692
2693define gb_LinkTarget__use_curl
Cédric Bosdonnat89361fa2014-07-16 17:02:01 +02002694$(call gb_LinkTarget_add_defs,$(1),\
2695 -DSYSTEM_CURL \
2696)
Michael Stahl50471a82011-12-06 19:17:52 +01002697$(call gb_LinkTarget_set_include,$(1),\
2698 $$(INCLUDE) \
2699 $(CURL_CFLAGS) \
2700)
2701$(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2702
2703endef
2704
2705else # !SYSTEM_CURL
2706
Michael Stahl32a617d2014-02-17 11:23:19 +01002707$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2708 curl \
2709))
2710
Michael Stahl50471a82011-12-06 19:17:52 +01002711define gb_LinkTarget__use_curl
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002712$(call gb_LinkTarget_use_package,$(1),curl)
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002713$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002714 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002715 $$(INCLUDE) \
2716)
Michael Stahl936a1a92013-10-23 22:37:11 +02002717
2718ifeq ($(COM),MSC)
Michael Stahl714b93b2013-10-24 00:32:04 +02002719$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl89b08e22017-10-23 17:43:21 +02002720 $(call gb_UnpackedTarball_get_dir,curl)/builds/libcurl-vc12-$(if $(filter X86_64,$(CPUNAME)),x64,x86)-$(if $(MSVC_USE_DEBUG_RUNTIME),debug,release)-dll-ipv6-sspi-winssl/lib/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).lib \
Michael Stahl50471a82011-12-06 19:17:52 +01002721)
Michael Stahl936a1a92013-10-23 22:37:11 +02002722else
2723$(call gb_LinkTarget_add_libs,$(1),\
2724 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2725)
2726endif
Michael Stahl50471a82011-12-06 19:17:52 +01002727
2728endef
2729
2730endif # SYSTEM_CURL
2731
Stephan Bergmann49313b02012-11-27 15:35:02 +01002732ifeq ($(ENABLE_VALGRIND),TRUE)
David Tardon3446cda2011-12-23 12:21:19 +01002733
2734define gb_LinkTarget__use_valgrind
2735$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmann49313b02012-11-27 15:35:02 +01002736 -DHAVE_VALGRIND_HEADERS \
David Tardon3446cda2011-12-23 12:21:19 +01002737)
2738
2739$(call gb_LinkTarget_set_include,$(1),\
2740 $$(INCLUDE) \
2741 $(VALGRIND_CFLAGS) \
2742)
2743
2744endef
2745
Stephan Bergmann49313b02012-11-27 15:35:02 +01002746else # !ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002747
2748define gb_LinkTarget__use_valgrind
2749
2750endef
2751
Stephan Bergmann49313b02012-11-27 15:35:02 +01002752endif # ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002753
Michael Stahl32db4992014-02-11 19:35:22 +01002754ifneq ($(SYSTEM_POPPLER),)
David Tardondba2d322012-02-18 18:54:35 +01002755
2756define gb_LinkTarget__use_poppler
David Tardondba2d322012-02-18 18:54:35 +01002757$(call gb_LinkTarget_set_include,$(1),\
2758 $(POPPLER_CFLAGS) \
2759 $$(INCLUDE) \
2760)
2761
2762$(call gb_LinkTarget_add_libs,$(1),\
2763 $(POPPLER_LIBS) \
2764)
2765
2766endef
2767
2768else # !SYSTEM_POPPLER
2769
David Tardondba2d322012-02-18 18:54:35 +01002770define gb_LinkTarget__use_poppler
David Tardoncad68c62015-09-29 18:09:16 +02002771$(call gb_LinkTarget_use_external_project,$(1),poppler,full)
Peter Foleyfb1d11d2013-02-17 09:26:01 -05002772
David Tardon548b61a2012-02-21 06:58:02 +01002773$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02002774 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2775 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2776 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
David Tardon548b61a2012-02-21 06:58:02 +01002777 $$(INCLUDE) \
David Tardondba2d322012-02-18 18:54:35 +01002778)
2779
Michael Stahl2f6261f2013-09-19 19:28:36 +02002780$(call gb_LinkTarget_add_libs,$(1),\
2781 $(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
2782 $(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
2783 $(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
David Tardon548b61a2012-02-21 06:58:02 +01002784)
2785
Michael Stahl77d297f2017-09-13 22:50:14 +02002786$(call gb_LinkTarget_use_external,$(1),libjpeg)
Michael Stahl43532a02016-11-03 15:58:08 +01002787
David Tardon548b61a2012-02-21 06:58:02 +01002788ifeq ($(OS),MACOSX)
Michael Stahl967986b2012-09-28 00:54:49 +02002789$(call gb_LinkTarget_add_libs,$(1),\
2790 -lobjc \
David Tardon548b61a2012-02-21 06:58:02 +01002791)
Caolán McNamara0d5cc8c2014-08-30 15:12:53 +01002792else ifeq ($(OS),LINUX)
2793$(call gb_LinkTarget_add_libs,$(1),\
2794 -pthread \
2795)
David Tardon548b61a2012-02-21 06:58:02 +01002796else ifeq ($(OS),WNT)
Michael Stahldc397aae2012-09-28 15:31:46 +02002797$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon548b61a2012-02-21 06:58:02 +01002798 advapi32 \
2799 gdi32 \
2800)
2801endif
2802
David Tardondba2d322012-02-18 18:54:35 +01002803endef
2804
2805endif # SYSTEM_POPPLER
2806
David Tardon3446cda2011-12-23 12:21:19 +01002807
Michael Stahl46648152014-02-11 16:33:18 +01002808ifneq ($(SYSTEM_CLUCENE),)
David Tardon22c60cb2012-04-07 15:50:47 +02002809
2810define gb_LinkTarget__use_clucene
2811$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002812 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002813)
2814
2815$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002816 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002817 $$(INCLUDE) \
2818)
2819
2820$(call gb_LinkTarget_add_libs,$(1),\
2821 $(CLUCENE_LIBS) \
2822)
2823
2824endef
2825
2826else # !SYSTEM_CLUCENE
2827
2828define gb_LinkTarget__use_clucene
Michael Stahl28cde0c2013-05-07 23:47:27 +02002829$(call gb_LinkTarget_set_include,$(1),\
2830 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2831 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2832 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2833 $$(INCLUDE) \
2834)
2835
Michael Stahlc923f7d2012-04-07 23:22:08 +02002836$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon22c60cb2012-04-07 15:50:47 +02002837 clucene \
2838)
2839
2840endef
2841
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02002842$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
David Tardon22c60cb2012-04-07 15:50:47 +02002843 clucene \
2844))
2845
2846endif # SYSTEM_CLUCENE
2847
Peter Foley64402842011-12-22 16:34:35 -05002848define gb_LinkTarget__use_gobject
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002849$(call gb_LinkTarget_add_libs,$(1),\
2850 $(GOBJECT_LIBS) \
2851)
2852
2853$(call gb_LinkTarget_set_include,$(1),\
2854 $$(INCLUDE) \
2855 $(GOBJECT_CFLAGS) \
2856)
Peter Foley64402842011-12-22 16:34:35 -05002857endef
2858
Michael Stahl5866b332014-02-11 18:56:33 +01002859ifneq ($(SYSTEM_HSQLDB),)
David Tardon579f52d2012-03-27 16:36:31 +02002860
2861define gb_LinkTarget__use_hsqldb
2862
2863$(call gb_LinkTarget_add_defs,$(1),\
2864 -DSYSTEM_HSQLDB \
2865 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2866)
2867
2868endef
2869
2870else # !SYSTEM_HSQLDB
2871
2872define gb_LinkTarget__use_hsqldb
2873
2874endef
2875
2876endif # SYSTEM_HSQLDB
2877
David Tardon8bc7afb2012-04-05 10:53:08 +02002878
Michael Stahl5378dea2014-02-11 19:11:47 +01002879ifneq ($(SYSTEM_OPENLDAP),)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002880
2881define gb_LinkTarget__use_openldap
2882
2883$(call gb_LinkTarget_add_libs,$(1),\
2884 -lldap \
2885 -llber \
2886)
2887
2888endef
2889
Michael Stahl2f6261f2013-09-19 19:28:36 +02002890gb_ExternalProject__use_openldap :=
2891
Michael Stahl5378dea2014-02-11 19:11:47 +01002892else # !SYSTEM_OPENLDAP
Michael Stahle0ee0d42012-07-16 19:00:07 +02002893
Michael Stahle0ee0d42012-07-16 19:00:07 +02002894define gb_LinkTarget__use_openldap
Matúš Kukan7a030392012-10-29 23:29:37 +01002895$(call gb_LinkTarget_use_unpacked,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002896$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002897 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002898 $$(INCLUDE) \
2899)
Stephan Bergmann6b4c4352015-10-09 09:21:48 +02002900$(call gb_LinkTarget_use_external_project,$(1),openldap,full)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002901$(call gb_LinkTarget_add_libs,$(1), \
2902 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2903 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002904)
2905
2906endef
2907
Michael Stahl2f6261f2013-09-19 19:28:36 +02002908define gb_ExternalProject__use_openldap
2909$(call gb_ExternalProject_use_external_project,$(1),openldap)
2910
2911endef
2912
Michael Stahle0ee0d42012-07-16 19:00:07 +02002913endif # SYSTEM_OPENLDAP
2914
Wastack45f42682016-07-28 17:16:19 +02002915ifneq ($(SYSTEM_LIBTOMMATH),)
2916
2917define gb_LinkTarget__use_libtommath
2918$(call gb_LinkTarget_set_include,$(1),\
2919 $(LIBTOMMATH_CFLAGS) \
2920 $$(INCLUDE) \
2921)
2922$(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
2923
2924endef
2925
2926else # !SYSTEM_LIBTOMMATH
2927define gb_LinkTarget__use_libtommath
2928$(call gb_LinkTarget_set_include,$(1),\
2929 -I${WORKDIR}/UnpackedTarball/libtommath \
2930 $$(INCLUDE) \
2931)
2932$(call gb_LinkTarget_add_libs,$(1),\
2933 $(call gb_UnpackedTarball_get_dir,libtommath)/libtommath$(gb_StaticLibrary_PLAINEXT) \
2934)
2935$(call gb_LinkTarget_use_external_project,$(1),libtommath)
2936
2937endef
2938
2939endif # SYSTEM_LIBTOMMATH
2940
2941define gb_ExternalProject__use_libtommath
2942$(call gb_ExternalProject_use_external_project,$(1),libtommath)
2943
2944endef
Michael Stahle0ee0d42012-07-16 19:00:07 +02002945
Javier Fernandezf53228c2013-05-10 18:21:30 +00002946ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2947
Michael Stahl23647592014-02-11 19:04:20 +01002948ifneq ($(SYSTEM_FIREBIRD),)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002949
Rene Engelhard0b68d702013-07-16 21:50:14 +02002950define gb_LinkTarget__use_libfbembed
Javier Fernandezf53228c2013-05-10 18:21:30 +00002951$(call gb_LinkTarget_set_include,$(1),\
2952 $(FIREBIRD_CFLAGS) \
2953 $$(INCLUDE) \
2954)
2955$(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2956
2957endef
2958
Javier Fernandezf53228c2013-05-10 18:21:30 +00002959else # !SYSTEM_FIREBIRD
2960
Michael Stahl2c78d492017-01-09 14:45:11 +01002961$(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
2962 firebird \
2963))
2964
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002965#$(call gb_LinkTarget__use_libatomic_ops,$(1))
Wastack45f42682016-07-28 17:16:19 +02002966#$(call gb_LinkTarget__use_libtommath,$(1))
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002967
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002968define gb_LinkTarget__use_libfbembed
2969$(call gb_LinkTarget_use_package,$(1),firebird)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002970$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002971 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002972 $$(INCLUDE) \
2973)
Michael Stahl37563db2013-10-22 22:22:49 +02002974ifeq ($(COM),MSC)
2975$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002976 $(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002977)
Michael Stahl37563db2013-10-22 22:22:49 +02002978else
2979$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002980 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
Michael Stahl37563db2013-10-22 22:22:49 +02002981)
2982endif
Javier Fernandezf53228c2013-05-10 18:21:30 +00002983
2984endef
2985
Javier Fernandezf53228c2013-05-10 18:21:30 +00002986
2987# endef
2988
2989endif # SYSTEM_FIREBIRD
2990
2991else # !ENABLE_FIREBIRD_SDBC
Michael Stahl6fa0b372014-02-12 17:01:35 +01002992
Javier Fernandezf53228c2013-05-10 18:21:30 +00002993gb_LinkTarget__use_firebird :=
2994# gb_LinkTarget__use_atomic_ops :=
Wastack45f42682016-07-28 17:16:19 +02002995# gb_LinkTarget__use_libtommath :=
Javier Fernandezf53228c2013-05-10 18:21:30 +00002996
2997endif # ENABLE_FIREBIRD_SDBC
2998
2999
Michael Stahl5866b332014-02-11 18:56:33 +01003000ifneq ($(SYSTEM_POSTGRESQL),)
David Tardon8bc7afb2012-04-05 10:53:08 +02003001
3002define gb_LinkTarget__use_postgresql
3003
David Tardon8bc7afb2012-04-05 10:53:08 +02003004$(call gb_LinkTarget_set_include,$(1),\
3005 $(POSTGRESQL_INC) \
3006 $$(INCLUDE) \
3007)
3008
3009$(call gb_LinkTarget_add_libs,$(1),\
3010 -lpq \
3011)
3012
3013$(call gb_LinkTarget_add_ldflags,$(1),\
3014 $(POSTGRESQL_LIB) \
3015)
3016
3017endef
3018
3019else # !SYSTEM_POSTGRESQL
3020
3021define gb_LinkTarget__use_postgresql
3022
Michael Stahl2f6261f2013-09-19 19:28:36 +02003023$(call gb_LinkTarget_use_external_project,$(1),postgresql)
David Tardoncb9823b2012-10-22 06:33:00 +02003024
David Tardon8bc7afb2012-04-05 10:53:08 +02003025$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlee8323e2013-05-08 00:19:40 +02003026 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
3027 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
David Tardon8bc7afb2012-04-05 10:53:08 +02003028 $$(INCLUDE) \
3029)
3030
Michael Stahl2f6261f2013-09-19 19:28:36 +02003031$(call gb_LinkTarget_add_libs,$(1),\
3032 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
David Tardon8bc7afb2012-04-05 10:53:08 +02003033)
3034
Stephan Bergmann8646ab92017-02-10 14:05:21 +01003035ifeq ($(OS),WNT)
Matúš Kukan5e32d152012-05-27 00:21:12 +02003036$(call gb_LinkTarget_use_external,$(1),openssl)
3037
Michael Stahldc397aae2012-09-28 15:31:46 +02003038$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon8bc7afb2012-04-05 10:53:08 +02003039 secur32 \
3040 ws2_32 \
David Tardon8bc7afb2012-04-05 10:53:08 +02003041)
David Tardon8af6aa62012-05-30 12:06:42 +02003042
David Tardon8bc7afb2012-04-05 10:53:08 +02003043endif
3044
3045endef
3046
David Tardon8bc7afb2012-04-05 10:53:08 +02003047endif # SYSTEM_POSTGRESQL
3048
David Tardond4efa8b2012-04-28 20:48:14 +02003049ifeq ($(ENABLE_KDE4),TRUE)
3050
3051define gb_LinkTarget__use_kde4
3052$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003053 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS)))) \
David Tardond4efa8b2012-04-28 20:48:14 +02003054 $$(INCLUDE) \
3055)
3056
3057$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003058 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS))) \
David Tardond4efa8b2012-04-28 20:48:14 +02003059)
3060
3061$(call gb_LinkTarget_add_libs,$(1),\
3062 $(KDE4_LIBS) \
3063)
3064
David Tardond4efa8b2012-04-28 20:48:14 +02003065endef
3066
3067else # !ENABLE_KDE4
3068
3069define gb_LinkTarget__use_kde4
3070
3071endef
3072
3073endif # ENABLE_KDE4
3074
Milian Wolff4d78cf92018-01-10 16:26:10 +01003075
3076ifeq ($(ENABLE_KDE5),TRUE)
3077
3078define gb_LinkTarget__use_kde5
3079$(call gb_LinkTarget_set_include,$(1),\
3080 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS)))) \
3081 $$(INCLUDE) \
3082)
3083
3084$(call gb_LinkTarget_add_defs,$(1),\
3085 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS))) \
3086)
3087
3088$(call gb_LinkTarget_add_libs,$(1),\
3089 $(KF5_LIBS) \
3090)
3091
3092ifeq ($(COM),GCC)
3093$(call gb_LinkTarget_add_cxxflags,$(1),\
3094 -Wno-shadow \
3095)
3096endif
3097
3098endef
3099
3100else # !ENABLE_KDE5
3101
3102define gb_LinkTarget__use_kde5
3103
3104endef
3105
3106endif # ENABLE_KDE5
3107
3108
3109
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003110ifeq ($(ENABLE_QT5),TRUE)
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003111
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003112define gb_LinkTarget__use_qt5
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003113$(call gb_LinkTarget_set_include,$(1),\
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003114 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS)))) \
3115 $$(INCLUDE) \
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003116)
3117
3118$(call gb_LinkTarget_add_defs,$(1),\
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003119 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS))) \
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003120)
3121
3122$(call gb_LinkTarget_add_libs,$(1),\
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003123 $(QT5_LIBS) \
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003124)
3125
3126ifeq ($(COM),GCC)
3127$(call gb_LinkTarget_add_cxxflags,$(1),\
3128 -Wno-shadow \
3129)
3130endif
3131
3132endef
3133
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003134else # !ENABLE_QT5
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003135
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003136define gb_LinkTarget__use_qt5
Jan-Marek Glogowski93359452017-10-21 13:50:30 +00003137
3138endef
3139
Jan-Marek Glogowski2ffb83d2017-10-30 18:45:46 +01003140endif # ENABLE_QT5
David Tardond4efa8b2012-04-28 20:48:14 +02003141
David Ostrovskye16ac692012-05-27 22:50:41 +02003142# PYTHON
Michael Stahl91926332012-11-27 15:50:53 +01003143# extra python_headers external because pyuno wrapper must not link python
Michael Stahl0443d0a2014-02-11 16:57:35 +01003144ifneq ($(SYSTEM_PYTHON),)
David Ostrovskye16ac692012-05-27 22:50:41 +02003145
Michael Stahl91926332012-11-27 15:50:53 +01003146define gb_LinkTarget__use_python_headers
David Ostrovskye16ac692012-05-27 22:50:41 +02003147$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003148 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYHTON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003149)
3150
3151$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003152 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003153 $$(INCLUDE) \
3154)
3155
Michael Stahl91926332012-11-27 15:50:53 +01003156endef
3157
3158define gb_LinkTarget__use_python
3159$(call gb_LinkTarget__use_python_headers,$(1))
3160
David Ostrovskye16ac692012-05-27 22:50:41 +02003161$(call gb_LinkTarget_add_libs,$(1),\
3162 $(PYTHON_LIBS) \
3163)
3164
3165endef
3166
3167else # !SYSTEM_PYTHON
3168
Michael Stahl720ca8e2014-03-18 18:24:15 +01003169$(eval $(call gb_Helper_register_packages_for_install,python,\
3170 python3 \
3171))
3172
Michael Stahl91926332012-11-27 15:50:53 +01003173define gb_LinkTarget__use_python_headers
David Tardoncad68c62015-09-29 18:09:16 +02003174$(call gb_LinkTarget_use_external_project,$(1),python3,full)
Michael Stahl91926332012-11-27 15:50:53 +01003175$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02003176 -I$(call gb_UnpackedTarball_get_dir,python3) \
3177 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3178 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
Michael Stahl91926332012-11-27 15:50:53 +01003179 $$(INCLUDE) \
3180)
3181
3182endef
3183
David Ostrovskye16ac692012-05-27 22:50:41 +02003184define gb_LinkTarget__use_python
Michael Stahl91926332012-11-27 15:50:53 +01003185$(call gb_LinkTarget__use_python_headers,$(1))
Michael Stahld9162d22015-07-29 12:17:03 +02003186ifeq ($(OS),MACOSX)
3187$(call gb_LinkTarget_use_generated_package,$(1),python3)
3188else
Michael Stahl57dd4d02015-07-29 10:56:57 +02003189$(call gb_LinkTarget_use_package,$(1),python3)
Michael Stahld9162d22015-07-29 12:17:03 +02003190endif
David Ostrovskye16ac692012-05-27 22:50:41 +02003191
3192ifeq ($(OS),WNT)
3193$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyde030cd2017-03-04 14:36:08 +01003194 $(call gb_UnpackedTarball_get_dir,python3)/PCbuild/$(if $(filter X86_64,$(CPUNAME)),amd64,win32)/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib \
David Ostrovskye16ac692012-05-27 22:50:41 +02003195)
3196else ifeq ($(OS),MACOSX)
3197$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl9d921ba2012-11-27 15:32:36 +01003198 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
David Ostrovskye16ac692012-05-27 22:50:41 +02003199)
3200else
Michael Stahlb6bcbb62013-04-21 14:34:50 +02003201$(call gb_LinkTarget_add_libs,$(1),\
3202 -L$(call gb_UnpackedTarball_get_dir,python3) \
3203 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
David Ostrovskye16ac692012-05-27 22:50:41 +02003204)
3205endif
3206
David Ostrovskye16ac692012-05-27 22:50:41 +02003207endef
3208
David Ostrovskye16ac692012-05-27 22:50:41 +02003209endif # SYSTEM_PYTHON
3210
Kohei Yoshida49b0b692012-09-04 15:05:35 -04003211# ORCUS
Michael Stahle3abec32014-02-11 15:57:18 +01003212ifneq ($(SYSTEM_LIBORCUS),)
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003213
3214define gb_LinkTarget__use_orcus
3215$(call gb_LinkTarget_set_include,$(1),\
3216 $$(INCLUDE) \
Matúš Kukana2d63fe2012-09-09 16:29:10 +02003217 $(ORCUS_CFLAGS) \
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003218)
Rene Engelhard26b80fc2013-04-13 19:29:33 +02003219$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
Rene Engelhardfb360f52013-04-13 16:17:29 +02003220endef
3221
3222define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003223
3224endef
3225
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003226else # !SYSTEM_LIBORCUS
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003227
David Tardonedb38d72015-06-04 16:09:48 +02003228ifeq ($(COM),MSC)
3229
3230$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3231 orcus \
3232 orcus-parser \
3233))
3234
Kohei Yoshidac8b7e982012-08-31 10:11:32 -04003235define gb_LinkTarget__use_orcus
Matúš Kukan1ee76032012-09-09 15:29:43 +02003236$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl10fc13c2013-05-06 23:35:13 +02003237 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
Matúš Kukan1ee76032012-09-09 15:29:43 +02003238 $$(INCLUDE) \
3239)
David Tardonf1035c12012-11-23 06:49:21 +01003240
David Tardonedb38d72015-06-04 16:09:48 +02003241$(call gb_LinkTarget_use_libraries,$(1),\
3242 orcus \
Stephan Bergmann3743cdb2013-02-17 22:58:21 +01003243)
David Tardonf1035c12012-11-23 06:49:21 +01003244
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003245endef
3246
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003247define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaecc884e2013-12-17 21:18:46 -05003248$(call gb_LinkTarget_set_include,$(1),\
3249 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3250 $$(INCLUDE) \
3251)
David Tardonedb38d72015-06-04 16:09:48 +02003252
3253$(call gb_LinkTarget_use_libraries,$(1),\
3254 orcus-parser \
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003255)
3256
3257endef
3258
David Tardonedb38d72015-06-04 16:09:48 +02003259else # !MSC
3260
3261$(eval $(call gb_Helper_register_packages_for_install,ooo,\
3262 liborcus \
3263))
3264
3265define gb_LinkTarget__use_orcus
3266$(call gb_LinkTarget_use_package,$(1),liborcus)
3267
3268$(call gb_LinkTarget_set_include,$(1),\
3269 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3270 $$(INCLUDE) \
3271)
3272
3273$(call gb_LinkTarget_add_libs,$(1),\
Kohei Yoshida38c4f462017-11-15 20:42:23 -05003274 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.13 \
David Tardonedb38d72015-06-04 16:09:48 +02003275)
3276
3277$(if $(SYSTEM_BOOST), \
3278 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3279 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3280)
3281
3282endef
3283
3284define gb_LinkTarget__use_orcus-parser
3285$(call gb_LinkTarget_use_package,$(1),liborcus)
3286
3287$(call gb_LinkTarget_set_include,$(1),\
3288 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3289 $$(INCLUDE) \
3290)
3291
3292$(call gb_LinkTarget_add_libs,$(1),\
Kohei Yoshida38c4f462017-11-15 20:42:23 -05003293 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.13 \
David Tardonedb38d72015-06-04 16:09:48 +02003294)
3295
3296endef
3297
3298endif # MSC
3299
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003300endif # SYSTEM_LIBORCUS
David Ostrovskye16ac692012-05-27 22:50:41 +02003301
David Tardon49a4d362013-11-12 16:44:40 +01003302ifeq ($(ENABLE_EOT),TRUE)
3303
Michael Stahle3abec32014-02-11 15:57:18 +01003304ifneq ($(SYSTEM_LIBEOT),)
David Tardon49a4d362013-11-12 16:44:40 +01003305
3306define gb_LinkTarget__use_libeot
3307$(call gb_LinkTarget_set_include,$(1),\
3308 $$(INCLUDE) \
3309 $(LIBEOT_CFLAGS) \
3310)
3311$(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3312
3313endef
3314
3315gb_ExternalProject__use_libeot :=
3316
3317else # !SYSTEM_LIBEOT
3318
3319define gb_LinkTarget__use_libeot
3320$(call gb_LinkTarget_set_include,$(1),\
3321 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3322 $$(INCLUDE) \
3323)
3324$(call gb_LinkTarget_add_libs,$(1),\
3325 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3326)
3327$(call gb_LinkTarget_use_external_project,$(1),libeot)
3328
3329endef
3330
3331define gb_ExternalProject__use_libeot
3332$(call gb_ExternalProject_use_external_project,$(1),libeot)
3333
3334endef
3335
3336endif # SYSTEM_LIBEOT
3337
3338else # !ENABLE_EOT
3339
3340gb_LinkTarget__use_libeot :=
3341gb_ExternalProject__use_libeot :=
3342
3343endif # ENABLE_EOT
3344
Michael Stahl78b59b82012-09-27 21:45:47 +02003345### X11 stuff ###
3346
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003347ifeq ($(USING_X11), TRUE)
Michael Stahl78b59b82012-09-27 21:45:47 +02003348
Michael Stahl78b59b82012-09-27 21:45:47 +02003349define gb_LinkTarget__use_Xrandr
Michael Stahl78b59b82012-09-27 21:45:47 +02003350$(call gb_LinkTarget_set_include,$(1),\
3351 $$(INCLUDE) \
3352 $(XRANDR_CFLAGS) \
3353)
3354
3355$(call gb_LinkTarget_add_libs,$(1),\
3356 $(XRANDR_LIBS) \
3357)
3358endef
3359
Michael Stahl78b59b82012-09-27 21:45:47 +02003360define gb_LinkTarget__use_Xrender
Michael Stahl78b59b82012-09-27 21:45:47 +02003361$(call gb_LinkTarget_set_include,$(1),\
3362 $$(INCLUDE) \
3363 $(XRENDER_CFLAGS) \
3364)
3365
3366$(call gb_LinkTarget_add_libs,$(1),\
3367 $(XRENDER_LIBS) \
3368)
3369endef
3370
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003371endif # USING_X11
Michael Stahl78b59b82012-09-27 21:45:47 +02003372
Tor Lillqvist35491072011-08-02 21:22:35 +03003373
Michael Meeksb440cfc2013-02-28 12:05:07 +00003374gb_ExternalProject__use_nss3:=
3375
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003376
Michael Stahle3abec32014-02-11 15:57:18 +01003377ifneq ($(SYSTEM_NSS),)
David Tardonb6aa4842011-08-11 13:10:14 +02003378
David Tardon2b9dbc82012-08-13 06:57:51 +02003379define gb_LinkTarget__use_nss3
3380$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmannea641222012-11-19 16:40:33 +01003381 -DSYSTEM_NSS \
David Tardon2b9dbc82012-08-13 06:57:51 +02003382)
3383
David Tardonb6aa4842011-08-11 13:10:14 +02003384$(call gb_LinkTarget_set_include,$(1),\
3385 $$(INCLUDE) \
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003386 $(NSS_CFLAGS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003387)
3388
3389$(call gb_LinkTarget_add_libs,$(1),\
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003390 $(NSS_LIBS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003391)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003392
David Tardonb6aa4842011-08-11 13:10:14 +02003393endef
3394
David Tardon2b9dbc82012-08-13 06:57:51 +02003395define gb_LinkTarget__use_plc4
3396$(call gb_LinkTarget__use_nss3,$(1))
3397
3398endef
3399
David Tardon6ef46562013-02-04 10:04:07 +01003400define gb_LinkTarget__use_ssl3
3401$(call gb_LinkTarget__use_nss3,$(1))
3402
3403endef
3404
Michael Stahle3abec32014-02-11 15:57:18 +01003405else # !SYSTEM_NSS
David Tardonb6aa4842011-08-11 13:10:14 +02003406
Michael Stahlffae67c2014-03-13 19:51:19 +01003407$(eval $(call gb_Helper_register_packages_for_install,ooo, \
3408 nss \
3409))
3410
David Tardon2b9dbc82012-08-13 06:57:51 +02003411define gb_LinkTarget__use_nss3
Peter Foleyc003d252013-01-01 09:39:36 -05003412$(call gb_LinkTarget_use_package,$(1),nss)
David Tardon2b9dbc82012-08-13 06:57:51 +02003413$(call gb_LinkTarget_set_include,$(1),\
3414 $$(INCLUDE) \
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003415 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3416 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
David Tardon2b9dbc82012-08-13 06:57:51 +02003417)
3418
Michael Stahld2f62c32013-10-23 00:14:01 +02003419ifeq ($(COM),MSC)
3420$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003421 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3422 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3423 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
David Tardon2b9dbc82012-08-13 06:57:51 +02003424)
Michael Stahld2f62c32013-10-23 00:14:01 +02003425else
3426$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003427 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
Michael Stahld2f62c32013-10-23 00:14:01 +02003428 -lnspr4 \
3429 -lnss3 \
3430 -lsmime3 \
3431)
3432endif
David Tardon2b9dbc82012-08-13 06:57:51 +02003433
3434endef
3435
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003436define gb_LinkTarget__use_plc4
Peter Foleyc003d252013-01-01 09:39:36 -05003437$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003438ifeq ($(COM),MSC)
3439$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003440 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
David Tardonb6aa4842011-08-11 13:10:14 +02003441)
Michael Stahld2f62c32013-10-23 00:14:01 +02003442else
3443$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003444 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003445)
3446endif
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003447
David Tardonb6aa4842011-08-11 13:10:14 +02003448endef
3449
David Tardon6ef46562013-02-04 10:04:07 +01003450define gb_LinkTarget__use_ssl3
3451$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003452ifeq ($(COM),MSC)
3453$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003454 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
David Tardon6ef46562013-02-04 10:04:07 +01003455)
Michael Stahld2f62c32013-10-23 00:14:01 +02003456else
3457$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003458 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003459)
3460endif
David Tardon6ef46562013-02-04 10:04:07 +01003461
3462endef
3463
Michael Meeksb440cfc2013-02-28 12:05:07 +00003464define gb_ExternalProject__use_nss3
3465$(call gb_ExternalProject_use_package,$(1),nss)
Michael Meeksb440cfc2013-02-28 12:05:07 +00003466
3467endef
3468
Michael Stahle3abec32014-02-11 15:57:18 +01003469endif # SYSTEM_NSS
3470
Markus Mohrharda46ef632015-11-15 04:39:24 +01003471ifeq ($(ENABLE_BREAKPAD),TRUE)
3472
Markus Mohrharda46ef632015-11-15 04:39:24 +01003473define gb_LinkTarget__use_breakpad
3474$(call gb_LinkTarget_set_include,$(1),\
3475 -I$(call gb_UnpackedTarball_get_dir,breakpad)/src \
3476 $$(INCLUDE) \
3477)
3478
3479ifeq ($(COM),MSC)
Markus Mohrhardff9b7d12016-03-31 00:00:03 +02003480$(call gb_LinkTarget_use_static_libraries,$(1),\
3481 breakpad \
Markus Mohrharda46ef632015-11-15 04:39:24 +01003482)
3483else
3484$(call gb_LinkTarget_add_libs,$(1),\
3485 $(call gb_UnpackedTarball_get_dir,breakpad)/src/client/linux/libbreakpad_client.a \
3486)
3487endif
3488
3489$(call gb_LinkTarget_use_external_project,$(1),breakpad)
3490
Michael Stahlb4d3a0d2016-02-23 15:08:47 +01003491endef
3492
Markus Mohrhard133a5d872016-02-27 14:50:13 +01003493endif # ENABLE_BREAKPAD
Markus Mohrharda46ef632015-11-15 04:39:24 +01003494
David Tardon7c77ff52017-11-24 10:44:42 +01003495ifeq ($(ENABLE_GPGMEPP),TRUE)
3496
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003497ifneq ($(SYSTEM_GPGMEPP),)
Katarina Behrens595848c2017-01-30 15:50:55 +01003498
Katarina Behrensf41fa222017-02-23 12:57:42 +01003499gb_ExternalProject__use_gpgmepp:=
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003500gb_ExternalProject__use_libassuan:=
3501gb_ExternalProject__use_libgpg-error:=
3502
Katarina Behrensf41fa222017-02-23 12:57:42 +01003503define gb_LinkTarget__use_gpgmepp
Katarina Behrens595848c2017-01-30 15:50:55 +01003504$(call gb_LinkTarget_set_include,$(1),\
3505 $$(INCLUDE) \
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003506 $$(GPGMEPP_CFLAGS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003507)
3508
3509$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003510 $(GPGMEPP_LIBS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003511)
3512
3513endef
3514
Thorsten Behrensa27f2622017-11-23 18:06:59 +01003515else ifneq ($(filter GPGMEPP,$(BUILD_TYPE)),) # NON-SYSTEM_GPGME
Katarina Behrens55519a12017-02-15 16:00:16 +01003516
Katarina Behrensf41fa222017-02-23 12:57:42 +01003517define gb_ExternalProject__use_gpgmepp
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003518$(call gb_ExternalProject_use_external_project,$(1),gpgmepp)
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003519
3520endef
3521define gb_ExternalProject__use_libassuan
3522$(call gb_ExternalProject_use_external_project,$(1),libassuan)
3523
3524endef
3525define gb_ExternalProject__use_libgpg-error
3526$(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3527
3528endef
3529
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003530ifneq ($(filter WNT,$(OS)),)
3531
3532define gb_LinkTarget__use_libgpg-error
3533$(call gb_LinkTarget_use_package,$(1),libgpg-error)
3534
3535$(call gb_LinkTarget_set_include,$(1),\
3536 $(GPG_ERROR_CFLAGS) \
3537 $$(INCLUDE) \
3538)
3539$(call gb_LinkTarget_add_libs,$(1),\
3540 -LIBPATH:$(call gb_UnpackedTarball_get_dir,libgpg-error)/src/.libs libgpg-error.lib \
3541)
3542
3543endef
3544
3545define gb_LinkTarget__use_libassuan
3546$(call gb_LinkTarget_use_package,$(1),libassuan)
3547
3548$(call gb_LinkTarget_set_include,$(1),\
3549 $(LIBASSUAN_CFLAGS) \
3550 $$(INCLUDE) \
3551)
3552$(call gb_LinkTarget_add_libs,$(1),\
3553 -LIBPATH:$(call gb_UnpackedTarball_get_dir,libassuan)/src/.libs libassuan.lib \
3554)
3555
3556endef
3557
Katarina Behrensf41fa222017-02-23 12:57:42 +01003558define gb_LinkTarget__use_gpgmepp
Katarina Behrens55519a12017-02-15 16:00:16 +01003559$(call gb_LinkTarget_set_include,$(1),\
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003560 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src \
3561 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/src \
3562 $$(GPG_ERROR_CFLAGS) \
3563 $$(INCLUDE) \
3564)
3565$(call gb_LinkTarget_use_libraries,$(1),\
3566 gpgmepp \
3567)
3568
3569endef
3570
3571$(eval $(call gb_Helper_register_packages_for_install,ooo,\
3572 libassuan \
3573 libgpg-error \
3574))
3575
3576$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3577 gpgmepp \
3578))
3579
Thorsten Behrensdb2111d2017-11-23 10:02:09 +01003580$(eval $(call gb_Helper_register_executables_for_install,OOO,ooo, \
Thorsten Behrens0b202db2017-11-24 21:02:22 +01003581 gpgme-w32spawn \
Thorsten Behrensdb2111d2017-11-23 10:02:09 +01003582))
3583
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003584endif
3585
3586ifneq ($(filter MACOSX LINUX,$(OS)),)
3587
3588define gb_LinkTarget__use_gpgmepp
3589$(call gb_LinkTarget_use_package,$(1),gpgmepp)
3590
3591$(call gb_LinkTarget_set_include,$(1),\
3592 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src \
3593 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/src \
Samuel Mehrbrodt65866962017-02-24 16:54:36 +01003594 $$(GPG_ERROR_CFLAGS) \
Katarina Behrens55519a12017-02-15 16:00:16 +01003595 $$(INCLUDE) \
3596)
3597$(call gb_LinkTarget_add_libs,$(1),\
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003598 -L$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src/.libs/ -lgpgmepp \
Caolán McNamaraa58c4442017-12-08 09:48:09 +00003599 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L$(call gb_UnpackedTarball_get_dir,gpgmepp)/src/.libs/ -lgpgme) \
3600 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(GPG_ERROR_LIBS)) \
3601 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(LIBASSUAN_LIBS)) \
Katarina Behrens55519a12017-02-15 16:00:16 +01003602)
Katarina Behrens55519a12017-02-15 16:00:16 +01003603
3604endef
3605
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003606$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Thorsten Behrens50a55d82017-11-15 21:31:07 +01003607 gpgmepp \
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003608 libassuan \
3609 libgpg-error \
3610))
3611
Katarina Behrens595848c2017-01-30 15:50:55 +01003612endif
3613
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003614endif
3615
David Tardon7c77ff52017-11-24 10:44:42 +01003616else # !ENABLE_GPGMEPP
3617
3618gb_ExternalProject__use_gpgmepp :=
3619gb_ExternalProject__use_libassuan :=
3620gb_ExternalProject__use_libgpg-error :=
3621
3622gb_LinkTarget__use_gpgmepp :=
3623gb_LinkTarget__use_libassuan :=
3624gb_LinkTarget__use_libgpg-error :=
3625
3626endif # ENABLE_GPGMEPP
3627
Stephan Bergmannecc617e2015-07-08 11:20:19 +02003628define gb_LinkTarget__use_dconf
3629$(call gb_LinkTarget_add_defs,$(1),$(DCONF_CFLAGS))
3630$(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3631endef
3632
Michael Stahl2ee5f242011-09-15 14:01:27 +02003633### Jars ############################################################
3634
Michael Stahl5866b332014-02-11 18:56:33 +01003635ifneq ($(SYSTEM_HSQLDB),)
Michael Stahl666173b2012-08-15 20:24:59 +02003636
3637define gb_Jar__use_hsqldb
3638$(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3639endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003640define gb_JunitTest__use_hsqldb
3641$(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3642endef
Michael Stahl666173b2012-08-15 20:24:59 +02003643
3644else # !SYSTEM_HSQLDB
3645
David Tardon2dec0672014-05-19 10:20:37 +02003646ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl376d1b52014-03-18 20:25:04 +01003647$(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003648 hsqldb \
3649))
David Tardon2dec0672014-05-19 10:20:37 +02003650endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003651
Michael Stahl666173b2012-08-15 20:24:59 +02003652define gb_Jar__use_hsqldb
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003653$(call gb_Jar_use_jar,$(1),hsqldb)
Michael Stahl666173b2012-08-15 20:24:59 +02003654endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003655define gb_JunitTest__use_hsqldb
3656$(call gb_JunitTest_use_jar,$(1),hsqldb)
3657endef
Michael Stahl666173b2012-08-15 20:24:59 +02003658
3659endif # SYSTEM_HSQLDB
3660
Michael Stahl2ee5f242011-09-15 14:01:27 +02003661
Rene Engelhard40facc42014-05-23 07:43:19 +02003662ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3663
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003664ifneq ($(SYSTEM_BSH),)
David Tardon3bcf9102011-10-04 09:44:48 +02003665
Michael Stahla4551262012-08-15 17:41:25 +02003666define gb_Jar__use_bsh
3667$(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
David Tardon3bcf9102011-10-04 09:44:48 +02003668endef
3669
3670else # !SYSTEM_BSH
3671
David Tardon2dec0672014-05-19 10:20:37 +02003672ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl8475eb92014-03-18 20:38:30 +01003673$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003674 bsh \
3675))
David Tardon2dec0672014-05-19 10:20:37 +02003676endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003677
Michael Stahla4551262012-08-15 17:41:25 +02003678define gb_Jar__use_bsh
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003679$(call gb_Jar_use_jar,$(1),bsh)
David Tardon3bcf9102011-10-04 09:44:48 +02003680endef
3681
3682endif # SYSTEM_BSH
3683
Rene Engelhard40facc42014-05-23 07:43:19 +02003684endif
3685
3686ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
Michael Stahl2ee5f242011-09-15 14:01:27 +02003687
Michael Stahl49dde4c2014-02-11 19:42:28 +01003688ifneq ($(SYSTEM_RHINO),)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003689
Michael Stahla4551262012-08-15 17:41:25 +02003690define gb_Jar__use_rhino
3691$(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003692endef
3693
3694else # !SYSTEM_RHINO
3695
David Tardon2dec0672014-05-19 10:20:37 +02003696ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl6474d1c2014-03-18 20:50:02 +01003697$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003698 js \
3699))
David Tardon2dec0672014-05-19 10:20:37 +02003700endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003701
Michael Stahla4551262012-08-15 17:41:25 +02003702define gb_Jar__use_rhino
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003703$(call gb_Jar_use_jar,$(1),js)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003704endef
3705
3706endif # SYSTEM_RHINO
3707
Rene Engelhard40facc42014-05-23 07:43:19 +02003708endif
3709
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003710ifneq ($(SYSTEM_APACHE_COMMONS),)
David Tardon9b530e12012-04-07 10:07:35 +02003711
Michael Stahla4551262012-08-15 17:41:25 +02003712define gb_Jar__use_commons-logging
3713$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003714endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003715gb_ExternalProject__use_commons-logging :=
David Tardon9b530e12012-04-07 10:07:35 +02003716
3717else # !SYSTEM_APACHE_COMMONS
3718
David Tardon2dec0672014-05-19 10:20:37 +02003719ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl2bec9f42014-03-18 21:54:33 +01003720$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
rbujd8a7f722014-08-18 13:52:32 +02003721 commons-logging-$(COMMONS_LOGGING_VERSION) \
Michael Stahldb23d4b2013-10-24 23:10:27 +02003722))
David Tardon2dec0672014-05-19 10:20:37 +02003723endif
David Tardon9b530e12012-04-07 10:07:35 +02003724
Michael Stahla4551262012-08-15 17:41:25 +02003725define gb_Jar__use_commons-logging
Michael Stahl461d8302013-10-25 18:40:48 +02003726$(call gb_Jar_use_external_project,$(1),apache_commons_logging)
rbujd8a7f722014-08-18 13:52:32 +02003727$(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION))
David Tardon9b530e12012-04-07 10:07:35 +02003728endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003729define gb_ExternalProject__use_commons-logging
Michael Stahla60427e2013-10-26 20:17:52 +02003730$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
Michael Stahl2b7536a2012-10-05 21:17:25 +02003731endef
David Tardon9b530e12012-04-07 10:07:35 +02003732
3733endif # SYSTEM_APACHE_COMMONS
3734
3735
Michael Stahl32db4992014-02-11 19:35:22 +01003736ifneq ($(SYSTEM_JFREEREPORT),)
David Tardon9b530e12012-04-07 10:07:35 +02003737
Michael Stahla4551262012-08-15 17:41:25 +02003738define gb_Jar__use_flow-engine
3739$(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003740endef
3741
Michael Stahla4551262012-08-15 17:41:25 +02003742define gb_Jar__use_flute
3743$(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003744endef
3745
Michael Stahla4551262012-08-15 17:41:25 +02003746define gb_Jar__use_libbase
3747$(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003748endef
3749
Michael Stahla4551262012-08-15 17:41:25 +02003750define gb_Jar__use_libfonts
3751$(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003752endef
3753
Michael Stahla4551262012-08-15 17:41:25 +02003754define gb_Jar__use_libformula
3755$(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003756endef
3757
Michael Stahla4551262012-08-15 17:41:25 +02003758define gb_Jar__use_liblayout
3759$(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003760endef
3761
Michael Stahla4551262012-08-15 17:41:25 +02003762define gb_Jar__use_libloader
3763$(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003764endef
3765
Michael Stahla4551262012-08-15 17:41:25 +02003766define gb_Jar__use_librepository
3767$(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003768endef
3769
Michael Stahla4551262012-08-15 17:41:25 +02003770define gb_Jar__use_libserializer
3771$(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003772endef
3773
Michael Stahla4551262012-08-15 17:41:25 +02003774define gb_Jar__use_libxml
3775$(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003776endef
3777
Michael Stahla4551262012-08-15 17:41:25 +02003778define gb_Jar__use_sac
3779$(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003780endef
3781
3782else # !SYSTEM_JFREEREPORT
3783
David Tardon2dec0672014-05-19 10:20:37 +02003784ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl4c3626af2014-03-18 22:03:00 +01003785$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
Michael Stahl070ca1e2013-10-25 21:01:58 +02003786 flow-engine \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003787 flute-1.1.6 \
3788 libbase-1.1.6 \
3789 libfonts-1.1.6 \
3790 libformula-1.1.7 \
Michael Stahl070ca1e2013-10-25 21:01:58 +02003791 liblayout \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003792 libloader-1.1.6 \
3793 librepository-1.1.6 \
3794 libserializer-1.1.6 \
3795 libxml-1.1.7 \
3796 sac \
3797))
David Tardon2dec0672014-05-19 10:20:37 +02003798endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003799
Michael Stahla4551262012-08-15 17:41:25 +02003800define gb_Jar__use_flow-engine
Michael Stahl070ca1e2013-10-25 21:01:58 +02003801$(call gb_Jar_use_jar,$(1),flow-engine)
David Tardon9b530e12012-04-07 10:07:35 +02003802endef
3803
Michael Stahla4551262012-08-15 17:41:25 +02003804define gb_Jar__use_flute
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003805$(call gb_Jar_use_jar,$(1),flute-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003806endef
3807
Michael Stahla4551262012-08-15 17:41:25 +02003808define gb_Jar__use_libbase
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003809$(call gb_Jar_use_jar,$(1),libbase-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003810endef
3811
Michael Stahla4551262012-08-15 17:41:25 +02003812define gb_Jar__use_libfonts
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003813$(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003814endef
3815
Michael Stahla4551262012-08-15 17:41:25 +02003816define gb_Jar__use_libformula
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003817$(call gb_Jar_use_jar,$(1),libformula-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003818endef
3819
Michael Stahla4551262012-08-15 17:41:25 +02003820define gb_Jar__use_liblayout
Michael Stahl070ca1e2013-10-25 21:01:58 +02003821$(call gb_Jar_use_jar,$(1),liblayout)
David Tardon9b530e12012-04-07 10:07:35 +02003822endef
3823
Michael Stahla4551262012-08-15 17:41:25 +02003824define gb_Jar__use_libloader
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003825$(call gb_Jar_use_jar,$(1),libloader-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003826endef
3827
Michael Stahla4551262012-08-15 17:41:25 +02003828define gb_Jar__use_librepository
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003829$(call gb_Jar_use_jar,$(1),librepository-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003830endef
3831
Michael Stahla4551262012-08-15 17:41:25 +02003832define gb_Jar__use_libserializer
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003833$(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003834endef
3835
Michael Stahla4551262012-08-15 17:41:25 +02003836define gb_Jar__use_libxml
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003837$(call gb_Jar_use_jar,$(1),libxml-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003838endef
3839
Michael Stahla4551262012-08-15 17:41:25 +02003840define gb_Jar__use_sac
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003841$(call gb_Jar_use_jar,$(1),sac)
David Tardon9b530e12012-04-07 10:07:35 +02003842endef
3843
3844endif # SYSTEM_JFREEREPORT
3845
David Tardonc2eca352012-12-02 10:51:37 +01003846
3847# Executables
3848
David Tardonedf67302012-12-30 12:27:04 +01003849# FIXME: the library target should be for build too
3850define gb_Executable__register_bestreversemap
3851$(call gb_Executable_add_runtime_dependencies,bestreversemap,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003852 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardonedf67302012-12-30 12:27:04 +01003853)
3854endef
3855
David Tardonceb0d062012-12-30 13:11:43 +01003856# TODO depending on the whole URE might be overkill, but I do not have a
3857# Windows machine to debug it...
3858# FIXME: the library target should be for build too
3859define gb_Executable__register_climaker
3860$(call gb_Executable_add_runtime_dependencies,climaker,\
3861 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003862 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003863 $(call gb_UnoApi_get_target,udkapi) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003864 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
David Tardonceb0d062012-12-30 13:11:43 +01003865)
3866endef
3867
David Tardon6c1614a2014-01-08 13:49:46 +01003868define gb_Executable__register_cppumaker
3869$(call gb_Executable_add_runtime_dependencies,cppumaker,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003870 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardon6c1614a2014-01-08 13:49:46 +01003871)
3872endef
3873
Matúš Kukanbae52ee2013-05-16 09:17:57 +02003874# This is used to determine what we need for 'build' platform.
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003875# FIXME: the library target should be for build too
Matúš Kukan9555b5b2013-06-14 12:48:20 +02003876define gb_Executable__register_gengal
Matúš Kukan94b68822013-06-17 10:41:18 +02003877$(call gb_Executable_add_runtime_dependencies,gengal,\
David Tardon1546c292013-05-07 20:41:41 +02003878 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardone59420d2014-08-04 17:23:54 +02003879 $(call gb_Package_get_target_for_build,postprocess_images) \
Matúš Kukan8b162f22013-09-27 10:58:28 +02003880 $(call gb_Package_get_target_for_build,postprocess_registry) \
Matúš Kukan15614c82015-12-05 07:05:37 +01003881 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
3882 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
3883 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003884 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3885 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
David Tardon1546c292013-05-07 20:41:41 +02003886 $(call gb_UnoApi_get_target,offapi) \
3887 $(call gb_UnoApi_get_target,udkapi) \
3888)
3889endef
3890
Michael Stahl187194b2014-02-11 19:17:42 +01003891ifeq ($(SYSTEM_ICU),)
David Tardonedf67302012-12-30 12:27:04 +01003892
3893define gb_Executable__register_gendict
3894$(call gb_Executable_add_runtime_dependencies,gendict,\
3895 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003896 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardonedf67302012-12-30 12:27:04 +01003897)
3898endef
3899
3900endif
3901
David Tardonceb0d062012-12-30 13:11:43 +01003902define gb_Executable__register_idlc
3903$(call gb_Executable_add_runtime_dependencies,idlc,\
David Tardonce038cf2013-10-20 20:43:46 +02003904 $(call gb_ExternalExecutable_get_dependencies,ucpp) \
David Tardonceb0d062012-12-30 13:11:43 +01003905)
3906endef
3907
David Tardonedf67302012-12-30 12:27:04 +01003908define gb_Executable__register_localize
3909$(call gb_Executable_add_runtime_dependencies,localize,\
Caolán McNamara00657ae2017-06-11 20:56:30 +01003910 $(foreach exec,cfgex helpex propex treex ulfex xrmex,\
David Tardonedf67302012-12-30 12:27:04 +01003911 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3912 ) \
3913)
3914endef
3915
Michael Stahl4c51feb2013-09-21 01:39:41 +02003916# FIXME ure/services.rdb needs cleanup
Stephan Bergmannab149c72013-04-24 10:42:40 +02003917# The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
David Tardonedf67302012-12-30 12:27:04 +01003918# due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3919# FIXME: the library target should be for build too
3920define gb_Executable__register_saxparser
3921$(call gb_Executable_add_runtime_dependencies,saxparser,\
3922 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardon92f66c52014-10-13 16:59:33 +02003923 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003924 $(call gb_Rdb_get_target_for_build,saxparser) \
Tor Lillqvistcb872392016-08-17 01:14:54 +03003925 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003926 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003927)
3928endef
3929
Stephan Bergmannab149c72013-04-24 10:42:40 +02003930# NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
David Tardonedf67302012-12-30 12:27:04 +01003931# required due to the settings for URE_SERVICES and URE_TYPES in
3932# cppuhelper/source/unorc
3933# FIXME: the library target should be for build too
3934define gb_Executable__register_uno
3935$(call gb_Executable_add_runtime_dependencies,uno,\
3936 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003937 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003938 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003939)
3940endef
3941
3942
3943# External executables
3944
Michael Stahl379f9782014-02-11 16:49:19 +01003945ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003946
3947gb_ExternalExecutable__register_xmllint :=
3948
3949else # ! SYSTEM_LIBXML_FOR_BUILD
3950
3951define gb_ExternalExecutable__register_xmllint
Michael Stahl84b0f062017-09-14 14:54:07 +02003952$(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 +02003953$(call gb_ExternalExecutable_add_dependencies,xmllint,\
3954 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl84b0f062017-09-14 14:54:07 +02003955 $(call gb_Package_get_target,libxml2) \
David Tardon5b660242014-07-28 10:38:49 +02003956)
David Tardonc2eca352012-12-02 10:51:37 +01003957
3958endef
3959
3960endif # SYSTEM_LIBXML_FOR_BUILD
3961
Michael Stahle3abec32014-02-11 15:57:18 +01003962ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003963
3964gb_ExternalExecutable__register_xsltproc :=
3965
3966else # ! SYSTEM_LIBXSLT_FOR_BUILD
3967
3968define gb_ExternalExecutable__register_xsltproc
Michael Stahl15b973e2017-09-14 15:26:10 +02003969$(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 +02003970$(call gb_ExternalExecutable_add_dependencies,xsltproc,\
3971 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl84b0f062017-09-14 14:54:07 +02003972 $(call gb_Package_get_target,libxml2) \
Michael Stahl15b973e2017-09-14 15:26:10 +02003973 $(call gb_Package_get_target,libxslt) \
David Tardon5b660242014-07-28 10:38:49 +02003974)
David Tardonc2eca352012-12-02 10:51:37 +01003975
3976endef
3977
3978endif # SYSTEM_LIBXSLT_FOR_BUILD
3979
David Tardonce038cf2013-10-20 20:43:46 +02003980ifneq (,$(SYSTEM_UCPP))
3981
3982gb_ExternalExecutable__register_ucpp :=
3983
3984else # ! SYSTEM_UCPP
3985
3986define gb_ExternalExecutable__register_ucpp
David Tardon489d2ea2013-10-21 08:17:32 +02003987$(call gb_ExternalExecutable_set_internal,ucpp,$(INSTDIR_FOR_BUILD)/$(SDKDIRNAME)/bin/ucpp$(gb_Executable_EXT_for_build))
David Tardonce038cf2013-10-20 20:43:46 +02003988
3989endef
3990
3991endif # SYSTEM_UCPP
3992
Matúš Kukane4826722013-03-05 22:03:38 +01003993ifeq (,$(PYTHON_FOR_BUILD))
David Tardonc2eca352012-12-02 10:51:37 +01003994
3995define gb_ExternalExecutable__register_python
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003996ifeq ($(OS),MACOSX)
3997
3998# use set_external, to avoid having the command added as prerequisite for the
3999# targets that make use of it. (Otherwise make will choke as it doesn't have a
4000# matching rule to build that specific file)
4001$(call gb_ExternalExecutable_set_external,python,$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO/LibreOfficePython.framework/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/bin/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR))
4002# the Zip ensures that internal python has been built (cannot use the Package
4003# target, as that is not used on Mac)
David Tardon45a5c262013-05-16 13:36:24 +02004004$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01004005
4006else
4007
Tor Lillqvist4c63fd102013-09-22 19:59:37 +03004008$(call gb_ExternalExecutable_set_internal,python,$(INSTROOT)/$(LIBO_BIN_FOLDER)/$(if $(filter WNT,$(OS)),python-core-$(PYTHON_VERSION)/bin/python.exe,python.bin))
Stephan Bergmann233610f2014-03-19 11:24:13 +01004009$(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01004010$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
4011
4012endif
David Tardonc2eca352012-12-02 10:51:37 +01004013
4014endef
4015
Matúš Kukane4826722013-03-05 22:03:38 +01004016else
4017
4018define gb_ExternalExecutable__register_python
4019$(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
Samuel Thibault84ef6d82018-02-21 15:51:11 +01004020$(call gb_ExternalExecutable_set_precommand,python,PYTHONPATH=$$$$PYTHONPATH$$$${PYTHONPATH:+$$$${PYPATH:+:}}$$$$PYPATH)
Matúš Kukane4826722013-03-05 22:03:38 +01004021
4022endef
4023
4024endif # PYTHON_FOR_BUILD
David Tardonc2eca352012-12-02 10:51:37 +01004025
David Tardon63069262012-12-29 12:56:24 +01004026ifneq ($(SYSTEM_GENBRK),)
4027
4028define gb_ExternalExecutable__register_genbrk
4029$(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
4030
4031endef
4032
4033else # ! SYSTEM_GENBRK
4034
4035define gb_ExternalExecutable__register_genbrk
David Tardondbac8f52014-04-18 18:34:40 +02004036$(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 +01004037$(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004038$(call gb_ExternalExecutable_add_dependencies,genbrk,\
4039 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004040 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004041)
4042
4043endef
4044
4045endif
4046
4047ifneq ($(SYSTEM_GENCCODE),)
4048
4049define gb_ExternalExecutable__register_genccode
4050$(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
4051
4052endef
4053
4054else # ! SYSTEM_GENCCODE
4055
4056define gb_ExternalExecutable__register_genccode
David Tardondbac8f52014-04-18 18:34:40 +02004057$(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 +01004058$(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004059$(call gb_ExternalExecutable_add_dependencies,genccode,\
4060 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004061 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004062)
4063
4064endef
4065
4066endif
4067
4068ifneq ($(SYSTEM_GENCMN),)
4069
4070define gb_ExternalExecutable__register_gencmn
4071$(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
4072
4073endef
4074
4075else # ! SYSTEM_GENCMN
4076
4077define gb_ExternalExecutable__register_gencmn
David Tardondbac8f52014-04-18 18:34:40 +02004078$(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 +01004079$(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004080$(call gb_ExternalExecutable_add_dependencies,gencmn,\
4081 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004082 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004083)
4084
4085endef
4086
4087endif
4088
Jacobo Aragunde Péreze6fe5082015-02-02 19:49:37 +00004089ifeq (OWNCLOUD_ANDROID_LIB,$(filter OWNCLOUD_ANDROID_LIB,$(BUILD_TYPE)))
4090
4091$(eval $(call gb_Helper_register_jars,OXT,\
4092 owncloud-android-library \
4093))
4094
4095define gb_Jar__use_owncloud_android_lib
4096$(call gb_Jar_use_external_project,$(1),owncloud-android-lib)
4097$(call gb_Jar_use_external_jar,$(1),$(call gb_UnpackedTarball_get_dir,owncloud-android-lib)/bin/owncloud-android-library.jar)
4098endef
4099define gb_ExternalProject__use_owncloud_android_lib
4100$(call gb_ExternalProject_use_external_project,$(1),owncloud_android_lib)
4101endef
4102
4103endif
4104
Nathan Yee7eb863d2015-07-03 11:58:27 +02004105ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4106ifneq ($(SYSTEM_BZIP2),)
4107
4108define gb_LinkTarget__use_bzip2
4109$(call gb_LinkTarget_set_include,$(1),\
4110 $(BZIP2_CFLAGS) \
4111 $$(INCLUDE) \
4112)
4113$(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4114
4115endef
Jan Holesovsky025952f2015-07-03 13:46:38 +02004116
Nathan Yee7eb863d2015-07-03 11:58:27 +02004117gb_ExternalProject__use_bzip2 :=
4118
4119else # !SYSTEM_BZIP2
4120
4121define gb_LinkTarget__use_bzip2
Nathan Yee7eb863d2015-07-03 11:58:27 +02004122$(call gb_LinkTarget_set_include,$(1),\
4123 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4124 $$(INCLUDE) \
4125)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004126
4127ifeq ($(COM),MSC)
4128$(call gb_LinkTarget_add_libs,$(1),\
4129 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4130)
4131else
Jan Holesovsky025952f2015-07-03 13:46:38 +02004132$(call gb_LinkTarget_add_libs,$(1),\
4133 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4134)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004135endif
4136
Jan Holesovskyec477172015-07-07 09:24:45 +02004137$(call gb_LinkTarget_use_external_project,$(1),bzip2)
Nathan Yee7eb863d2015-07-03 11:58:27 +02004138endef
4139
4140define gb_ExternalProject__use_bzip2
4141$(call gb_ExternalProject_use_external_project,$(1),bzip2)
4142endef
4143
4144endif
4145endif
4146
Stephan Bergmannec53ac62016-04-12 20:06:04 +02004147define gb_LinkTarget__use_clew
4148$(call gb_LinkTarget_set_include,$(1), \
4149 -I$(SRCDIR)/external/clew/source/include \
4150 $$(INCLUDE) \
4151)
4152$(call gb_LinkTarget_use_libraries,$(1),clew)
4153endef
4154
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004155ifneq ($(ENABLE_PDFIUM),)
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004156define gb_LinkTarget__use_pdfium
4157$(call gb_LinkTarget_set_include,$(1),\
4158 -I$(call gb_UnpackedTarball_get_dir,pdfium)/public \
4159 $$(INCLUDE) \
4160)
4161$(call gb_LinkTarget_use_libraries,$(1),pdfium)
4162endef
4163$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4164 pdfium \
4165))
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004166endif
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004167
Mike Kaganski61b1d632017-12-13 00:04:03 +03004168$(eval $(call gb_Helper_register_packages_for_install,vcredist_exe_binarytable,\
4169 $(if $(VCREDIST_DIR),vcredist_exe) \
4170))
4171
Michael Stahlc74af0d2011-04-01 20:49:35 +00004172# vim: set noet sw=4 ts=4: