blob: eb0b3e2c9d40dcfdfbb6a592df2c673069061249 [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
Michael Stahl49dde4c2014-02-11 19:42:28 +0100924ifneq ($(SYSTEM_LIBLANGTAG),)
Eike Rathkea774a482012-08-06 19:22:43 +0200925
926define gb_LinkTarget__use_liblangtag
927$(call gb_LinkTarget_set_include,$(1),\
928 $$(INCLUDE) \
929 $(LIBLANGTAG_CFLAGS) \
930)
931
932$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
933
934endef
935
David Tardonc2a119b2016-01-13 14:24:31 +0100936gb_ExternalProject__use_liblangtag :=
937
Eike Rathkea774a482012-08-06 19:22:43 +0200938else # !SYSTEM_LIBLANGTAG
939
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200940$(eval $(call gb_Helper_register_packages_for_install,ure,\
Michael Stahl01adcd82014-03-18 17:38:06 +0100941 liblangtag_data \
942))
943
David Tardon7d93bb82016-01-13 15:45:17 +0100944ifeq ($(COM),MSC)
945
Eike Rathkea774a482012-08-06 19:22:43 +0200946define gb_LinkTarget__use_liblangtag
Peter Foley782151a2012-11-11 16:02:36 -0500947$(call gb_LinkTarget_set_include,$(1),\
David Tardon34513502016-01-13 14:21:10 +0100948 $(LIBLANGTAG_CFLAGS) \
Peter Foley782151a2012-11-11 16:02:36 -0500949 $$(INCLUDE) \
950)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200951$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
952$(call gb_LinkTarget_use_external_project,$(1),langtag)
Eike Rathkea774a482012-08-06 19:22:43 +0200953
954endef
955
David Tardon7d93bb82016-01-13 15:45:17 +0100956else
957
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200958$(eval $(call gb_Helper_register_packages_for_install,ure,\
David Tardon7d93bb82016-01-13 15:45:17 +0100959 liblangtag \
960))
961
962define gb_LinkTarget__use_liblangtag
963$(call gb_LinkTarget_set_include,$(1),\
964 $(LIBLANGTAG_CFLAGS) \
965 $$(INCLUDE) \
966)
967$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
968$(call gb_LinkTarget_use_package,$(1),liblangtag)
969
970endef
971
972endif # MSC
973
David Tardonc2a119b2016-01-13 14:24:31 +0100974define gb_ExternalProject__use_liblangtag
975$(call gb_ExternalProject_use_external_project,$(1),langtag)
976
977endef
978
Eike Rathkea774a482012-08-06 19:22:43 +0200979endif # SYSTEM_LIBLANGTAG
980
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +0200981
Matúš Kukandcae0502014-02-25 21:47:33 +0100982gb_ExternalProject__use_apr :=
983
984ifeq ($(WITH_WEBDAV),serf)
Matúš Kukan0b272532014-02-06 12:28:36 +0100985
986define gb_LinkTarget__use_apr
987$(call gb_LinkTarget_set_include,$(1),\
988 $$(INCLUDE) \
989 $(APR_CFLAGS) \
990)
991$(call gb_LinkTarget_add_libs,$(1),\
992 $(APR_LIBS) \
Michael Stahl5cf22052014-06-05 13:35:14 +0200993 $(if $(filter $(OS),LINUX),-lpthread) \
994 $(if $(filter $(OS),MACOSX),-liconv) \
Matúš Kukan0b272532014-02-06 12:28:36 +0100995)
996
997ifeq ($(SYSTEM_APR),)
998$(call gb_LinkTarget_use_system_win32_libs,$(1),\
999 mswsock \
1000 rpcrt4 \
1001 shell32 \
1002)
1003$(call gb_LinkTarget_add_defs,$(1),\
1004 -DAPR_DECLARE_STATIC \
1005 -DAPU_DECLARE_STATIC \
1006)
1007$(call gb_LinkTarget_use_external_project,$(1),apr_util)
1008endif
1009
1010endef
1011
1012define gb_ExternalProject__use_apr
1013ifeq ($(SYSTEM_APR),)
1014$(call gb_ExternalProject_use_external_project,$(1),apr_util)
1015endif
1016
1017endef
1018
1019define gb_LinkTarget__use_serf
1020$(call gb_LinkTarget_set_include,$(1),\
1021 $(SERF_CFLAGS) \
1022 $$(INCLUDE) \
1023)
1024$(call gb_LinkTarget_add_libs,$(1),\
1025 $(SERF_LIBS) \
1026)
1027
1028ifeq ($(SYSTEM_SERF),)
1029$(call gb_LinkTarget_use_external_project,$(1),serf)
1030endif
1031
1032endef
1033
Matúš Kukandcae0502014-02-25 21:47:33 +01001034else ifeq ($(WITH_WEBDAV),neon)
Eike Rathkea774a482012-08-06 19:22:43 +02001035
Michael Stahle3abec32014-02-11 15:57:18 +01001036ifneq ($(SYSTEM_NEON),)
Matúš Kukan464b4332012-01-15 02:12:49 +01001037
1038define gb_LinkTarget__use_neon
Matúš Kukan464b4332012-01-15 02:12:49 +01001039$(call gb_LinkTarget_add_defs,$(1),\
1040 -DNEON_VERSION=0x$(NEON_VERSION) \
David Tardonb74bf412013-08-12 09:39:59 +02001041 -DSYSTEM_NEON \
Matúš Kukan464b4332012-01-15 02:12:49 +01001042)
Matúš Kukan464b4332012-01-15 02:12:49 +01001043$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001044 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00001045 $(NEON_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001046)
1047
1048$(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
1049
1050endef
1051
1052else # !SYSTEM_NEON
1053
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02001054$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
Matúš Kukan464b4332012-01-15 02:12:49 +01001055 neon \
1056))
1057
1058define gb_LinkTarget__use_neon
Matúš Kukan7a030392012-10-29 23:29:37 +01001059$(call gb_LinkTarget_use_unpacked,$(1),neon)
Matúš Kukan464b4332012-01-15 02:12:49 +01001060$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001061 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001062 $$(INCLUDE) \
1063)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001064$(call gb_LinkTarget_use_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001065 neon \
1066)
1067
1068endef
1069
1070endif # SYSTEM_NEON
1071
Matúš Kukandcae0502014-02-25 21:47:33 +01001072endif # WITH_WEBDAV
Matúš Kukan464b4332012-01-15 02:12:49 +01001073
Michael Stahle3abec32014-02-11 15:57:18 +01001074ifneq ($(SYSTEM_REDLAND),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001075
1076define gb_LinkTarget__use_librdf
Michael Stahla88ef232011-04-13 16:11:41 +00001077$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +00001078 -DSYSTEM_REDLAND \
1079)
1080$(call gb_LinkTarget_set_include,$(1),\
1081 $$(INCLUDE) \
1082 $(REDLAND_CFLAGS) \
1083)
1084$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001085
Michael Stahlc74af0d2011-04-01 20:49:35 +00001086endef
1087
Peter Foley18bd1e72012-12-27 18:04:21 -05001088gb_LinkTarget__use_redland_headers:=
1089
1090gb_LinkTarget__use_raptor_headers:=
1091
1092gb_LinkTarget__use_rasqal_headers:=
1093
Michael Stahlc74af0d2011-04-01 20:49:35 +00001094else # !SYSTEM_REDLAND
1095
Peter Foley18bd1e72012-12-27 18:04:21 -05001096define gb_LinkTarget__use_redland_headers
1097$(call gb_LinkTarget_set_include,$(1),\
Michael Stahld719c012013-04-01 12:41:18 +02001098 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001099 $$(INCLUDE) \
1100)
1101
1102endef
1103
1104define gb_LinkTarget__use_raptor_headers
1105$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001106 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001107 $$(INCLUDE) \
1108)
1109
1110endef
1111
1112define gb_LinkTarget__use_rasqal_headers
1113$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001114 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001115 $$(INCLUDE) \
1116)
1117
1118endef
1119
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001120ifneq ($(OS),ANDROID)
1121
Michael Stahl5f9cda22013-11-01 15:43:47 +01001122ifeq ($(COM),MSC)
Michael Stahlae8e5792014-01-10 12:07:31 +01001123$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
David Tardon491dea02013-05-01 11:23:50 +02001124 raptor2 \
1125 rasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001126 rdf \
1127))
Michael Stahl5ae30d32014-03-13 19:32:13 +01001128else
1129$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1130 raptor \
1131 rasqal \
1132 redland \
1133))
Michael Stahl5f9cda22013-11-01 15:43:47 +01001134endif
Michael Stahlc74af0d2011-04-01 20:49:35 +00001135
1136define gb_LinkTarget__use_librdf
Michael Stahl831aaef2013-10-24 01:09:35 +02001137ifeq ($(COM),MSC)
1138$(call gb_LinkTarget_use_libraries,$(1),\
1139 raptor2 \
1140 rdf \
1141)
1142else
Caolán McNamara87114362016-12-19 21:17:48 +00001143$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Matúš Kukan85d1e392013-12-14 11:17:30 +01001144
Michael Stahl2793c542013-10-23 21:18:24 +02001145$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl2793c542013-10-23 21:18:24 +02001146 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
Caolán McNamara87114362016-12-19 21:17:48 +00001147 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1148 -L$(call gb_UnpackedTarball_get_dir,rasqal)/src/.libs -lrasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001149)
Michael Stahl831aaef2013-10-24 01:09:35 +02001150endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001151
Michael Stahlc74af0d2011-04-01 20:49:35 +00001152endef
1153
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001154else # ANDROID
1155
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001156define gb_LinkTarget__use_librdf
Caolán McNamara87114362016-12-19 21:17:48 +00001157$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001158
1159endef
1160
1161endif # ANDROID
1162
Michael Stahlc74af0d2011-04-01 20:49:35 +00001163endif # SYSTEM_REDLAND
1164
1165
Michael Stahlf7a6da22016-02-29 21:15:09 +01001166ifneq ($(USING_X11)$(ENABLE_CAIRO_CANVAS)$(ENABLE_HEADLESS),) # or
Michael Stahl32a617d2014-02-17 11:23:19 +01001167
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001168ifneq ($(SYSTEM_CAIRO),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001169
Michael Stahlc74af0d2011-04-01 20:49:35 +00001170define gb_LinkTarget__use_cairo
1171$(call gb_LinkTarget_set_include,$(1),\
1172 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001173 $(CAIRO_CFLAGS) \
1174)
David Tardon962771f2013-05-24 14:35:18 +02001175$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001176$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001177
Michael Stahlc74af0d2011-04-01 20:49:35 +00001178endef
1179
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001180else # !SYSTEM_CAIRO
Michael Stahlc74af0d2011-04-01 20:49:35 +00001181
Michael Stahl32a617d2014-02-17 11:23:19 +01001182$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1183 cairo \
1184 $(if $(filter $(OS),WNT),,pixman) \
1185))
1186
Michael Stahlc74af0d2011-04-01 20:49:35 +00001187define gb_LinkTarget__use_cairo
Michael Stahlde142202012-11-20 22:05:36 +01001188$(call gb_LinkTarget_use_package,$(1),cairo)
1189$(call gb_LinkTarget_use_package,$(1),pixman)
David Tardon962771f2013-05-24 14:35:18 +02001190$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001191$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001192 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1193 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001194 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001195)
Michael Stahld89f48b2013-10-23 21:27:05 +02001196$(call gb_LinkTarget_add_libs,$(1),\
1197 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001198 $(if $(filter-out MACOSX WNT,$(OS)), \
Michael Stahld89f48b2013-10-23 21:27:05 +02001199 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001200 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001201)
Caolán McNamara5bb76f62011-07-25 21:50:34 +01001202
Michael Stahlc74af0d2011-04-01 20:49:35 +00001203endef
1204
1205endif # SYSTEM_CAIRO
1206
Caolán McNamarafb7d4ba2015-11-16 13:40:22 +00001207else ifeq ($(OS),ANDROID)
1208
1209define gb_LinkTarget__use_cairo
1210$(call gb_LinkTarget_use_package,$(1),cairo)
1211$(call gb_LinkTarget_use_package,$(1),pixman)
1212$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1213$(call gb_LinkTarget_set_include,$(1),\
1214 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1215 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1216 $$(INCLUDE) \
1217)
1218$(call gb_LinkTarget_add_libs,$(1),\
1219 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1220 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
1221)
1222
1223endef
1224
Michael Stahl32a617d2014-02-17 11:23:19 +01001225endif # CAIRO
1226
Michael Stahl379f9782014-02-11 16:49:19 +01001227ifneq ($(SYSTEM_FREETYPE),)
David Tardon962771f2013-05-24 14:35:18 +02001228
1229define gb_LinkTarget__use_freetype_headers
Caolán McNamarab41ae462011-07-25 22:24:27 +01001230$(call gb_LinkTarget_set_include,$(1),\
1231 $$(INCLUDE) \
1232 $(FREETYPE_CFLAGS) \
1233)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001234
David Tardon962771f2013-05-24 14:35:18 +02001235endef
1236
Michael Stahle568d2a2013-09-30 14:10:22 +02001237gb_ExternalProject__use_freetype :=
1238
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001239else
David Tardon962771f2013-05-24 14:35:18 +02001240
1241define gb_LinkTarget__use_freetype_headers
Michael Stahlb242cee82013-10-24 12:08:50 +02001242$(call gb_LinkTarget_use_external_project,$(1),freetype)
David Tardon962771f2013-05-24 14:35:18 +02001243$(call gb_LinkTarget_set_include,$(1),\
David Tardone0603172017-02-02 13:31:13 +01001244 $(FREETYPE_CFLAGS) \
David Tardon962771f2013-05-24 14:35:18 +02001245 $$(INCLUDE) \
1246)
1247
David Tardon61695f12013-05-24 17:15:20 +02001248endef
1249
Michael Stahle568d2a2013-09-30 14:10:22 +02001250define gb_ExternalProject__use_freetype
Michael Stahlb242cee82013-10-24 12:08:50 +02001251$(call gb_ExternalProject_use_external_project,$(1),freetype)
Michael Stahle568d2a2013-09-30 14:10:22 +02001252
1253endef
1254
David Tardon962771f2013-05-24 14:35:18 +02001255endif # SYSTEM_FREETYPE
1256
David Tardone0603172017-02-02 13:31:13 +01001257define gb_LinkTarget__use_freetype
1258$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1259$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1260
1261endef
1262
Michael Stahl04ff5352014-02-11 16:21:04 +01001263ifneq ($(SYSTEM_FONTCONFIG),)
David Tardon4eb68422013-05-24 14:16:03 +02001264
Caolán McNamarab41ae462011-07-25 22:24:27 +01001265define gb_LinkTarget__use_fontconfig
1266$(call gb_LinkTarget_set_include,$(1),\
1267 $$(INCLUDE) \
1268 $(FONTCONFIG_CFLAGS) \
1269)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001270
Caolán McNamarab41ae462011-07-25 22:24:27 +01001271$(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1272
1273endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001274
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001275else
David Tardon4eb68422013-05-24 14:16:03 +02001276
David Tardon4eb68422013-05-24 14:16:03 +02001277define gb_LinkTarget__use_fontconfig
Michael Stahl76596b32013-10-24 11:01:41 +02001278$(call gb_LinkTarget_use_external_project,$(1),fontconfig)
David Tardon4eb68422013-05-24 14:16:03 +02001279$(call gb_LinkTarget_set_include,$(1),\
1280 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1281 $$(INCLUDE) \
1282)
1283
Caolán McNamara1ad871c2016-12-20 11:37:13 +00001284$(call gb_LinkTarget_add_libs,$(1),\
1285 -L$(call gb_UnpackedTarball_get_dir,fontconfig)/src/.libs -lfontconfig \
1286)
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001287
David Tardon4eb68422013-05-24 14:16:03 +02001288endef
1289
1290endif # SYSTEM_FONTCONFIG
1291
Michael Stahle3abec32014-02-11 15:57:18 +01001292ifneq ($(SYSTEM_GRAPHITE),)
Michael Stahl87e44332011-04-13 16:11:39 +00001293
Michael Stahl87e44332011-04-13 16:11:39 +00001294define gb_LinkTarget__use_graphite
Michael Stahl87e44332011-04-13 16:11:39 +00001295$(call gb_LinkTarget_set_include,$(1),\
1296 $$(INCLUDE) \
1297 $(GRAPHITE_CFLAGS) \
1298)
1299$(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001300
Michael Stahl87e44332011-04-13 16:11:39 +00001301endef
1302
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001303gb_ExternalProject__use_graphite:=
1304
Michael Stahle3abec32014-02-11 15:57:18 +01001305else # !SYSTEM_GRAPHITE
Michael Stahl87e44332011-04-13 16:11:39 +00001306
Michael Stahl87e44332011-04-13 16:11:39 +00001307define gb_LinkTarget__use_graphite
Matúš Kukan7a030392012-10-29 23:29:37 +01001308$(call gb_LinkTarget_use_unpacked,$(1),graphite)
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001309$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001310 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001311 $$(INCLUDE) \
1312)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001313$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001314 graphite \
Michael Stahl87e44332011-04-13 16:11:39 +00001315)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001316
Michael Stahl87e44332011-04-13 16:11:39 +00001317endef
1318
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001319define gb_ExternalProject__use_graphite
David Tardonb5c566f2016-11-03 17:23:56 +01001320$(call gb_ExternalProject_use_static_libraries,$(1),\
1321 graphite \
1322)
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001323
1324endef
Michael Stahl87e44332011-04-13 16:11:39 +00001325endif # SYSTEM_GRAPHITE
1326
Michael Stahl187194b2014-02-11 19:17:42 +01001327ifneq ($(SYSTEM_ICU),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001328
Peter Foleyb92a0d92012-12-25 17:39:43 -05001329gb_LinkTarget__use_icu_headers:=
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001330gb_ExternalProject__use_icu:=
Peter Foleyb92a0d92012-12-25 17:39:43 -05001331
Matúš Kukan6fad1752011-08-11 12:42:39 +02001332define gb_LinkTarget__use_icudata
1333$(call gb_LinkTarget_add_libs,$(1),-licudata)
1334
1335endef
David Tardon1a852392011-07-26 09:58:54 +02001336define gb_LinkTarget__use_icui18n
1337$(call gb_LinkTarget_add_libs,$(1),-licui18n)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001338
David Tardon1a852392011-07-26 09:58:54 +02001339endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001340define gb_LinkTarget__use_icuuc
1341$(call gb_LinkTarget_add_libs,$(1),-licuuc)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001342
Michael Stahlc74af0d2011-04-01 20:49:35 +00001343endef
1344
1345else # !SYSTEM_ICU
1346
Michael Stahl057613c2014-07-24 00:22:51 +02001347$(eval $(call gb_Helper_register_packages_for_install,ure, \
1348 icu_ure \
1349))
1350
Michael Stahle7592692014-03-14 11:23:52 +01001351$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1352 icu \
1353))
1354
Tor Lillqvist084db5f2012-09-24 10:37:25 +03001355ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001356gb_ICU_suffix:=lo
1357else
1358gb_ICU_suffix:=
1359endif
1360
Peter Foleyb92a0d92012-12-25 17:39:43 -05001361define gb_LinkTarget__use_icu_headers
Peter Foleyce9bf0f2013-03-23 12:32:31 -04001362$(call gb_LinkTarget_use_unpacked,$(1),icu)
Peter Foleyb92a0d92012-12-25 17:39:43 -05001363$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001364 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1365 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1366 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
Peter Foleyb92a0d92012-12-25 17:39:43 -05001367 $$(INCLUDE) \
1368)
1369
1370endef
1371
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001372define gb_ExternalProject__use_icu
1373$(call gb_ExternalProject_use_package,$(1),icu)
Fridrich Štrba851ca9c2013-01-25 10:29:59 +01001374
1375endef
1376
Peter Foleyf7452122012-11-04 08:46:44 -05001377# icudata and icui18n is called icudt and icuin when built with MSVC :-/
Michael Stahla92f80f2013-10-23 15:00:29 +02001378define gb_LinkTarget__use_icudata
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001379$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001380
1381ifeq ($(OS),WNT)
1382$(call gb_LinkTarget_add_libs,$(1),\
1383 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001384)
Michael Stahla92f80f2013-10-23 15:00:29 +02001385else
1386$(call gb_LinkTarget_add_libs,$(1),\
1387 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licudata$(gb_ICU_suffix) \
1388)
1389endif
Matúš Kukan6fad1752011-08-11 12:42:39 +02001390
1391endef
Michael Stahla92f80f2013-10-23 15:00:29 +02001392
1393define gb_LinkTarget__use_icui18n
1394$(call gb_LinkTarget_use_package,$(1),icu)
1395
1396ifeq ($(OS),WNT)
1397$(call gb_LinkTarget_add_libs,$(1),\
1398 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1399)
1400else
1401$(call gb_LinkTarget_add_libs,$(1),\
1402 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licui18n$(gb_ICU_suffix) \
1403)
1404endif
1405
1406endef
1407
Michael Stahlc74af0d2011-04-01 20:49:35 +00001408define gb_LinkTarget__use_icuuc
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001409$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001410
1411ifeq ($(OS),WNT)
1412$(call gb_LinkTarget_add_libs,$(1),\
1413 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001414)
Michael Stahla92f80f2013-10-23 15:00:29 +02001415else
1416$(call gb_LinkTarget_add_libs,$(1),\
1417 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licuuc$(gb_ICU_suffix) \
1418)
1419endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001420
Michael Stahlc74af0d2011-04-01 20:49:35 +00001421endef
1422
1423endif # SYSTEM_ICU
1424
Michael Stahle3abec32014-02-11 15:57:18 +01001425ifneq ($(SYSTEM_HARFBUZZ),)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001426
1427define gb_LinkTarget__use_harfbuzz
1428$(call gb_LinkTarget_set_include,$(1),\
1429 $$(INCLUDE) \
1430 $(HARFBUZZ_CFLAGS) \
1431)
1432$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1433
1434endef
1435
David Tardoncc96f0c2017-02-01 12:32:35 +01001436gb_ExternalProject__use_harfbuzz :=
1437
Michael Stahle3abec32014-02-11 15:57:18 +01001438else # SYSTEM_HARFBUZZ != TRUE
Khaled Hosny7e389f42013-04-20 13:00:56 +02001439
Khaled Hosny7e389f42013-04-20 13:00:56 +02001440define gb_LinkTarget__use_harfbuzz
Michael Stahl8db02752013-05-07 23:28:45 +02001441$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl2f6261f2013-09-19 19:28:36 +02001442 $(HARFBUZZ_CFLAGS) \
Michael Stahl8db02752013-05-07 23:28:45 +02001443 $$(INCLUDE) \
1444)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001445$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1446$(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001447
1448endef
1449
David Tardoncc96f0c2017-02-01 12:32:35 +01001450define gb_ExternalProject__use_harfbuzz
1451$(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1452
1453endef
1454
Khaled Hosny7e389f42013-04-20 13:00:56 +02001455endif # SYSTEM_HARFBUZZ
Michael Stahl4a8919f2011-04-18 11:13:57 +00001456
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001457ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomeze3f607e2013-04-11 10:24:25 +03001458
1459gb_ExternalProject__use_openssl:=
1460gb_LinkTarget__use_openssl_headers:=
1461gb_LinkTarget__use_openssl:=
1462
1463else # !DISABLE_OPENSSL
1464
Michael Stahle3abec32014-02-11 15:57:18 +01001465ifneq ($(SYSTEM_OPENSSL),)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001466
Peter Foley9ddba662012-12-28 11:19:06 -05001467gb_LinkTarget__use_openssl_headers:=
1468gb_ExternalProject__use_openssl:=
1469
Michael Stahl4a8919f2011-04-18 11:13:57 +00001470define gb_LinkTarget__use_openssl
1471$(call gb_LinkTarget_set_include,$(1),\
1472 $$(INCLUDE) \
1473 $(OPENSSL_CFLAGS) \
1474)
1475$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001476
Michael Stahl4a8919f2011-04-18 11:13:57 +00001477endef
1478
1479else # !SYSTEM_OPENSSL
1480
Michael Stahlf921e262014-03-13 19:36:48 +01001481$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1482 openssl \
1483))
1484
Peter Foley9ddba662012-12-28 11:19:06 -05001485define gb_ExternalProject__use_openssl
1486$(call gb_ExternalProject_use_package,$(1),openssl)
1487
1488endef
1489
1490define gb_LinkTarget__use_openssl_headers
Michael Stahlc7ca0712016-03-07 21:18:23 +01001491$(call gb_LinkTarget_use_external_project,$(1),openssl)
Peter Foley9ddba662012-12-28 11:19:06 -05001492$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001493 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
Peter Foley9ddba662012-12-28 11:19:06 -05001494 $$(INCLUDE) \
1495)
1496
1497endef
1498
Michael Stahl4a8919f2011-04-18 11:13:57 +00001499define gb_LinkTarget__use_openssl
Peter Foley9ddba662012-12-28 11:19:06 -05001500$(call gb_LinkTarget_use_package,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001501ifeq ($(OS),WNT)
Michael Stahl5b906622013-10-24 00:22:20 +02001502$(call gb_LinkTarget_add_libs,$(1),\
1503 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/ssleay32.lib \
1504 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/libeay32.lib \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001505)
1506else
Michael Stahl2f6261f2013-09-19 19:28:36 +02001507$(call gb_LinkTarget_add_libs,$(1),\
1508 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1509 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001510)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001511$(call gb_LinkTarget_use_external_project,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001512ifeq ($(OS),SOLARIS)
Michael Stahl80374352012-09-28 12:25:50 +02001513$(call gb_LinkTarget_add_libs,$(1),\
1514 -lnsl \
1515 -lsocket \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001516)
1517endif
1518endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001519
Michael Stahl4a8919f2011-04-18 11:13:57 +00001520endef
1521
1522endif # SYSTEM_OPENSSL
Andres Gomeze3f607e2013-04-11 10:24:25 +03001523endif # DISABLE_OPENSSL
Michael Stahl4a8919f2011-04-18 11:13:57 +00001524
Matúš Kukanc4560482011-07-28 01:03:23 +02001525
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001526ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomez48d49752013-04-11 10:32:54 +03001527
1528define gb_LinkTarget__use_gnutls
1529$(call gb_LinkTarget_set_include,$(1),\
1530 $$(INCLUDE) \
1531 $(GNUTLS_CFLAGS) \
1532)
1533
1534$(call gb_LinkTarget_add_defs,$(1),\
1535 -DDISABLE_OPENSSL \
1536)
1537
1538$(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1539
1540endef
1541
1542define gb_LinkTarget__use_libgcrypt
1543$(call gb_LinkTarget_set_include,$(1),\
1544 $$(INCLUDE) \
1545 $(LIBGCRYPT_CFLAGS) \
1546)
1547
1548$(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1549
1550endef
1551
1552else # !DISABLE_OPENSSL
1553
1554gb_LinkTarget__use_gnutls:=
1555gb_LinkTarget__use_libgcrypt:=
1556
1557endif # DISABLE_OPENSSL
1558
1559
Michael Stahle3abec32014-02-11 15:57:18 +01001560ifneq ($(SYSTEM_CDR),)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001561
1562define gb_LinkTarget__use_cdr
1563$(call gb_LinkTarget_set_include,$(1),\
1564 $$(INCLUDE) \
1565 $(CDR_CFLAGS) \
1566)
1567$(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1568
1569endef
1570
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001571else # !SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001572
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001573define gb_LinkTarget__use_cdr
David Tardonf16f3662013-05-24 13:48:03 +02001574$(call gb_LinkTarget_set_include,$(1),\
1575 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1576 $$(INCLUDE) \
1577)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001578$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001579 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001580)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001581$(call gb_LinkTarget_use_external_project,$(1),libcdr)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001582endef
1583
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001584endif # SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001585
1586
Michael Stahle3abec32014-02-11 15:57:18 +01001587ifneq ($(SYSTEM_EBOOK),)
David Tardon316be1b2013-11-09 15:52:36 +01001588
1589define gb_LinkTarget__use_ebook
1590$(call gb_LinkTarget_set_include,$(1),\
1591 $$(INCLUDE) \
1592 $(EBOOK_CFLAGS) \
1593)
1594$(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1595
1596endef
1597
1598gb_ExternalProject__use_ebook :=
1599
1600else # !SYSTEM_EBOOK
1601
1602define gb_LinkTarget__use_ebook
1603$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001604 -I${WORKDIR}/UnpackedTarball/libebook/inc \
David Tardon316be1b2013-11-09 15:52:36 +01001605 $$(INCLUDE) \
1606)
1607$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001608 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
David Tardon316be1b2013-11-09 15:52:36 +01001609)
1610$(call gb_LinkTarget_use_external_project,$(1),libebook)
1611
1612endef
1613
1614define gb_ExternalProject__use_ebook
1615$(call gb_ExternalProject_use_external_project,$(1),libebook)
1616
1617endef
1618
1619endif # SYSTEM_EBOOK
1620
1621
Michael Stahle3abec32014-02-11 15:57:18 +01001622ifneq ($(SYSTEM_ETONYEK),)
David Tardon08ca3e42013-10-24 16:46:49 +02001623
1624define gb_LinkTarget__use_etonyek
1625$(call gb_LinkTarget_set_include,$(1),\
1626 $$(INCLUDE) \
1627 $(ETONYEK_CFLAGS) \
1628)
1629$(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1630
1631endef
1632
1633gb_ExternalProject__use_etonyek :=
1634
1635else # !SYSTEM_ETONYEK
1636
David Tardon78deb812015-05-19 16:12:08 +02001637ifeq ($(COM),MSC)
1638
1639$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1640 etonyek \
1641))
1642
David Tardon08ca3e42013-10-24 16:46:49 +02001643define gb_LinkTarget__use_etonyek
1644$(call gb_LinkTarget_set_include,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001645 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1646 $$(INCLUDE) \
1647)
1648$(call gb_LinkTarget_use_libraries,$(1),\
1649 etonyek \
1650)
1651
1652endef
1653
1654else # !MSC
1655
1656$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1657 libetonyek \
1658))
1659
1660define gb_LinkTarget__use_etonyek
1661$(call gb_LinkTarget_use_package,$(1),libetonyek)
1662
1663$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001664 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
David Tardon78deb812015-05-19 16:12:08 +02001665 -DLIBETONYEK_VISIBILITY \
David Tardon08ca3e42013-10-24 16:46:49 +02001666 $$(INCLUDE) \
1667)
1668$(call gb_LinkTarget_add_libs,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001669 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
David Tardon08ca3e42013-10-24 16:46:49 +02001670)
1671$(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1672
1673endef
1674
1675define gb_ExternalProject__use_etonyek
1676$(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1677
1678endef
1679
David Tardon78deb812015-05-19 16:12:08 +02001680endif
1681
David Tardon08ca3e42013-10-24 16:46:49 +02001682endif # SYSTEM_ETONYEK
1683
1684
Michael Stahle3abec32014-02-11 15:57:18 +01001685ifneq ($(SYSTEM_FREEHAND),)
Fridrich Štrba67153d72013-10-31 12:42:50 +01001686
1687define gb_LinkTarget__use_freehand
1688$(call gb_LinkTarget_set_include,$(1),\
1689 $$(INCLUDE) \
1690 $(FREEHAND_CFLAGS) \
1691)
1692$(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1693
1694endef
1695
1696gb_ExternalProject__use_freehand :=
1697
1698else # !SYSTEM_FREEHAND
1699
1700define gb_LinkTarget__use_freehand
1701$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001702 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001703 $$(INCLUDE) \
1704)
1705$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001706 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001707)
1708$(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1709
1710endef
1711
1712define gb_ExternalProject__use_freehand
1713$(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1714
1715endef
1716
1717endif # SYSTEM_FREEHAND
1718
1719
Michael Stahle3abec32014-02-11 15:57:18 +01001720ifneq ($(SYSTEM_ODFGEN),)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001721
1722define gb_LinkTarget__use_odfgen
1723$(call gb_LinkTarget_set_include,$(1),\
1724 $$(INCLUDE) \
1725 $(ODFGEN_CFLAGS) \
1726)
1727$(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1728
1729endef
1730
1731else # !SYSTEM_ODFGEN
1732
David Tardon36c3f912014-05-24 09:13:33 +02001733ifeq ($(COM),MSC)
1734
1735$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1736 odfgen \
1737))
1738
Fridrich Štrba93848e12013-05-02 20:25:51 +02001739define gb_LinkTarget__use_odfgen
David Tardon0f8a90c2013-05-24 13:49:11 +02001740$(call gb_LinkTarget_set_include,$(1),\
1741 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1742 $$(INCLUDE) \
1743)
David Tardon36c3f912014-05-24 09:13:33 +02001744$(call gb_LinkTarget_use_libraries,$(1),\
1745 odfgen \
Fridrich Štrba93848e12013-05-02 20:25:51 +02001746)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001747
1748endef
1749
David Tardon36c3f912014-05-24 09:13:33 +02001750else # !MSC
1751
1752$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1753 libodfgen \
1754))
1755
1756define gb_LinkTarget__use_odfgen
1757$(call gb_LinkTarget_use_package,$(1),libodfgen)
1758
1759$(call gb_LinkTarget_set_include,$(1),\
1760 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001761 -DLIBODFGEN_VISIBILITY \
David Tardon36c3f912014-05-24 09:13:33 +02001762 $$(INCLUDE) \
1763)
1764$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001765 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
David Tardon36c3f912014-05-24 09:13:33 +02001766)
1767
1768endef
1769
1770endif
1771
Fridrich Štrba93848e12013-05-02 20:25:51 +02001772endif # SYSTEM_ODFGEN
1773
1774
David Tardonb421ce72014-05-24 08:39:54 +02001775ifneq ($(SYSTEM_REVENGE),)
1776
1777define gb_LinkTarget__use_revenge
1778$(call gb_LinkTarget_set_include,$(1),\
1779 $$(INCLUDE) \
1780 $(REVENGE_CFLAGS) \
1781)
1782$(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1783
1784endef
1785
David Tardon7c9c7792014-05-25 13:06:57 +02001786gb_ExternalProject__use_revenge :=
1787
David Tardonb421ce72014-05-24 08:39:54 +02001788else # !SYSTEM_REVENGE
1789
1790ifeq ($(COM),MSC)
1791
1792$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1793 revenge \
1794))
1795
1796define gb_LinkTarget__use_revenge
1797$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001798 $(REVENGE_CFLAGS) \
David Tardonb421ce72014-05-24 08:39:54 +02001799 $$(INCLUDE) \
1800)
1801$(call gb_LinkTarget_use_libraries,$(1),\
1802 revenge \
1803)
1804
1805endef
1806
David Tardon7c9c7792014-05-25 13:06:57 +02001807define gb_ExternalProject__use_revenge
1808$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1809
1810endef
1811
David Tardonb421ce72014-05-24 08:39:54 +02001812else # !MSC
1813
1814$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1815 librevenge \
1816))
1817
1818define gb_LinkTarget__use_revenge
1819$(call gb_LinkTarget_use_package,$(1),librevenge)
1820
1821$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001822 $(REVENGE_CFLAGS) \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001823 -DLIBREVENGE_VISIBILITY \
David Tardonb421ce72014-05-24 08:39:54 +02001824 $$(INCLUDE) \
1825)
1826$(call gb_LinkTarget_add_libs,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001827 $(REVENGE_LIBS) \
David Tardonb421ce72014-05-24 08:39:54 +02001828)
1829endef
1830
David Tardon7c9c7792014-05-25 13:06:57 +02001831define gb_ExternalProject__use_revenge
1832$(call gb_ExternalProject_use_package,$(1),librevenge)
1833
1834endef
1835
David Tardonb421ce72014-05-24 08:39:54 +02001836endif # MSC
1837
1838endif # SYSTEM_REVENGE
1839
1840
Michael Stahle3abec32014-02-11 15:57:18 +01001841ifneq ($(SYSTEM_ABW),)
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001842
1843define gb_LinkTarget__use_abw
1844$(call gb_LinkTarget_set_include,$(1),\
1845 $$(INCLUDE) \
1846 $(ABW_CFLAGS) \
1847)
1848$(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1849
1850endef
1851gb_ExternalProject__use_abw :=
1852
1853else # !SYSTEM_ABW
1854
1855define gb_LinkTarget__use_abw
1856$(call gb_LinkTarget_set_include,$(1),\
1857 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1858 $$(INCLUDE) \
1859)
1860$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001861 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001862)
1863$(call gb_LinkTarget_use_external_project,$(1),libabw)
1864
1865endef
1866define gb_ExternalProject__use_abw
1867$(call gb_ExternalProject_use_external_project,$(1),libabw)
1868
1869endef
1870
1871endif # SYSTEM_ABW
1872
1873
Michael Stahle3abec32014-02-11 15:57:18 +01001874ifneq ($(SYSTEM_MSPUB),)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001875
1876define gb_LinkTarget__use_mspub
1877$(call gb_LinkTarget_set_include,$(1),\
1878 $$(INCLUDE) \
1879 $(MSPUB_CFLAGS) \
1880)
1881$(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1882
1883endef
1884
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001885else # !SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001886
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001887define gb_LinkTarget__use_mspub
Michael Stahl35ac39e2013-05-16 13:09:11 +02001888$(call gb_LinkTarget_set_include,$(1),\
1889 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
1890 $$(INCLUDE) \
1891)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001892$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001893 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba093a5c92013-01-28 10:13:50 +01001894)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001895$(call gb_LinkTarget_use_external_project,$(1),libmspub)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001896
1897endef
1898
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001899endif # SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001900
1901
David Tardon516fb342014-06-26 21:26:11 +02001902ifneq ($(SYSTEM_PAGEMAKER),)
1903
1904define gb_LinkTarget__use_pagemaker
1905$(call gb_LinkTarget_set_include,$(1),\
1906 $$(INCLUDE) \
1907 $(PAGEMAKER_CFLAGS) \
1908)
1909$(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
1910
1911endef
1912gb_ExternalProject__use_pagemaker :=
1913
1914else # !SYSTEM_PAGEMAKER
1915
1916define gb_LinkTarget__use_pagemaker
1917$(call gb_LinkTarget_set_include,$(1),\
1918 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
1919 $$(INCLUDE) \
1920)
1921$(call gb_LinkTarget_add_libs,$(1),\
1922 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
1923)
1924$(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
1925
1926endef
1927define gb_ExternalProject__use_pagemaker
1928$(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
1929
1930endef
1931
1932endif # SYSTEM_PAGEMAKER
1933
1934
Aleksas Pantechovskisaaed6fe2016-06-22 19:02:29 +03001935ifneq ($(SYSTEM_ZMF),)
1936
1937define gb_LinkTarget__use_zmf
1938$(call gb_LinkTarget_set_include,$(1),\
1939 $$(INCLUDE) \
1940 $(ZMF_CFLAGS) \
1941)
1942$(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
1943
1944endef
1945gb_ExternalProject__use_zmf :=
1946
1947else # !SYSTEM_ZMF
1948
1949define gb_LinkTarget__use_zmf
1950$(call gb_LinkTarget_set_include,$(1),\
1951 -I$(call gb_UnpackedTarball_get_dir,libzmf)/inc \
1952 $$(INCLUDE) \
1953)
1954$(call gb_LinkTarget_add_libs,$(1),\
1955 $(call gb_UnpackedTarball_get_dir,libzmf)/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
1956)
1957$(call gb_LinkTarget_use_external_project,$(1),libzmf)
1958
1959endef
1960define gb_ExternalProject__use_zmf
1961$(call gb_ExternalProject_use_external_project,$(1),libzmf)
1962
1963endef
1964
1965endif # SYSTEM_ZMF
1966
1967
Michael Stahle3abec32014-02-11 15:57:18 +01001968ifneq ($(SYSTEM_VISIO),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001969
1970define gb_LinkTarget__use_visio
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001971$(call gb_LinkTarget_set_include,$(1),\
1972 $$(INCLUDE) \
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02001973 $(VISIO_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001974)
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02001975$(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02001976
1977endef
1978
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01001979else # !SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02001980
Matúš Kukanc6a63952011-07-28 17:29:44 +02001981define gb_LinkTarget__use_visio
Michael Stahlacc7f612013-05-16 13:14:37 +02001982$(call gb_LinkTarget_set_include,$(1),\
1983 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
1984 $$(INCLUDE) \
1985)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001986$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001987 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba64ab6112012-11-05 11:43:55 +01001988)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001989$(call gb_LinkTarget_use_external_project,$(1),libvisio)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001990
1991endef
1992
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01001993endif # SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02001994
1995
Michael Stahle3abec32014-02-11 15:57:18 +01001996ifneq ($(SYSTEM_WPD),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001997
1998define gb_LinkTarget__use_wpd
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001999$(call gb_LinkTarget_set_include,$(1),\
2000 $$(INCLUDE) \
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002001 $(WPD_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002002)
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002003$(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002004
2005endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002006gb_ExternalProject__use_wpd :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002007
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002008else # !SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002009
David Tardonc868a0c2014-12-23 18:37:54 +01002010ifeq ($(COM),MSC)
2011
2012$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2013 wpd \
2014))
2015
Fridrich Štrba4425db62012-09-24 13:17:45 +02002016define gb_LinkTarget__use_wpd
Michael Stahldb5c8c52013-05-16 13:28:14 +02002017$(call gb_LinkTarget_set_include,$(1),\
2018 $(WPD_CFLAGS) \
2019 $$(INCLUDE) \
2020)
David Tardonc868a0c2014-12-23 18:37:54 +01002021$(call gb_LinkTarget_use_libraries,$(1),\
2022 wpd \
Michael Stahl34295432012-09-24 22:25:28 +02002023)
Fridrich Štrba4425db62012-09-24 13:17:45 +02002024
2025endef
David Tardonc868a0c2014-12-23 18:37:54 +01002026
Michael Stahl2b7536a2012-10-05 21:17:25 +02002027define gb_ExternalProject__use_wpd
David Tardonc868a0c2014-12-23 18:37:54 +01002028$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002029
2030endef
Fridrich Štrba4425db62012-09-24 13:17:45 +02002031
David Tardonc868a0c2014-12-23 18:37:54 +01002032else # !MSC
2033
2034$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2035 libwpd \
2036))
2037
2038define gb_LinkTarget__use_wpd
2039$(call gb_LinkTarget_use_package,$(1),libwpd)
2040
2041$(call gb_LinkTarget_set_include,$(1),\
2042 $(WPD_CFLAGS) \
2043 $$(INCLUDE) \
2044)
2045$(call gb_LinkTarget_add_libs,$(1),\
2046 $(WPD_LIBS) \
2047)
2048
2049endef
2050
2051define gb_ExternalProject__use_wpd
2052$(call gb_ExternalProject_use_package,$(1),libwpd)
2053
2054endef
2055
2056endif # MSC
2057
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002058endif # SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002059
2060
Michael Stahle3abec32014-02-11 15:57:18 +01002061ifneq ($(SYSTEM_WPG),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002062
2063define gb_LinkTarget__use_wpg
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002064$(call gb_LinkTarget_set_include,$(1),\
2065 $$(INCLUDE) \
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002066 $(WPG_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002067)
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002068$(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002069
2070endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002071gb_ExternalProject__use_wpg :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002072
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002073else # !SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002074
David Tardonc868a0c2014-12-23 18:37:54 +01002075ifeq ($(COM),MSC)
2076
2077$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2078 wpg \
2079))
2080
Matúš Kukanc6a63952011-07-28 17:29:44 +02002081define gb_LinkTarget__use_wpg
David Tardonc51a2542013-05-24 14:53:37 +02002082$(call gb_LinkTarget_set_include,$(1),\
2083 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2084 $$(INCLUDE) \
2085)
David Tardonc868a0c2014-12-23 18:37:54 +01002086$(call gb_LinkTarget_use_libraries,$(1),\
2087 wpg \
Michael Stahl53b7bdc2012-10-05 17:19:47 +02002088)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002089
2090endef
David Tardonc868a0c2014-12-23 18:37:54 +01002091
2092else # !MSC
2093
2094$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2095 libwpg \
2096))
2097
2098define gb_LinkTarget__use_wpg
2099$(call gb_LinkTarget_use_package,$(1),libwpg)
2100
2101$(call gb_LinkTarget_set_include,$(1),\
2102 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2103 $$(INCLUDE) \
2104)
2105$(call gb_LinkTarget_add_libs,$(1),\
2106 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2107)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002108
2109endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002110
David Tardonc868a0c2014-12-23 18:37:54 +01002111endif # MSC
2112
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002113endif # SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002114
2115
Michael Stahle3abec32014-02-11 15:57:18 +01002116ifneq ($(SYSTEM_WPS),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002117
2118define gb_LinkTarget__use_wps
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002119$(call gb_LinkTarget_set_include,$(1),\
2120 $$(INCLUDE) \
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002121 $(WPS_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002122)
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002123$(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002124
2125endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002126gb_ExternalProject__use_wps :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002127
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002128else # !SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002129
David Tardonf85d10f2014-05-30 15:35:48 +02002130ifeq ($(COM),MSC)
2131
2132$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2133 wps \
2134))
2135
Matúš Kukanc6a63952011-07-28 17:29:44 +02002136define gb_LinkTarget__use_wps
David Tardon6f9d8212013-05-24 14:58:31 +02002137$(call gb_LinkTarget_set_include,$(1),\
2138 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2139 $$(INCLUDE) \
2140)
David Tardonf85d10f2014-05-30 15:35:48 +02002141
2142$(call gb_LinkTarget_use_libraries,$(1),\
2143 wps \
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02002144)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002145
2146endef
David Tardonf85d10f2014-05-30 15:35:48 +02002147
2148else # !MSC
2149
2150$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2151 libwps \
2152))
2153
2154define gb_LinkTarget__use_wps
2155$(call gb_LinkTarget_use_package,$(1),libwps)
2156
2157$(call gb_LinkTarget_set_include,$(1),\
2158 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2159 $$(INCLUDE) \
2160)
2161$(call gb_LinkTarget_add_libs,$(1),\
osnolaf9568332015-05-18 10:21:10 +02002162 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
David Tardonf85d10f2014-05-30 15:35:48 +02002163)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002164
2165endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002166
David Tardonf85d10f2014-05-30 15:35:48 +02002167endif # MSC
2168
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002169endif # SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002170
2171
Michael Stahle3abec32014-02-11 15:57:18 +01002172ifneq ($(SYSTEM_MWAW),)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002173
2174define gb_LinkTarget__use_mwaw
2175$(call gb_LinkTarget_set_include,$(1),\
2176 $$(INCLUDE) \
2177 $(MWAW_CFLAGS) \
2178)
2179$(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2180
2181endef
2182
2183else # !SYSTEM_MWAW
2184
David Tardon79211c12014-05-30 13:55:20 +02002185ifeq ($(COM),MSC)
2186
2187$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2188 mwaw \
2189))
2190
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002191define gb_LinkTarget__use_mwaw
Michael Stahlff718952013-05-16 13:11:36 +02002192$(call gb_LinkTarget_set_include,$(1),\
2193 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2194 $$(INCLUDE) \
2195)
David Tardon79211c12014-05-30 13:55:20 +02002196
2197$(call gb_LinkTarget_use_libraries,$(1),\
2198 mwaw \
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002199)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002200
2201endef
2202
David Tardon79211c12014-05-30 13:55:20 +02002203else # !MSC
2204
2205$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2206 libmwaw \
2207))
2208
2209define gb_LinkTarget__use_mwaw
2210$(call gb_LinkTarget_use_package,$(1),libmwaw)
2211
2212$(call gb_LinkTarget_set_include,$(1),\
2213 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2214 $$(INCLUDE) \
2215)
2216$(call gb_LinkTarget_add_libs,$(1),\
2217 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2218)
2219
2220endef
2221
2222endif # MSC
2223
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002224endif # SYSTEM_MWAW
2225
osnola1faae1f2016-08-10 12:43:56 +02002226ifneq ($(SYSTEM_STAROFFICE),)
2227
2228define gb_LinkTarget__use_staroffice
2229$(call gb_LinkTarget_set_include,$(1),\
2230 $$(INCLUDE) \
2231 $(STAROFFICE_CFLAGS) \
2232)
2233$(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2234
2235endef
2236
2237else # !SYSTEM_STAROFFICE
2238
2239ifeq ($(COM),MSC)
2240
2241$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2242 staroffice \
2243))
2244
2245define gb_LinkTarget__use_staroffice
2246$(call gb_LinkTarget_set_include,$(1),\
2247 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2248 $$(INCLUDE) \
2249)
2250
2251$(call gb_LinkTarget_use_libraries,$(1),\
2252 staroffice \
2253)
2254
2255endef
2256
2257else # !MSC
2258
2259$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2260 libstaroffice \
2261))
2262
2263define gb_LinkTarget__use_staroffice
2264$(call gb_LinkTarget_use_package,$(1),libstaroffice)
2265
2266$(call gb_LinkTarget_set_include,$(1),\
2267 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2268 $$(INCLUDE) \
2269)
2270$(call gb_LinkTarget_add_libs,$(1),\
2271 -L$(call gb_UnpackedTarball_get_dir,libstaroffice)/src/lib/.libs -lstaroffice-0.0 \
2272)
2273
2274endef
2275
2276endif # MSC
2277
2278endif # SYSTEM_STAROFFICE
2279
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002280
Michael Stahle3abec32014-02-11 15:57:18 +01002281ifneq ($(SYSTEM_LCMS2),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002282
2283define gb_LinkTarget__use_lcms2
2284$(call gb_LinkTarget_set_include,$(1),\
2285 $$(INCLUDE) \
Peter Foleyf7452122012-11-04 08:46:44 -05002286 $(LCMS2_CFLAGS) \
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002287)
2288$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2289
2290endef
2291
Peter Foley8905c0e2012-11-08 21:00:30 -05002292gb_ExternalProject__use_lcms2 :=
2293
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002294else # !SYSTEM_LCMS2
2295
Michael Stahl32a617d2014-02-17 11:23:19 +01002296$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2297 lcms2 \
2298))
2299
Peter Foley8905c0e2012-11-08 21:00:30 -05002300define gb_ExternalProject__use_lcms2
2301$(call gb_ExternalProject_use_package,$(1),lcms2)
2302
2303endef
2304
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002305ifeq ($(OS),ANDROID)
2306
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002307define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002308$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002309$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002310 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002311 $$(INCLUDE) \
2312)
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002313
2314endef
2315
2316else
2317
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002318define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002319$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002320$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002321 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002322 $$(INCLUDE) \
2323)
Michael Stahl25f65f22013-10-23 22:04:36 +02002324$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002325
2326endef
2327
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002328endif # ANDROID
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002329endif # SYSTEM_LCMS2
2330
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002331ifneq ($(ENABLE_LPSOLVE),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002332
Michael Stahlab586f12014-02-11 19:25:30 +01002333ifneq ($(SYSTEM_LPSOLVE),)
Matúš Kukanc4560482011-07-28 01:03:23 +02002334
Peter Foley085346f2012-11-03 19:19:30 -04002335define gb_LinkTarget__use_lpsolve
Matúš Kukanc4560482011-07-28 01:03:23 +02002336$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
Peter Foley085346f2012-11-03 19:19:30 -04002337$(call gb_LinkTarget_add_defs,$(1),\
2338 -DSYSTEM_LPSOLVE \
Peter Foley29d5e292012-11-07 18:18:08 -05002339)
Matúš Kukanc4560482011-07-28 01:03:23 +02002340
2341endef
2342
2343else # !SYSTEM_LPSOLVE
2344
Peter Foley085346f2012-11-03 19:19:30 -04002345define gb_LinkTarget__use_lpsolve
Michael Stahlf4732872016-12-09 17:23:11 +01002346$(call gb_LinkTarget_use_external_project,$(1),lpsolve)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002347ifeq ($(COM),MSC)
2348$(call gb_LinkTarget_add_libs,$(1),\
2349 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2350)
2351else
Michael Stahlb177b302013-10-23 21:33:51 +02002352$(call gb_LinkTarget_add_libs,$(1),\
2353 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
Matúš Kukanc4560482011-07-28 01:03:23 +02002354)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002355endif
Peter Foley085346f2012-11-03 19:19:30 -04002356$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002357 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
Peter Foley085346f2012-11-03 19:19:30 -04002358 $$(INCLUDE) \
2359)
Matúš Kukanc4560482011-07-28 01:03:23 +02002360
2361endef
2362
Matúš Kukan083fa762014-02-27 17:08:09 +01002363$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2364 lpsolve \
2365))
2366
Matúš Kukanc4560482011-07-28 01:03:23 +02002367endif # SYSTEM_LPSOLVE
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002368
Matúš Kukan077bdc72014-03-27 14:51:46 +01002369else
2370
2371gb_LinkTarget__use_lpsolve :=
2372
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002373endif # ENABLE_LPSOLVE
2374
2375ifneq ($(ENABLE_COINMP),)
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002376
Rene Engelhardd85f5132014-08-06 00:03:21 +02002377ifneq ($(SYSTEM_COINMP),TRUE)
2378
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002379define gb_LinkTarget__use_coinmp
2380$(call gb_LinkTarget_use_package,$(1),coinmp)
2381ifeq ($(COM),MSC)
2382$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovsky152e2a22014-11-30 18:26:01 +01002383 $(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 +01002384)
2385else
2386$(call gb_LinkTarget_add_libs,$(1),\
2387 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2388 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2389 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2390 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2391 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2392 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2393 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2394)
2395endif
2396$(call gb_LinkTarget_set_include,$(1),\
2397 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
Caolán McNamara67b4b342014-06-06 14:32:09 +01002398 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002399 $$(INCLUDE) \
2400)
2401
2402endef
2403
2404$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2405 coinmp \
2406))
2407
Rene Engelhardd85f5132014-08-06 00:03:21 +02002408else # SYSTEM_COINMP
2409
2410define gb_LinkTarget__use_coinmp
2411$(call gb_LinkTarget_set_include,$(1),\
2412 $$(INCLUDE) \
2413 $(COINMP_CFLAGS) \
2414)
2415$(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2416
2417endef
2418
2419endif
2420
Matúš Kukan077bdc72014-03-27 14:51:46 +01002421else
2422
2423gb_LinkTarget__use_coinmp :=
2424
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002425endif # ENABLE_COINMP
Matúš Kukanc4560482011-07-28 01:03:23 +02002426
Michael Stahl9ec0e6d2015-11-27 23:54:40 +01002427ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2428
2429define gb_LinkTarget__use_mDNSResponder
2430$(call gb_LinkTarget_set_include,$(1),\
2431 -I$(call gb_UnpackedTarball_get_dir,mDNSResponder)/mDNSShared \
2432 $$(INCLUDE) \
2433)
2434$(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2435endef
2436
2437endif # MDNSRESPONDER
2438
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002439ifeq ($(ENABLE_GIO),TRUE)
Matúš Kukanc4560482011-07-28 01:03:23 +02002440
Matúš Kukan464b4332012-01-15 02:12:49 +01002441define gb_LinkTarget__use_gio
2442$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01002443 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00002444 $(GIO_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01002445)
2446
2447$(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2448
2449endef
2450
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002451else # ENABLE_GIO
2452
2453define gb_LinkTarget__use_gio
Caolán McNamara1e98bb42012-11-06 20:09:57 +00002454
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002455endef
2456
2457endif # ENABLE_GIO
2458
Siqid0419802013-07-24 11:16:31 +02002459ifeq ($(ENABLE_AVAHI),TRUE)
2460
2461define gb_LinkTarget__use_avahi
2462$(call gb_LinkTarget_set_include,$(1),\
2463 $$(INCLUDE) \
2464 $(AVAHI_CFLAGS) \
2465)
2466
2467$(call gb_LinkTarget_add_defs,$(1),\
2468 -DENABLE_AVAHI \
2469)
2470
2471$(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2472
2473endef
2474
2475else # ENABLE_AVAHI
2476
David Tardon9ce38ef2013-11-05 07:03:08 +01002477gb_LinkTarget__use_avahi :=
Siqid0419802013-07-24 11:16:31 +02002478
2479endif # ENABLE_AVAHI
2480
2481
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002482define gb_LinkTarget__use_gtk
2483$(call gb_LinkTarget_set_include,$(1),\
2484 $$(INCLUDE) \
2485 $(GTK_CFLAGS) \
2486)
2487
2488$(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
2489
David Tardonadb11052011-12-01 13:39:09 +01002490ifeq ($(ENABLE_GTK_PRINT),TRUE)
2491
2492$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
2493
2494$(call gb_LinkTarget_set_include,$(1),\
2495 $$(INCLUDE) \
2496 $(GTK_PRINT_CFLAGS) \
2497)
2498
2499$(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
2500
2501endif
2502
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002503endef
Michael Stahl4a8919f2011-04-18 11:13:57 +00002504
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002505define gb_LinkTarget__use_gthread
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002506$(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002507endef
2508
Caolán McNamara68ffb332012-09-14 11:31:50 +01002509ifeq ($(ENABLE_CUPS),TRUE)
2510
2511define gb_LinkTarget__use_cups
2512$(call gb_LinkTarget_add_defs,$(1),\
2513 -DENABLE_CUPS \
2514)
2515
2516$(call gb_LinkTarget_add_libs,$(1),\
2517 -lcups \
2518)
2519
2520endef
2521
2522else # ENABLE_CUPS
2523
2524define gb_LinkTarget__use_cups
2525
2526endef
2527
2528endif # ENABLE_DBUS
David Tardon1b717ce2011-11-02 13:00:48 +01002529
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002530ifeq ($(ENABLE_DBUS),TRUE)
David Tardon1b717ce2011-11-02 13:00:48 +01002531
2532define gb_LinkTarget__use_dbus
2533$(call gb_LinkTarget_set_include,$(1),\
2534 $$(INCLUDE) \
2535 $(DBUS_CFLAGS) \
2536)
2537
David Tardon1b717ce2011-11-02 13:00:48 +01002538$(call gb_LinkTarget_add_libs,$(1),\
2539 $(DBUS_LIBS) \
2540)
2541
2542endef
2543
2544else # ENABLE_DBUS
2545
2546define gb_LinkTarget__use_dbus
2547
2548endef
2549
2550endif # ENABLE_DBUS
2551
2552
Michael Stahle3abec32014-02-11 15:57:18 +01002553ifneq ($(SYSTEM_LIBPNG),)
David Tardon6df9c472011-09-15 14:44:34 +02002554
2555define gb_LinkTarget__use_png
2556$(call gb_LinkTarget_set_include,$(1),\
2557 $$(INCLUDE) \
2558 $(LIBPNG_CFLAGS) \
2559)
2560
2561$(call gb_LinkTarget_add_libs,$(1),\
2562 $(LIBPNG_LIBS) \
2563)
2564
2565endef
2566
David Tardon5955e7b2016-11-03 13:58:29 +01002567gb_ExternalProject__use_png :=
2568
David Tardon6df9c472011-09-15 14:44:34 +02002569else # !SYSTEM_LIBPNG
2570
David Tardon6df9c472011-09-15 14:44:34 +02002571define gb_LinkTarget__use_png
Michael Stahl416b3212013-05-08 17:22:22 +02002572$(call gb_LinkTarget_set_include,$(1),\
2573 $(LIBPNG_CFLAGS) \
2574 $$(INCLUDE) \
2575)
Matúš Kukanf96d58b2012-09-08 18:13:20 +02002576$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardon6df9c472011-09-15 14:44:34 +02002577 png \
2578)
Michael Stahl398ce442012-09-28 21:47:29 +02002579$(call gb_LinkTarget__use_zlib,$(1))
David Tardon6df9c472011-09-15 14:44:34 +02002580
2581endef
2582
David Tardon5955e7b2016-11-03 13:58:29 +01002583define gb_ExternalProject__use_png
2584$(call gb_ExternalProject_use_static_libraries,$(1),\
2585 png \
2586)
2587
2588endef
2589
David Tardon6df9c472011-09-15 14:44:34 +02002590endif # !SYSTEM_LIBPNG
2591
Michael Stahl50471a82011-12-06 19:17:52 +01002592
Michael Stahle3abec32014-02-11 15:57:18 +01002593ifneq ($(SYSTEM_CURL),)
Michael Stahl50471a82011-12-06 19:17:52 +01002594
2595define gb_LinkTarget__use_curl
Cédric Bosdonnat89361fa2014-07-16 17:02:01 +02002596$(call gb_LinkTarget_add_defs,$(1),\
2597 -DSYSTEM_CURL \
2598)
Michael Stahl50471a82011-12-06 19:17:52 +01002599$(call gb_LinkTarget_set_include,$(1),\
2600 $$(INCLUDE) \
2601 $(CURL_CFLAGS) \
2602)
2603$(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2604
2605endef
2606
2607else # !SYSTEM_CURL
2608
Michael Stahl32a617d2014-02-17 11:23:19 +01002609$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2610 curl \
2611))
2612
Michael Stahl50471a82011-12-06 19:17:52 +01002613define gb_LinkTarget__use_curl
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002614$(call gb_LinkTarget_use_package,$(1),curl)
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002615$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002616 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002617 $$(INCLUDE) \
2618)
Michael Stahl936a1a92013-10-23 22:37:11 +02002619
2620ifeq ($(COM),MSC)
Michael Stahl714b93b2013-10-24 00:32:04 +02002621$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl548da052014-06-02 01:35:41 +02002622 $(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 +01002623)
Michael Stahl936a1a92013-10-23 22:37:11 +02002624else
2625$(call gb_LinkTarget_add_libs,$(1),\
2626 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2627)
2628endif
Michael Stahl50471a82011-12-06 19:17:52 +01002629
2630endef
2631
2632endif # SYSTEM_CURL
2633
Stephan Bergmann49313b02012-11-27 15:35:02 +01002634ifeq ($(ENABLE_VALGRIND),TRUE)
David Tardon3446cda2011-12-23 12:21:19 +01002635
2636define gb_LinkTarget__use_valgrind
2637$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmann49313b02012-11-27 15:35:02 +01002638 -DHAVE_VALGRIND_HEADERS \
David Tardon3446cda2011-12-23 12:21:19 +01002639)
2640
2641$(call gb_LinkTarget_set_include,$(1),\
2642 $$(INCLUDE) \
2643 $(VALGRIND_CFLAGS) \
2644)
2645
2646endef
2647
Stephan Bergmann49313b02012-11-27 15:35:02 +01002648else # !ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002649
2650define gb_LinkTarget__use_valgrind
2651
2652endef
2653
Stephan Bergmann49313b02012-11-27 15:35:02 +01002654endif # ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002655
Michael Stahl32db4992014-02-11 19:35:22 +01002656ifneq ($(SYSTEM_POPPLER),)
David Tardondba2d322012-02-18 18:54:35 +01002657
2658define gb_LinkTarget__use_poppler
David Tardondba2d322012-02-18 18:54:35 +01002659$(call gb_LinkTarget_set_include,$(1),\
2660 $(POPPLER_CFLAGS) \
2661 $$(INCLUDE) \
2662)
2663
2664$(call gb_LinkTarget_add_libs,$(1),\
2665 $(POPPLER_LIBS) \
2666)
2667
2668endef
2669
2670else # !SYSTEM_POPPLER
2671
David Tardondba2d322012-02-18 18:54:35 +01002672define gb_LinkTarget__use_poppler
David Tardoncad68c62015-09-29 18:09:16 +02002673$(call gb_LinkTarget_use_external_project,$(1),poppler,full)
Peter Foleyfb1d11d2013-02-17 09:26:01 -05002674
David Tardon548b61a2012-02-21 06:58:02 +01002675$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02002676 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2677 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2678 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
David Tardon548b61a2012-02-21 06:58:02 +01002679 $$(INCLUDE) \
David Tardondba2d322012-02-18 18:54:35 +01002680)
2681
Michael Stahl2f6261f2013-09-19 19:28:36 +02002682$(call gb_LinkTarget_add_libs,$(1),\
2683 $(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
2684 $(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
2685 $(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
David Tardon548b61a2012-02-21 06:58:02 +01002686)
2687
Michael Stahl43532a02016-11-03 15:58:08 +01002688$(call gb_LinkTarget_use_external,$(1),jpeg)
2689
David Tardon548b61a2012-02-21 06:58:02 +01002690ifeq ($(OS),MACOSX)
Michael Stahl967986b2012-09-28 00:54:49 +02002691$(call gb_LinkTarget_add_libs,$(1),\
2692 -lobjc \
David Tardon548b61a2012-02-21 06:58:02 +01002693)
Caolán McNamara0d5cc8c2014-08-30 15:12:53 +01002694else ifeq ($(OS),LINUX)
2695$(call gb_LinkTarget_add_libs,$(1),\
2696 -pthread \
2697)
David Tardon548b61a2012-02-21 06:58:02 +01002698else ifeq ($(OS),WNT)
Michael Stahldc397aae2012-09-28 15:31:46 +02002699$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon548b61a2012-02-21 06:58:02 +01002700 advapi32 \
2701 gdi32 \
2702)
2703endif
2704
David Tardondba2d322012-02-18 18:54:35 +01002705endef
2706
2707endif # SYSTEM_POPPLER
2708
David Tardon3446cda2011-12-23 12:21:19 +01002709
Michael Stahl46648152014-02-11 16:33:18 +01002710ifneq ($(SYSTEM_CLUCENE),)
David Tardon22c60cb2012-04-07 15:50:47 +02002711
2712define gb_LinkTarget__use_clucene
2713$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002714 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002715)
2716
2717$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002718 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002719 $$(INCLUDE) \
2720)
2721
2722$(call gb_LinkTarget_add_libs,$(1),\
2723 $(CLUCENE_LIBS) \
2724)
2725
2726endef
2727
2728else # !SYSTEM_CLUCENE
2729
2730define gb_LinkTarget__use_clucene
Michael Stahl28cde0c2013-05-07 23:47:27 +02002731$(call gb_LinkTarget_set_include,$(1),\
2732 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2733 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2734 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2735 $$(INCLUDE) \
2736)
2737
Michael Stahlc923f7d2012-04-07 23:22:08 +02002738$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon22c60cb2012-04-07 15:50:47 +02002739 clucene \
2740)
2741
2742endef
2743
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02002744$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
David Tardon22c60cb2012-04-07 15:50:47 +02002745 clucene \
2746))
2747
2748endif # SYSTEM_CLUCENE
2749
Peter Foley64402842011-12-22 16:34:35 -05002750define gb_LinkTarget__use_gobject
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002751$(call gb_LinkTarget_add_libs,$(1),\
2752 $(GOBJECT_LIBS) \
2753)
2754
2755$(call gb_LinkTarget_set_include,$(1),\
2756 $$(INCLUDE) \
2757 $(GOBJECT_CFLAGS) \
2758)
Peter Foley64402842011-12-22 16:34:35 -05002759endef
2760
Michael Stahl5866b332014-02-11 18:56:33 +01002761ifneq ($(SYSTEM_HSQLDB),)
David Tardon579f52d2012-03-27 16:36:31 +02002762
2763define gb_LinkTarget__use_hsqldb
2764
2765$(call gb_LinkTarget_add_defs,$(1),\
2766 -DSYSTEM_HSQLDB \
2767 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2768)
2769
2770endef
2771
2772else # !SYSTEM_HSQLDB
2773
2774define gb_LinkTarget__use_hsqldb
2775
2776endef
2777
2778endif # SYSTEM_HSQLDB
2779
David Tardon8bc7afb2012-04-05 10:53:08 +02002780
Michael Stahl5378dea2014-02-11 19:11:47 +01002781ifneq ($(SYSTEM_OPENLDAP),)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002782
2783define gb_LinkTarget__use_openldap
2784
2785$(call gb_LinkTarget_add_libs,$(1),\
2786 -lldap \
2787 -llber \
2788)
2789
2790endef
2791
Michael Stahl2f6261f2013-09-19 19:28:36 +02002792gb_ExternalProject__use_openldap :=
2793
Michael Stahl5378dea2014-02-11 19:11:47 +01002794else # !SYSTEM_OPENLDAP
Michael Stahle0ee0d42012-07-16 19:00:07 +02002795
Michael Stahle0ee0d42012-07-16 19:00:07 +02002796define gb_LinkTarget__use_openldap
Matúš Kukan7a030392012-10-29 23:29:37 +01002797$(call gb_LinkTarget_use_unpacked,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002798$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002799 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002800 $$(INCLUDE) \
2801)
Stephan Bergmann6b4c4352015-10-09 09:21:48 +02002802$(call gb_LinkTarget_use_external_project,$(1),openldap,full)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002803$(call gb_LinkTarget_add_libs,$(1), \
2804 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2805 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002806)
2807
2808endef
2809
Michael Stahl2f6261f2013-09-19 19:28:36 +02002810define gb_ExternalProject__use_openldap
2811$(call gb_ExternalProject_use_external_project,$(1),openldap)
2812
2813endef
2814
Michael Stahle0ee0d42012-07-16 19:00:07 +02002815endif # SYSTEM_OPENLDAP
2816
Wastack45f42682016-07-28 17:16:19 +02002817ifneq ($(SYSTEM_LIBTOMMATH),)
2818
2819define gb_LinkTarget__use_libtommath
2820$(call gb_LinkTarget_set_include,$(1),\
2821 $(LIBTOMMATH_CFLAGS) \
2822 $$(INCLUDE) \
2823)
2824$(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
2825
2826endef
2827
2828else # !SYSTEM_LIBTOMMATH
2829define gb_LinkTarget__use_libtommath
2830$(call gb_LinkTarget_set_include,$(1),\
2831 -I${WORKDIR}/UnpackedTarball/libtommath \
2832 $$(INCLUDE) \
2833)
2834$(call gb_LinkTarget_add_libs,$(1),\
2835 $(call gb_UnpackedTarball_get_dir,libtommath)/libtommath$(gb_StaticLibrary_PLAINEXT) \
2836)
2837$(call gb_LinkTarget_use_external_project,$(1),libtommath)
2838
2839endef
2840
2841endif # SYSTEM_LIBTOMMATH
2842
2843define gb_ExternalProject__use_libtommath
2844$(call gb_ExternalProject_use_external_project,$(1),libtommath)
2845
2846endef
Michael Stahle0ee0d42012-07-16 19:00:07 +02002847
Javier Fernandezf53228c2013-05-10 18:21:30 +00002848ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2849
Michael Stahl23647592014-02-11 19:04:20 +01002850ifneq ($(SYSTEM_FIREBIRD),)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002851
Rene Engelhard0b68d702013-07-16 21:50:14 +02002852define gb_LinkTarget__use_libfbembed
Javier Fernandezf53228c2013-05-10 18:21:30 +00002853$(call gb_LinkTarget_set_include,$(1),\
2854 $(FIREBIRD_CFLAGS) \
2855 $$(INCLUDE) \
2856)
2857$(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2858
2859endef
2860
Javier Fernandezf53228c2013-05-10 18:21:30 +00002861else # !SYSTEM_FIREBIRD
2862
Michael Stahl2c78d492017-01-09 14:45:11 +01002863$(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
2864 firebird \
2865))
2866
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002867#$(call gb_LinkTarget__use_libatomic_ops,$(1))
Wastack45f42682016-07-28 17:16:19 +02002868#$(call gb_LinkTarget__use_libtommath,$(1))
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002869
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002870define gb_LinkTarget__use_libfbembed
2871$(call gb_LinkTarget_use_package,$(1),firebird)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002872$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002873 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002874 $$(INCLUDE) \
2875)
Michael Stahl37563db2013-10-22 22:22:49 +02002876ifeq ($(COM),MSC)
2877$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002878 $(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002879)
Michael Stahl37563db2013-10-22 22:22:49 +02002880else
2881$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002882 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
Michael Stahl37563db2013-10-22 22:22:49 +02002883)
2884endif
Javier Fernandezf53228c2013-05-10 18:21:30 +00002885
2886endef
2887
Javier Fernandezf53228c2013-05-10 18:21:30 +00002888
2889# endef
2890
2891endif # SYSTEM_FIREBIRD
2892
2893else # !ENABLE_FIREBIRD_SDBC
Michael Stahl6fa0b372014-02-12 17:01:35 +01002894
Javier Fernandezf53228c2013-05-10 18:21:30 +00002895gb_LinkTarget__use_firebird :=
2896# gb_LinkTarget__use_atomic_ops :=
Wastack45f42682016-07-28 17:16:19 +02002897# gb_LinkTarget__use_libtommath :=
Javier Fernandezf53228c2013-05-10 18:21:30 +00002898
2899endif # ENABLE_FIREBIRD_SDBC
2900
2901
Michael Stahl5866b332014-02-11 18:56:33 +01002902ifneq ($(SYSTEM_POSTGRESQL),)
David Tardon8bc7afb2012-04-05 10:53:08 +02002903
2904define gb_LinkTarget__use_postgresql
2905
David Tardon8bc7afb2012-04-05 10:53:08 +02002906$(call gb_LinkTarget_set_include,$(1),\
2907 $(POSTGRESQL_INC) \
2908 $$(INCLUDE) \
2909)
2910
2911$(call gb_LinkTarget_add_libs,$(1),\
2912 -lpq \
2913)
2914
2915$(call gb_LinkTarget_add_ldflags,$(1),\
2916 $(POSTGRESQL_LIB) \
2917)
2918
2919endef
2920
2921else # !SYSTEM_POSTGRESQL
2922
2923define gb_LinkTarget__use_postgresql
2924
Michael Stahl2f6261f2013-09-19 19:28:36 +02002925$(call gb_LinkTarget_use_external_project,$(1),postgresql)
David Tardoncb9823b2012-10-22 06:33:00 +02002926
David Tardon8bc7afb2012-04-05 10:53:08 +02002927$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlee8323e2013-05-08 00:19:40 +02002928 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
2929 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
David Tardon8bc7afb2012-04-05 10:53:08 +02002930 $$(INCLUDE) \
2931)
2932
Michael Stahl2f6261f2013-09-19 19:28:36 +02002933$(call gb_LinkTarget_add_libs,$(1),\
2934 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
David Tardon8bc7afb2012-04-05 10:53:08 +02002935)
2936
Stephan Bergmann8646ab92017-02-10 14:05:21 +01002937ifeq ($(OS),WNT)
Matúš Kukan5e32d152012-05-27 00:21:12 +02002938$(call gb_LinkTarget_use_external,$(1),openssl)
2939
Michael Stahldc397aae2012-09-28 15:31:46 +02002940$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon8bc7afb2012-04-05 10:53:08 +02002941 secur32 \
2942 ws2_32 \
David Tardon8bc7afb2012-04-05 10:53:08 +02002943)
David Tardon8af6aa62012-05-30 12:06:42 +02002944
David Tardon8bc7afb2012-04-05 10:53:08 +02002945endif
2946
2947endef
2948
David Tardon8bc7afb2012-04-05 10:53:08 +02002949endif # SYSTEM_POSTGRESQL
2950
David Tardond4efa8b2012-04-28 20:48:14 +02002951ifeq ($(ENABLE_KDE4),TRUE)
2952
2953define gb_LinkTarget__use_kde4
2954$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002955 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS)))) \
David Tardond4efa8b2012-04-28 20:48:14 +02002956 $$(INCLUDE) \
2957)
2958
2959$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002960 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS))) \
David Tardond4efa8b2012-04-28 20:48:14 +02002961)
2962
2963$(call gb_LinkTarget_add_libs,$(1),\
2964 $(KDE4_LIBS) \
2965)
2966
David Tardond4efa8b2012-04-28 20:48:14 +02002967endef
2968
2969else # !ENABLE_KDE4
2970
2971define gb_LinkTarget__use_kde4
2972
2973endef
2974
2975endif # ENABLE_KDE4
2976
2977
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002978ifeq ($(ENABLE_TDE),TRUE)
David Tardond4efa8b2012-04-28 20:48:14 +02002979
2980define gb_LinkTarget__use_tde
2981$(call gb_LinkTarget_add_libs,$(1),\
2982 $(TDE_LIBS) \
2983)
2984
2985$(call gb_LinkTarget_set_include,$(1),\
2986 $$(INCLUDE) \
2987 $(TDE_CFLAGS) \
2988)
2989endef
2990
2991else # ! ENABLE_TDE
2992
2993define gb_LinkTarget__use_tde
2994
2995endef
2996
2997endif # ENABLE_TDE
2998
2999
David Ostrovskye16ac692012-05-27 22:50:41 +02003000# PYTHON
Michael Stahl91926332012-11-27 15:50:53 +01003001# extra python_headers external because pyuno wrapper must not link python
Michael Stahl0443d0a2014-02-11 16:57:35 +01003002ifneq ($(SYSTEM_PYTHON),)
David Ostrovskye16ac692012-05-27 22:50:41 +02003003
Michael Stahl91926332012-11-27 15:50:53 +01003004define gb_LinkTarget__use_python_headers
David Ostrovskye16ac692012-05-27 22:50:41 +02003005$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003006 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYHTON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003007)
3008
3009$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003010 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003011 $$(INCLUDE) \
3012)
3013
Michael Stahl91926332012-11-27 15:50:53 +01003014endef
3015
3016define gb_LinkTarget__use_python
3017$(call gb_LinkTarget__use_python_headers,$(1))
3018
David Ostrovskye16ac692012-05-27 22:50:41 +02003019$(call gb_LinkTarget_add_libs,$(1),\
3020 $(PYTHON_LIBS) \
3021)
3022
3023endef
3024
3025else # !SYSTEM_PYTHON
3026
Michael Stahl720ca8e2014-03-18 18:24:15 +01003027$(eval $(call gb_Helper_register_packages_for_install,python,\
3028 python3 \
3029))
3030
Michael Stahl91926332012-11-27 15:50:53 +01003031define gb_LinkTarget__use_python_headers
David Tardoncad68c62015-09-29 18:09:16 +02003032$(call gb_LinkTarget_use_external_project,$(1),python3,full)
Michael Stahl91926332012-11-27 15:50:53 +01003033$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02003034 -I$(call gb_UnpackedTarball_get_dir,python3) \
3035 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3036 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
Michael Stahl91926332012-11-27 15:50:53 +01003037 $$(INCLUDE) \
3038)
3039
3040endef
3041
David Ostrovskye16ac692012-05-27 22:50:41 +02003042define gb_LinkTarget__use_python
Michael Stahl91926332012-11-27 15:50:53 +01003043$(call gb_LinkTarget__use_python_headers,$(1))
Michael Stahld9162d22015-07-29 12:17:03 +02003044ifeq ($(OS),MACOSX)
3045$(call gb_LinkTarget_use_generated_package,$(1),python3)
3046else
Michael Stahl57dd4d02015-07-29 10:56:57 +02003047$(call gb_LinkTarget_use_package,$(1),python3)
Michael Stahld9162d22015-07-29 12:17:03 +02003048endif
David Ostrovskye16ac692012-05-27 22:50:41 +02003049
3050ifeq ($(OS),WNT)
3051$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyde030cd2017-03-04 14:36:08 +01003052 $(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 +02003053)
3054else ifeq ($(OS),MACOSX)
3055$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl9d921ba2012-11-27 15:32:36 +01003056 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
David Ostrovskye16ac692012-05-27 22:50:41 +02003057)
3058else
Michael Stahlb6bcbb62013-04-21 14:34:50 +02003059$(call gb_LinkTarget_add_libs,$(1),\
3060 -L$(call gb_UnpackedTarball_get_dir,python3) \
3061 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
David Ostrovskye16ac692012-05-27 22:50:41 +02003062)
3063endif
3064
David Ostrovskye16ac692012-05-27 22:50:41 +02003065endef
3066
David Ostrovskye16ac692012-05-27 22:50:41 +02003067endif # SYSTEM_PYTHON
3068
Kohei Yoshida49b0b692012-09-04 15:05:35 -04003069# ORCUS
Michael Stahle3abec32014-02-11 15:57:18 +01003070ifneq ($(SYSTEM_LIBORCUS),)
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003071
3072define gb_LinkTarget__use_orcus
3073$(call gb_LinkTarget_set_include,$(1),\
3074 $$(INCLUDE) \
Matúš Kukana2d63fe2012-09-09 16:29:10 +02003075 $(ORCUS_CFLAGS) \
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003076)
Rene Engelhard26b80fc2013-04-13 19:29:33 +02003077$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
Rene Engelhardfb360f52013-04-13 16:17:29 +02003078endef
3079
3080define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003081
3082endef
3083
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003084else # !SYSTEM_LIBORCUS
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003085
David Tardonedb38d72015-06-04 16:09:48 +02003086ifeq ($(COM),MSC)
3087
3088$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3089 orcus \
3090 orcus-parser \
3091))
3092
Kohei Yoshidac8b7e982012-08-31 10:11:32 -04003093define gb_LinkTarget__use_orcus
Matúš Kukan1ee76032012-09-09 15:29:43 +02003094$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl10fc13c2013-05-06 23:35:13 +02003095 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
Matúš Kukan1ee76032012-09-09 15:29:43 +02003096 $$(INCLUDE) \
3097)
David Tardonf1035c12012-11-23 06:49:21 +01003098
David Tardonedb38d72015-06-04 16:09:48 +02003099$(call gb_LinkTarget_use_libraries,$(1),\
3100 orcus \
Stephan Bergmann3743cdb2013-02-17 22:58:21 +01003101)
David Tardonf1035c12012-11-23 06:49:21 +01003102
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003103endef
3104
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003105define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaecc884e2013-12-17 21:18:46 -05003106$(call gb_LinkTarget_set_include,$(1),\
3107 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3108 $$(INCLUDE) \
3109)
David Tardonedb38d72015-06-04 16:09:48 +02003110
3111$(call gb_LinkTarget_use_libraries,$(1),\
3112 orcus-parser \
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003113)
3114
3115endef
3116
David Tardonedb38d72015-06-04 16:09:48 +02003117else # !MSC
3118
3119$(eval $(call gb_Helper_register_packages_for_install,ooo,\
3120 liborcus \
3121))
3122
3123define gb_LinkTarget__use_orcus
3124$(call gb_LinkTarget_use_package,$(1),liborcus)
3125
3126$(call gb_LinkTarget_set_include,$(1),\
3127 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3128 $$(INCLUDE) \
3129)
3130
3131$(call gb_LinkTarget_add_libs,$(1),\
Jaskaran Singh92be10c2016-06-24 19:53:11 +05303132 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.12 \
David Tardonedb38d72015-06-04 16:09:48 +02003133)
3134
3135$(if $(SYSTEM_BOOST), \
3136 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3137 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3138)
3139
3140endef
3141
3142define gb_LinkTarget__use_orcus-parser
3143$(call gb_LinkTarget_use_package,$(1),liborcus)
3144
3145$(call gb_LinkTarget_set_include,$(1),\
3146 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3147 $$(INCLUDE) \
3148)
3149
3150$(call gb_LinkTarget_add_libs,$(1),\
Jaskaran Singh92be10c2016-06-24 19:53:11 +05303151 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.12 \
David Tardonedb38d72015-06-04 16:09:48 +02003152)
3153
3154endef
3155
3156endif # MSC
3157
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003158endif # SYSTEM_LIBORCUS
David Ostrovskye16ac692012-05-27 22:50:41 +02003159
David Tardon49a4d362013-11-12 16:44:40 +01003160ifeq ($(ENABLE_EOT),TRUE)
3161
Michael Stahle3abec32014-02-11 15:57:18 +01003162ifneq ($(SYSTEM_LIBEOT),)
David Tardon49a4d362013-11-12 16:44:40 +01003163
3164define gb_LinkTarget__use_libeot
3165$(call gb_LinkTarget_set_include,$(1),\
3166 $$(INCLUDE) \
3167 $(LIBEOT_CFLAGS) \
3168)
3169$(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3170
3171endef
3172
3173gb_ExternalProject__use_libeot :=
3174
3175else # !SYSTEM_LIBEOT
3176
3177define gb_LinkTarget__use_libeot
3178$(call gb_LinkTarget_set_include,$(1),\
3179 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3180 $$(INCLUDE) \
3181)
3182$(call gb_LinkTarget_add_libs,$(1),\
3183 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3184)
3185$(call gb_LinkTarget_use_external_project,$(1),libeot)
3186
3187endef
3188
3189define gb_ExternalProject__use_libeot
3190$(call gb_ExternalProject_use_external_project,$(1),libeot)
3191
3192endef
3193
3194endif # SYSTEM_LIBEOT
3195
3196else # !ENABLE_EOT
3197
3198gb_LinkTarget__use_libeot :=
3199gb_ExternalProject__use_libeot :=
3200
3201endif # ENABLE_EOT
3202
Michael Stahl78b59b82012-09-27 21:45:47 +02003203### X11 stuff ###
3204
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003205ifeq ($(USING_X11), TRUE)
Michael Stahl78b59b82012-09-27 21:45:47 +02003206
Michael Stahl78b59b82012-09-27 21:45:47 +02003207define gb_LinkTarget__use_Xrandr
Michael Stahl78b59b82012-09-27 21:45:47 +02003208$(call gb_LinkTarget_set_include,$(1),\
3209 $$(INCLUDE) \
3210 $(XRANDR_CFLAGS) \
3211)
3212
3213$(call gb_LinkTarget_add_libs,$(1),\
3214 $(XRANDR_LIBS) \
3215)
3216endef
3217
Michael Stahl78b59b82012-09-27 21:45:47 +02003218define gb_LinkTarget__use_Xrender
Michael Stahl78b59b82012-09-27 21:45:47 +02003219$(call gb_LinkTarget_set_include,$(1),\
3220 $$(INCLUDE) \
3221 $(XRENDER_CFLAGS) \
3222)
3223
3224$(call gb_LinkTarget_add_libs,$(1),\
3225 $(XRENDER_LIBS) \
3226)
3227endef
3228
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003229endif # USING_X11
Michael Stahl78b59b82012-09-27 21:45:47 +02003230
Tor Lillqvist35491072011-08-02 21:22:35 +03003231
Michael Meeksb440cfc2013-02-28 12:05:07 +00003232gb_ExternalProject__use_nss3:=
3233
Tor Lillqvist3442b002014-08-12 16:50:17 +03003234ifeq ($(OS),ANDROID)
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003235
Peter Foleyc003d252013-01-01 09:39:36 -05003236gb_LinkTarget__use_nss3:=
Tor Lillqvist801408c2014-12-12 23:51:17 +02003237gb_LinkTarget__use_plc4:=
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003238
3239else
3240
Michael Stahle3abec32014-02-11 15:57:18 +01003241ifneq ($(SYSTEM_NSS),)
David Tardonb6aa4842011-08-11 13:10:14 +02003242
David Tardon2b9dbc82012-08-13 06:57:51 +02003243define gb_LinkTarget__use_nss3
3244$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmannea641222012-11-19 16:40:33 +01003245 -DSYSTEM_NSS \
David Tardon2b9dbc82012-08-13 06:57:51 +02003246)
3247
David Tardonb6aa4842011-08-11 13:10:14 +02003248$(call gb_LinkTarget_set_include,$(1),\
3249 $$(INCLUDE) \
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003250 $(NSS_CFLAGS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003251)
3252
3253$(call gb_LinkTarget_add_libs,$(1),\
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003254 $(NSS_LIBS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003255)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003256
David Tardonb6aa4842011-08-11 13:10:14 +02003257endef
3258
David Tardon2b9dbc82012-08-13 06:57:51 +02003259define gb_LinkTarget__use_plc4
3260$(call gb_LinkTarget__use_nss3,$(1))
3261
3262endef
3263
David Tardon6ef46562013-02-04 10:04:07 +01003264define gb_LinkTarget__use_ssl3
3265$(call gb_LinkTarget__use_nss3,$(1))
3266
3267endef
3268
Michael Stahle3abec32014-02-11 15:57:18 +01003269else # !SYSTEM_NSS
David Tardonb6aa4842011-08-11 13:10:14 +02003270
Michael Stahlffae67c2014-03-13 19:51:19 +01003271$(eval $(call gb_Helper_register_packages_for_install,ooo, \
3272 nss \
3273))
3274
David Tardon2b9dbc82012-08-13 06:57:51 +02003275define gb_LinkTarget__use_nss3
Peter Foleyc003d252013-01-01 09:39:36 -05003276$(call gb_LinkTarget_use_package,$(1),nss)
David Tardon2b9dbc82012-08-13 06:57:51 +02003277$(call gb_LinkTarget_set_include,$(1),\
3278 $$(INCLUDE) \
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003279 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3280 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
David Tardon2b9dbc82012-08-13 06:57:51 +02003281)
3282
Michael Stahld2f62c32013-10-23 00:14:01 +02003283ifeq ($(COM),MSC)
3284$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003285 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3286 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3287 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
David Tardon2b9dbc82012-08-13 06:57:51 +02003288)
Michael Stahld2f62c32013-10-23 00:14:01 +02003289else
3290$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003291 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
Michael Stahld2f62c32013-10-23 00:14:01 +02003292 -lnspr4 \
3293 -lnss3 \
3294 -lsmime3 \
3295)
3296endif
David Tardon2b9dbc82012-08-13 06:57:51 +02003297
3298endef
3299
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003300define gb_LinkTarget__use_plc4
Peter Foleyc003d252013-01-01 09:39:36 -05003301$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003302ifeq ($(COM),MSC)
3303$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003304 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
David Tardonb6aa4842011-08-11 13:10:14 +02003305)
Michael Stahld2f62c32013-10-23 00:14:01 +02003306else
3307$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003308 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003309)
3310endif
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003311
David Tardonb6aa4842011-08-11 13:10:14 +02003312endef
3313
David Tardon6ef46562013-02-04 10:04:07 +01003314define gb_LinkTarget__use_ssl3
3315$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003316ifeq ($(COM),MSC)
3317$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003318 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
David Tardon6ef46562013-02-04 10:04:07 +01003319)
Michael Stahld2f62c32013-10-23 00:14:01 +02003320else
3321$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003322 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003323)
3324endif
David Tardon6ef46562013-02-04 10:04:07 +01003325
3326endef
3327
Michael Meeksb440cfc2013-02-28 12:05:07 +00003328define gb_ExternalProject__use_nss3
3329$(call gb_ExternalProject_use_package,$(1),nss)
Michael Meeksb440cfc2013-02-28 12:05:07 +00003330
3331endef
3332
Michael Stahle3abec32014-02-11 15:57:18 +01003333endif # SYSTEM_NSS
3334
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003335endif # DESKTOP
David Tardonb6aa4842011-08-11 13:10:14 +02003336
Markus Mohrharda46ef632015-11-15 04:39:24 +01003337ifeq ($(ENABLE_BREAKPAD),TRUE)
3338
Markus Mohrharda46ef632015-11-15 04:39:24 +01003339define gb_LinkTarget__use_breakpad
3340$(call gb_LinkTarget_set_include,$(1),\
3341 -I$(call gb_UnpackedTarball_get_dir,breakpad)/src \
3342 $$(INCLUDE) \
3343)
3344
3345ifeq ($(COM),MSC)
Markus Mohrhardff9b7d12016-03-31 00:00:03 +02003346$(call gb_LinkTarget_use_static_libraries,$(1),\
3347 breakpad \
Markus Mohrharda46ef632015-11-15 04:39:24 +01003348)
3349else
3350$(call gb_LinkTarget_add_libs,$(1),\
3351 $(call gb_UnpackedTarball_get_dir,breakpad)/src/client/linux/libbreakpad_client.a \
3352)
3353endif
3354
3355$(call gb_LinkTarget_use_external_project,$(1),breakpad)
3356
Michael Stahlb4d3a0d2016-02-23 15:08:47 +01003357endef
3358
Markus Mohrhard133a5d872016-02-27 14:50:13 +01003359endif # ENABLE_BREAKPAD
Markus Mohrharda46ef632015-11-15 04:39:24 +01003360
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003361ifneq ($(SYSTEM_GPGMEPP),)
Katarina Behrens595848c2017-01-30 15:50:55 +01003362
Katarina Behrensf41fa222017-02-23 12:57:42 +01003363gb_ExternalProject__use_gpgmepp:=
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003364gb_ExternalProject__use_libassuan:=
3365gb_ExternalProject__use_libgpg-error:=
3366
Katarina Behrensf41fa222017-02-23 12:57:42 +01003367define gb_LinkTarget__use_gpgmepp
Katarina Behrens595848c2017-01-30 15:50:55 +01003368$(call gb_LinkTarget_set_include,$(1),\
3369 $$(INCLUDE) \
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003370 $$(GPGMEPP_CFLAGS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003371)
3372
3373$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003374 $(GPGMEPP_LIBS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003375)
3376
3377endef
3378
Katarina Behrens55519a12017-02-15 16:00:16 +01003379else # NON-SYSTEM_GPGME
3380
Katarina Behrensf41fa222017-02-23 12:57:42 +01003381define gb_ExternalProject__use_gpgmepp
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003382$(call gb_ExternalProject_use_external_project,$(1),gpgme)
3383
3384endef
3385define gb_ExternalProject__use_libassuan
3386$(call gb_ExternalProject_use_external_project,$(1),libassuan)
3387
3388endef
3389define gb_ExternalProject__use_libgpg-error
3390$(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3391
3392endef
3393
Katarina Behrensf41fa222017-02-23 12:57:42 +01003394define gb_LinkTarget__use_gpgmepp
Katarina Behrens55519a12017-02-15 16:00:16 +01003395$(call gb_LinkTarget_set_include,$(1),\
3396 -I$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src \
Katarina Behrens60177322017-02-24 13:47:46 +01003397 -I$(call gb_UnpackedTarball_get_dir,gpgme)/src \
Samuel Mehrbrodt65866962017-02-24 16:54:36 +01003398 $$(GPG_ERROR_CFLAGS) \
Katarina Behrens55519a12017-02-15 16:00:16 +01003399 $$(INCLUDE) \
3400)
3401$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrens684b9de2017-02-16 21:44:06 +01003402 -L$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src/.libs/ -lgpgmepp \
Katarina Behrens55519a12017-02-15 16:00:16 +01003403)
Michael Stahlee9cb852017-03-10 17:11:49 +01003404$(call gb_LinkTarget_use_package,$(1),gpgme)
Katarina Behrens55519a12017-02-15 16:00:16 +01003405
3406endef
3407
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003408ifeq ($(OS),LINUX)
3409
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003410$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Thorsten Behrens8724bcf2017-03-26 04:01:02 +02003411 gpgme \
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003412 libassuan \
3413 libgpg-error \
3414))
3415
Katarina Behrens595848c2017-01-30 15:50:55 +01003416endif
3417
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003418endif
3419
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003420ifeq ($(ENABLE_GLTF),TRUE)
3421
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003422ifneq ($(SYSTEM_LIBGLTF),TRUE)
3423
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003424define gb_LinkTarget__use_libgltf
3425$(call gb_LinkTarget_set_include,$(1),\
3426 -I$(call gb_UnpackedTarball_get_dir,libgltf)/inc \
3427 $$(INCLUDE) \
3428)
3429
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003430ifeq ($(COM),MSC)
3431$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyac06ab22015-02-18 22:17:49 +01003432 $(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 +02003433)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003434else
3435$(call gb_LinkTarget_add_libs,$(1),\
Caolán McNamara482d7ce2016-11-25 20:25:27 +00003436 $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.1$(gb_StaticLibrary_PLAINEXT) \
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003437)
3438endif
3439
3440$(call gb_LinkTarget_use_external_project,$(1),libgltf)
3441
3442endef
3443
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003444else # SYSTEM_LIBGLTF
3445
3446define gb_LinkTarget__use_libgltf
3447$(call gb_LinkTarget_set_include,$(1),\
3448 $$(INCLUDE) \
3449 $(LIBGLTF_CFLAGS) \
3450)
3451$(call gb_LinkTarget_add_libs,$(1),$(LIBGLTF_LIBS))
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003452
3453endef
3454
Julien Nabet3ee2edf2016-05-07 22:43:37 +02003455endif # SYSTEM_LIBGLTF
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003456
Zolnai Tamás191f0942014-08-07 15:21:41 +02003457ifeq ($(ENABLE_COLLADA),TRUE)
3458
David Tardonf24c6082014-10-20 14:21:22 +02003459ifeq ($(SYSTEM_OPENCOLLADA),TRUE)
3460
3461define gb_LinkTarget__use_opencollada_parser
3462$(call gb_LinkTarget_set_include,$(1),\
3463 $$(INCLUDE) \
3464 $(OPENCOLLADA_CFLAGS) \
3465)
3466
3467$(call gb_LinkTarget_add_libs,$(1),$(OPENCOLLADA_LIBS))
3468
3469endef
3470
3471else # !SYSTEM_OPENCOLLADA
3472
Zolnai Tamásaa5fe792014-04-10 13:33:58 +02003473define gb_LinkTarget__use_opencollada_parser
3474$(call gb_LinkTarget_set_include,$(1),\
3475 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
3476 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADAFramework/include \
3477 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include \
3478 -I$(call gb_UnpackedTarball_get_dir,opencollada)/GeneratedSaxParser/include \
3479 $$(INCLUDE) \
3480)
3481
3482$(call gb_LinkTarget_use_static_libraries,$(1),\
3483 opencollada_parser \
3484)
3485endef
3486
David Tardonf24c6082014-10-20 14:21:22 +02003487endif # SYSTEM_OPENCOLLADA
3488
David Tardon8840fd32015-04-13 15:31:41 +02003489ifeq ($(SYSTEM_COLLADA2GLTF),TRUE)
3490
3491define gb_LinkTarget__use_collada2gltf
3492$(call gb_LinkTarget_set_include,$(1),\
3493 $$(INCLUDE) \
3494 $(COLLADA2GLTF_CFLAGS) \
3495)
3496
3497$(call gb_LinkTarget_add_libs,$(1),$(COLLADA2GLTF_LIBS))
3498
3499endef
3500
3501else # !SYSTEM_COLLADA2GLTF
3502
Zolnai Tamásd57591702014-04-10 13:37:38 +02003503define gb_LinkTarget__use_collada2gltf
3504$(call gb_LinkTarget_set_include,$(1),\
3505 -I$(call gb_UnpackedTarball_get_dir,collada2gltf) \
3506 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/assetModifiers \
3507 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/GLTF \
3508 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/helpers \
3509 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/JSON \
3510 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/dependencies/json/include/rapidjson/ \
3511 $$(INCLUDE) \
3512)
3513
3514$(call gb_LinkTarget_use_static_libraries,$(1),\
3515 collada2gltf \
3516)
3517endef
3518
David Tardon8840fd32015-04-13 15:31:41 +02003519endif # SYSTEM_COLLADA2GLTF
3520
Zolnai Tamás191f0942014-08-07 15:21:41 +02003521endif # ENABLE_COLLADA
3522
3523endif # ENABLE_GLTF
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003524
Stephan Bergmannecc617e2015-07-08 11:20:19 +02003525define gb_LinkTarget__use_dconf
3526$(call gb_LinkTarget_add_defs,$(1),$(DCONF_CFLAGS))
3527$(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3528endef
3529
Michael Stahl2ee5f242011-09-15 14:01:27 +02003530### Jars ############################################################
3531
Michael Stahl5866b332014-02-11 18:56:33 +01003532ifneq ($(SYSTEM_HSQLDB),)
Michael Stahl666173b2012-08-15 20:24:59 +02003533
3534define gb_Jar__use_hsqldb
3535$(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3536endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003537define gb_JunitTest__use_hsqldb
3538$(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3539endef
Michael Stahl666173b2012-08-15 20:24:59 +02003540
3541else # !SYSTEM_HSQLDB
3542
David Tardon2dec0672014-05-19 10:20:37 +02003543ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl376d1b52014-03-18 20:25:04 +01003544$(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003545 hsqldb \
3546))
David Tardon2dec0672014-05-19 10:20:37 +02003547endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003548
Michael Stahl666173b2012-08-15 20:24:59 +02003549define gb_Jar__use_hsqldb
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003550$(call gb_Jar_use_jar,$(1),hsqldb)
Michael Stahl666173b2012-08-15 20:24:59 +02003551endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003552define gb_JunitTest__use_hsqldb
3553$(call gb_JunitTest_use_jar,$(1),hsqldb)
3554endef
Michael Stahl666173b2012-08-15 20:24:59 +02003555
3556endif # SYSTEM_HSQLDB
3557
Michael Stahl2ee5f242011-09-15 14:01:27 +02003558
Rene Engelhard40facc42014-05-23 07:43:19 +02003559ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3560
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003561ifneq ($(SYSTEM_BSH),)
David Tardon3bcf9102011-10-04 09:44:48 +02003562
Michael Stahla4551262012-08-15 17:41:25 +02003563define gb_Jar__use_bsh
3564$(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
David Tardon3bcf9102011-10-04 09:44:48 +02003565endef
3566
3567else # !SYSTEM_BSH
3568
David Tardon2dec0672014-05-19 10:20:37 +02003569ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl8475eb92014-03-18 20:38:30 +01003570$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003571 bsh \
3572))
David Tardon2dec0672014-05-19 10:20:37 +02003573endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003574
Michael Stahla4551262012-08-15 17:41:25 +02003575define gb_Jar__use_bsh
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003576$(call gb_Jar_use_jar,$(1),bsh)
David Tardon3bcf9102011-10-04 09:44:48 +02003577endef
3578
3579endif # SYSTEM_BSH
3580
Rene Engelhard40facc42014-05-23 07:43:19 +02003581endif
3582
3583ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
Michael Stahl2ee5f242011-09-15 14:01:27 +02003584
Michael Stahl49dde4c2014-02-11 19:42:28 +01003585ifneq ($(SYSTEM_RHINO),)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003586
Michael Stahla4551262012-08-15 17:41:25 +02003587define gb_Jar__use_rhino
3588$(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003589endef
3590
3591else # !SYSTEM_RHINO
3592
David Tardon2dec0672014-05-19 10:20:37 +02003593ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl6474d1c2014-03-18 20:50:02 +01003594$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003595 js \
3596))
David Tardon2dec0672014-05-19 10:20:37 +02003597endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003598
Michael Stahla4551262012-08-15 17:41:25 +02003599define gb_Jar__use_rhino
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003600$(call gb_Jar_use_jar,$(1),js)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003601endef
3602
3603endif # SYSTEM_RHINO
3604
Rene Engelhard40facc42014-05-23 07:43:19 +02003605endif
3606
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003607ifneq ($(SYSTEM_APACHE_COMMONS),)
David Tardon9b530e12012-04-07 10:07:35 +02003608
Michael Stahla4551262012-08-15 17:41:25 +02003609define gb_Jar__use_commons-logging
3610$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003611endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003612gb_ExternalProject__use_commons-logging :=
David Tardon9b530e12012-04-07 10:07:35 +02003613
3614else # !SYSTEM_APACHE_COMMONS
3615
David Tardon2dec0672014-05-19 10:20:37 +02003616ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl2bec9f42014-03-18 21:54:33 +01003617$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
rbujd8a7f722014-08-18 13:52:32 +02003618 commons-logging-$(COMMONS_LOGGING_VERSION) \
Michael Stahldb23d4b2013-10-24 23:10:27 +02003619))
David Tardon2dec0672014-05-19 10:20:37 +02003620endif
David Tardon9b530e12012-04-07 10:07:35 +02003621
Michael Stahla4551262012-08-15 17:41:25 +02003622define gb_Jar__use_commons-logging
Michael Stahl461d8302013-10-25 18:40:48 +02003623$(call gb_Jar_use_external_project,$(1),apache_commons_logging)
rbujd8a7f722014-08-18 13:52:32 +02003624$(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION))
David Tardon9b530e12012-04-07 10:07:35 +02003625endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003626define gb_ExternalProject__use_commons-logging
Michael Stahla60427e2013-10-26 20:17:52 +02003627$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
Michael Stahl2b7536a2012-10-05 21:17:25 +02003628endef
David Tardon9b530e12012-04-07 10:07:35 +02003629
3630endif # SYSTEM_APACHE_COMMONS
3631
3632
Michael Stahl32db4992014-02-11 19:35:22 +01003633ifneq ($(SYSTEM_JFREEREPORT),)
David Tardon9b530e12012-04-07 10:07:35 +02003634
Michael Stahla4551262012-08-15 17:41:25 +02003635define gb_Jar__use_flow-engine
3636$(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003637endef
3638
Michael Stahla4551262012-08-15 17:41:25 +02003639define gb_Jar__use_flute
3640$(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003641endef
3642
Michael Stahla4551262012-08-15 17:41:25 +02003643define gb_Jar__use_libbase
3644$(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003645endef
3646
Michael Stahla4551262012-08-15 17:41:25 +02003647define gb_Jar__use_libfonts
3648$(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003649endef
3650
Michael Stahla4551262012-08-15 17:41:25 +02003651define gb_Jar__use_libformula
3652$(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003653endef
3654
Michael Stahla4551262012-08-15 17:41:25 +02003655define gb_Jar__use_liblayout
3656$(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003657endef
3658
Michael Stahla4551262012-08-15 17:41:25 +02003659define gb_Jar__use_libloader
3660$(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003661endef
3662
Michael Stahla4551262012-08-15 17:41:25 +02003663define gb_Jar__use_librepository
3664$(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003665endef
3666
Michael Stahla4551262012-08-15 17:41:25 +02003667define gb_Jar__use_libserializer
3668$(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003669endef
3670
Michael Stahla4551262012-08-15 17:41:25 +02003671define gb_Jar__use_libxml
3672$(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003673endef
3674
Michael Stahla4551262012-08-15 17:41:25 +02003675define gb_Jar__use_sac
3676$(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003677endef
3678
3679else # !SYSTEM_JFREEREPORT
3680
David Tardon2dec0672014-05-19 10:20:37 +02003681ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl4c3626af2014-03-18 22:03:00 +01003682$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
Michael Stahl070ca1e2013-10-25 21:01:58 +02003683 flow-engine \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003684 flute-1.1.6 \
3685 libbase-1.1.6 \
3686 libfonts-1.1.6 \
3687 libformula-1.1.7 \
Michael Stahl070ca1e2013-10-25 21:01:58 +02003688 liblayout \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003689 libloader-1.1.6 \
3690 librepository-1.1.6 \
3691 libserializer-1.1.6 \
3692 libxml-1.1.7 \
3693 sac \
3694))
David Tardon2dec0672014-05-19 10:20:37 +02003695endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003696
Michael Stahla4551262012-08-15 17:41:25 +02003697define gb_Jar__use_flow-engine
Michael Stahl070ca1e2013-10-25 21:01:58 +02003698$(call gb_Jar_use_jar,$(1),flow-engine)
David Tardon9b530e12012-04-07 10:07:35 +02003699endef
3700
Michael Stahla4551262012-08-15 17:41:25 +02003701define gb_Jar__use_flute
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003702$(call gb_Jar_use_jar,$(1),flute-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003703endef
3704
Michael Stahla4551262012-08-15 17:41:25 +02003705define gb_Jar__use_libbase
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003706$(call gb_Jar_use_jar,$(1),libbase-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003707endef
3708
Michael Stahla4551262012-08-15 17:41:25 +02003709define gb_Jar__use_libfonts
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003710$(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003711endef
3712
Michael Stahla4551262012-08-15 17:41:25 +02003713define gb_Jar__use_libformula
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003714$(call gb_Jar_use_jar,$(1),libformula-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003715endef
3716
Michael Stahla4551262012-08-15 17:41:25 +02003717define gb_Jar__use_liblayout
Michael Stahl070ca1e2013-10-25 21:01:58 +02003718$(call gb_Jar_use_jar,$(1),liblayout)
David Tardon9b530e12012-04-07 10:07:35 +02003719endef
3720
Michael Stahla4551262012-08-15 17:41:25 +02003721define gb_Jar__use_libloader
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003722$(call gb_Jar_use_jar,$(1),libloader-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003723endef
3724
Michael Stahla4551262012-08-15 17:41:25 +02003725define gb_Jar__use_librepository
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003726$(call gb_Jar_use_jar,$(1),librepository-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003727endef
3728
Michael Stahla4551262012-08-15 17:41:25 +02003729define gb_Jar__use_libserializer
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003730$(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003731endef
3732
Michael Stahla4551262012-08-15 17:41:25 +02003733define gb_Jar__use_libxml
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003734$(call gb_Jar_use_jar,$(1),libxml-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003735endef
3736
Michael Stahla4551262012-08-15 17:41:25 +02003737define gb_Jar__use_sac
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003738$(call gb_Jar_use_jar,$(1),sac)
David Tardon9b530e12012-04-07 10:07:35 +02003739endef
3740
3741endif # SYSTEM_JFREEREPORT
3742
David Tardonc2eca352012-12-02 10:51:37 +01003743
3744# Executables
3745
David Tardonedf67302012-12-30 12:27:04 +01003746# FIXME: the library target should be for build too
3747define gb_Executable__register_bestreversemap
3748$(call gb_Executable_add_runtime_dependencies,bestreversemap,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003749 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardonedf67302012-12-30 12:27:04 +01003750)
3751endef
3752
David Tardonceb0d062012-12-30 13:11:43 +01003753# TODO depending on the whole URE might be overkill, but I do not have a
3754# Windows machine to debug it...
3755# FIXME: the library target should be for build too
3756define gb_Executable__register_climaker
3757$(call gb_Executable_add_runtime_dependencies,climaker,\
3758 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003759 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003760 $(call gb_UnoApi_get_target,udkapi) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003761 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
David Tardonceb0d062012-12-30 13:11:43 +01003762)
3763endef
3764
David Tardon6c1614a2014-01-08 13:49:46 +01003765define gb_Executable__register_cppumaker
3766$(call gb_Executable_add_runtime_dependencies,cppumaker,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003767 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardon6c1614a2014-01-08 13:49:46 +01003768)
3769endef
3770
Matúš Kukanbae52ee2013-05-16 09:17:57 +02003771# This is used to determine what we need for 'build' platform.
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003772# FIXME: the library target should be for build too
Matúš Kukan9555b5b2013-06-14 12:48:20 +02003773define gb_Executable__register_gengal
Matúš Kukan94b68822013-06-17 10:41:18 +02003774$(call gb_Executable_add_runtime_dependencies,gengal,\
David Tardon1546c292013-05-07 20:41:41 +02003775 $(call gb_AllLangResTarget_get_target,ofa) \
David Tardon1546c292013-05-07 20:41:41 +02003776 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardone59420d2014-08-04 17:23:54 +02003777 $(call gb_Package_get_target_for_build,postprocess_images) \
Matúš Kukan8b162f22013-09-27 10:58:28 +02003778 $(call gb_Package_get_target_for_build,postprocess_registry) \
Matúš Kukan15614c82015-12-05 07:05:37 +01003779 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
3780 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
3781 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003782 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3783 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
David Tardon1546c292013-05-07 20:41:41 +02003784 $(call gb_UnoApi_get_target,offapi) \
3785 $(call gb_UnoApi_get_target,udkapi) \
3786)
3787endef
3788
Michael Stahl187194b2014-02-11 19:17:42 +01003789ifeq ($(SYSTEM_ICU),)
David Tardonedf67302012-12-30 12:27:04 +01003790
3791define gb_Executable__register_gendict
3792$(call gb_Executable_add_runtime_dependencies,gendict,\
3793 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003794 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardonedf67302012-12-30 12:27:04 +01003795)
3796endef
3797
3798endif
3799
David Tardonceb0d062012-12-30 13:11:43 +01003800define gb_Executable__register_idlc
3801$(call gb_Executable_add_runtime_dependencies,idlc,\
David Tardonce038cf2013-10-20 20:43:46 +02003802 $(call gb_ExternalExecutable_get_dependencies,ucpp) \
David Tardonceb0d062012-12-30 13:11:43 +01003803)
3804endef
3805
David Tardonedf67302012-12-30 12:27:04 +01003806define gb_Executable__register_localize
3807$(call gb_Executable_add_runtime_dependencies,localize,\
3808 $(foreach exec,cfgex helpex propex transex3 treex uiex ulfex xrmex,\
3809 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3810 ) \
3811)
3812endef
3813
Michael Stahl4c51feb2013-09-21 01:39:41 +02003814# FIXME ure/services.rdb needs cleanup
Stephan Bergmannab149c72013-04-24 10:42:40 +02003815# The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
David Tardonedf67302012-12-30 12:27:04 +01003816# due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3817# FIXME: the library target should be for build too
3818define gb_Executable__register_saxparser
3819$(call gb_Executable_add_runtime_dependencies,saxparser,\
3820 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardon92f66c52014-10-13 16:59:33 +02003821 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003822 $(call gb_Rdb_get_target_for_build,saxparser) \
Tor Lillqvistcb872392016-08-17 01:14:54 +03003823 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003824 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003825)
3826endef
3827
Stephan Bergmannab149c72013-04-24 10:42:40 +02003828# NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
David Tardonedf67302012-12-30 12:27:04 +01003829# required due to the settings for URE_SERVICES and URE_TYPES in
3830# cppuhelper/source/unorc
3831# FIXME: the library target should be for build too
3832define gb_Executable__register_uno
3833$(call gb_Executable_add_runtime_dependencies,uno,\
3834 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003835 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003836 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003837)
3838endef
3839
3840
3841# External executables
3842
Michael Stahl379f9782014-02-11 16:49:19 +01003843ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003844
3845gb_ExternalExecutable__register_xmllint :=
3846
3847else # ! SYSTEM_LIBXML_FOR_BUILD
3848
3849define gb_ExternalExecutable__register_xmllint
David Tardondbac8f52014-04-18 18:34:40 +02003850$(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 +02003851$(call gb_ExternalExecutable_add_dependencies,xmllint,\
3852 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
3853 $(call gb_Package_get_target,xml2) \
3854)
David Tardonc2eca352012-12-02 10:51:37 +01003855
3856endef
3857
3858endif # SYSTEM_LIBXML_FOR_BUILD
3859
Michael Stahle3abec32014-02-11 15:57:18 +01003860ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003861
3862gb_ExternalExecutable__register_xsltproc :=
3863
3864else # ! SYSTEM_LIBXSLT_FOR_BUILD
3865
3866define gb_ExternalExecutable__register_xsltproc
David Tardondbac8f52014-04-18 18:34:40 +02003867$(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 +02003868$(call gb_ExternalExecutable_add_dependencies,xsltproc,\
3869 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl56b2bb52015-07-31 11:08:04 +02003870 $(call gb_Package_get_target,xml2) \
David Tardon5b660242014-07-28 10:38:49 +02003871 $(call gb_Package_get_target,xslt) \
3872)
David Tardonc2eca352012-12-02 10:51:37 +01003873
3874endef
3875
3876endif # SYSTEM_LIBXSLT_FOR_BUILD
3877
David Tardonce038cf2013-10-20 20:43:46 +02003878ifneq (,$(SYSTEM_UCPP))
3879
3880gb_ExternalExecutable__register_ucpp :=
3881
3882else # ! SYSTEM_UCPP
3883
3884define gb_ExternalExecutable__register_ucpp
David Tardon489d2ea2013-10-21 08:17:32 +02003885$(call gb_ExternalExecutable_set_internal,ucpp,$(INSTDIR_FOR_BUILD)/$(SDKDIRNAME)/bin/ucpp$(gb_Executable_EXT_for_build))
David Tardonce038cf2013-10-20 20:43:46 +02003886
3887endef
3888
3889endif # SYSTEM_UCPP
3890
Matúš Kukane4826722013-03-05 22:03:38 +01003891ifeq (,$(PYTHON_FOR_BUILD))
David Tardonc2eca352012-12-02 10:51:37 +01003892
3893define gb_ExternalExecutable__register_python
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003894ifeq ($(OS),MACOSX)
3895
3896# use set_external, to avoid having the command added as prerequisite for the
3897# targets that make use of it. (Otherwise make will choke as it doesn't have a
3898# matching rule to build that specific file)
3899$(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))
3900# the Zip ensures that internal python has been built (cannot use the Package
3901# target, as that is not used on Mac)
David Tardon45a5c262013-05-16 13:36:24 +02003902$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003903
3904else
3905
Tor Lillqvist4c63fd102013-09-22 19:59:37 +03003906$(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 +01003907$(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003908$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
3909
3910endif
David Tardonc2eca352012-12-02 10:51:37 +01003911
3912endef
3913
Matúš Kukane4826722013-03-05 22:03:38 +01003914else
3915
3916define gb_ExternalExecutable__register_python
3917$(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
3918
3919endef
3920
3921endif # PYTHON_FOR_BUILD
David Tardonc2eca352012-12-02 10:51:37 +01003922
David Tardon63069262012-12-29 12:56:24 +01003923ifneq ($(SYSTEM_GENBRK),)
3924
3925define gb_ExternalExecutable__register_genbrk
3926$(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
3927
3928endef
3929
3930else # ! SYSTEM_GENBRK
3931
3932define gb_ExternalExecutable__register_genbrk
David Tardondbac8f52014-04-18 18:34:40 +02003933$(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 +01003934$(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01003935$(call gb_ExternalExecutable_add_dependencies,genbrk,\
3936 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003937 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01003938)
3939
3940endef
3941
3942endif
3943
3944ifneq ($(SYSTEM_GENCCODE),)
3945
3946define gb_ExternalExecutable__register_genccode
3947$(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
3948
3949endef
3950
3951else # ! SYSTEM_GENCCODE
3952
3953define gb_ExternalExecutable__register_genccode
David Tardondbac8f52014-04-18 18:34:40 +02003954$(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 +01003955$(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01003956$(call gb_ExternalExecutable_add_dependencies,genccode,\
3957 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003958 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01003959)
3960
3961endef
3962
3963endif
3964
3965ifneq ($(SYSTEM_GENCMN),)
3966
3967define gb_ExternalExecutable__register_gencmn
3968$(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
3969
3970endef
3971
3972else # ! SYSTEM_GENCMN
3973
3974define gb_ExternalExecutable__register_gencmn
David Tardondbac8f52014-04-18 18:34:40 +02003975$(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 +01003976$(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01003977$(call gb_ExternalExecutable_add_dependencies,gencmn,\
3978 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003979 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01003980)
3981
3982endef
3983
3984endif
3985
Jacobo Aragunde Péreze6fe5082015-02-02 19:49:37 +00003986ifeq (OWNCLOUD_ANDROID_LIB,$(filter OWNCLOUD_ANDROID_LIB,$(BUILD_TYPE)))
3987
3988$(eval $(call gb_Helper_register_jars,OXT,\
3989 owncloud-android-library \
3990))
3991
3992define gb_Jar__use_owncloud_android_lib
3993$(call gb_Jar_use_external_project,$(1),owncloud-android-lib)
3994$(call gb_Jar_use_external_jar,$(1),$(call gb_UnpackedTarball_get_dir,owncloud-android-lib)/bin/owncloud-android-library.jar)
3995endef
3996define gb_ExternalProject__use_owncloud_android_lib
3997$(call gb_ExternalProject_use_external_project,$(1),owncloud_android_lib)
3998endef
3999
4000endif
4001
Nathan Yee7eb863d2015-07-03 11:58:27 +02004002ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4003ifneq ($(SYSTEM_BZIP2),)
4004
4005define gb_LinkTarget__use_bzip2
4006$(call gb_LinkTarget_set_include,$(1),\
4007 $(BZIP2_CFLAGS) \
4008 $$(INCLUDE) \
4009)
4010$(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4011
4012endef
Jan Holesovsky025952f2015-07-03 13:46:38 +02004013
Nathan Yee7eb863d2015-07-03 11:58:27 +02004014gb_ExternalProject__use_bzip2 :=
4015
4016else # !SYSTEM_BZIP2
4017
4018define gb_LinkTarget__use_bzip2
Nathan Yee7eb863d2015-07-03 11:58:27 +02004019$(call gb_LinkTarget_set_include,$(1),\
4020 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4021 $$(INCLUDE) \
4022)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004023
4024ifeq ($(COM),MSC)
4025$(call gb_LinkTarget_add_libs,$(1),\
4026 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4027)
4028else
Jan Holesovsky025952f2015-07-03 13:46:38 +02004029$(call gb_LinkTarget_add_libs,$(1),\
4030 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4031)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004032endif
4033
Jan Holesovskyec477172015-07-07 09:24:45 +02004034$(call gb_LinkTarget_use_external_project,$(1),bzip2)
Nathan Yee7eb863d2015-07-03 11:58:27 +02004035endef
4036
4037define gb_ExternalProject__use_bzip2
4038$(call gb_ExternalProject_use_external_project,$(1),bzip2)
4039endef
4040
4041endif
4042endif
4043
Stephan Bergmannec53ac62016-04-12 20:06:04 +02004044define gb_LinkTarget__use_clew
4045$(call gb_LinkTarget_set_include,$(1), \
4046 -I$(SRCDIR)/external/clew/source/include \
4047 $$(INCLUDE) \
4048)
4049$(call gb_LinkTarget_use_libraries,$(1),clew)
4050endef
4051
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004052ifneq ($(ENABLE_PDFIUM),)
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004053define gb_LinkTarget__use_pdfium
4054$(call gb_LinkTarget_set_include,$(1),\
4055 -I$(call gb_UnpackedTarball_get_dir,pdfium)/public \
4056 $$(INCLUDE) \
4057)
4058$(call gb_LinkTarget_use_libraries,$(1),pdfium)
4059endef
4060$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4061 pdfium \
4062))
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004063endif
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004064
Michael Stahlc74af0d2011-04-01 20:49:35 +00004065# vim: set noet sw=4 ts=4: