blob: 8ce8555a7233771a3d1f84ac3d08dedb192f9b99 [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),\
Khaled Hosnya62e7732013-11-04 18:33:52 +0200118 -I$(SRCDIR)/external/$(if $(filter WNT,$(OS)),twain,sane)/inc \
Michael Stahl72279ea2013-05-06 20:14:35 +0200119 $$(INCLUDE) \
David Tardoneafaec92012-12-21 14:08:27 +0100120)
121
122endef
123
124else
125
126gb_LinkTarget__use_sane_headers :=
127
128endif
129
Michael Stahl8555b372014-02-11 19:28:33 +0100130ifneq ($(SYSTEM_BLUEZ),)
David Tardon8fa06c82013-11-05 06:53:49 +0100131
132gb_LinkTarget__use_bluez_bluetooth_headers :=
133
134else # !SYSTEM_BLUEZ
135
136define gb_LinkTarget__use_bluez_bluetooth_headers
137$(call gb_LinkTarget_set_include,$(1),\
138 -I$(SRCDIR)/external/bluez_bluetooth/inc \
139 $$(INCLUDE) \
140)
141
142endef
143
144endif # SYSTEM_BLUEZ
145
Matúš Kukan8e535df2012-04-07 13:59:33 +0200146# External libraries
147
Michael Stahle3abec32014-02-11 15:57:18 +0100148ifneq ($(SYSTEM_CPPUNIT),)
David Tardon785e1d92011-07-25 10:34:22 +0200149
150define gb_LinkTarget__use_cppunit
151$(call gb_LinkTarget_set_include,$(1),\
152 $$(INCLUDE) \
153 $(CPPUNIT_CFLAGS) \
154)
155
156$(call gb_LinkTarget_add_libs,$(1),\
157 $(CPPUNIT_LIBS) \
158)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100159
David Tardon785e1d92011-07-25 10:34:22 +0200160endef
161
Michael Stahle3abec32014-02-11 15:57:18 +0100162else # !SYSTEM_CPPUNIT
David Tardon785e1d92011-07-25 10:34:22 +0200163
David Tardon785e1d92011-07-25 10:34:22 +0200164define gb_LinkTarget__use_cppunit
Markus Mohrhardd63a9402016-02-23 11:28:31 +0100165$(call gb_LinkTarget_use_external_project,$(1),cppunit, full)
Peter Foley143835b2012-11-25 16:37:40 -0500166
Peter Foley143835b2012-11-25 16:37:40 -0500167$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200168 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
Peter Foley143835b2012-11-25 16:37:40 -0500169 $$(INCLUDE) \
170)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100171
Michael Stahl77fe50b2013-10-23 23:35:16 +0200172ifeq ($(COM),MSC)
173$(call gb_LinkTarget_add_libs,$(1),\
174 $(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
175)
176else
177$(call gb_LinkTarget_add_libs,$(1),\
178 -L$(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/.libs -lcppunit \
179)
180endif
181
David Tardon785e1d92011-07-25 10:34:22 +0200182endef
183
Michael Stahle3abec32014-02-11 15:57:18 +0100184endif # SYSTEM_CPPUNIT
Michael Stahlc74af0d2011-04-01 20:49:35 +0000185
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000186ifneq ($(SYSTEM_EPOXY),)
David Tardon864f7752014-02-09 21:19:07 +0100187
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000188define gb_LinkTarget__use_epoxy
David Tardon864f7752014-02-09 21:19:07 +0100189$(call gb_LinkTarget_set_include,$(1),\
190 $$(INCLUDE) \
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000191 $(EPOXY_CFLAGS) \
David Tardon864f7752014-02-09 21:19:07 +0100192)
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000193$(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS))
David Tardon864f7752014-02-09 21:19:07 +0100194
195endef
196
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000197gb_ExternalProject__use_epoxy :=
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200198
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000199else # !SYSTEM_EPOXY
David Tardon864f7752014-02-09 21:19:07 +0100200
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000201define gb_LinkTarget__use_epoxy
202$(call gb_LinkTarget_set_include,$(1),\
203 -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \
204 $$(INCLUDE) \
205)
206
207$(call gb_LinkTarget_use_libraries,$(1),\
208 epoxy \
209)
210
211endef
212
213$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
214 epoxy \
Michael Stahl0c94f232014-03-18 17:17:04 +0100215))
216
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000217define gb_ExternalProject__use_epoxy
218$(call gb_ExternalProject_use_external_project,$(1),epoxy)
David Tardon864f7752014-02-09 21:19:07 +0100219
220endef
221
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000222endif # SYSTEM_EPOXY
David Tardon864f7752014-02-09 21:19:07 +0100223
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200224define gb_LinkTarget__use_iconv
225$(call gb_LinkTarget_add_libs,$(1),-liconv)
226
227endef
228
Michael Stahl379f9782014-02-11 16:49:19 +0100229ifneq ($(SYSTEM_MARIADB),)
Peter Foleyc322d502013-01-23 16:29:08 -0500230
David Tardon217eae42013-11-05 06:49:33 +0100231define gb_LinkTarget__use_mariadb
232$(call gb_LinkTarget_set_include,$(1),\
233 $$(INCLUDE) \
234 $(MARIADB_CFLAGS) \
235)
236$(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
237
238endef
239gb_ExternalProject__use_mariadb :=
240
241else # !SYSTEM_MARIADB
242
243define gb_LinkTarget__use_mariadb
244$(call gb_LinkTarget_set_include,$(1),\
245 $$(INCLUDE) \
246 $(MARIADB_CFLAGS) \
247)
248$(call gb_LinkTarget_use_static_libraries,$(1),\
249 mariadblib \
250)
251
252endef
253define gb_ExternalProject__use_mariadb
254$(call gb_ExternalProject_use_static_libraries,$(1),mariadblib)
255
256endef
257
258endif # SYSTEM_MARIADB
259
260
Michael Stahl379f9782014-02-11 16:49:19 +0100261ifneq ($(SYSTEM_MARIADB),)
David Tardon217eae42013-11-05 06:49:33 +0100262
Peter Foleyc322d502013-01-23 16:29:08 -0500263define gb_LinkTarget__use_mysql
264
265$(call gb_LinkTarget_add_defs,$(1),\
Fridrich Štrba1bf43062013-03-06 11:45:50 +0100266 -DSYSTEM_MARIADB \
Peter Foleyc322d502013-01-23 16:29:08 -0500267)
268
269$(call gb_LinkTarget_add_libs,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100270 $(MARIADB_LIBS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500271)
272
273$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100274 $(MARIADB_CFLAGS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500275 $$(INCLUDE) \
276)
277endef
278
279else
280
281define gb_LinkTarget__use_mysql
282
283$(call gb_LinkTarget_set_include,$(1),\
Peter Foleyc322d502013-01-23 16:29:08 -0500284 $$(INCLUDE) \
285)
286
287endef
288
289endif
290
Michael Stahl0443d0a2014-02-11 16:57:35 +0100291ifneq ($(SYSTEM_MYSQL_CPPCONN),)
Peter Foleyc322d502013-01-23 16:29:08 -0500292
293define gb_LinkTarget__use_mysqlcppconn
294$(call gb_LinkTarget_add_libs,$(1),\
295 -lmysqlcppconn \
296)
297
298$(call gb_LinkTarget_add_defs,$(1),\
Peter Foleyb02d7992013-01-24 15:43:52 -0500299 -DSYSTEM_MYSQL_CPPCONN \
Peter Foleyc322d502013-01-23 16:29:08 -0500300)
301endef
302
303else
304
Stephan Bergmann5afa25c2015-06-12 16:26:25 +0200305$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OXT,\
Peter Foleyc322d502013-01-23 16:29:08 -0500306 mysqlcppconn \
307))
308
Michael Stahl5f356bd2013-01-28 23:53:30 +0100309# note: this does not link mysqlcppconn, it is loaded via osl_loadModuleRelative
Peter Foleyc322d502013-01-23 16:29:08 -0500310define gb_LinkTarget__use_mysqlcppconn
311
Michael Stahl5f356bd2013-01-28 23:53:30 +0100312$(call gb_LinkTarget_use_unpacked,$(1),mysqlcppconn)
313
Peter Foleyb02d7992013-01-24 15:43:52 -0500314$(call gb_LinkTarget_add_defs,$(1),\
315 -DCPPCONN_LIB_BUILD \
316)
317
Peter Foleyc322d502013-01-23 16:29:08 -0500318$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200319 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn) \
320 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn)/cppconn \
Peter Foleyc322d502013-01-23 16:29:08 -0500321 $$(INCLUDE) \
322)
323
324endef
325
326endif
327
Michael Stahl04ff5352014-02-11 16:21:04 +0100328ifneq ($(SYSTEM_ZLIB),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000329
330define gb_LinkTarget__use_zlib
Michael Stahla88ef232011-04-13 16:11:41 +0000331$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000332 -DSYSTEM_ZLIB \
333)
334$(call gb_LinkTarget_add_libs,$(1),-lz)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100335
Michael Stahlc74af0d2011-04-01 20:49:35 +0000336endef
337
David Tardoncb276232012-10-26 15:33:26 +0200338# nothing on system
339define gb_LinkTarget__use_zlib_x64
340
341endef
342
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100343gb_ExternalProject__use_zlib :=
344
Michael Stahlc74af0d2011-04-01 20:49:35 +0000345else # !SYSTEM_ZLIB
346
David Tardoncb276232012-10-26 15:33:26 +0200347define gb_LinkTarget__use_zlib_multiarch
348$(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
349
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200350$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl3c38b772013-05-08 15:47:24 +0200351 $(ZLIB_CFLAGS) \
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200352 $$(INCLUDE) \
353)
David Tardoncb276232012-10-26 15:33:26 +0200354
Michael Stahlc923f7d2012-04-07 23:22:08 +0200355$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardoncb276232012-10-26 15:33:26 +0200356 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000357)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100358
Michael Stahlc74af0d2011-04-01 20:49:35 +0000359endef
360
David Tardoncb276232012-10-26 15:33:26 +0200361define gb_LinkTarget__use_zlib
362$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
363
364endef
365
366define gb_LinkTarget__use_zlib_x64
367$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
368
369endef
370
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100371define gb_ExternalProject__use_zlib
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100372$(call gb_ExternalProject_use_static_libraries,$(1),zlib)
373
374endef
375
Michael Stahlc74af0d2011-04-01 20:49:35 +0000376endif # SYSTEM_ZLIB
377
378
Michael Stahl46648152014-02-11 16:33:18 +0100379ifneq ($(SYSTEM_JPEG),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000380
381define gb_LinkTarget__use_jpeg
Michael Stahleea709f2016-11-02 14:13:54 +0100382$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000383$(call gb_LinkTarget_set_ldflags,$(1),\
Michael Stahl73d2fe92011-04-13 16:11:39 +0000384 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000385)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100386
Michael Stahlc74af0d2011-04-01 20:49:35 +0000387endef
388
Michael Stahleea709f2016-11-02 14:13:54 +0100389gb_ExternalProject__use_jpeg :=
390
Caolán McNamaraae967542017-03-14 14:20:36 +0000391else
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100392
393define gb_LinkTarget__use_jpeg
394$(call gb_LinkTarget_set_include,$(1),\
Michael Stahleea709f2016-11-02 14:13:54 +0100395 $(LIBJPEG_CFLAGS) \
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100396 $$(INCLUDE) \
397)
Michael Stahleea709f2016-11-02 14:13:54 +0100398$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
Stephan Bergmann8d34d362016-02-18 12:51:41 +0100399$(call gb_LinkTarget_use_external_project,$(1),jpeg-turbo,full)
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100400
401endef
402
Michael Stahleea709f2016-11-02 14:13:54 +0100403define gb_ExternalProject__use_jpeg
404$(call gb_ExternalProject_use_external_project,$(1),jpeg-turbo)
405
406endef
407
Michael Stahlc74af0d2011-04-01 20:49:35 +0000408endif # SYSTEM_JPEG
409
Michael Stahlab586f12014-02-11 19:25:30 +0100410ifneq ($(SYSTEM_MYTHES),)
Peter Foley1d1bab42012-10-28 12:00:06 -0400411
412define gb_LinkTarget__use_mythes
Rene Engelhard99ef1f52012-10-28 23:00:03 +0100413$(call gb_LinkTarget_set_include,$(1),\
414 $$(INCLUDE) \
415 $(MYTHES_CFLAGS) \
416)
417$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
418
Peter Foley1d1bab42012-10-28 12:00:06 -0400419endef
420
421else # !SYSTEM_MYTHES
422
Peter Foley1d1bab42012-10-28 12:00:06 -0400423define gb_LinkTarget__use_mythes
Michael Stahl90ad80e32013-05-07 23:59:00 +0200424$(call gb_LinkTarget_set_include,$(1),\
425 -I$(call gb_UnpackedTarball_get_dir,mythes) \
426 $$(INCLUDE) \
427)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200428
429ifeq ($(COM),MSC)
Matúš Kukan327db9f2012-10-28 22:40:30 +0100430$(call gb_LinkTarget_use_static_libraries,$(1),\
431 mythes \
Peter Foley1d1bab42012-10-28 12:00:06 -0400432)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200433else
434$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
435$(call gb_LinkTarget_use_external_project,$(1),mythes)
436endif
Matúš Kukan327db9f2012-10-28 22:40:30 +0100437
Peter Foley1d1bab42012-10-28 12:00:06 -0400438endef
439
440endif # SYSTEM_MYTHES
441
Michael Stahlc74af0d2011-04-01 20:49:35 +0000442
Michael Stahl46648152014-02-11 16:33:18 +0100443ifneq ($(SYSTEM_EXPAT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000444
David Tardon51149802013-04-09 09:22:20 +0200445define gb_LinkTarget__use_expat_impl
446$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000447
Michael Stahla88ef232011-04-13 16:11:41 +0000448$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000449 -DSYSTEM_EXPAT \
450)
451
452$(call gb_LinkTarget_add_libs,$(1),-lexpat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100453
Michael Stahlc74af0d2011-04-01 20:49:35 +0000454endef
455
Michael Stahl77289672012-11-17 00:36:29 +0100456gb_ExternalProject__use_expat :=
457
Michael Stahlc74af0d2011-04-01 20:49:35 +0000458else # !SYSTEM_EXPAT
459
David Tardon51149802013-04-09 09:22:20 +0200460define gb_LinkTarget__use_expat_impl
461$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000462
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700463$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl5e037bb2013-05-07 21:47:18 +0200464 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700465 $$(INCLUDE) \
466)
467
Michael Stahlc923f7d2012-04-07 23:22:08 +0200468$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000469 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000470)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100471
Michael Stahlc74af0d2011-04-01 20:49:35 +0000472endef
473
Michael Stahl77289672012-11-17 00:36:29 +0100474define gb_ExternalProject__use_expat
Michael Stahl77289672012-11-17 00:36:29 +0100475$(call gb_ExternalProject_use_static_libraries,$(1),expat)
476
477endef
478
Michael Stahlc74af0d2011-04-01 20:49:35 +0000479endif # SYSTEM_EXPAT
480
David Tardon51149802013-04-09 09:22:20 +0200481define gb_LinkTarget__use_expat
482$(call gb_LinkTarget__use_expat_impl,$(1),expat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100483
Michael Stahlc74af0d2011-04-01 20:49:35 +0000484endef
485
David Tardon51149802013-04-09 09:22:20 +0200486define gb_LinkTarget__use_expat_x64
487$(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100488
Michael Stahlc74af0d2011-04-01 20:49:35 +0000489endef
490
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100491ifneq ($(SYSTEM_HYPH),)
Peter Foleydd584cb2012-11-03 13:54:46 -0400492
493define gb_LinkTarget__use_hyphen
494$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
495
496endef
497
498else # !SYSTEM_HYPH
499
Peter Foleydd584cb2012-11-03 13:54:46 -0400500define gb_LinkTarget__use_hyphen
501$(call gb_LinkTarget_use_unpacked,$(1),hyphen)
502$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200503 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
Peter Foleydd584cb2012-11-03 13:54:46 -0400504 $$(INCLUDE) \
505)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200506
507ifeq ($(COM),MSC)
Peter Foleydd584cb2012-11-03 13:54:46 -0400508$(call gb_LinkTarget_use_static_libraries,$(1),\
509 hyphen \
510)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200511else
512$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
513$(call gb_LinkTarget_use_external_project,$(1),hyphen)
514endif
Peter Foleydd584cb2012-11-03 13:54:46 -0400515
516endef
517
518endif # SYSTEM_HYPH
519
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100520ifneq ($(SYSTEM_HUNSPELL),)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100521
522define gb_LinkTarget__use_hunspell
523$(call gb_LinkTarget_set_include,$(1),\
524 $$(INCLUDE) \
525 $(HUNSPELL_CFLAGS) \
526)
527$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
528
529endef
530
Michael Stahl2f6261f2013-09-19 19:28:36 +0200531gb_ExternalProject__use_hunspell :=
532
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100533else # !SYSTEM_HUNSPELL
534
535define gb_LinkTarget__use_hunspell
536$(call gb_LinkTarget_add_defs,$(1),\
537 -DHUNSPELL_STATIC \
538)
Matúš Kukan7a030392012-10-29 23:29:37 +0100539$(call gb_LinkTarget_use_unpacked,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100540$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200541 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
Matúš Kukan7a030392012-10-29 23:29:37 +0100542 $$(INCLUDE) \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100543)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200544
545ifeq ($(COM),MSC)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200546$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan327db9f2012-10-28 22:40:30 +0100547 hunspell \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100548)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200549else
550$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
551$(call gb_LinkTarget_use_external_project,$(1),hunspell)
552endif
553
554endef
555
556define gb_ExternalProject__use_hunspell
557$(call gb_ExternalProject_use_external_project,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100558
559endef
560
561endif # SYSTEM_HUNSPELL
562
563
Michael Stahladddbbc2014-02-11 18:40:09 +0100564ifneq ($(SYSTEM_BOOST),)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200565
David Tardon57c439a2016-03-08 06:06:36 +0100566define gb_LinkTarget__use_boost_lib
David Tardon0f6919c2012-06-06 17:04:01 +0200567$(call gb_LinkTarget_set_include,$(1),\
568 $$(INCLUDE) \
569 $(BOOST_CPPFLAGS) \
570)
571
572$(call gb_LinkTarget_add_ldflags,$(1),\
573 $(BOOST_LDFLAGS) \
574)
575
David Tardon57c439a2016-03-08 06:06:36 +0100576$(call gb_LinkTarget_add_libs,$(1),$(2))
577
578endef
579
Caolán McNamarac25eee42017-04-19 12:02:25 +0100580define gb_LinkTarget__use_boost_locale
581$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_LOCALE_LIB))
582
583endef
584
David Tardon23d2e0e2016-03-08 08:35:59 +0100585define gb_LinkTarget__use_boost_date_time
David Tardon57c439a2016-03-08 06:06:36 +0100586$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_DATE_TIME_LIB))
David Tardon0f6919c2012-06-06 17:04:01 +0200587
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200588endef
589
David Tardonb4339fa2016-03-08 06:08:36 +0100590define gb_LinkTarget__use_boost_filesystem
591$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
592
593endef
594
595gb_ExternalProject__use_boost_filesystem :=
596
Markus Mohrhard36788e92014-01-08 13:17:28 +0100597define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100598$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_IOSTREAMS_LIB))
Markus Mohrhard36788e92014-01-08 13:17:28 +0100599
600endef
601
David Tardon6d9de6b2014-03-03 20:39:13 +0100602gb_ExternalProject__use_boost_iostreams :=
603
Markus Mohrhard36788e92014-01-08 13:17:28 +0100604define gb_LinkTarget__use_boost_system
David Tardon57c439a2016-03-08 06:06:36 +0100605$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_SYSTEM_LIB))
Tor Lillqvist503b2482013-05-22 19:50:22 +0300606
607endef
608
Markus Mohrhard36788e92014-01-08 13:17:28 +0100609gb_ExternalProject__use_boost_system :=
Tor Lillqvist503b2482013-05-22 19:50:22 +0300610
Stephan Bergmann93208022013-02-16 22:56:19 +0100611define gb_LinkTarget__use_boost_headers
612$(call gb_LinkTarget_set_include,$(1),\
613 $$(INCLUDE) \
614 $(BOOST_CPPFLAGS) \
615)
616
617endef
618
Peter Foleycdb6eca2012-11-10 08:56:12 -0500619gb_ExternalProject__use_boost_headers:=
620
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200621else # !SYSTEM_BOOST
622
David Tardon57c439a2016-03-08 06:06:36 +0100623define gb_LinkTarget__use_boost_lib
Michael Stahl7f2e1682012-09-06 20:22:11 +0200624$(call gb_LinkTarget_add_defs,$(1),\
625 -DBOOST_ALL_NO_LIB \
626)
627
David Tardon57c439a2016-03-08 06:06:36 +0100628$(call gb_LinkTarget_use_static_libraries,$(1),$(2))
629
630endef
631
Caolán McNamarac25eee42017-04-19 12:02:25 +0100632define gb_LinkTarget__use_boost_locale
633$(call gb_LinkTarget__use_boost_lib,$(1),boost_locale)
634$(call gb_LinkTarget_add_libs,$(1),\
635 $(if $(filter $(OS),MACOSX),-liconv) \
636)
637
638endef
639
David Tardon23d2e0e2016-03-08 08:35:59 +0100640define gb_LinkTarget__use_boost_date_time
641$(call gb_LinkTarget__use_boost_lib,$(1),boost_date_time)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200642
643endef
644
David Tardond72a33c2016-03-08 05:57:40 +0100645define gb_LinkTarget__use_boost_filesystem
David Tardon57c439a2016-03-08 06:06:36 +0100646$(call gb_LinkTarget__use_boost_lib,$(1),boost_filesystem)
David Tardond72a33c2016-03-08 05:57:40 +0100647
648endef
649
650define gb_ExternalProject__use_boost_filesystem
651$(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
652endef
653
Markus Mohrhard36788e92014-01-08 13:17:28 +0100654define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100655$(call gb_LinkTarget__use_boost_lib,$(1),boost_iostreams)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300656
657endef
658
Markus Mohrhard36788e92014-01-08 13:17:28 +0100659define gb_ExternalProject__use_boost_iostreams
660$(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
661endef
662
663define gb_LinkTarget__use_boost_system
David Tardon57c439a2016-03-08 06:06:36 +0100664$(call gb_LinkTarget__use_boost_lib,$(1),boost_system)
Markus Mohrhard36788e92014-01-08 13:17:28 +0100665
666endef
667
668define gb_ExternalProject__use_boost_system
669$(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300670endef
671
Peter Foleye1f742a2012-11-12 18:37:10 -0500672define gb_LinkTarget__use_boost_headers
Christian Lohmaier1654a1e72012-11-14 18:11:30 +0100673$(call gb_LinkTarget_use_unpacked,$(1),boost)
Michael Stahla53586f2013-01-26 21:19:13 +0100674$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmannf51656c2016-05-31 13:32:15 +0200675 $(BOOST_CPPFLAGS) \
Michael Stahla53586f2013-01-26 21:19:13 +0100676 $$(INCLUDE) \
677)
Peter Foleye1f742a2012-11-12 18:37:10 -0500678
679endef
680
Peter Foleycdb6eca2012-11-10 08:56:12 -0500681define gb_ExternalProject__use_boost_headers
David Tardon682e3592015-06-24 15:11:40 +0200682$(call gb_ExternalProject_use_unpacked,$(1),boost)
Peter Foleycdb6eca2012-11-10 08:56:12 -0500683
684endef
David Tardond72a33c2016-03-08 05:57:40 +0100685
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200686endif # SYSTEM_BOOST
687
688
Michael Stahle3abec32014-02-11 15:57:18 +0100689ifneq ($(SYSTEM_CMIS),)
Matúš Kukan464b4332012-01-15 02:12:49 +0100690
691define gb_LinkTarget__use_cmis
692$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100693 $$(INCLUDE) \
Matúš Kukan707194e2012-09-06 18:19:34 +0200694 $(CMIS_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100695)
Matúš Kukan707194e2012-09-06 18:19:34 +0200696$(call gb_LinkTarget_add_libs,$(1),$(CMIS_LIBS))
Matúš Kukan464b4332012-01-15 02:12:49 +0100697
698endef
699
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100700else # !SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100701
Matúš Kukan464b4332012-01-15 02:12:49 +0100702define gb_LinkTarget__use_cmis
Michael Stahl759d02b2013-05-08 00:55:21 +0200703$(call gb_LinkTarget_set_include,$(1),\
704 -I$(call gb_UnpackedTarball_get_dir,cmis)/src \
705 $$(INCLUDE) \
706)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200707$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100708 cmislib \
709)
710
711endef
712
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100713endif # SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100714
David Tardon32cd12c2014-04-26 19:46:40 +0200715ifeq ($(ENABLE_JAVA),TRUE)
David Tardon2a71e152014-04-26 16:08:07 +0200716
David Tardon2a71e152014-04-26 16:08:07 +0200717define gb_LinkTarget__use_jawt
718$(call gb_LinkTarget_add_libs,$(1),\
719 $(JAWTLIB) \
720)
721
722endef
Peter Foleye5ccda42012-12-25 11:23:58 -0500723
David Tardon2a71e152014-04-26 16:08:07 +0200724else # !ENABLE_JAVA
725
726gb_LinkTarget__use_jawt :=
727
728endif # ENABLE_JAVA
Matúš Kukan464b4332012-01-15 02:12:49 +0100729
Michael Stahl23647592014-02-11 19:04:20 +0100730ifneq ($(SYSTEM_LIBATOMIC_OPS),)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100731
732define gb_LinkTarget__use_libatomic_ops
733$(call gb_LinkTarget_set_include,$(1),\
734 $$(INCLUDE) \
735 $(LIBATOMIC_OPS_CFLAGS) \
736)
737$(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
738
739endef
740gb_ExternalProject__use_libatomic_ops :=
741
742else # !SYSTEM_LIBATOMIC_OPS
743
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100744define gb_LinkTarget__use_libatomic_ops
745$(call gb_LinkTarget_set_include,$(1),\
746$(LIBATOMIC_OPS_CFLAGS) \
747 $$(INCLUDE) \
748 $(LIBATOMIC_OPS_CFLAGS) \
749)
Michael Stahlb3085262013-10-24 12:22:58 +0200750$(call gb_LinkTarget_use_external_project,$(1),\
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100751 libatomic_ops \
752)
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100753
Michael Stahlb3085262013-10-24 12:22:58 +0200754$(call gb_LinkTarget_add_libs,$(1),\
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100755 -L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src/lib -latomic_ops \
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100756)
757
758endef
759
760define gb_ExternalProject__use_libatomic_ops
Michael Stahlb3085262013-10-24 12:22:58 +0200761$(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100762
763endef
764
765endif # SYSTEM_LIBATOMIC_OPS
766
767
Michael Stahle3abec32014-02-11 15:57:18 +0100768ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
Matúš Kukanbd030302011-12-03 15:06:52 +0100769
770define gb_LinkTarget__use_libexttextcat
771$(call gb_LinkTarget_set_include,$(1),\
772 $$(INCLUDE) \
773 $(LIBEXTTEXTCAT_CFLAGS) \
774)
Peter Foley31219f02012-11-09 17:25:56 -0500775$(call gb_LinkTarget_add_defs,$(1),\
776 -DSYSTEM_LIBEXTTEXTCAT \
777)
Matúš Kukanbd030302011-12-03 15:06:52 +0100778$(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
779
780endef
781
782else # !SYSTEM_LIBEXTTEXTCAT
783
Matúš Kukanbd030302011-12-03 15:06:52 +0100784define gb_LinkTarget__use_libexttextcat
Peter Foley31219f02012-11-09 17:25:56 -0500785$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200786 -I$(call gb_UnpackedTarball_get_dir,exttextcat/src) \
Peter Foley31219f02012-11-09 17:25:56 -0500787 $$(INCLUDE) \
788)
Matúš Kukanbd030302011-12-03 15:06:52 +0100789
Michael Stahl2f6261f2013-09-19 19:28:36 +0200790ifeq ($(COM),MSC)
791$(call gb_LinkTarget_use_static_libraries,$(1),\
792 exttextcat \
793)
794else
795$(call gb_LinkTarget_add_libs,$(1),\
796 $(call gb_UnpackedTarball_get_dir,exttextcat)/src/.libs/libexttextcat-2.0.a\
797)
David Tardon523a3042013-10-12 18:22:55 +0200798$(call gb_LinkTarget_use_external_project,$(1),exttextcat)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200799endif
800
801
Matúš Kukanbd030302011-12-03 15:06:52 +0100802endef
803
804endif # SYSTEM_LIBEXTTEXTCAT
805
806
Michael Stahl379f9782014-02-11 16:49:19 +0100807ifneq ($(SYSTEM_LIBXML),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000808
809define gb_LinkTarget__use_libxml2
Michael Stahla88ef232011-04-13 16:11:41 +0000810$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000811 -DSYSTEM_LIBXML \
812)
813$(call gb_LinkTarget_set_include,$(1),\
814 $$(INCLUDE) \
815 $(LIBXML_CFLAGS) \
816)
817$(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100818
Michael Stahlc74af0d2011-04-01 20:49:35 +0000819endef
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500820gb_ExternalProject__use_libxml2:=
Michael Stahlc74af0d2011-04-01 20:49:35 +0000821
822else # !SYSTEM_LIBXML
823
Michael Stahl64ea9942014-03-14 11:48:24 +0100824$(eval $(call gb_Helper_register_packages_for_install,ure,\
825 xml2 \
826))
827
Michael Stahlc74af0d2011-04-01 20:49:35 +0000828define gb_LinkTarget__use_libxml2
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500829$(call gb_LinkTarget_use_package,$(1),xml2)
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500830$(call gb_LinkTarget_set_include,$(1),\
831 $$(INCLUDE) \
David Tardon7515b1a2014-07-17 17:27:05 +0200832 $(LIBXML_CFLAGS) \
833)
834
835$(call gb_LinkTarget_add_libs,$(1),\
836 $(LIBXML_LIBS) \
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500837)
838
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200839ifeq ($(COM),MSC)
David Tardon7515b1a2014-07-17 17:27:05 +0200840$(call gb_LinkTarget_use_external,$(1),icu_headers)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200841endif
842
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500843endef
844define gb_ExternalProject__use_libxml2
845$(call gb_ExternalProject_use_package,$(1),xml2)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100846
David Tardon7515b1a2014-07-17 17:27:05 +0200847ifeq ($(COM),MSC)
848$(call gb_ExternalProject_use_external_project,$(1),icu)
849endif
850
Michael Stahlc74af0d2011-04-01 20:49:35 +0000851endef
852
853endif # SYSTEM_LIBXML
854
855
Michael Stahle3abec32014-02-11 15:57:18 +0100856ifneq ($(SYSTEM_LIBXSLT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000857
858define gb_LinkTarget__use_libxslt
859$(call gb_LinkTarget_set_include,$(1),\
860 $$(INCLUDE) \
861 $(LIBXSLT_CFLAGS) \
862)
863$(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100864
Michael Stahlc74af0d2011-04-01 20:49:35 +0000865endef
866
David Tardonab03e872012-08-15 07:20:13 +0200867define gb_LinkTarget__use_libexslt
868$(call gb_LinkTarget_set_include,$(1),\
869 $$(INCLUDE) \
870 $(LIBEXSLT_CFLAGS) \
871)
872
873$(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
874
875endef
876
Michael Stahlc74af0d2011-04-01 20:49:35 +0000877else # !SYSTEM_LIBXSLT
878
Michael Stahl32a617d2014-02-17 11:23:19 +0100879$(eval $(call gb_Helper_register_packages_for_install,ooo,\
880 xslt \
881))
882
Michael Stahlc74af0d2011-04-01 20:49:35 +0000883define gb_LinkTarget__use_libxslt
Peter Foley856c0752013-02-02 15:44:30 -0500884$(call gb_LinkTarget_use_package,$(1),xslt)
885$(call gb_LinkTarget_set_include,$(1),\
886 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +0200887 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500888)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200889
890ifeq ($(COM),MSC)
891$(call gb_LinkTarget_add_libs,$(1),\
892 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libxslt.lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000893)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200894else
895$(call gb_LinkTarget_add_libs,$(1),\
896 -L$(call gb_UnpackedTarball_get_dir,xslt)/libxslt/.libs -lxslt \
897)
898endif
Caolán McNamara6bccd202011-07-25 22:10:33 +0100899
Michael Stahlc74af0d2011-04-01 20:49:35 +0000900endef
901
David Tardonab03e872012-08-15 07:20:13 +0200902define gb_LinkTarget__use_libexslt
Peter Foley856c0752013-02-02 15:44:30 -0500903$(call gb_LinkTarget_use_package,$(1),xslt)
904$(call gb_LinkTarget_set_include,$(1),\
905 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +0200906 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500907)
908
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200909ifeq ($(COM),MSC)
910$(call gb_LinkTarget_add_libs,$(1),\
911 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libexslt.lib \
David Tardonab03e872012-08-15 07:20:13 +0200912)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200913else
914$(call gb_LinkTarget_add_libs,$(1),\
915 -L$(call gb_UnpackedTarball_get_dir,xslt)/libexslt/.libs -lexslt \
916)
917endif
David Tardonab03e872012-08-15 07:20:13 +0200918
919endef
920
Michael Stahlc74af0d2011-04-01 20:49:35 +0000921endif # SYSTEM_LIBXSLT
922
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +0200923
Miklos Vajna0d3f1a52017-06-21 21:59:11 +0200924ifneq ($(SYSTEM_XMLSEC),)
925
926define gb_LinkTarget__use_xmlsec
927$(call gb_LinkTarget_add_defs,$(1),\
928 -DSYSTEM_XMLSEC \
929)
930$(call gb_LinkTarget_set_include,$(1),\
931 $$(INCLUDE) \
932 $(XMLSEC_CFLAGS) \
933)
934$(call gb_LinkTarget_add_libs,$(1),$(XMLSEC_LIBS))
935
936endef
937
938gb_ExternalProject__use_xmlsec:=
939
940else # !SYSTEM_XMLSEC
941
942$(eval $(call gb_Helper_register_packages_for_install,ooo,\
943 xmlsec \
944))
945
946define gb_LinkTarget__use_xmlsec
947
948endef
949
950endif # SYSTEM_XMLSEC
951
Michael Stahl49dde4c2014-02-11 19:42:28 +0100952ifneq ($(SYSTEM_LIBLANGTAG),)
Eike Rathkea774a482012-08-06 19:22:43 +0200953
954define gb_LinkTarget__use_liblangtag
955$(call gb_LinkTarget_set_include,$(1),\
956 $$(INCLUDE) \
957 $(LIBLANGTAG_CFLAGS) \
958)
959
960$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
961
962endef
963
David Tardonc2a119b2016-01-13 14:24:31 +0100964gb_ExternalProject__use_liblangtag :=
965
Eike Rathkea774a482012-08-06 19:22:43 +0200966else # !SYSTEM_LIBLANGTAG
967
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200968$(eval $(call gb_Helper_register_packages_for_install,ure,\
Michael Stahl01adcd82014-03-18 17:38:06 +0100969 liblangtag_data \
970))
971
David Tardon7d93bb82016-01-13 15:45:17 +0100972ifeq ($(COM),MSC)
973
Eike Rathkea774a482012-08-06 19:22:43 +0200974define gb_LinkTarget__use_liblangtag
Peter Foley782151a2012-11-11 16:02:36 -0500975$(call gb_LinkTarget_set_include,$(1),\
David Tardon34513502016-01-13 14:21:10 +0100976 $(LIBLANGTAG_CFLAGS) \
Peter Foley782151a2012-11-11 16:02:36 -0500977 $$(INCLUDE) \
978)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200979$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
980$(call gb_LinkTarget_use_external_project,$(1),langtag)
Eike Rathkea774a482012-08-06 19:22:43 +0200981
982endef
983
David Tardon7d93bb82016-01-13 15:45:17 +0100984else
985
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200986$(eval $(call gb_Helper_register_packages_for_install,ure,\
David Tardon7d93bb82016-01-13 15:45:17 +0100987 liblangtag \
988))
989
990define gb_LinkTarget__use_liblangtag
991$(call gb_LinkTarget_set_include,$(1),\
992 $(LIBLANGTAG_CFLAGS) \
993 $$(INCLUDE) \
994)
995$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
996$(call gb_LinkTarget_use_package,$(1),liblangtag)
997
998endef
999
1000endif # MSC
1001
David Tardonc2a119b2016-01-13 14:24:31 +01001002define gb_ExternalProject__use_liblangtag
1003$(call gb_ExternalProject_use_external_project,$(1),langtag)
1004
1005endef
1006
Eike Rathkea774a482012-08-06 19:22:43 +02001007endif # SYSTEM_LIBLANGTAG
1008
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +02001009
Matúš Kukandcae0502014-02-25 21:47:33 +01001010gb_ExternalProject__use_apr :=
1011
1012ifeq ($(WITH_WEBDAV),serf)
Matúš Kukan0b272532014-02-06 12:28:36 +01001013
1014define gb_LinkTarget__use_apr
1015$(call gb_LinkTarget_set_include,$(1),\
1016 $$(INCLUDE) \
1017 $(APR_CFLAGS) \
1018)
1019$(call gb_LinkTarget_add_libs,$(1),\
1020 $(APR_LIBS) \
Michael Stahl5cf22052014-06-05 13:35:14 +02001021 $(if $(filter $(OS),LINUX),-lpthread) \
1022 $(if $(filter $(OS),MACOSX),-liconv) \
Matúš Kukan0b272532014-02-06 12:28:36 +01001023)
1024
1025ifeq ($(SYSTEM_APR),)
1026$(call gb_LinkTarget_use_system_win32_libs,$(1),\
1027 mswsock \
1028 rpcrt4 \
1029 shell32 \
1030)
1031$(call gb_LinkTarget_add_defs,$(1),\
1032 -DAPR_DECLARE_STATIC \
1033 -DAPU_DECLARE_STATIC \
1034)
1035$(call gb_LinkTarget_use_external_project,$(1),apr_util)
1036endif
1037
1038endef
1039
1040define gb_ExternalProject__use_apr
1041ifeq ($(SYSTEM_APR),)
1042$(call gb_ExternalProject_use_external_project,$(1),apr_util)
1043endif
1044
1045endef
1046
1047define gb_LinkTarget__use_serf
1048$(call gb_LinkTarget_set_include,$(1),\
1049 $(SERF_CFLAGS) \
1050 $$(INCLUDE) \
1051)
1052$(call gb_LinkTarget_add_libs,$(1),\
1053 $(SERF_LIBS) \
1054)
1055
1056ifeq ($(SYSTEM_SERF),)
1057$(call gb_LinkTarget_use_external_project,$(1),serf)
1058endif
1059
1060endef
1061
Matúš Kukandcae0502014-02-25 21:47:33 +01001062else ifeq ($(WITH_WEBDAV),neon)
Eike Rathkea774a482012-08-06 19:22:43 +02001063
Michael Stahle3abec32014-02-11 15:57:18 +01001064ifneq ($(SYSTEM_NEON),)
Matúš Kukan464b4332012-01-15 02:12:49 +01001065
1066define gb_LinkTarget__use_neon
Matúš Kukan464b4332012-01-15 02:12:49 +01001067$(call gb_LinkTarget_add_defs,$(1),\
1068 -DNEON_VERSION=0x$(NEON_VERSION) \
David Tardonb74bf412013-08-12 09:39:59 +02001069 -DSYSTEM_NEON \
Matúš Kukan464b4332012-01-15 02:12:49 +01001070)
Matúš Kukan464b4332012-01-15 02:12:49 +01001071$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001072 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00001073 $(NEON_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001074)
1075
1076$(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
1077
1078endef
1079
1080else # !SYSTEM_NEON
1081
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02001082$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
Matúš Kukan464b4332012-01-15 02:12:49 +01001083 neon \
1084))
1085
1086define gb_LinkTarget__use_neon
Matúš Kukan7a030392012-10-29 23:29:37 +01001087$(call gb_LinkTarget_use_unpacked,$(1),neon)
Matúš Kukan464b4332012-01-15 02:12:49 +01001088$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001089 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001090 $$(INCLUDE) \
1091)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001092$(call gb_LinkTarget_use_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001093 neon \
1094)
1095
1096endef
1097
1098endif # SYSTEM_NEON
1099
Matúš Kukandcae0502014-02-25 21:47:33 +01001100endif # WITH_WEBDAV
Matúš Kukan464b4332012-01-15 02:12:49 +01001101
Michael Stahle3abec32014-02-11 15:57:18 +01001102ifneq ($(SYSTEM_REDLAND),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001103
1104define gb_LinkTarget__use_librdf
Michael Stahla88ef232011-04-13 16:11:41 +00001105$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +00001106 -DSYSTEM_REDLAND \
1107)
1108$(call gb_LinkTarget_set_include,$(1),\
1109 $$(INCLUDE) \
1110 $(REDLAND_CFLAGS) \
1111)
1112$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001113
Michael Stahlc74af0d2011-04-01 20:49:35 +00001114endef
1115
Peter Foley18bd1e72012-12-27 18:04:21 -05001116gb_LinkTarget__use_redland_headers:=
1117
1118gb_LinkTarget__use_raptor_headers:=
1119
1120gb_LinkTarget__use_rasqal_headers:=
1121
Michael Stahlc74af0d2011-04-01 20:49:35 +00001122else # !SYSTEM_REDLAND
1123
Peter Foley18bd1e72012-12-27 18:04:21 -05001124define gb_LinkTarget__use_redland_headers
1125$(call gb_LinkTarget_set_include,$(1),\
Michael Stahld719c012013-04-01 12:41:18 +02001126 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001127 $$(INCLUDE) \
1128)
1129
1130endef
1131
1132define gb_LinkTarget__use_raptor_headers
1133$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001134 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001135 $$(INCLUDE) \
1136)
1137
1138endef
1139
1140define gb_LinkTarget__use_rasqal_headers
1141$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001142 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001143 $$(INCLUDE) \
1144)
1145
1146endef
1147
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001148ifneq ($(OS),ANDROID)
1149
Michael Stahl5f9cda22013-11-01 15:43:47 +01001150ifeq ($(COM),MSC)
Michael Stahlae8e5792014-01-10 12:07:31 +01001151$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
David Tardon491dea02013-05-01 11:23:50 +02001152 raptor2 \
1153 rasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001154 rdf \
1155))
Michael Stahl5ae30d32014-03-13 19:32:13 +01001156else
1157$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1158 raptor \
1159 rasqal \
1160 redland \
1161))
Michael Stahl5f9cda22013-11-01 15:43:47 +01001162endif
Michael Stahlc74af0d2011-04-01 20:49:35 +00001163
1164define gb_LinkTarget__use_librdf
Michael Stahl831aaef2013-10-24 01:09:35 +02001165ifeq ($(COM),MSC)
1166$(call gb_LinkTarget_use_libraries,$(1),\
1167 raptor2 \
1168 rdf \
1169)
1170else
Caolán McNamara87114362016-12-19 21:17:48 +00001171$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Matúš Kukan85d1e392013-12-14 11:17:30 +01001172
Michael Stahl2793c542013-10-23 21:18:24 +02001173$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl2793c542013-10-23 21:18:24 +02001174 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
Caolán McNamara87114362016-12-19 21:17:48 +00001175 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1176 -L$(call gb_UnpackedTarball_get_dir,rasqal)/src/.libs -lrasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001177)
Michael Stahl831aaef2013-10-24 01:09:35 +02001178endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001179
Michael Stahlc74af0d2011-04-01 20:49:35 +00001180endef
1181
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001182else # ANDROID
1183
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001184define gb_LinkTarget__use_librdf
Caolán McNamara87114362016-12-19 21:17:48 +00001185$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001186
1187endef
1188
1189endif # ANDROID
1190
Michael Stahlc74af0d2011-04-01 20:49:35 +00001191endif # SYSTEM_REDLAND
1192
1193
Michael Stahlf7a6da22016-02-29 21:15:09 +01001194ifneq ($(USING_X11)$(ENABLE_CAIRO_CANVAS)$(ENABLE_HEADLESS),) # or
Michael Stahl32a617d2014-02-17 11:23:19 +01001195
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001196ifneq ($(SYSTEM_CAIRO),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001197
Michael Stahlc74af0d2011-04-01 20:49:35 +00001198define gb_LinkTarget__use_cairo
1199$(call gb_LinkTarget_set_include,$(1),\
1200 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001201 $(CAIRO_CFLAGS) \
1202)
David Tardon962771f2013-05-24 14:35:18 +02001203$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001204$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001205
Michael Stahlc74af0d2011-04-01 20:49:35 +00001206endef
1207
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001208else # !SYSTEM_CAIRO
Michael Stahlc74af0d2011-04-01 20:49:35 +00001209
Michael Stahl32a617d2014-02-17 11:23:19 +01001210$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1211 cairo \
1212 $(if $(filter $(OS),WNT),,pixman) \
1213))
1214
Michael Stahlc74af0d2011-04-01 20:49:35 +00001215define gb_LinkTarget__use_cairo
Michael Stahlde142202012-11-20 22:05:36 +01001216$(call gb_LinkTarget_use_package,$(1),cairo)
1217$(call gb_LinkTarget_use_package,$(1),pixman)
David Tardon962771f2013-05-24 14:35:18 +02001218$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001219$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001220 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1221 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001222 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001223)
Michael Stahld89f48b2013-10-23 21:27:05 +02001224$(call gb_LinkTarget_add_libs,$(1),\
1225 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001226 $(if $(filter-out MACOSX WNT,$(OS)), \
Michael Stahld89f48b2013-10-23 21:27:05 +02001227 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001228 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001229)
Caolán McNamara5bb76f62011-07-25 21:50:34 +01001230
Michael Stahlc74af0d2011-04-01 20:49:35 +00001231endef
1232
1233endif # SYSTEM_CAIRO
1234
Caolán McNamarafb7d4ba2015-11-16 13:40:22 +00001235else ifeq ($(OS),ANDROID)
1236
1237define gb_LinkTarget__use_cairo
1238$(call gb_LinkTarget_use_package,$(1),cairo)
1239$(call gb_LinkTarget_use_package,$(1),pixman)
1240$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1241$(call gb_LinkTarget_set_include,$(1),\
1242 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1243 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1244 $$(INCLUDE) \
1245)
1246$(call gb_LinkTarget_add_libs,$(1),\
1247 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1248 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
1249)
1250
1251endef
1252
Michael Stahl32a617d2014-02-17 11:23:19 +01001253endif # CAIRO
1254
Michael Stahl379f9782014-02-11 16:49:19 +01001255ifneq ($(SYSTEM_FREETYPE),)
David Tardon962771f2013-05-24 14:35:18 +02001256
1257define gb_LinkTarget__use_freetype_headers
Caolán McNamarab41ae462011-07-25 22:24:27 +01001258$(call gb_LinkTarget_set_include,$(1),\
1259 $$(INCLUDE) \
1260 $(FREETYPE_CFLAGS) \
1261)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001262
David Tardon962771f2013-05-24 14:35:18 +02001263endef
1264
Michael Stahle568d2a2013-09-30 14:10:22 +02001265gb_ExternalProject__use_freetype :=
1266
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001267else
David Tardon962771f2013-05-24 14:35:18 +02001268
1269define gb_LinkTarget__use_freetype_headers
Michael Stahlb242cee82013-10-24 12:08:50 +02001270$(call gb_LinkTarget_use_external_project,$(1),freetype)
David Tardon962771f2013-05-24 14:35:18 +02001271$(call gb_LinkTarget_set_include,$(1),\
David Tardone0603172017-02-02 13:31:13 +01001272 $(FREETYPE_CFLAGS) \
David Tardon962771f2013-05-24 14:35:18 +02001273 $$(INCLUDE) \
1274)
1275
David Tardon61695f12013-05-24 17:15:20 +02001276endef
1277
Michael Stahle568d2a2013-09-30 14:10:22 +02001278define gb_ExternalProject__use_freetype
Michael Stahlb242cee82013-10-24 12:08:50 +02001279$(call gb_ExternalProject_use_external_project,$(1),freetype)
Michael Stahle568d2a2013-09-30 14:10:22 +02001280
1281endef
1282
David Tardon962771f2013-05-24 14:35:18 +02001283endif # SYSTEM_FREETYPE
1284
David Tardone0603172017-02-02 13:31:13 +01001285define gb_LinkTarget__use_freetype
1286$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1287$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1288
1289endef
1290
Michael Stahl04ff5352014-02-11 16:21:04 +01001291ifneq ($(SYSTEM_FONTCONFIG),)
David Tardon4eb68422013-05-24 14:16:03 +02001292
Caolán McNamarab41ae462011-07-25 22:24:27 +01001293define gb_LinkTarget__use_fontconfig
1294$(call gb_LinkTarget_set_include,$(1),\
1295 $$(INCLUDE) \
1296 $(FONTCONFIG_CFLAGS) \
1297)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001298
Caolán McNamarab41ae462011-07-25 22:24:27 +01001299$(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1300
1301endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001302
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001303else
David Tardon4eb68422013-05-24 14:16:03 +02001304
David Tardon4eb68422013-05-24 14:16:03 +02001305define gb_LinkTarget__use_fontconfig
Michael Stahl76596b32013-10-24 11:01:41 +02001306$(call gb_LinkTarget_use_external_project,$(1),fontconfig)
David Tardon4eb68422013-05-24 14:16:03 +02001307$(call gb_LinkTarget_set_include,$(1),\
1308 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1309 $$(INCLUDE) \
1310)
1311
Caolán McNamara1ad871c2016-12-20 11:37:13 +00001312$(call gb_LinkTarget_add_libs,$(1),\
1313 -L$(call gb_UnpackedTarball_get_dir,fontconfig)/src/.libs -lfontconfig \
1314)
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001315
David Tardon4eb68422013-05-24 14:16:03 +02001316endef
1317
1318endif # SYSTEM_FONTCONFIG
1319
Michael Stahle3abec32014-02-11 15:57:18 +01001320ifneq ($(SYSTEM_GRAPHITE),)
Michael Stahl87e44332011-04-13 16:11:39 +00001321
Michael Stahl87e44332011-04-13 16:11:39 +00001322define gb_LinkTarget__use_graphite
Michael Stahl87e44332011-04-13 16:11:39 +00001323$(call gb_LinkTarget_set_include,$(1),\
1324 $$(INCLUDE) \
1325 $(GRAPHITE_CFLAGS) \
1326)
1327$(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001328
Michael Stahl87e44332011-04-13 16:11:39 +00001329endef
1330
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001331gb_ExternalProject__use_graphite:=
1332
Michael Stahle3abec32014-02-11 15:57:18 +01001333else # !SYSTEM_GRAPHITE
Michael Stahl87e44332011-04-13 16:11:39 +00001334
Michael Stahl87e44332011-04-13 16:11:39 +00001335define gb_LinkTarget__use_graphite
Matúš Kukan7a030392012-10-29 23:29:37 +01001336$(call gb_LinkTarget_use_unpacked,$(1),graphite)
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001337$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001338 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001339 $$(INCLUDE) \
1340)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001341$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001342 graphite \
Michael Stahl87e44332011-04-13 16:11:39 +00001343)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001344
Michael Stahl87e44332011-04-13 16:11:39 +00001345endef
1346
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001347define gb_ExternalProject__use_graphite
David Tardonb5c566f2016-11-03 17:23:56 +01001348$(call gb_ExternalProject_use_static_libraries,$(1),\
1349 graphite \
1350)
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001351
1352endef
Michael Stahl87e44332011-04-13 16:11:39 +00001353endif # SYSTEM_GRAPHITE
1354
Michael Stahl187194b2014-02-11 19:17:42 +01001355ifneq ($(SYSTEM_ICU),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001356
Peter Foleyb92a0d92012-12-25 17:39:43 -05001357gb_LinkTarget__use_icu_headers:=
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001358gb_ExternalProject__use_icu:=
Peter Foleyb92a0d92012-12-25 17:39:43 -05001359
Matúš Kukan6fad1752011-08-11 12:42:39 +02001360define gb_LinkTarget__use_icudata
1361$(call gb_LinkTarget_add_libs,$(1),-licudata)
1362
1363endef
David Tardon1a852392011-07-26 09:58:54 +02001364define gb_LinkTarget__use_icui18n
1365$(call gb_LinkTarget_add_libs,$(1),-licui18n)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001366
David Tardon1a852392011-07-26 09:58:54 +02001367endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001368define gb_LinkTarget__use_icuuc
1369$(call gb_LinkTarget_add_libs,$(1),-licuuc)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001370
Michael Stahlc74af0d2011-04-01 20:49:35 +00001371endef
1372
1373else # !SYSTEM_ICU
1374
Michael Stahl057613c2014-07-24 00:22:51 +02001375$(eval $(call gb_Helper_register_packages_for_install,ure, \
1376 icu_ure \
1377))
1378
Michael Stahle7592692014-03-14 11:23:52 +01001379$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1380 icu \
1381))
1382
Tor Lillqvist084db5f2012-09-24 10:37:25 +03001383ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001384gb_ICU_suffix:=lo
1385else
1386gb_ICU_suffix:=
1387endif
1388
Peter Foleyb92a0d92012-12-25 17:39:43 -05001389define gb_LinkTarget__use_icu_headers
Peter Foleyce9bf0f2013-03-23 12:32:31 -04001390$(call gb_LinkTarget_use_unpacked,$(1),icu)
Peter Foleyb92a0d92012-12-25 17:39:43 -05001391$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001392 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1393 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1394 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
Peter Foleyb92a0d92012-12-25 17:39:43 -05001395 $$(INCLUDE) \
1396)
1397
1398endef
1399
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001400define gb_ExternalProject__use_icu
1401$(call gb_ExternalProject_use_package,$(1),icu)
Fridrich Štrba851ca9c2013-01-25 10:29:59 +01001402
1403endef
1404
Peter Foleyf7452122012-11-04 08:46:44 -05001405# icudata and icui18n is called icudt and icuin when built with MSVC :-/
Michael Stahla92f80f2013-10-23 15:00:29 +02001406define gb_LinkTarget__use_icudata
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001407$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001408
1409ifeq ($(OS),WNT)
1410$(call gb_LinkTarget_add_libs,$(1),\
1411 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001412)
Michael Stahla92f80f2013-10-23 15:00:29 +02001413else
1414$(call gb_LinkTarget_add_libs,$(1),\
1415 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licudata$(gb_ICU_suffix) \
1416)
1417endif
Matúš Kukan6fad1752011-08-11 12:42:39 +02001418
1419endef
Michael Stahla92f80f2013-10-23 15:00:29 +02001420
1421define gb_LinkTarget__use_icui18n
1422$(call gb_LinkTarget_use_package,$(1),icu)
1423
1424ifeq ($(OS),WNT)
1425$(call gb_LinkTarget_add_libs,$(1),\
1426 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1427)
1428else
1429$(call gb_LinkTarget_add_libs,$(1),\
1430 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licui18n$(gb_ICU_suffix) \
1431)
1432endif
1433
1434endef
1435
Michael Stahlc74af0d2011-04-01 20:49:35 +00001436define gb_LinkTarget__use_icuuc
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001437$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001438
1439ifeq ($(OS),WNT)
1440$(call gb_LinkTarget_add_libs,$(1),\
1441 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001442)
Michael Stahla92f80f2013-10-23 15:00:29 +02001443else
1444$(call gb_LinkTarget_add_libs,$(1),\
1445 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licuuc$(gb_ICU_suffix) \
1446)
1447endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001448
Michael Stahlc74af0d2011-04-01 20:49:35 +00001449endef
1450
1451endif # SYSTEM_ICU
1452
Michael Stahle3abec32014-02-11 15:57:18 +01001453ifneq ($(SYSTEM_HARFBUZZ),)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001454
1455define gb_LinkTarget__use_harfbuzz
1456$(call gb_LinkTarget_set_include,$(1),\
1457 $$(INCLUDE) \
1458 $(HARFBUZZ_CFLAGS) \
1459)
1460$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1461
1462endef
1463
David Tardoncc96f0c2017-02-01 12:32:35 +01001464gb_ExternalProject__use_harfbuzz :=
1465
Michael Stahle3abec32014-02-11 15:57:18 +01001466else # SYSTEM_HARFBUZZ != TRUE
Khaled Hosny7e389f42013-04-20 13:00:56 +02001467
Khaled Hosny7e389f42013-04-20 13:00:56 +02001468define gb_LinkTarget__use_harfbuzz
Michael Stahl8db02752013-05-07 23:28:45 +02001469$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl2f6261f2013-09-19 19:28:36 +02001470 $(HARFBUZZ_CFLAGS) \
Michael Stahl8db02752013-05-07 23:28:45 +02001471 $$(INCLUDE) \
1472)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001473$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1474$(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001475
1476endef
1477
David Tardoncc96f0c2017-02-01 12:32:35 +01001478define gb_ExternalProject__use_harfbuzz
1479$(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1480
1481endef
1482
Khaled Hosny7e389f42013-04-20 13:00:56 +02001483endif # SYSTEM_HARFBUZZ
Michael Stahl4a8919f2011-04-18 11:13:57 +00001484
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001485ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomeze3f607e2013-04-11 10:24:25 +03001486
1487gb_ExternalProject__use_openssl:=
1488gb_LinkTarget__use_openssl_headers:=
1489gb_LinkTarget__use_openssl:=
1490
1491else # !DISABLE_OPENSSL
1492
Michael Stahle3abec32014-02-11 15:57:18 +01001493ifneq ($(SYSTEM_OPENSSL),)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001494
Peter Foley9ddba662012-12-28 11:19:06 -05001495gb_LinkTarget__use_openssl_headers:=
1496gb_ExternalProject__use_openssl:=
1497
Michael Stahl4a8919f2011-04-18 11:13:57 +00001498define gb_LinkTarget__use_openssl
1499$(call gb_LinkTarget_set_include,$(1),\
1500 $$(INCLUDE) \
1501 $(OPENSSL_CFLAGS) \
1502)
1503$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001504
Michael Stahl4a8919f2011-04-18 11:13:57 +00001505endef
1506
1507else # !SYSTEM_OPENSSL
1508
Michael Stahlf921e262014-03-13 19:36:48 +01001509$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1510 openssl \
1511))
1512
Peter Foley9ddba662012-12-28 11:19:06 -05001513define gb_ExternalProject__use_openssl
1514$(call gb_ExternalProject_use_package,$(1),openssl)
1515
1516endef
1517
1518define gb_LinkTarget__use_openssl_headers
Michael Stahlc7ca0712016-03-07 21:18:23 +01001519$(call gb_LinkTarget_use_external_project,$(1),openssl)
Peter Foley9ddba662012-12-28 11:19:06 -05001520$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001521 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
Peter Foley9ddba662012-12-28 11:19:06 -05001522 $$(INCLUDE) \
1523)
1524
1525endef
1526
Michael Stahl4a8919f2011-04-18 11:13:57 +00001527define gb_LinkTarget__use_openssl
Peter Foley9ddba662012-12-28 11:19:06 -05001528$(call gb_LinkTarget_use_package,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001529ifeq ($(OS),WNT)
Michael Stahl5b906622013-10-24 00:22:20 +02001530$(call gb_LinkTarget_add_libs,$(1),\
1531 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/ssleay32.lib \
1532 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/libeay32.lib \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001533)
1534else
Michael Stahl2f6261f2013-09-19 19:28:36 +02001535$(call gb_LinkTarget_add_libs,$(1),\
1536 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1537 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001538)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001539$(call gb_LinkTarget_use_external_project,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001540ifeq ($(OS),SOLARIS)
Michael Stahl80374352012-09-28 12:25:50 +02001541$(call gb_LinkTarget_add_libs,$(1),\
1542 -lnsl \
1543 -lsocket \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001544)
1545endif
1546endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001547
Michael Stahl4a8919f2011-04-18 11:13:57 +00001548endef
1549
1550endif # SYSTEM_OPENSSL
Andres Gomeze3f607e2013-04-11 10:24:25 +03001551endif # DISABLE_OPENSSL
Michael Stahl4a8919f2011-04-18 11:13:57 +00001552
Matúš Kukanc4560482011-07-28 01:03:23 +02001553
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001554ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomez48d49752013-04-11 10:32:54 +03001555
1556define gb_LinkTarget__use_gnutls
1557$(call gb_LinkTarget_set_include,$(1),\
1558 $$(INCLUDE) \
1559 $(GNUTLS_CFLAGS) \
1560)
1561
1562$(call gb_LinkTarget_add_defs,$(1),\
1563 -DDISABLE_OPENSSL \
1564)
1565
1566$(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1567
1568endef
1569
1570define gb_LinkTarget__use_libgcrypt
1571$(call gb_LinkTarget_set_include,$(1),\
1572 $$(INCLUDE) \
1573 $(LIBGCRYPT_CFLAGS) \
1574)
1575
1576$(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1577
1578endef
1579
1580else # !DISABLE_OPENSSL
1581
1582gb_LinkTarget__use_gnutls:=
1583gb_LinkTarget__use_libgcrypt:=
1584
1585endif # DISABLE_OPENSSL
1586
1587
Michael Stahle3abec32014-02-11 15:57:18 +01001588ifneq ($(SYSTEM_CDR),)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001589
1590define gb_LinkTarget__use_cdr
1591$(call gb_LinkTarget_set_include,$(1),\
1592 $$(INCLUDE) \
1593 $(CDR_CFLAGS) \
1594)
1595$(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1596
1597endef
1598
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001599else # !SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001600
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001601define gb_LinkTarget__use_cdr
David Tardonf16f3662013-05-24 13:48:03 +02001602$(call gb_LinkTarget_set_include,$(1),\
1603 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1604 $$(INCLUDE) \
1605)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001606$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001607 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001608)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001609$(call gb_LinkTarget_use_external_project,$(1),libcdr)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001610endef
1611
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001612endif # SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001613
1614
Michael Stahle3abec32014-02-11 15:57:18 +01001615ifneq ($(SYSTEM_EBOOK),)
David Tardon316be1b2013-11-09 15:52:36 +01001616
1617define gb_LinkTarget__use_ebook
1618$(call gb_LinkTarget_set_include,$(1),\
1619 $$(INCLUDE) \
1620 $(EBOOK_CFLAGS) \
1621)
1622$(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1623
1624endef
1625
1626gb_ExternalProject__use_ebook :=
1627
1628else # !SYSTEM_EBOOK
1629
1630define gb_LinkTarget__use_ebook
1631$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001632 -I${WORKDIR}/UnpackedTarball/libebook/inc \
David Tardon316be1b2013-11-09 15:52:36 +01001633 $$(INCLUDE) \
1634)
1635$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001636 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
David Tardon316be1b2013-11-09 15:52:36 +01001637)
1638$(call gb_LinkTarget_use_external_project,$(1),libebook)
1639
1640endef
1641
1642define gb_ExternalProject__use_ebook
1643$(call gb_ExternalProject_use_external_project,$(1),libebook)
1644
1645endef
1646
1647endif # SYSTEM_EBOOK
1648
1649
Michael Stahle3abec32014-02-11 15:57:18 +01001650ifneq ($(SYSTEM_ETONYEK),)
David Tardon08ca3e42013-10-24 16:46:49 +02001651
1652define gb_LinkTarget__use_etonyek
1653$(call gb_LinkTarget_set_include,$(1),\
1654 $$(INCLUDE) \
1655 $(ETONYEK_CFLAGS) \
1656)
1657$(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1658
1659endef
1660
1661gb_ExternalProject__use_etonyek :=
1662
1663else # !SYSTEM_ETONYEK
1664
David Tardon78deb812015-05-19 16:12:08 +02001665ifeq ($(COM),MSC)
1666
1667$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1668 etonyek \
1669))
1670
David Tardon08ca3e42013-10-24 16:46:49 +02001671define gb_LinkTarget__use_etonyek
1672$(call gb_LinkTarget_set_include,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001673 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1674 $$(INCLUDE) \
1675)
1676$(call gb_LinkTarget_use_libraries,$(1),\
1677 etonyek \
1678)
1679
1680endef
1681
1682else # !MSC
1683
1684$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1685 libetonyek \
1686))
1687
1688define gb_LinkTarget__use_etonyek
1689$(call gb_LinkTarget_use_package,$(1),libetonyek)
1690
1691$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001692 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
David Tardon78deb812015-05-19 16:12:08 +02001693 -DLIBETONYEK_VISIBILITY \
David Tardon08ca3e42013-10-24 16:46:49 +02001694 $$(INCLUDE) \
1695)
1696$(call gb_LinkTarget_add_libs,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001697 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
David Tardon08ca3e42013-10-24 16:46:49 +02001698)
1699$(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1700
1701endef
1702
1703define gb_ExternalProject__use_etonyek
1704$(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1705
1706endef
1707
David Tardon78deb812015-05-19 16:12:08 +02001708endif
1709
David Tardon08ca3e42013-10-24 16:46:49 +02001710endif # SYSTEM_ETONYEK
1711
1712
Michael Stahle3abec32014-02-11 15:57:18 +01001713ifneq ($(SYSTEM_FREEHAND),)
Fridrich Štrba67153d72013-10-31 12:42:50 +01001714
1715define gb_LinkTarget__use_freehand
1716$(call gb_LinkTarget_set_include,$(1),\
1717 $$(INCLUDE) \
1718 $(FREEHAND_CFLAGS) \
1719)
1720$(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1721
1722endef
1723
1724gb_ExternalProject__use_freehand :=
1725
1726else # !SYSTEM_FREEHAND
1727
1728define gb_LinkTarget__use_freehand
1729$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001730 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001731 $$(INCLUDE) \
1732)
1733$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001734 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001735)
1736$(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1737
1738endef
1739
1740define gb_ExternalProject__use_freehand
1741$(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1742
1743endef
1744
1745endif # SYSTEM_FREEHAND
1746
1747
Michael Stahle3abec32014-02-11 15:57:18 +01001748ifneq ($(SYSTEM_ODFGEN),)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001749
1750define gb_LinkTarget__use_odfgen
1751$(call gb_LinkTarget_set_include,$(1),\
1752 $$(INCLUDE) \
1753 $(ODFGEN_CFLAGS) \
1754)
1755$(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1756
1757endef
1758
1759else # !SYSTEM_ODFGEN
1760
David Tardon36c3f912014-05-24 09:13:33 +02001761ifeq ($(COM),MSC)
1762
1763$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1764 odfgen \
1765))
1766
Fridrich Štrba93848e12013-05-02 20:25:51 +02001767define gb_LinkTarget__use_odfgen
David Tardon0f8a90c2013-05-24 13:49:11 +02001768$(call gb_LinkTarget_set_include,$(1),\
1769 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1770 $$(INCLUDE) \
1771)
David Tardon36c3f912014-05-24 09:13:33 +02001772$(call gb_LinkTarget_use_libraries,$(1),\
1773 odfgen \
Fridrich Štrba93848e12013-05-02 20:25:51 +02001774)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001775
1776endef
1777
David Tardon36c3f912014-05-24 09:13:33 +02001778else # !MSC
1779
1780$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1781 libodfgen \
1782))
1783
1784define gb_LinkTarget__use_odfgen
1785$(call gb_LinkTarget_use_package,$(1),libodfgen)
1786
1787$(call gb_LinkTarget_set_include,$(1),\
1788 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001789 -DLIBODFGEN_VISIBILITY \
David Tardon36c3f912014-05-24 09:13:33 +02001790 $$(INCLUDE) \
1791)
1792$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001793 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
David Tardon36c3f912014-05-24 09:13:33 +02001794)
1795
1796endef
1797
1798endif
1799
Fridrich Štrba93848e12013-05-02 20:25:51 +02001800endif # SYSTEM_ODFGEN
1801
1802
David Tardonb421ce72014-05-24 08:39:54 +02001803ifneq ($(SYSTEM_REVENGE),)
1804
1805define gb_LinkTarget__use_revenge
1806$(call gb_LinkTarget_set_include,$(1),\
1807 $$(INCLUDE) \
1808 $(REVENGE_CFLAGS) \
1809)
1810$(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1811
1812endef
1813
David Tardon7c9c7792014-05-25 13:06:57 +02001814gb_ExternalProject__use_revenge :=
1815
David Tardonb421ce72014-05-24 08:39:54 +02001816else # !SYSTEM_REVENGE
1817
1818ifeq ($(COM),MSC)
1819
1820$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1821 revenge \
1822))
1823
1824define gb_LinkTarget__use_revenge
1825$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001826 $(REVENGE_CFLAGS) \
David Tardonb421ce72014-05-24 08:39:54 +02001827 $$(INCLUDE) \
1828)
1829$(call gb_LinkTarget_use_libraries,$(1),\
1830 revenge \
1831)
1832
1833endef
1834
David Tardon7c9c7792014-05-25 13:06:57 +02001835define gb_ExternalProject__use_revenge
1836$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1837
1838endef
1839
David Tardonb421ce72014-05-24 08:39:54 +02001840else # !MSC
1841
1842$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1843 librevenge \
1844))
1845
1846define gb_LinkTarget__use_revenge
1847$(call gb_LinkTarget_use_package,$(1),librevenge)
1848
1849$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001850 $(REVENGE_CFLAGS) \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001851 -DLIBREVENGE_VISIBILITY \
David Tardonb421ce72014-05-24 08:39:54 +02001852 $$(INCLUDE) \
1853)
1854$(call gb_LinkTarget_add_libs,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001855 $(REVENGE_LIBS) \
David Tardonb421ce72014-05-24 08:39:54 +02001856)
1857endef
1858
David Tardon7c9c7792014-05-25 13:06:57 +02001859define gb_ExternalProject__use_revenge
1860$(call gb_ExternalProject_use_package,$(1),librevenge)
1861
1862endef
1863
David Tardonb421ce72014-05-24 08:39:54 +02001864endif # MSC
1865
1866endif # SYSTEM_REVENGE
1867
1868
Michael Stahle3abec32014-02-11 15:57:18 +01001869ifneq ($(SYSTEM_ABW),)
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001870
1871define gb_LinkTarget__use_abw
1872$(call gb_LinkTarget_set_include,$(1),\
1873 $$(INCLUDE) \
1874 $(ABW_CFLAGS) \
1875)
1876$(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1877
1878endef
1879gb_ExternalProject__use_abw :=
1880
1881else # !SYSTEM_ABW
1882
1883define gb_LinkTarget__use_abw
1884$(call gb_LinkTarget_set_include,$(1),\
1885 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1886 $$(INCLUDE) \
1887)
1888$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001889 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001890)
1891$(call gb_LinkTarget_use_external_project,$(1),libabw)
1892
1893endef
1894define gb_ExternalProject__use_abw
1895$(call gb_ExternalProject_use_external_project,$(1),libabw)
1896
1897endef
1898
1899endif # SYSTEM_ABW
1900
1901
Michael Stahle3abec32014-02-11 15:57:18 +01001902ifneq ($(SYSTEM_MSPUB),)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001903
1904define gb_LinkTarget__use_mspub
1905$(call gb_LinkTarget_set_include,$(1),\
1906 $$(INCLUDE) \
1907 $(MSPUB_CFLAGS) \
1908)
1909$(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1910
1911endef
1912
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001913else # !SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001914
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001915define gb_LinkTarget__use_mspub
Michael Stahl35ac39e2013-05-16 13:09:11 +02001916$(call gb_LinkTarget_set_include,$(1),\
1917 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
1918 $$(INCLUDE) \
1919)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001920$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001921 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba093a5c92013-01-28 10:13:50 +01001922)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001923$(call gb_LinkTarget_use_external_project,$(1),libmspub)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001924
1925endef
1926
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001927endif # SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001928
1929
David Tardon516fb342014-06-26 21:26:11 +02001930ifneq ($(SYSTEM_PAGEMAKER),)
1931
1932define gb_LinkTarget__use_pagemaker
1933$(call gb_LinkTarget_set_include,$(1),\
1934 $$(INCLUDE) \
1935 $(PAGEMAKER_CFLAGS) \
1936)
1937$(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
1938
1939endef
1940gb_ExternalProject__use_pagemaker :=
1941
1942else # !SYSTEM_PAGEMAKER
1943
1944define gb_LinkTarget__use_pagemaker
1945$(call gb_LinkTarget_set_include,$(1),\
1946 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
1947 $$(INCLUDE) \
1948)
1949$(call gb_LinkTarget_add_libs,$(1),\
1950 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
1951)
1952$(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
1953
1954endef
1955define gb_ExternalProject__use_pagemaker
1956$(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
1957
1958endef
1959
1960endif # SYSTEM_PAGEMAKER
1961
1962
Aleksas Pantechovskisaaed6fe2016-06-22 19:02:29 +03001963ifneq ($(SYSTEM_ZMF),)
1964
1965define gb_LinkTarget__use_zmf
1966$(call gb_LinkTarget_set_include,$(1),\
1967 $$(INCLUDE) \
1968 $(ZMF_CFLAGS) \
1969)
1970$(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
1971
1972endef
1973gb_ExternalProject__use_zmf :=
1974
1975else # !SYSTEM_ZMF
1976
1977define gb_LinkTarget__use_zmf
1978$(call gb_LinkTarget_set_include,$(1),\
1979 -I$(call gb_UnpackedTarball_get_dir,libzmf)/inc \
1980 $$(INCLUDE) \
1981)
1982$(call gb_LinkTarget_add_libs,$(1),\
1983 $(call gb_UnpackedTarball_get_dir,libzmf)/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
1984)
1985$(call gb_LinkTarget_use_external_project,$(1),libzmf)
1986
1987endef
1988define gb_ExternalProject__use_zmf
1989$(call gb_ExternalProject_use_external_project,$(1),libzmf)
1990
1991endef
1992
1993endif # SYSTEM_ZMF
1994
1995
Michael Stahle3abec32014-02-11 15:57:18 +01001996ifneq ($(SYSTEM_VISIO),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001997
1998define gb_LinkTarget__use_visio
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001999$(call gb_LinkTarget_set_include,$(1),\
2000 $$(INCLUDE) \
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002001 $(VISIO_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002002)
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002003$(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002004
2005endef
2006
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002007else # !SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002008
Matúš Kukanc6a63952011-07-28 17:29:44 +02002009define gb_LinkTarget__use_visio
Michael Stahlacc7f612013-05-16 13:14:37 +02002010$(call gb_LinkTarget_set_include,$(1),\
2011 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
2012 $$(INCLUDE) \
2013)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002014$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02002015 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba64ab6112012-11-05 11:43:55 +01002016)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002017$(call gb_LinkTarget_use_external_project,$(1),libvisio)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002018
2019endef
2020
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002021endif # SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002022
2023
Michael Stahle3abec32014-02-11 15:57:18 +01002024ifneq ($(SYSTEM_WPD),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002025
2026define gb_LinkTarget__use_wpd
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002027$(call gb_LinkTarget_set_include,$(1),\
2028 $$(INCLUDE) \
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002029 $(WPD_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002030)
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002031$(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002032
2033endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002034gb_ExternalProject__use_wpd :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002035
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002036else # !SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002037
David Tardonc868a0c2014-12-23 18:37:54 +01002038ifeq ($(COM),MSC)
2039
2040$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2041 wpd \
2042))
2043
Fridrich Štrba4425db62012-09-24 13:17:45 +02002044define gb_LinkTarget__use_wpd
Michael Stahldb5c8c52013-05-16 13:28:14 +02002045$(call gb_LinkTarget_set_include,$(1),\
2046 $(WPD_CFLAGS) \
2047 $$(INCLUDE) \
2048)
David Tardonc868a0c2014-12-23 18:37:54 +01002049$(call gb_LinkTarget_use_libraries,$(1),\
2050 wpd \
Michael Stahl34295432012-09-24 22:25:28 +02002051)
Fridrich Štrba4425db62012-09-24 13:17:45 +02002052
2053endef
David Tardonc868a0c2014-12-23 18:37:54 +01002054
Michael Stahl2b7536a2012-10-05 21:17:25 +02002055define gb_ExternalProject__use_wpd
David Tardonc868a0c2014-12-23 18:37:54 +01002056$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002057
2058endef
Fridrich Štrba4425db62012-09-24 13:17:45 +02002059
David Tardonc868a0c2014-12-23 18:37:54 +01002060else # !MSC
2061
2062$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2063 libwpd \
2064))
2065
2066define gb_LinkTarget__use_wpd
2067$(call gb_LinkTarget_use_package,$(1),libwpd)
2068
2069$(call gb_LinkTarget_set_include,$(1),\
2070 $(WPD_CFLAGS) \
2071 $$(INCLUDE) \
2072)
2073$(call gb_LinkTarget_add_libs,$(1),\
2074 $(WPD_LIBS) \
2075)
2076
2077endef
2078
2079define gb_ExternalProject__use_wpd
2080$(call gb_ExternalProject_use_package,$(1),libwpd)
2081
2082endef
2083
2084endif # MSC
2085
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002086endif # SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002087
2088
Michael Stahle3abec32014-02-11 15:57:18 +01002089ifneq ($(SYSTEM_WPG),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002090
2091define gb_LinkTarget__use_wpg
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002092$(call gb_LinkTarget_set_include,$(1),\
2093 $$(INCLUDE) \
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002094 $(WPG_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002095)
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002096$(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002097
2098endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002099gb_ExternalProject__use_wpg :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002100
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002101else # !SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002102
David Tardonc868a0c2014-12-23 18:37:54 +01002103ifeq ($(COM),MSC)
2104
2105$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2106 wpg \
2107))
2108
Matúš Kukanc6a63952011-07-28 17:29:44 +02002109define gb_LinkTarget__use_wpg
David Tardonc51a2542013-05-24 14:53:37 +02002110$(call gb_LinkTarget_set_include,$(1),\
2111 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2112 $$(INCLUDE) \
2113)
David Tardonc868a0c2014-12-23 18:37:54 +01002114$(call gb_LinkTarget_use_libraries,$(1),\
2115 wpg \
Michael Stahl53b7bdc2012-10-05 17:19:47 +02002116)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002117
2118endef
David Tardonc868a0c2014-12-23 18:37:54 +01002119
2120else # !MSC
2121
2122$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2123 libwpg \
2124))
2125
2126define gb_LinkTarget__use_wpg
2127$(call gb_LinkTarget_use_package,$(1),libwpg)
2128
2129$(call gb_LinkTarget_set_include,$(1),\
2130 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2131 $$(INCLUDE) \
2132)
2133$(call gb_LinkTarget_add_libs,$(1),\
2134 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2135)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002136
2137endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002138
David Tardonc868a0c2014-12-23 18:37:54 +01002139endif # MSC
2140
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002141endif # SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002142
2143
Michael Stahle3abec32014-02-11 15:57:18 +01002144ifneq ($(SYSTEM_WPS),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002145
2146define gb_LinkTarget__use_wps
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002147$(call gb_LinkTarget_set_include,$(1),\
2148 $$(INCLUDE) \
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002149 $(WPS_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002150)
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002151$(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002152
2153endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002154gb_ExternalProject__use_wps :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002155
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002156else # !SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002157
David Tardonf85d10f2014-05-30 15:35:48 +02002158ifeq ($(COM),MSC)
2159
2160$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2161 wps \
2162))
2163
Matúš Kukanc6a63952011-07-28 17:29:44 +02002164define gb_LinkTarget__use_wps
David Tardon6f9d8212013-05-24 14:58:31 +02002165$(call gb_LinkTarget_set_include,$(1),\
2166 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2167 $$(INCLUDE) \
2168)
David Tardonf85d10f2014-05-30 15:35:48 +02002169
2170$(call gb_LinkTarget_use_libraries,$(1),\
2171 wps \
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02002172)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002173
2174endef
David Tardonf85d10f2014-05-30 15:35:48 +02002175
2176else # !MSC
2177
2178$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2179 libwps \
2180))
2181
2182define gb_LinkTarget__use_wps
2183$(call gb_LinkTarget_use_package,$(1),libwps)
2184
2185$(call gb_LinkTarget_set_include,$(1),\
2186 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2187 $$(INCLUDE) \
2188)
2189$(call gb_LinkTarget_add_libs,$(1),\
osnolaf9568332015-05-18 10:21:10 +02002190 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
David Tardonf85d10f2014-05-30 15:35:48 +02002191)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002192
2193endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002194
David Tardonf85d10f2014-05-30 15:35:48 +02002195endif # MSC
2196
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002197endif # SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002198
2199
Michael Stahle3abec32014-02-11 15:57:18 +01002200ifneq ($(SYSTEM_MWAW),)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002201
2202define gb_LinkTarget__use_mwaw
2203$(call gb_LinkTarget_set_include,$(1),\
2204 $$(INCLUDE) \
2205 $(MWAW_CFLAGS) \
2206)
2207$(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2208
2209endef
2210
2211else # !SYSTEM_MWAW
2212
David Tardon79211c12014-05-30 13:55:20 +02002213ifeq ($(COM),MSC)
2214
2215$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2216 mwaw \
2217))
2218
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002219define gb_LinkTarget__use_mwaw
Michael Stahlff718952013-05-16 13:11:36 +02002220$(call gb_LinkTarget_set_include,$(1),\
2221 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2222 $$(INCLUDE) \
2223)
David Tardon79211c12014-05-30 13:55:20 +02002224
2225$(call gb_LinkTarget_use_libraries,$(1),\
2226 mwaw \
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002227)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002228
2229endef
2230
David Tardon79211c12014-05-30 13:55:20 +02002231else # !MSC
2232
2233$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2234 libmwaw \
2235))
2236
2237define gb_LinkTarget__use_mwaw
2238$(call gb_LinkTarget_use_package,$(1),libmwaw)
2239
2240$(call gb_LinkTarget_set_include,$(1),\
2241 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2242 $$(INCLUDE) \
2243)
2244$(call gb_LinkTarget_add_libs,$(1),\
2245 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2246)
2247
2248endef
2249
2250endif # MSC
2251
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002252endif # SYSTEM_MWAW
2253
osnola1faae1f2016-08-10 12:43:56 +02002254ifneq ($(SYSTEM_STAROFFICE),)
2255
2256define gb_LinkTarget__use_staroffice
2257$(call gb_LinkTarget_set_include,$(1),\
2258 $$(INCLUDE) \
2259 $(STAROFFICE_CFLAGS) \
2260)
2261$(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2262
2263endef
2264
2265else # !SYSTEM_STAROFFICE
2266
2267ifeq ($(COM),MSC)
2268
2269$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2270 staroffice \
2271))
2272
2273define gb_LinkTarget__use_staroffice
2274$(call gb_LinkTarget_set_include,$(1),\
2275 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2276 $$(INCLUDE) \
2277)
2278
2279$(call gb_LinkTarget_use_libraries,$(1),\
2280 staroffice \
2281)
2282
2283endef
2284
2285else # !MSC
2286
2287$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2288 libstaroffice \
2289))
2290
2291define gb_LinkTarget__use_staroffice
2292$(call gb_LinkTarget_use_package,$(1),libstaroffice)
2293
2294$(call gb_LinkTarget_set_include,$(1),\
2295 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2296 $$(INCLUDE) \
2297)
2298$(call gb_LinkTarget_add_libs,$(1),\
2299 -L$(call gb_UnpackedTarball_get_dir,libstaroffice)/src/lib/.libs -lstaroffice-0.0 \
2300)
2301
2302endef
2303
2304endif # MSC
2305
2306endif # SYSTEM_STAROFFICE
2307
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002308
Michael Stahle3abec32014-02-11 15:57:18 +01002309ifneq ($(SYSTEM_LCMS2),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002310
2311define gb_LinkTarget__use_lcms2
2312$(call gb_LinkTarget_set_include,$(1),\
2313 $$(INCLUDE) \
Peter Foleyf7452122012-11-04 08:46:44 -05002314 $(LCMS2_CFLAGS) \
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002315)
2316$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2317
2318endef
2319
Peter Foley8905c0e2012-11-08 21:00:30 -05002320gb_ExternalProject__use_lcms2 :=
2321
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002322else # !SYSTEM_LCMS2
2323
Michael Stahl32a617d2014-02-17 11:23:19 +01002324$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2325 lcms2 \
2326))
2327
Peter Foley8905c0e2012-11-08 21:00:30 -05002328define gb_ExternalProject__use_lcms2
2329$(call gb_ExternalProject_use_package,$(1),lcms2)
2330
2331endef
2332
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002333ifeq ($(OS),ANDROID)
2334
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002335define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002336$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002337$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002338 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002339 $$(INCLUDE) \
2340)
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002341
2342endef
2343
2344else
2345
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002346define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002347$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002348$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002349 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002350 $$(INCLUDE) \
2351)
Michael Stahl25f65f22013-10-23 22:04:36 +02002352$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002353
2354endef
2355
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002356endif # ANDROID
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002357endif # SYSTEM_LCMS2
2358
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002359ifneq ($(ENABLE_LPSOLVE),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002360
Michael Stahlab586f12014-02-11 19:25:30 +01002361ifneq ($(SYSTEM_LPSOLVE),)
Matúš Kukanc4560482011-07-28 01:03:23 +02002362
Peter Foley085346f2012-11-03 19:19:30 -04002363define gb_LinkTarget__use_lpsolve
Matúš Kukanc4560482011-07-28 01:03:23 +02002364$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
Peter Foley085346f2012-11-03 19:19:30 -04002365$(call gb_LinkTarget_add_defs,$(1),\
2366 -DSYSTEM_LPSOLVE \
Peter Foley29d5e292012-11-07 18:18:08 -05002367)
Matúš Kukanc4560482011-07-28 01:03:23 +02002368
2369endef
2370
2371else # !SYSTEM_LPSOLVE
2372
Peter Foley085346f2012-11-03 19:19:30 -04002373define gb_LinkTarget__use_lpsolve
Michael Stahlf4732872016-12-09 17:23:11 +01002374$(call gb_LinkTarget_use_external_project,$(1),lpsolve)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002375ifeq ($(COM),MSC)
2376$(call gb_LinkTarget_add_libs,$(1),\
2377 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2378)
2379else
Michael Stahlb177b302013-10-23 21:33:51 +02002380$(call gb_LinkTarget_add_libs,$(1),\
2381 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
Matúš Kukanc4560482011-07-28 01:03:23 +02002382)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002383endif
Peter Foley085346f2012-11-03 19:19:30 -04002384$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002385 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
Peter Foley085346f2012-11-03 19:19:30 -04002386 $$(INCLUDE) \
2387)
Matúš Kukanc4560482011-07-28 01:03:23 +02002388
2389endef
2390
Matúš Kukan083fa762014-02-27 17:08:09 +01002391$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2392 lpsolve \
2393))
2394
Matúš Kukanc4560482011-07-28 01:03:23 +02002395endif # SYSTEM_LPSOLVE
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002396
Matúš Kukan077bdc72014-03-27 14:51:46 +01002397else
2398
2399gb_LinkTarget__use_lpsolve :=
2400
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002401endif # ENABLE_LPSOLVE
2402
2403ifneq ($(ENABLE_COINMP),)
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002404
Rene Engelhardd85f5132014-08-06 00:03:21 +02002405ifneq ($(SYSTEM_COINMP),TRUE)
2406
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002407define gb_LinkTarget__use_coinmp
2408$(call gb_LinkTarget_use_package,$(1),coinmp)
2409ifeq ($(COM),MSC)
2410$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovsky152e2a22014-11-30 18:26:01 +01002411 $(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 +01002412)
2413else
2414$(call gb_LinkTarget_add_libs,$(1),\
2415 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2416 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2417 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2418 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2419 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2420 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2421 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2422)
2423endif
2424$(call gb_LinkTarget_set_include,$(1),\
2425 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
Caolán McNamara67b4b342014-06-06 14:32:09 +01002426 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002427 $$(INCLUDE) \
2428)
2429
2430endef
2431
2432$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2433 coinmp \
2434))
2435
Rene Engelhardd85f5132014-08-06 00:03:21 +02002436else # SYSTEM_COINMP
2437
2438define gb_LinkTarget__use_coinmp
2439$(call gb_LinkTarget_set_include,$(1),\
2440 $$(INCLUDE) \
2441 $(COINMP_CFLAGS) \
2442)
2443$(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2444
2445endef
2446
2447endif
2448
Matúš Kukan077bdc72014-03-27 14:51:46 +01002449else
2450
2451gb_LinkTarget__use_coinmp :=
2452
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002453endif # ENABLE_COINMP
Matúš Kukanc4560482011-07-28 01:03:23 +02002454
Michael Stahl9ec0e6d2015-11-27 23:54:40 +01002455ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2456
2457define gb_LinkTarget__use_mDNSResponder
2458$(call gb_LinkTarget_set_include,$(1),\
2459 -I$(call gb_UnpackedTarball_get_dir,mDNSResponder)/mDNSShared \
2460 $$(INCLUDE) \
2461)
2462$(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2463endef
2464
2465endif # MDNSRESPONDER
2466
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002467ifeq ($(ENABLE_GIO),TRUE)
Matúš Kukanc4560482011-07-28 01:03:23 +02002468
Matúš Kukan464b4332012-01-15 02:12:49 +01002469define gb_LinkTarget__use_gio
2470$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01002471 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00002472 $(GIO_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01002473)
2474
2475$(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2476
2477endef
2478
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002479else # ENABLE_GIO
2480
2481define gb_LinkTarget__use_gio
Caolán McNamara1e98bb42012-11-06 20:09:57 +00002482
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002483endef
2484
2485endif # ENABLE_GIO
2486
Siqid0419802013-07-24 11:16:31 +02002487ifeq ($(ENABLE_AVAHI),TRUE)
2488
2489define gb_LinkTarget__use_avahi
2490$(call gb_LinkTarget_set_include,$(1),\
2491 $$(INCLUDE) \
2492 $(AVAHI_CFLAGS) \
2493)
2494
2495$(call gb_LinkTarget_add_defs,$(1),\
2496 -DENABLE_AVAHI \
2497)
2498
2499$(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2500
2501endef
2502
2503else # ENABLE_AVAHI
2504
David Tardon9ce38ef2013-11-05 07:03:08 +01002505gb_LinkTarget__use_avahi :=
Siqid0419802013-07-24 11:16:31 +02002506
2507endif # ENABLE_AVAHI
2508
2509
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002510define gb_LinkTarget__use_gtk
2511$(call gb_LinkTarget_set_include,$(1),\
2512 $$(INCLUDE) \
2513 $(GTK_CFLAGS) \
2514)
2515
2516$(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
2517
David Tardonadb11052011-12-01 13:39:09 +01002518ifeq ($(ENABLE_GTK_PRINT),TRUE)
2519
2520$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
2521
2522$(call gb_LinkTarget_set_include,$(1),\
2523 $$(INCLUDE) \
2524 $(GTK_PRINT_CFLAGS) \
2525)
2526
2527$(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
2528
2529endif
2530
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002531endef
Michael Stahl4a8919f2011-04-18 11:13:57 +00002532
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002533define gb_LinkTarget__use_gthread
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002534$(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002535endef
2536
Caolán McNamara68ffb332012-09-14 11:31:50 +01002537ifeq ($(ENABLE_CUPS),TRUE)
2538
2539define gb_LinkTarget__use_cups
2540$(call gb_LinkTarget_add_defs,$(1),\
2541 -DENABLE_CUPS \
2542)
2543
2544$(call gb_LinkTarget_add_libs,$(1),\
2545 -lcups \
2546)
2547
2548endef
2549
2550else # ENABLE_CUPS
2551
2552define gb_LinkTarget__use_cups
2553
2554endef
2555
2556endif # ENABLE_DBUS
David Tardon1b717ce2011-11-02 13:00:48 +01002557
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002558ifeq ($(ENABLE_DBUS),TRUE)
David Tardon1b717ce2011-11-02 13:00:48 +01002559
2560define gb_LinkTarget__use_dbus
2561$(call gb_LinkTarget_set_include,$(1),\
2562 $$(INCLUDE) \
2563 $(DBUS_CFLAGS) \
2564)
2565
David Tardon1b717ce2011-11-02 13:00:48 +01002566$(call gb_LinkTarget_add_libs,$(1),\
2567 $(DBUS_LIBS) \
2568)
2569
2570endef
2571
2572else # ENABLE_DBUS
2573
2574define gb_LinkTarget__use_dbus
2575
2576endef
2577
2578endif # ENABLE_DBUS
2579
2580
Michael Stahle3abec32014-02-11 15:57:18 +01002581ifneq ($(SYSTEM_LIBPNG),)
David Tardon6df9c472011-09-15 14:44:34 +02002582
2583define gb_LinkTarget__use_png
2584$(call gb_LinkTarget_set_include,$(1),\
2585 $$(INCLUDE) \
2586 $(LIBPNG_CFLAGS) \
2587)
2588
2589$(call gb_LinkTarget_add_libs,$(1),\
2590 $(LIBPNG_LIBS) \
2591)
2592
2593endef
2594
David Tardon5955e7b2016-11-03 13:58:29 +01002595gb_ExternalProject__use_png :=
2596
David Tardon6df9c472011-09-15 14:44:34 +02002597else # !SYSTEM_LIBPNG
2598
David Tardon6df9c472011-09-15 14:44:34 +02002599define gb_LinkTarget__use_png
Michael Stahl416b3212013-05-08 17:22:22 +02002600$(call gb_LinkTarget_set_include,$(1),\
2601 $(LIBPNG_CFLAGS) \
2602 $$(INCLUDE) \
2603)
Matúš Kukanf96d58b2012-09-08 18:13:20 +02002604$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardon6df9c472011-09-15 14:44:34 +02002605 png \
2606)
Michael Stahl398ce442012-09-28 21:47:29 +02002607$(call gb_LinkTarget__use_zlib,$(1))
David Tardon6df9c472011-09-15 14:44:34 +02002608
2609endef
2610
David Tardon5955e7b2016-11-03 13:58:29 +01002611define gb_ExternalProject__use_png
2612$(call gb_ExternalProject_use_static_libraries,$(1),\
2613 png \
2614)
2615
2616endef
2617
David Tardon6df9c472011-09-15 14:44:34 +02002618endif # !SYSTEM_LIBPNG
2619
Michael Stahl50471a82011-12-06 19:17:52 +01002620
Michael Stahle3abec32014-02-11 15:57:18 +01002621ifneq ($(SYSTEM_CURL),)
Michael Stahl50471a82011-12-06 19:17:52 +01002622
2623define gb_LinkTarget__use_curl
Cédric Bosdonnat89361fa2014-07-16 17:02:01 +02002624$(call gb_LinkTarget_add_defs,$(1),\
2625 -DSYSTEM_CURL \
2626)
Michael Stahl50471a82011-12-06 19:17:52 +01002627$(call gb_LinkTarget_set_include,$(1),\
2628 $$(INCLUDE) \
2629 $(CURL_CFLAGS) \
2630)
2631$(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2632
2633endef
2634
2635else # !SYSTEM_CURL
2636
Michael Stahl32a617d2014-02-17 11:23:19 +01002637$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2638 curl \
2639))
2640
Michael Stahl50471a82011-12-06 19:17:52 +01002641define gb_LinkTarget__use_curl
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002642$(call gb_LinkTarget_use_package,$(1),curl)
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002643$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002644 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002645 $$(INCLUDE) \
2646)
Michael Stahl936a1a92013-10-23 22:37:11 +02002647
2648ifeq ($(COM),MSC)
Michael Stahl714b93b2013-10-24 00:32:04 +02002649$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl548da052014-06-02 01:35:41 +02002650 $(call gb_UnpackedTarball_get_dir,curl)/lib/$(if $(MSVC_USE_DEBUG_RUNTIME),debug-dll,release-dll)/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),d)_imp.lib \
Michael Stahl50471a82011-12-06 19:17:52 +01002651)
Michael Stahl936a1a92013-10-23 22:37:11 +02002652else
2653$(call gb_LinkTarget_add_libs,$(1),\
2654 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2655)
2656endif
Michael Stahl50471a82011-12-06 19:17:52 +01002657
2658endef
2659
2660endif # SYSTEM_CURL
2661
Stephan Bergmann49313b02012-11-27 15:35:02 +01002662ifeq ($(ENABLE_VALGRIND),TRUE)
David Tardon3446cda2011-12-23 12:21:19 +01002663
2664define gb_LinkTarget__use_valgrind
2665$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmann49313b02012-11-27 15:35:02 +01002666 -DHAVE_VALGRIND_HEADERS \
David Tardon3446cda2011-12-23 12:21:19 +01002667)
2668
2669$(call gb_LinkTarget_set_include,$(1),\
2670 $$(INCLUDE) \
2671 $(VALGRIND_CFLAGS) \
2672)
2673
2674endef
2675
Stephan Bergmann49313b02012-11-27 15:35:02 +01002676else # !ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002677
2678define gb_LinkTarget__use_valgrind
2679
2680endef
2681
Stephan Bergmann49313b02012-11-27 15:35:02 +01002682endif # ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002683
Michael Stahl32db4992014-02-11 19:35:22 +01002684ifneq ($(SYSTEM_POPPLER),)
David Tardondba2d322012-02-18 18:54:35 +01002685
2686define gb_LinkTarget__use_poppler
David Tardondba2d322012-02-18 18:54:35 +01002687$(call gb_LinkTarget_set_include,$(1),\
2688 $(POPPLER_CFLAGS) \
2689 $$(INCLUDE) \
2690)
2691
2692$(call gb_LinkTarget_add_libs,$(1),\
2693 $(POPPLER_LIBS) \
2694)
2695
2696endef
2697
2698else # !SYSTEM_POPPLER
2699
David Tardondba2d322012-02-18 18:54:35 +01002700define gb_LinkTarget__use_poppler
David Tardoncad68c62015-09-29 18:09:16 +02002701$(call gb_LinkTarget_use_external_project,$(1),poppler,full)
Peter Foleyfb1d11d2013-02-17 09:26:01 -05002702
David Tardon548b61a2012-02-21 06:58:02 +01002703$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02002704 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2705 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2706 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
David Tardon548b61a2012-02-21 06:58:02 +01002707 $$(INCLUDE) \
David Tardondba2d322012-02-18 18:54:35 +01002708)
2709
Michael Stahl2f6261f2013-09-19 19:28:36 +02002710$(call gb_LinkTarget_add_libs,$(1),\
2711 $(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
2712 $(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
2713 $(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
David Tardon548b61a2012-02-21 06:58:02 +01002714)
2715
Michael Stahl43532a02016-11-03 15:58:08 +01002716$(call gb_LinkTarget_use_external,$(1),jpeg)
2717
David Tardon548b61a2012-02-21 06:58:02 +01002718ifeq ($(OS),MACOSX)
Michael Stahl967986b2012-09-28 00:54:49 +02002719$(call gb_LinkTarget_add_libs,$(1),\
2720 -lobjc \
David Tardon548b61a2012-02-21 06:58:02 +01002721)
Caolán McNamara0d5cc8c2014-08-30 15:12:53 +01002722else ifeq ($(OS),LINUX)
2723$(call gb_LinkTarget_add_libs,$(1),\
2724 -pthread \
2725)
David Tardon548b61a2012-02-21 06:58:02 +01002726else ifeq ($(OS),WNT)
Michael Stahldc397aae2012-09-28 15:31:46 +02002727$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon548b61a2012-02-21 06:58:02 +01002728 advapi32 \
2729 gdi32 \
2730)
2731endif
2732
David Tardondba2d322012-02-18 18:54:35 +01002733endef
2734
2735endif # SYSTEM_POPPLER
2736
David Tardon3446cda2011-12-23 12:21:19 +01002737
Michael Stahl46648152014-02-11 16:33:18 +01002738ifneq ($(SYSTEM_CLUCENE),)
David Tardon22c60cb2012-04-07 15:50:47 +02002739
2740define gb_LinkTarget__use_clucene
2741$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002742 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002743)
2744
2745$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002746 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002747 $$(INCLUDE) \
2748)
2749
2750$(call gb_LinkTarget_add_libs,$(1),\
2751 $(CLUCENE_LIBS) \
2752)
2753
2754endef
2755
2756else # !SYSTEM_CLUCENE
2757
2758define gb_LinkTarget__use_clucene
Michael Stahl28cde0c2013-05-07 23:47:27 +02002759$(call gb_LinkTarget_set_include,$(1),\
2760 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2761 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2762 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2763 $$(INCLUDE) \
2764)
2765
Michael Stahlc923f7d2012-04-07 23:22:08 +02002766$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon22c60cb2012-04-07 15:50:47 +02002767 clucene \
2768)
2769
2770endef
2771
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02002772$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
David Tardon22c60cb2012-04-07 15:50:47 +02002773 clucene \
2774))
2775
2776endif # SYSTEM_CLUCENE
2777
Peter Foley64402842011-12-22 16:34:35 -05002778define gb_LinkTarget__use_gobject
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002779$(call gb_LinkTarget_add_libs,$(1),\
2780 $(GOBJECT_LIBS) \
2781)
2782
2783$(call gb_LinkTarget_set_include,$(1),\
2784 $$(INCLUDE) \
2785 $(GOBJECT_CFLAGS) \
2786)
Peter Foley64402842011-12-22 16:34:35 -05002787endef
2788
Michael Stahl5866b332014-02-11 18:56:33 +01002789ifneq ($(SYSTEM_HSQLDB),)
David Tardon579f52d2012-03-27 16:36:31 +02002790
2791define gb_LinkTarget__use_hsqldb
2792
2793$(call gb_LinkTarget_add_defs,$(1),\
2794 -DSYSTEM_HSQLDB \
2795 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2796)
2797
2798endef
2799
2800else # !SYSTEM_HSQLDB
2801
2802define gb_LinkTarget__use_hsqldb
2803
2804endef
2805
2806endif # SYSTEM_HSQLDB
2807
David Tardon8bc7afb2012-04-05 10:53:08 +02002808
Michael Stahl5378dea2014-02-11 19:11:47 +01002809ifneq ($(SYSTEM_OPENLDAP),)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002810
2811define gb_LinkTarget__use_openldap
2812
2813$(call gb_LinkTarget_add_libs,$(1),\
2814 -lldap \
2815 -llber \
2816)
2817
2818endef
2819
Michael Stahl2f6261f2013-09-19 19:28:36 +02002820gb_ExternalProject__use_openldap :=
2821
Michael Stahl5378dea2014-02-11 19:11:47 +01002822else # !SYSTEM_OPENLDAP
Michael Stahle0ee0d42012-07-16 19:00:07 +02002823
Michael Stahle0ee0d42012-07-16 19:00:07 +02002824define gb_LinkTarget__use_openldap
Matúš Kukan7a030392012-10-29 23:29:37 +01002825$(call gb_LinkTarget_use_unpacked,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002826$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002827 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002828 $$(INCLUDE) \
2829)
Stephan Bergmann6b4c4352015-10-09 09:21:48 +02002830$(call gb_LinkTarget_use_external_project,$(1),openldap,full)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002831$(call gb_LinkTarget_add_libs,$(1), \
2832 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2833 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002834)
2835
2836endef
2837
Michael Stahl2f6261f2013-09-19 19:28:36 +02002838define gb_ExternalProject__use_openldap
2839$(call gb_ExternalProject_use_external_project,$(1),openldap)
2840
2841endef
2842
Michael Stahle0ee0d42012-07-16 19:00:07 +02002843endif # SYSTEM_OPENLDAP
2844
Wastack45f42682016-07-28 17:16:19 +02002845ifneq ($(SYSTEM_LIBTOMMATH),)
2846
2847define gb_LinkTarget__use_libtommath
2848$(call gb_LinkTarget_set_include,$(1),\
2849 $(LIBTOMMATH_CFLAGS) \
2850 $$(INCLUDE) \
2851)
2852$(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
2853
2854endef
2855
2856else # !SYSTEM_LIBTOMMATH
2857define gb_LinkTarget__use_libtommath
2858$(call gb_LinkTarget_set_include,$(1),\
2859 -I${WORKDIR}/UnpackedTarball/libtommath \
2860 $$(INCLUDE) \
2861)
2862$(call gb_LinkTarget_add_libs,$(1),\
2863 $(call gb_UnpackedTarball_get_dir,libtommath)/libtommath$(gb_StaticLibrary_PLAINEXT) \
2864)
2865$(call gb_LinkTarget_use_external_project,$(1),libtommath)
2866
2867endef
2868
2869endif # SYSTEM_LIBTOMMATH
2870
2871define gb_ExternalProject__use_libtommath
2872$(call gb_ExternalProject_use_external_project,$(1),libtommath)
2873
2874endef
Michael Stahle0ee0d42012-07-16 19:00:07 +02002875
Javier Fernandezf53228c2013-05-10 18:21:30 +00002876ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2877
Michael Stahl23647592014-02-11 19:04:20 +01002878ifneq ($(SYSTEM_FIREBIRD),)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002879
Rene Engelhard0b68d702013-07-16 21:50:14 +02002880define gb_LinkTarget__use_libfbembed
Javier Fernandezf53228c2013-05-10 18:21:30 +00002881$(call gb_LinkTarget_set_include,$(1),\
2882 $(FIREBIRD_CFLAGS) \
2883 $$(INCLUDE) \
2884)
2885$(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2886
2887endef
2888
Javier Fernandezf53228c2013-05-10 18:21:30 +00002889else # !SYSTEM_FIREBIRD
2890
Michael Stahl2c78d492017-01-09 14:45:11 +01002891$(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
2892 firebird \
2893))
2894
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002895#$(call gb_LinkTarget__use_libatomic_ops,$(1))
Wastack45f42682016-07-28 17:16:19 +02002896#$(call gb_LinkTarget__use_libtommath,$(1))
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002897
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002898define gb_LinkTarget__use_libfbembed
2899$(call gb_LinkTarget_use_package,$(1),firebird)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002900$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002901 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002902 $$(INCLUDE) \
2903)
Michael Stahl37563db2013-10-22 22:22:49 +02002904ifeq ($(COM),MSC)
2905$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002906 $(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002907)
Michael Stahl37563db2013-10-22 22:22:49 +02002908else
2909$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002910 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
Michael Stahl37563db2013-10-22 22:22:49 +02002911)
2912endif
Javier Fernandezf53228c2013-05-10 18:21:30 +00002913
2914endef
2915
Javier Fernandezf53228c2013-05-10 18:21:30 +00002916
2917# endef
2918
2919endif # SYSTEM_FIREBIRD
2920
2921else # !ENABLE_FIREBIRD_SDBC
Michael Stahl6fa0b372014-02-12 17:01:35 +01002922
Javier Fernandezf53228c2013-05-10 18:21:30 +00002923gb_LinkTarget__use_firebird :=
2924# gb_LinkTarget__use_atomic_ops :=
Wastack45f42682016-07-28 17:16:19 +02002925# gb_LinkTarget__use_libtommath :=
Javier Fernandezf53228c2013-05-10 18:21:30 +00002926
2927endif # ENABLE_FIREBIRD_SDBC
2928
2929
Michael Stahl5866b332014-02-11 18:56:33 +01002930ifneq ($(SYSTEM_POSTGRESQL),)
David Tardon8bc7afb2012-04-05 10:53:08 +02002931
2932define gb_LinkTarget__use_postgresql
2933
David Tardon8bc7afb2012-04-05 10:53:08 +02002934$(call gb_LinkTarget_set_include,$(1),\
2935 $(POSTGRESQL_INC) \
2936 $$(INCLUDE) \
2937)
2938
2939$(call gb_LinkTarget_add_libs,$(1),\
2940 -lpq \
2941)
2942
2943$(call gb_LinkTarget_add_ldflags,$(1),\
2944 $(POSTGRESQL_LIB) \
2945)
2946
2947endef
2948
2949else # !SYSTEM_POSTGRESQL
2950
2951define gb_LinkTarget__use_postgresql
2952
Michael Stahl2f6261f2013-09-19 19:28:36 +02002953$(call gb_LinkTarget_use_external_project,$(1),postgresql)
David Tardoncb9823b2012-10-22 06:33:00 +02002954
David Tardon8bc7afb2012-04-05 10:53:08 +02002955$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlee8323e2013-05-08 00:19:40 +02002956 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
2957 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
David Tardon8bc7afb2012-04-05 10:53:08 +02002958 $$(INCLUDE) \
2959)
2960
Michael Stahl2f6261f2013-09-19 19:28:36 +02002961$(call gb_LinkTarget_add_libs,$(1),\
2962 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
David Tardon8bc7afb2012-04-05 10:53:08 +02002963)
2964
Stephan Bergmann8646ab92017-02-10 14:05:21 +01002965ifeq ($(OS),WNT)
Matúš Kukan5e32d152012-05-27 00:21:12 +02002966$(call gb_LinkTarget_use_external,$(1),openssl)
2967
Michael Stahldc397aae2012-09-28 15:31:46 +02002968$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon8bc7afb2012-04-05 10:53:08 +02002969 secur32 \
2970 ws2_32 \
David Tardon8bc7afb2012-04-05 10:53:08 +02002971)
David Tardon8af6aa62012-05-30 12:06:42 +02002972
David Tardon8bc7afb2012-04-05 10:53:08 +02002973endif
2974
2975endef
2976
David Tardon8bc7afb2012-04-05 10:53:08 +02002977endif # SYSTEM_POSTGRESQL
2978
David Tardond4efa8b2012-04-28 20:48:14 +02002979ifeq ($(ENABLE_KDE4),TRUE)
2980
2981define gb_LinkTarget__use_kde4
2982$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002983 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS)))) \
David Tardond4efa8b2012-04-28 20:48:14 +02002984 $$(INCLUDE) \
2985)
2986
2987$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002988 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS))) \
David Tardond4efa8b2012-04-28 20:48:14 +02002989)
2990
2991$(call gb_LinkTarget_add_libs,$(1),\
2992 $(KDE4_LIBS) \
2993)
2994
David Tardond4efa8b2012-04-28 20:48:14 +02002995endef
2996
2997else # !ENABLE_KDE4
2998
2999define gb_LinkTarget__use_kde4
3000
3001endef
3002
3003endif # ENABLE_KDE4
3004
3005
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01003006ifeq ($(ENABLE_TDE),TRUE)
David Tardond4efa8b2012-04-28 20:48:14 +02003007
3008define gb_LinkTarget__use_tde
3009$(call gb_LinkTarget_add_libs,$(1),\
3010 $(TDE_LIBS) \
3011)
3012
3013$(call gb_LinkTarget_set_include,$(1),\
3014 $$(INCLUDE) \
3015 $(TDE_CFLAGS) \
3016)
3017endef
3018
3019else # ! ENABLE_TDE
3020
3021define gb_LinkTarget__use_tde
3022
3023endef
3024
3025endif # ENABLE_TDE
3026
3027
David Ostrovskye16ac692012-05-27 22:50:41 +02003028# PYTHON
Michael Stahl91926332012-11-27 15:50:53 +01003029# extra python_headers external because pyuno wrapper must not link python
Michael Stahl0443d0a2014-02-11 16:57:35 +01003030ifneq ($(SYSTEM_PYTHON),)
David Ostrovskye16ac692012-05-27 22:50:41 +02003031
Michael Stahl91926332012-11-27 15:50:53 +01003032define gb_LinkTarget__use_python_headers
David Ostrovskye16ac692012-05-27 22:50:41 +02003033$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003034 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYHTON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003035)
3036
3037$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003038 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003039 $$(INCLUDE) \
3040)
3041
Michael Stahl91926332012-11-27 15:50:53 +01003042endef
3043
3044define gb_LinkTarget__use_python
3045$(call gb_LinkTarget__use_python_headers,$(1))
3046
David Ostrovskye16ac692012-05-27 22:50:41 +02003047$(call gb_LinkTarget_add_libs,$(1),\
3048 $(PYTHON_LIBS) \
3049)
3050
3051endef
3052
3053else # !SYSTEM_PYTHON
3054
Michael Stahl720ca8e2014-03-18 18:24:15 +01003055$(eval $(call gb_Helper_register_packages_for_install,python,\
3056 python3 \
3057))
3058
Michael Stahl91926332012-11-27 15:50:53 +01003059define gb_LinkTarget__use_python_headers
David Tardoncad68c62015-09-29 18:09:16 +02003060$(call gb_LinkTarget_use_external_project,$(1),python3,full)
Michael Stahl91926332012-11-27 15:50:53 +01003061$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02003062 -I$(call gb_UnpackedTarball_get_dir,python3) \
3063 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3064 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
Michael Stahl91926332012-11-27 15:50:53 +01003065 $$(INCLUDE) \
3066)
3067
3068endef
3069
David Ostrovskye16ac692012-05-27 22:50:41 +02003070define gb_LinkTarget__use_python
Michael Stahl91926332012-11-27 15:50:53 +01003071$(call gb_LinkTarget__use_python_headers,$(1))
Michael Stahld9162d22015-07-29 12:17:03 +02003072ifeq ($(OS),MACOSX)
3073$(call gb_LinkTarget_use_generated_package,$(1),python3)
3074else
Michael Stahl57dd4d02015-07-29 10:56:57 +02003075$(call gb_LinkTarget_use_package,$(1),python3)
Michael Stahld9162d22015-07-29 12:17:03 +02003076endif
David Ostrovskye16ac692012-05-27 22:50:41 +02003077
3078ifeq ($(OS),WNT)
3079$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyde030cd2017-03-04 14:36:08 +01003080 $(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 +02003081)
3082else ifeq ($(OS),MACOSX)
3083$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl9d921ba2012-11-27 15:32:36 +01003084 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
David Ostrovskye16ac692012-05-27 22:50:41 +02003085)
3086else
Michael Stahlb6bcbb62013-04-21 14:34:50 +02003087$(call gb_LinkTarget_add_libs,$(1),\
3088 -L$(call gb_UnpackedTarball_get_dir,python3) \
3089 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
David Ostrovskye16ac692012-05-27 22:50:41 +02003090)
3091endif
3092
David Ostrovskye16ac692012-05-27 22:50:41 +02003093endef
3094
David Ostrovskye16ac692012-05-27 22:50:41 +02003095endif # SYSTEM_PYTHON
3096
Kohei Yoshida49b0b692012-09-04 15:05:35 -04003097# ORCUS
Michael Stahle3abec32014-02-11 15:57:18 +01003098ifneq ($(SYSTEM_LIBORCUS),)
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003099
3100define gb_LinkTarget__use_orcus
3101$(call gb_LinkTarget_set_include,$(1),\
3102 $$(INCLUDE) \
Matúš Kukana2d63fe2012-09-09 16:29:10 +02003103 $(ORCUS_CFLAGS) \
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003104)
Rene Engelhard26b80fc2013-04-13 19:29:33 +02003105$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
Rene Engelhardfb360f52013-04-13 16:17:29 +02003106endef
3107
3108define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003109
3110endef
3111
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003112else # !SYSTEM_LIBORCUS
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003113
David Tardonedb38d72015-06-04 16:09:48 +02003114ifeq ($(COM),MSC)
3115
3116$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3117 orcus \
3118 orcus-parser \
3119))
3120
Kohei Yoshidac8b7e982012-08-31 10:11:32 -04003121define gb_LinkTarget__use_orcus
Matúš Kukan1ee76032012-09-09 15:29:43 +02003122$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl10fc13c2013-05-06 23:35:13 +02003123 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
Matúš Kukan1ee76032012-09-09 15:29:43 +02003124 $$(INCLUDE) \
3125)
David Tardonf1035c12012-11-23 06:49:21 +01003126
David Tardonedb38d72015-06-04 16:09:48 +02003127$(call gb_LinkTarget_use_libraries,$(1),\
3128 orcus \
Stephan Bergmann3743cdb2013-02-17 22:58:21 +01003129)
David Tardonf1035c12012-11-23 06:49:21 +01003130
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003131endef
3132
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003133define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaecc884e2013-12-17 21:18:46 -05003134$(call gb_LinkTarget_set_include,$(1),\
3135 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3136 $$(INCLUDE) \
3137)
David Tardonedb38d72015-06-04 16:09:48 +02003138
3139$(call gb_LinkTarget_use_libraries,$(1),\
3140 orcus-parser \
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003141)
3142
3143endef
3144
David Tardonedb38d72015-06-04 16:09:48 +02003145else # !MSC
3146
3147$(eval $(call gb_Helper_register_packages_for_install,ooo,\
3148 liborcus \
3149))
3150
3151define gb_LinkTarget__use_orcus
3152$(call gb_LinkTarget_use_package,$(1),liborcus)
3153
3154$(call gb_LinkTarget_set_include,$(1),\
3155 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3156 $$(INCLUDE) \
3157)
3158
3159$(call gb_LinkTarget_add_libs,$(1),\
Jaskaran Singh92be10c2016-06-24 19:53:11 +05303160 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.12 \
David Tardonedb38d72015-06-04 16:09:48 +02003161)
3162
3163$(if $(SYSTEM_BOOST), \
3164 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3165 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3166)
3167
3168endef
3169
3170define gb_LinkTarget__use_orcus-parser
3171$(call gb_LinkTarget_use_package,$(1),liborcus)
3172
3173$(call gb_LinkTarget_set_include,$(1),\
3174 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3175 $$(INCLUDE) \
3176)
3177
3178$(call gb_LinkTarget_add_libs,$(1),\
Jaskaran Singh92be10c2016-06-24 19:53:11 +05303179 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.12 \
David Tardonedb38d72015-06-04 16:09:48 +02003180)
3181
3182endef
3183
3184endif # MSC
3185
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003186endif # SYSTEM_LIBORCUS
David Ostrovskye16ac692012-05-27 22:50:41 +02003187
David Tardon49a4d362013-11-12 16:44:40 +01003188ifeq ($(ENABLE_EOT),TRUE)
3189
Michael Stahle3abec32014-02-11 15:57:18 +01003190ifneq ($(SYSTEM_LIBEOT),)
David Tardon49a4d362013-11-12 16:44:40 +01003191
3192define gb_LinkTarget__use_libeot
3193$(call gb_LinkTarget_set_include,$(1),\
3194 $$(INCLUDE) \
3195 $(LIBEOT_CFLAGS) \
3196)
3197$(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3198
3199endef
3200
3201gb_ExternalProject__use_libeot :=
3202
3203else # !SYSTEM_LIBEOT
3204
3205define gb_LinkTarget__use_libeot
3206$(call gb_LinkTarget_set_include,$(1),\
3207 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3208 $$(INCLUDE) \
3209)
3210$(call gb_LinkTarget_add_libs,$(1),\
3211 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3212)
3213$(call gb_LinkTarget_use_external_project,$(1),libeot)
3214
3215endef
3216
3217define gb_ExternalProject__use_libeot
3218$(call gb_ExternalProject_use_external_project,$(1),libeot)
3219
3220endef
3221
3222endif # SYSTEM_LIBEOT
3223
3224else # !ENABLE_EOT
3225
3226gb_LinkTarget__use_libeot :=
3227gb_ExternalProject__use_libeot :=
3228
3229endif # ENABLE_EOT
3230
Michael Stahl78b59b82012-09-27 21:45:47 +02003231### X11 stuff ###
3232
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003233ifeq ($(USING_X11), TRUE)
Michael Stahl78b59b82012-09-27 21:45:47 +02003234
Michael Stahl78b59b82012-09-27 21:45:47 +02003235define gb_LinkTarget__use_Xrandr
Michael Stahl78b59b82012-09-27 21:45:47 +02003236$(call gb_LinkTarget_set_include,$(1),\
3237 $$(INCLUDE) \
3238 $(XRANDR_CFLAGS) \
3239)
3240
3241$(call gb_LinkTarget_add_libs,$(1),\
3242 $(XRANDR_LIBS) \
3243)
3244endef
3245
Michael Stahl78b59b82012-09-27 21:45:47 +02003246define gb_LinkTarget__use_Xrender
Michael Stahl78b59b82012-09-27 21:45:47 +02003247$(call gb_LinkTarget_set_include,$(1),\
3248 $$(INCLUDE) \
3249 $(XRENDER_CFLAGS) \
3250)
3251
3252$(call gb_LinkTarget_add_libs,$(1),\
3253 $(XRENDER_LIBS) \
3254)
3255endef
3256
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003257endif # USING_X11
Michael Stahl78b59b82012-09-27 21:45:47 +02003258
Tor Lillqvist35491072011-08-02 21:22:35 +03003259
Michael Meeksb440cfc2013-02-28 12:05:07 +00003260gb_ExternalProject__use_nss3:=
3261
Tor Lillqvist3442b002014-08-12 16:50:17 +03003262ifeq ($(OS),ANDROID)
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003263
Peter Foleyc003d252013-01-01 09:39:36 -05003264gb_LinkTarget__use_nss3:=
Tor Lillqvist801408c2014-12-12 23:51:17 +02003265gb_LinkTarget__use_plc4:=
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003266
3267else
3268
Michael Stahle3abec32014-02-11 15:57:18 +01003269ifneq ($(SYSTEM_NSS),)
David Tardonb6aa4842011-08-11 13:10:14 +02003270
David Tardon2b9dbc82012-08-13 06:57:51 +02003271define gb_LinkTarget__use_nss3
3272$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmannea641222012-11-19 16:40:33 +01003273 -DSYSTEM_NSS \
David Tardon2b9dbc82012-08-13 06:57:51 +02003274)
3275
David Tardonb6aa4842011-08-11 13:10:14 +02003276$(call gb_LinkTarget_set_include,$(1),\
3277 $$(INCLUDE) \
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003278 $(NSS_CFLAGS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003279)
3280
3281$(call gb_LinkTarget_add_libs,$(1),\
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003282 $(NSS_LIBS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003283)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003284
David Tardonb6aa4842011-08-11 13:10:14 +02003285endef
3286
David Tardon2b9dbc82012-08-13 06:57:51 +02003287define gb_LinkTarget__use_plc4
3288$(call gb_LinkTarget__use_nss3,$(1))
3289
3290endef
3291
David Tardon6ef46562013-02-04 10:04:07 +01003292define gb_LinkTarget__use_ssl3
3293$(call gb_LinkTarget__use_nss3,$(1))
3294
3295endef
3296
Michael Stahle3abec32014-02-11 15:57:18 +01003297else # !SYSTEM_NSS
David Tardonb6aa4842011-08-11 13:10:14 +02003298
Michael Stahlffae67c2014-03-13 19:51:19 +01003299$(eval $(call gb_Helper_register_packages_for_install,ooo, \
3300 nss \
3301))
3302
David Tardon2b9dbc82012-08-13 06:57:51 +02003303define gb_LinkTarget__use_nss3
Peter Foleyc003d252013-01-01 09:39:36 -05003304$(call gb_LinkTarget_use_package,$(1),nss)
David Tardon2b9dbc82012-08-13 06:57:51 +02003305$(call gb_LinkTarget_set_include,$(1),\
3306 $$(INCLUDE) \
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003307 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3308 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
David Tardon2b9dbc82012-08-13 06:57:51 +02003309)
3310
Michael Stahld2f62c32013-10-23 00:14:01 +02003311ifeq ($(COM),MSC)
3312$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003313 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3314 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3315 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
David Tardon2b9dbc82012-08-13 06:57:51 +02003316)
Michael Stahld2f62c32013-10-23 00:14:01 +02003317else
3318$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003319 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
Michael Stahld2f62c32013-10-23 00:14:01 +02003320 -lnspr4 \
3321 -lnss3 \
3322 -lsmime3 \
3323)
3324endif
David Tardon2b9dbc82012-08-13 06:57:51 +02003325
3326endef
3327
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003328define gb_LinkTarget__use_plc4
Peter Foleyc003d252013-01-01 09:39:36 -05003329$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003330ifeq ($(COM),MSC)
3331$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003332 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
David Tardonb6aa4842011-08-11 13:10:14 +02003333)
Michael Stahld2f62c32013-10-23 00:14:01 +02003334else
3335$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003336 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003337)
3338endif
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003339
David Tardonb6aa4842011-08-11 13:10:14 +02003340endef
3341
David Tardon6ef46562013-02-04 10:04:07 +01003342define gb_LinkTarget__use_ssl3
3343$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003344ifeq ($(COM),MSC)
3345$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003346 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
David Tardon6ef46562013-02-04 10:04:07 +01003347)
Michael Stahld2f62c32013-10-23 00:14:01 +02003348else
3349$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003350 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003351)
3352endif
David Tardon6ef46562013-02-04 10:04:07 +01003353
3354endef
3355
Michael Meeksb440cfc2013-02-28 12:05:07 +00003356define gb_ExternalProject__use_nss3
3357$(call gb_ExternalProject_use_package,$(1),nss)
Michael Meeksb440cfc2013-02-28 12:05:07 +00003358
3359endef
3360
Michael Stahle3abec32014-02-11 15:57:18 +01003361endif # SYSTEM_NSS
3362
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003363endif # DESKTOP
David Tardonb6aa4842011-08-11 13:10:14 +02003364
Markus Mohrharda46ef632015-11-15 04:39:24 +01003365ifeq ($(ENABLE_BREAKPAD),TRUE)
3366
Markus Mohrharda46ef632015-11-15 04:39:24 +01003367define gb_LinkTarget__use_breakpad
3368$(call gb_LinkTarget_set_include,$(1),\
3369 -I$(call gb_UnpackedTarball_get_dir,breakpad)/src \
3370 $$(INCLUDE) \
3371)
3372
3373ifeq ($(COM),MSC)
Markus Mohrhardff9b7d12016-03-31 00:00:03 +02003374$(call gb_LinkTarget_use_static_libraries,$(1),\
3375 breakpad \
Markus Mohrharda46ef632015-11-15 04:39:24 +01003376)
3377else
3378$(call gb_LinkTarget_add_libs,$(1),\
3379 $(call gb_UnpackedTarball_get_dir,breakpad)/src/client/linux/libbreakpad_client.a \
3380)
3381endif
3382
3383$(call gb_LinkTarget_use_external_project,$(1),breakpad)
3384
Michael Stahlb4d3a0d2016-02-23 15:08:47 +01003385endef
3386
Markus Mohrhard133a5d872016-02-27 14:50:13 +01003387endif # ENABLE_BREAKPAD
Markus Mohrharda46ef632015-11-15 04:39:24 +01003388
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003389ifneq ($(SYSTEM_GPGMEPP),)
Katarina Behrens595848c2017-01-30 15:50:55 +01003390
Katarina Behrensf41fa222017-02-23 12:57:42 +01003391gb_ExternalProject__use_gpgmepp:=
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003392gb_ExternalProject__use_libassuan:=
3393gb_ExternalProject__use_libgpg-error:=
3394
Katarina Behrensf41fa222017-02-23 12:57:42 +01003395define gb_LinkTarget__use_gpgmepp
Katarina Behrens595848c2017-01-30 15:50:55 +01003396$(call gb_LinkTarget_set_include,$(1),\
3397 $$(INCLUDE) \
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003398 $$(GPGMEPP_CFLAGS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003399)
3400
3401$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003402 $(GPGMEPP_LIBS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003403)
3404
3405endef
3406
Katarina Behrens55519a12017-02-15 16:00:16 +01003407else # NON-SYSTEM_GPGME
3408
Katarina Behrensf41fa222017-02-23 12:57:42 +01003409define gb_ExternalProject__use_gpgmepp
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003410$(call gb_ExternalProject_use_external_project,$(1),gpgme)
3411
3412endef
3413define gb_ExternalProject__use_libassuan
3414$(call gb_ExternalProject_use_external_project,$(1),libassuan)
3415
3416endef
3417define gb_ExternalProject__use_libgpg-error
3418$(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3419
3420endef
3421
Katarina Behrensf41fa222017-02-23 12:57:42 +01003422define gb_LinkTarget__use_gpgmepp
Katarina Behrens55519a12017-02-15 16:00:16 +01003423$(call gb_LinkTarget_set_include,$(1),\
3424 -I$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src \
Katarina Behrens60177322017-02-24 13:47:46 +01003425 -I$(call gb_UnpackedTarball_get_dir,gpgme)/src \
Samuel Mehrbrodt65866962017-02-24 16:54:36 +01003426 $$(GPG_ERROR_CFLAGS) \
Katarina Behrens55519a12017-02-15 16:00:16 +01003427 $$(INCLUDE) \
3428)
3429$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrens684b9de2017-02-16 21:44:06 +01003430 -L$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src/.libs/ -lgpgmepp \
Katarina Behrens55519a12017-02-15 16:00:16 +01003431)
Michael Stahlee9cb852017-03-10 17:11:49 +01003432$(call gb_LinkTarget_use_package,$(1),gpgme)
Katarina Behrens55519a12017-02-15 16:00:16 +01003433
3434endef
3435
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003436ifeq ($(OS),LINUX)
3437
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003438$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Thorsten Behrens8724bcf2017-03-26 04:01:02 +02003439 gpgme \
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003440 libassuan \
3441 libgpg-error \
3442))
3443
Katarina Behrens595848c2017-01-30 15:50:55 +01003444endif
3445
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003446endif
3447
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003448ifeq ($(ENABLE_GLTF),TRUE)
3449
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003450ifneq ($(SYSTEM_LIBGLTF),TRUE)
3451
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003452define gb_LinkTarget__use_libgltf
3453$(call gb_LinkTarget_set_include,$(1),\
3454 -I$(call gb_UnpackedTarball_get_dir,libgltf)/inc \
3455 $$(INCLUDE) \
3456)
3457
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003458ifeq ($(COM),MSC)
3459$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyac06ab22015-02-18 22:17:49 +01003460 $(call gb_UnpackedTarball_get_dir,libgltf)/build/win32/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/libgltf.lib,Release/libgltf.lib) \
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003461)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003462else
3463$(call gb_LinkTarget_add_libs,$(1),\
Caolán McNamara482d7ce2016-11-25 20:25:27 +00003464 $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.1$(gb_StaticLibrary_PLAINEXT) \
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003465)
3466endif
3467
3468$(call gb_LinkTarget_use_external_project,$(1),libgltf)
3469
3470endef
3471
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003472else # SYSTEM_LIBGLTF
3473
3474define gb_LinkTarget__use_libgltf
3475$(call gb_LinkTarget_set_include,$(1),\
3476 $$(INCLUDE) \
3477 $(LIBGLTF_CFLAGS) \
3478)
3479$(call gb_LinkTarget_add_libs,$(1),$(LIBGLTF_LIBS))
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003480
3481endef
3482
Julien Nabet3ee2edf2016-05-07 22:43:37 +02003483endif # SYSTEM_LIBGLTF
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003484
Zolnai Tamás191f0942014-08-07 15:21:41 +02003485ifeq ($(ENABLE_COLLADA),TRUE)
3486
David Tardonf24c6082014-10-20 14:21:22 +02003487ifeq ($(SYSTEM_OPENCOLLADA),TRUE)
3488
3489define gb_LinkTarget__use_opencollada_parser
3490$(call gb_LinkTarget_set_include,$(1),\
3491 $$(INCLUDE) \
3492 $(OPENCOLLADA_CFLAGS) \
3493)
3494
3495$(call gb_LinkTarget_add_libs,$(1),$(OPENCOLLADA_LIBS))
3496
3497endef
3498
3499else # !SYSTEM_OPENCOLLADA
3500
Zolnai Tamásaa5fe792014-04-10 13:33:58 +02003501define gb_LinkTarget__use_opencollada_parser
3502$(call gb_LinkTarget_set_include,$(1),\
3503 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
3504 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADAFramework/include \
3505 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include \
3506 -I$(call gb_UnpackedTarball_get_dir,opencollada)/GeneratedSaxParser/include \
3507 $$(INCLUDE) \
3508)
3509
3510$(call gb_LinkTarget_use_static_libraries,$(1),\
3511 opencollada_parser \
3512)
3513endef
3514
David Tardonf24c6082014-10-20 14:21:22 +02003515endif # SYSTEM_OPENCOLLADA
3516
David Tardon8840fd32015-04-13 15:31:41 +02003517ifeq ($(SYSTEM_COLLADA2GLTF),TRUE)
3518
3519define gb_LinkTarget__use_collada2gltf
3520$(call gb_LinkTarget_set_include,$(1),\
3521 $$(INCLUDE) \
3522 $(COLLADA2GLTF_CFLAGS) \
3523)
3524
3525$(call gb_LinkTarget_add_libs,$(1),$(COLLADA2GLTF_LIBS))
3526
3527endef
3528
3529else # !SYSTEM_COLLADA2GLTF
3530
Zolnai Tamásd57591702014-04-10 13:37:38 +02003531define gb_LinkTarget__use_collada2gltf
3532$(call gb_LinkTarget_set_include,$(1),\
3533 -I$(call gb_UnpackedTarball_get_dir,collada2gltf) \
3534 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/assetModifiers \
3535 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/GLTF \
3536 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/helpers \
3537 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/JSON \
3538 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/dependencies/json/include/rapidjson/ \
3539 $$(INCLUDE) \
3540)
3541
3542$(call gb_LinkTarget_use_static_libraries,$(1),\
3543 collada2gltf \
3544)
3545endef
3546
David Tardon8840fd32015-04-13 15:31:41 +02003547endif # SYSTEM_COLLADA2GLTF
3548
Zolnai Tamás191f0942014-08-07 15:21:41 +02003549endif # ENABLE_COLLADA
3550
3551endif # ENABLE_GLTF
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003552
Stephan Bergmannecc617e2015-07-08 11:20:19 +02003553define gb_LinkTarget__use_dconf
3554$(call gb_LinkTarget_add_defs,$(1),$(DCONF_CFLAGS))
3555$(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3556endef
3557
Michael Stahl2ee5f242011-09-15 14:01:27 +02003558### Jars ############################################################
3559
Michael Stahl5866b332014-02-11 18:56:33 +01003560ifneq ($(SYSTEM_HSQLDB),)
Michael Stahl666173b2012-08-15 20:24:59 +02003561
3562define gb_Jar__use_hsqldb
3563$(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3564endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003565define gb_JunitTest__use_hsqldb
3566$(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3567endef
Michael Stahl666173b2012-08-15 20:24:59 +02003568
3569else # !SYSTEM_HSQLDB
3570
David Tardon2dec0672014-05-19 10:20:37 +02003571ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl376d1b52014-03-18 20:25:04 +01003572$(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003573 hsqldb \
3574))
David Tardon2dec0672014-05-19 10:20:37 +02003575endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003576
Michael Stahl666173b2012-08-15 20:24:59 +02003577define gb_Jar__use_hsqldb
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003578$(call gb_Jar_use_jar,$(1),hsqldb)
Michael Stahl666173b2012-08-15 20:24:59 +02003579endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003580define gb_JunitTest__use_hsqldb
3581$(call gb_JunitTest_use_jar,$(1),hsqldb)
3582endef
Michael Stahl666173b2012-08-15 20:24:59 +02003583
3584endif # SYSTEM_HSQLDB
3585
Michael Stahl2ee5f242011-09-15 14:01:27 +02003586
Rene Engelhard40facc42014-05-23 07:43:19 +02003587ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3588
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003589ifneq ($(SYSTEM_BSH),)
David Tardon3bcf9102011-10-04 09:44:48 +02003590
Michael Stahla4551262012-08-15 17:41:25 +02003591define gb_Jar__use_bsh
3592$(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
David Tardon3bcf9102011-10-04 09:44:48 +02003593endef
3594
3595else # !SYSTEM_BSH
3596
David Tardon2dec0672014-05-19 10:20:37 +02003597ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl8475eb92014-03-18 20:38:30 +01003598$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003599 bsh \
3600))
David Tardon2dec0672014-05-19 10:20:37 +02003601endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003602
Michael Stahla4551262012-08-15 17:41:25 +02003603define gb_Jar__use_bsh
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003604$(call gb_Jar_use_jar,$(1),bsh)
David Tardon3bcf9102011-10-04 09:44:48 +02003605endef
3606
3607endif # SYSTEM_BSH
3608
Rene Engelhard40facc42014-05-23 07:43:19 +02003609endif
3610
3611ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
Michael Stahl2ee5f242011-09-15 14:01:27 +02003612
Michael Stahl49dde4c2014-02-11 19:42:28 +01003613ifneq ($(SYSTEM_RHINO),)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003614
Michael Stahla4551262012-08-15 17:41:25 +02003615define gb_Jar__use_rhino
3616$(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003617endef
3618
3619else # !SYSTEM_RHINO
3620
David Tardon2dec0672014-05-19 10:20:37 +02003621ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl6474d1c2014-03-18 20:50:02 +01003622$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003623 js \
3624))
David Tardon2dec0672014-05-19 10:20:37 +02003625endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003626
Michael Stahla4551262012-08-15 17:41:25 +02003627define gb_Jar__use_rhino
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003628$(call gb_Jar_use_jar,$(1),js)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003629endef
3630
3631endif # SYSTEM_RHINO
3632
Rene Engelhard40facc42014-05-23 07:43:19 +02003633endif
3634
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003635ifneq ($(SYSTEM_APACHE_COMMONS),)
David Tardon9b530e12012-04-07 10:07:35 +02003636
Michael Stahla4551262012-08-15 17:41:25 +02003637define gb_Jar__use_commons-logging
3638$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003639endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003640gb_ExternalProject__use_commons-logging :=
David Tardon9b530e12012-04-07 10:07:35 +02003641
3642else # !SYSTEM_APACHE_COMMONS
3643
David Tardon2dec0672014-05-19 10:20:37 +02003644ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl2bec9f42014-03-18 21:54:33 +01003645$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
rbujd8a7f722014-08-18 13:52:32 +02003646 commons-logging-$(COMMONS_LOGGING_VERSION) \
Michael Stahldb23d4b2013-10-24 23:10:27 +02003647))
David Tardon2dec0672014-05-19 10:20:37 +02003648endif
David Tardon9b530e12012-04-07 10:07:35 +02003649
Michael Stahla4551262012-08-15 17:41:25 +02003650define gb_Jar__use_commons-logging
Michael Stahl461d8302013-10-25 18:40:48 +02003651$(call gb_Jar_use_external_project,$(1),apache_commons_logging)
rbujd8a7f722014-08-18 13:52:32 +02003652$(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION))
David Tardon9b530e12012-04-07 10:07:35 +02003653endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003654define gb_ExternalProject__use_commons-logging
Michael Stahla60427e2013-10-26 20:17:52 +02003655$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
Michael Stahl2b7536a2012-10-05 21:17:25 +02003656endef
David Tardon9b530e12012-04-07 10:07:35 +02003657
3658endif # SYSTEM_APACHE_COMMONS
3659
3660
Michael Stahl32db4992014-02-11 19:35:22 +01003661ifneq ($(SYSTEM_JFREEREPORT),)
David Tardon9b530e12012-04-07 10:07:35 +02003662
Michael Stahla4551262012-08-15 17:41:25 +02003663define gb_Jar__use_flow-engine
3664$(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003665endef
3666
Michael Stahla4551262012-08-15 17:41:25 +02003667define gb_Jar__use_flute
3668$(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003669endef
3670
Michael Stahla4551262012-08-15 17:41:25 +02003671define gb_Jar__use_libbase
3672$(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003673endef
3674
Michael Stahla4551262012-08-15 17:41:25 +02003675define gb_Jar__use_libfonts
3676$(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003677endef
3678
Michael Stahla4551262012-08-15 17:41:25 +02003679define gb_Jar__use_libformula
3680$(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003681endef
3682
Michael Stahla4551262012-08-15 17:41:25 +02003683define gb_Jar__use_liblayout
3684$(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003685endef
3686
Michael Stahla4551262012-08-15 17:41:25 +02003687define gb_Jar__use_libloader
3688$(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003689endef
3690
Michael Stahla4551262012-08-15 17:41:25 +02003691define gb_Jar__use_librepository
3692$(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003693endef
3694
Michael Stahla4551262012-08-15 17:41:25 +02003695define gb_Jar__use_libserializer
3696$(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003697endef
3698
Michael Stahla4551262012-08-15 17:41:25 +02003699define gb_Jar__use_libxml
3700$(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003701endef
3702
Michael Stahla4551262012-08-15 17:41:25 +02003703define gb_Jar__use_sac
3704$(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003705endef
3706
3707else # !SYSTEM_JFREEREPORT
3708
David Tardon2dec0672014-05-19 10:20:37 +02003709ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl4c3626af2014-03-18 22:03:00 +01003710$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
Michael Stahl070ca1e2013-10-25 21:01:58 +02003711 flow-engine \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003712 flute-1.1.6 \
3713 libbase-1.1.6 \
3714 libfonts-1.1.6 \
3715 libformula-1.1.7 \
Michael Stahl070ca1e2013-10-25 21:01:58 +02003716 liblayout \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003717 libloader-1.1.6 \
3718 librepository-1.1.6 \
3719 libserializer-1.1.6 \
3720 libxml-1.1.7 \
3721 sac \
3722))
David Tardon2dec0672014-05-19 10:20:37 +02003723endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003724
Michael Stahla4551262012-08-15 17:41:25 +02003725define gb_Jar__use_flow-engine
Michael Stahl070ca1e2013-10-25 21:01:58 +02003726$(call gb_Jar_use_jar,$(1),flow-engine)
David Tardon9b530e12012-04-07 10:07:35 +02003727endef
3728
Michael Stahla4551262012-08-15 17:41:25 +02003729define gb_Jar__use_flute
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003730$(call gb_Jar_use_jar,$(1),flute-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003731endef
3732
Michael Stahla4551262012-08-15 17:41:25 +02003733define gb_Jar__use_libbase
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003734$(call gb_Jar_use_jar,$(1),libbase-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003735endef
3736
Michael Stahla4551262012-08-15 17:41:25 +02003737define gb_Jar__use_libfonts
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003738$(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003739endef
3740
Michael Stahla4551262012-08-15 17:41:25 +02003741define gb_Jar__use_libformula
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003742$(call gb_Jar_use_jar,$(1),libformula-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003743endef
3744
Michael Stahla4551262012-08-15 17:41:25 +02003745define gb_Jar__use_liblayout
Michael Stahl070ca1e2013-10-25 21:01:58 +02003746$(call gb_Jar_use_jar,$(1),liblayout)
David Tardon9b530e12012-04-07 10:07:35 +02003747endef
3748
Michael Stahla4551262012-08-15 17:41:25 +02003749define gb_Jar__use_libloader
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003750$(call gb_Jar_use_jar,$(1),libloader-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003751endef
3752
Michael Stahla4551262012-08-15 17:41:25 +02003753define gb_Jar__use_librepository
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003754$(call gb_Jar_use_jar,$(1),librepository-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003755endef
3756
Michael Stahla4551262012-08-15 17:41:25 +02003757define gb_Jar__use_libserializer
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003758$(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003759endef
3760
Michael Stahla4551262012-08-15 17:41:25 +02003761define gb_Jar__use_libxml
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003762$(call gb_Jar_use_jar,$(1),libxml-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003763endef
3764
Michael Stahla4551262012-08-15 17:41:25 +02003765define gb_Jar__use_sac
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003766$(call gb_Jar_use_jar,$(1),sac)
David Tardon9b530e12012-04-07 10:07:35 +02003767endef
3768
3769endif # SYSTEM_JFREEREPORT
3770
David Tardonc2eca352012-12-02 10:51:37 +01003771
3772# Executables
3773
David Tardonedf67302012-12-30 12:27:04 +01003774# FIXME: the library target should be for build too
3775define gb_Executable__register_bestreversemap
3776$(call gb_Executable_add_runtime_dependencies,bestreversemap,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003777 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardonedf67302012-12-30 12:27:04 +01003778)
3779endef
3780
David Tardonceb0d062012-12-30 13:11:43 +01003781# TODO depending on the whole URE might be overkill, but I do not have a
3782# Windows machine to debug it...
3783# FIXME: the library target should be for build too
3784define gb_Executable__register_climaker
3785$(call gb_Executable_add_runtime_dependencies,climaker,\
3786 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003787 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003788 $(call gb_UnoApi_get_target,udkapi) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003789 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
David Tardonceb0d062012-12-30 13:11:43 +01003790)
3791endef
3792
David Tardon6c1614a2014-01-08 13:49:46 +01003793define gb_Executable__register_cppumaker
3794$(call gb_Executable_add_runtime_dependencies,cppumaker,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003795 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardon6c1614a2014-01-08 13:49:46 +01003796)
3797endef
3798
Matúš Kukanbae52ee2013-05-16 09:17:57 +02003799# This is used to determine what we need for 'build' platform.
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003800# FIXME: the library target should be for build too
Matúš Kukan9555b5b2013-06-14 12:48:20 +02003801define gb_Executable__register_gengal
Matúš Kukan94b68822013-06-17 10:41:18 +02003802$(call gb_Executable_add_runtime_dependencies,gengal,\
David Tardon1546c292013-05-07 20:41:41 +02003803 $(call gb_AllLangResTarget_get_target,ofa) \
David Tardon1546c292013-05-07 20:41:41 +02003804 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardone59420d2014-08-04 17:23:54 +02003805 $(call gb_Package_get_target_for_build,postprocess_images) \
Matúš Kukan8b162f22013-09-27 10:58:28 +02003806 $(call gb_Package_get_target_for_build,postprocess_registry) \
Matúš Kukan15614c82015-12-05 07:05:37 +01003807 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
3808 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
3809 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003810 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3811 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
David Tardon1546c292013-05-07 20:41:41 +02003812 $(call gb_UnoApi_get_target,offapi) \
3813 $(call gb_UnoApi_get_target,udkapi) \
3814)
3815endef
3816
Michael Stahl187194b2014-02-11 19:17:42 +01003817ifeq ($(SYSTEM_ICU),)
David Tardonedf67302012-12-30 12:27:04 +01003818
3819define gb_Executable__register_gendict
3820$(call gb_Executable_add_runtime_dependencies,gendict,\
3821 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003822 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardonedf67302012-12-30 12:27:04 +01003823)
3824endef
3825
3826endif
3827
David Tardonceb0d062012-12-30 13:11:43 +01003828define gb_Executable__register_idlc
3829$(call gb_Executable_add_runtime_dependencies,idlc,\
David Tardonce038cf2013-10-20 20:43:46 +02003830 $(call gb_ExternalExecutable_get_dependencies,ucpp) \
David Tardonceb0d062012-12-30 13:11:43 +01003831)
3832endef
3833
David Tardonedf67302012-12-30 12:27:04 +01003834define gb_Executable__register_localize
3835$(call gb_Executable_add_runtime_dependencies,localize,\
3836 $(foreach exec,cfgex helpex propex transex3 treex uiex ulfex xrmex,\
3837 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3838 ) \
3839)
3840endef
3841
Michael Stahl4c51feb2013-09-21 01:39:41 +02003842# FIXME ure/services.rdb needs cleanup
Stephan Bergmannab149c72013-04-24 10:42:40 +02003843# The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
David Tardonedf67302012-12-30 12:27:04 +01003844# due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3845# FIXME: the library target should be for build too
3846define gb_Executable__register_saxparser
3847$(call gb_Executable_add_runtime_dependencies,saxparser,\
3848 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardon92f66c52014-10-13 16:59:33 +02003849 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003850 $(call gb_Rdb_get_target_for_build,saxparser) \
Tor Lillqvistcb872392016-08-17 01:14:54 +03003851 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003852 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003853)
3854endef
3855
Stephan Bergmannab149c72013-04-24 10:42:40 +02003856# NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
David Tardonedf67302012-12-30 12:27:04 +01003857# required due to the settings for URE_SERVICES and URE_TYPES in
3858# cppuhelper/source/unorc
3859# FIXME: the library target should be for build too
3860define gb_Executable__register_uno
3861$(call gb_Executable_add_runtime_dependencies,uno,\
3862 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003863 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003864 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003865)
3866endef
3867
3868
3869# External executables
3870
Michael Stahl379f9782014-02-11 16:49:19 +01003871ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003872
3873gb_ExternalExecutable__register_xmllint :=
3874
3875else # ! SYSTEM_LIBXML_FOR_BUILD
3876
3877define gb_ExternalExecutable__register_xmllint
David Tardondbac8f52014-04-18 18:34:40 +02003878$(call gb_ExternalExecutable_set_internal,xmllint,$(WORKDIR_FOR_BUILD)/UnpackedTarball/xml2/$(if $(filter MSC,$(COM)),win32/bin.msvc)/xmllint$(gb_Executable_EXT_for_build),xml2)
David Tardon5b660242014-07-28 10:38:49 +02003879$(call gb_ExternalExecutable_add_dependencies,xmllint,\
3880 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
3881 $(call gb_Package_get_target,xml2) \
3882)
David Tardonc2eca352012-12-02 10:51:37 +01003883
3884endef
3885
3886endif # SYSTEM_LIBXML_FOR_BUILD
3887
Michael Stahle3abec32014-02-11 15:57:18 +01003888ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003889
3890gb_ExternalExecutable__register_xsltproc :=
3891
3892else # ! SYSTEM_LIBXSLT_FOR_BUILD
3893
3894define gb_ExternalExecutable__register_xsltproc
David Tardondbac8f52014-04-18 18:34:40 +02003895$(call gb_ExternalExecutable_set_internal,xsltproc,$(WORKDIR_FOR_BUILD)/UnpackedTarball/xslt/$(if $(filter MSC,$(COM)),win32/bin.msvc,xsltproc)/xsltproc$(gb_Executable_EXT_for_build),xslt)
David Tardon5b660242014-07-28 10:38:49 +02003896$(call gb_ExternalExecutable_add_dependencies,xsltproc,\
3897 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl56b2bb52015-07-31 11:08:04 +02003898 $(call gb_Package_get_target,xml2) \
David Tardon5b660242014-07-28 10:38:49 +02003899 $(call gb_Package_get_target,xslt) \
3900)
David Tardonc2eca352012-12-02 10:51:37 +01003901
3902endef
3903
3904endif # SYSTEM_LIBXSLT_FOR_BUILD
3905
David Tardonce038cf2013-10-20 20:43:46 +02003906ifneq (,$(SYSTEM_UCPP))
3907
3908gb_ExternalExecutable__register_ucpp :=
3909
3910else # ! SYSTEM_UCPP
3911
3912define gb_ExternalExecutable__register_ucpp
David Tardon489d2ea2013-10-21 08:17:32 +02003913$(call gb_ExternalExecutable_set_internal,ucpp,$(INSTDIR_FOR_BUILD)/$(SDKDIRNAME)/bin/ucpp$(gb_Executable_EXT_for_build))
David Tardonce038cf2013-10-20 20:43:46 +02003914
3915endef
3916
3917endif # SYSTEM_UCPP
3918
Matúš Kukane4826722013-03-05 22:03:38 +01003919ifeq (,$(PYTHON_FOR_BUILD))
David Tardonc2eca352012-12-02 10:51:37 +01003920
3921define gb_ExternalExecutable__register_python
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003922ifeq ($(OS),MACOSX)
3923
3924# use set_external, to avoid having the command added as prerequisite for the
3925# targets that make use of it. (Otherwise make will choke as it doesn't have a
3926# matching rule to build that specific file)
3927$(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))
3928# the Zip ensures that internal python has been built (cannot use the Package
3929# target, as that is not used on Mac)
David Tardon45a5c262013-05-16 13:36:24 +02003930$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003931
3932else
3933
Tor Lillqvist4c63fd102013-09-22 19:59:37 +03003934$(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 +01003935$(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003936$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
3937
3938endif
David Tardonc2eca352012-12-02 10:51:37 +01003939
3940endef
3941
Matúš Kukane4826722013-03-05 22:03:38 +01003942else
3943
3944define gb_ExternalExecutable__register_python
3945$(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
3946
3947endef
3948
3949endif # PYTHON_FOR_BUILD
David Tardonc2eca352012-12-02 10:51:37 +01003950
David Tardon63069262012-12-29 12:56:24 +01003951ifneq ($(SYSTEM_GENBRK),)
3952
3953define gb_ExternalExecutable__register_genbrk
3954$(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
3955
3956endef
3957
3958else # ! SYSTEM_GENBRK
3959
3960define gb_ExternalExecutable__register_genbrk
David Tardondbac8f52014-04-18 18:34:40 +02003961$(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 +01003962$(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01003963$(call gb_ExternalExecutable_add_dependencies,genbrk,\
3964 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003965 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01003966)
3967
3968endef
3969
3970endif
3971
3972ifneq ($(SYSTEM_GENCCODE),)
3973
3974define gb_ExternalExecutable__register_genccode
3975$(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
3976
3977endef
3978
3979else # ! SYSTEM_GENCCODE
3980
3981define gb_ExternalExecutable__register_genccode
David Tardondbac8f52014-04-18 18:34:40 +02003982$(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 +01003983$(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01003984$(call gb_ExternalExecutable_add_dependencies,genccode,\
3985 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003986 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01003987)
3988
3989endef
3990
3991endif
3992
3993ifneq ($(SYSTEM_GENCMN),)
3994
3995define gb_ExternalExecutable__register_gencmn
3996$(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
3997
3998endef
3999
4000else # ! SYSTEM_GENCMN
4001
4002define gb_ExternalExecutable__register_gencmn
David Tardondbac8f52014-04-18 18:34:40 +02004003$(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 +01004004$(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004005$(call gb_ExternalExecutable_add_dependencies,gencmn,\
4006 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004007 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004008)
4009
4010endef
4011
4012endif
4013
Jacobo Aragunde Péreze6fe5082015-02-02 19:49:37 +00004014ifeq (OWNCLOUD_ANDROID_LIB,$(filter OWNCLOUD_ANDROID_LIB,$(BUILD_TYPE)))
4015
4016$(eval $(call gb_Helper_register_jars,OXT,\
4017 owncloud-android-library \
4018))
4019
4020define gb_Jar__use_owncloud_android_lib
4021$(call gb_Jar_use_external_project,$(1),owncloud-android-lib)
4022$(call gb_Jar_use_external_jar,$(1),$(call gb_UnpackedTarball_get_dir,owncloud-android-lib)/bin/owncloud-android-library.jar)
4023endef
4024define gb_ExternalProject__use_owncloud_android_lib
4025$(call gb_ExternalProject_use_external_project,$(1),owncloud_android_lib)
4026endef
4027
4028endif
4029
Nathan Yee7eb863d2015-07-03 11:58:27 +02004030ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4031ifneq ($(SYSTEM_BZIP2),)
4032
4033define gb_LinkTarget__use_bzip2
4034$(call gb_LinkTarget_set_include,$(1),\
4035 $(BZIP2_CFLAGS) \
4036 $$(INCLUDE) \
4037)
4038$(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4039
4040endef
Jan Holesovsky025952f2015-07-03 13:46:38 +02004041
Nathan Yee7eb863d2015-07-03 11:58:27 +02004042gb_ExternalProject__use_bzip2 :=
4043
4044else # !SYSTEM_BZIP2
4045
4046define gb_LinkTarget__use_bzip2
Nathan Yee7eb863d2015-07-03 11:58:27 +02004047$(call gb_LinkTarget_set_include,$(1),\
4048 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4049 $$(INCLUDE) \
4050)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004051
4052ifeq ($(COM),MSC)
4053$(call gb_LinkTarget_add_libs,$(1),\
4054 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4055)
4056else
Jan Holesovsky025952f2015-07-03 13:46:38 +02004057$(call gb_LinkTarget_add_libs,$(1),\
4058 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4059)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004060endif
4061
Jan Holesovskyec477172015-07-07 09:24:45 +02004062$(call gb_LinkTarget_use_external_project,$(1),bzip2)
Nathan Yee7eb863d2015-07-03 11:58:27 +02004063endef
4064
4065define gb_ExternalProject__use_bzip2
4066$(call gb_ExternalProject_use_external_project,$(1),bzip2)
4067endef
4068
4069endif
4070endif
4071
Stephan Bergmannec53ac62016-04-12 20:06:04 +02004072define gb_LinkTarget__use_clew
4073$(call gb_LinkTarget_set_include,$(1), \
4074 -I$(SRCDIR)/external/clew/source/include \
4075 $$(INCLUDE) \
4076)
4077$(call gb_LinkTarget_use_libraries,$(1),clew)
4078endef
4079
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004080ifneq ($(ENABLE_PDFIUM),)
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004081define gb_LinkTarget__use_pdfium
4082$(call gb_LinkTarget_set_include,$(1),\
4083 -I$(call gb_UnpackedTarball_get_dir,pdfium)/public \
4084 $$(INCLUDE) \
4085)
4086$(call gb_LinkTarget_use_libraries,$(1),pdfium)
4087endef
4088$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4089 pdfium \
4090))
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004091endif
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004092
Michael Stahlc74af0d2011-04-01 20:49:35 +00004093# vim: set noet sw=4 ts=4: