blob: 44a89738fb74f5234bee7db8a36206b29dcf623d [file] [log] [blame]
Takeshi Abeb2bd33e2011-08-10 02:12:48 +09001# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
Michael Stahlc74af0d2011-04-01 20:49:35 +00002#
Michael Meeks1e4422a2013-05-16 21:56:04 +01003# This file is part of the LibreOffice project.
Kohei Yoshidaa6639312012-07-27 22:14:39 -04004#
Michael Meeks1e4422a2013-05-16 21:56:04 +01005# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
Michael Stahlc74af0d2011-04-01 20:49:35 +00008#
Michael Meeks1e4422a2013-05-16 21:56:04 +01009# This file incorporates work covered by the following license notice:
Michael Stahlc74af0d2011-04-01 20:49:35 +000010#
Michael Meeks1e4422a2013-05-16 21:56:04 +010011# Licensed to the Apache Software Foundation (ASF) under one or more
12# contributor license agreements. See the NOTICE file distributed
13# with this work for additional information regarding copyright
14# ownership. The ASF licenses this file to you under the Apache
15# License, Version 2.0 (the "License"); you may not use this file
16# except in compliance with the License. You may obtain a copy of
17# the License at http://www.apache.org/licenses/LICENSE-2.0 .
Michael Stahlc74af0d2011-04-01 20:49:35 +000018#
Michael Stahlc74af0d2011-04-01 20:49:35 +000019
20# this file describes all the external libraries
21# depending on the configure options these may be taken from the system,
22# or the internal/bundled copy may be built.
23
Zolnai Tamás62fd6302014-04-18 12:55:56 +020024# for every external, a function gb_LinkTarget__use_FOO is defined,
Michael Stahlc74af0d2011-04-01 20:49:35 +000025# once for the system case, once for the internal case.
26
27# in the system case, no libraries should be registered, but the target-local
28# variable LIBS should be set to FOO_LIBS, and INCLUDES to FOO_CFLAGS.
29
David Ostrovsky152e2a22014-11-30 18:26:01 +010030
31ifeq ($(CPUNAME),X86_64)
32wnt_arch_subdir_optional=x64/
33wnt_arch_subdir_mandatory=x64
34else ifeq ($(CPUNAME),INTEL)
35wnt_arch_subdir_mandatory=Win32
36endif
37
Matúš Kukan8e535df2012-04-07 13:59:33 +020038# External headers
39
Michael Stahl5378dea2014-02-11 19:11:47 +010040ifneq ($(SYSTEM_ODBC_HEADERS),)
Matúš Kukan5eff0b62012-04-07 13:46:59 +020041
42define gb_LinkTarget__use_odbc_headers
43$(call gb_LinkTarget_add_defs,$(1),\
44 -DSYSTEM_ODBC_HEADERS \
45)
46
47endef
48
Michael Stahl5378dea2014-02-11 19:11:47 +010049else # !SYSTEM_ODBC_HEADERS
Matúš Kukan5eff0b62012-04-07 13:46:59 +020050
51define gb_LinkTarget__use_odbc_headers
Michael Stahlfea65aa2013-05-06 20:09:47 +020052$(call gb_LinkTarget_set_include,$(1),\
Khaled Hosny891bb7c2013-11-04 18:40:17 +020053 -I$(SRCDIR)/external/unixODBC/inc \
Michael Stahlfea65aa2013-05-06 20:09:47 +020054 $$(INCLUDE) \
55)
Matúš Kukan5eff0b62012-04-07 13:46:59 +020056
57endef
58
Michael Stahl5378dea2014-02-11 19:11:47 +010059endif # SYSTEM_ODBC_HEADERS
Matúš Kukan5eff0b62012-04-07 13:46:59 +020060
Michael Stahle3abec32014-02-11 15:57:18 +010061ifneq ($(SYSTEM_MDDS),)
Matúš Kukan22f50fb2012-08-29 12:27:17 +020062
David Tardond5d39272014-03-03 15:29:27 +010063gb_ExternalProject__use_mdds_headers :=
64
David Tardon93aff252014-03-03 16:23:27 +010065define gb_LinkTarget__use_mdds_headers
66$(call gb_LinkTarget_set_include,$(1),\
67 $(MDDS_CFLAGS) \
68 $$(INCLUDE) \
69)
70
71endef
Matúš Kukan22f50fb2012-08-29 12:27:17 +020072
Michael Stahle3abec32014-02-11 15:57:18 +010073else # !SYSTEM_MDDS
Matúš Kukan22f50fb2012-08-29 12:27:17 +020074
David Tardond5d39272014-03-03 15:29:27 +010075define gb_ExternalProject__use_mdds_headers
David Tardon7fffbdc2015-06-24 15:08:48 +020076$(call gb_ExternalProject_use_unpacked,$(1),mdds)
David Tardond5d39272014-03-03 15:29:27 +010077
78endef
79
Matúš Kukan22f50fb2012-08-29 12:27:17 +020080define gb_LinkTarget__use_mdds_headers
81$(call gb_LinkTarget_use_unpacked,$(1),mdds)
82$(call gb_LinkTarget_set_include,$(1),\
David Tardon93aff252014-03-03 16:23:27 +010083 $(MDDS_CFLAGS) \
Matúš Kukan22f50fb2012-08-29 12:27:17 +020084 $$(INCLUDE) \
85)
86
87endef
88
Michael Stahle3abec32014-02-11 15:57:18 +010089endif # SYSTEM_MDDS
Matúš Kukan22f50fb2012-08-29 12:27:17 +020090
Michael Stahlff69e722014-02-11 19:08:10 +010091ifneq ($(SYSTEM_GLM),)
Markus Mohrhardae9e6112013-12-23 17:31:55 +000092
93gb_LinkTarget__use_glm_headers :=
Zolnai Tamás6403f2b2014-06-25 15:19:41 +020094gb_ExternalProject__use_glm_headers :=
Markus Mohrhardae9e6112013-12-23 17:31:55 +000095
96else
97
98define gb_LinkTarget__use_glm_headers
99$(call gb_LinkTarget_use_unpacked,$(1),glm)
100$(call gb_LinkTarget_set_include,$(1),\
David Tardon13494912015-05-19 16:59:26 +0200101 $(GLM_CFLAGS) \
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000102 $$(INCLUDE) \
103)
104
105endef
106
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200107define gb_ExternalProject__use_glm_headers
David Tardon682e3592015-06-24 15:11:40 +0200108$(call gb_ExternalProject_use_unpacked,$(1),glm)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200109
110endef
111
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000112endif
113
Michael Stahl674e7912013-05-06 20:23:49 +0200114ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
David Tardoneafaec92012-12-21 14:08:27 +0100115
116define gb_LinkTarget__use_sane_headers
Michael Stahl72279ea2013-05-06 20:14:35 +0200117$(call gb_LinkTarget_set_include,$(1),\
Khaled Hosnya62e7732013-11-04 18:33:52 +0200118 -I$(SRCDIR)/external/$(if $(filter WNT,$(OS)),twain,sane)/inc \
Michael Stahl72279ea2013-05-06 20:14:35 +0200119 $$(INCLUDE) \
David Tardoneafaec92012-12-21 14:08:27 +0100120)
121
122endef
123
124else
125
126gb_LinkTarget__use_sane_headers :=
127
128endif
129
Michael Stahl8555b372014-02-11 19:28:33 +0100130ifneq ($(SYSTEM_BLUEZ),)
David Tardon8fa06c82013-11-05 06:53:49 +0100131
132gb_LinkTarget__use_bluez_bluetooth_headers :=
133
134else # !SYSTEM_BLUEZ
135
136define gb_LinkTarget__use_bluez_bluetooth_headers
137$(call gb_LinkTarget_set_include,$(1),\
138 -I$(SRCDIR)/external/bluez_bluetooth/inc \
139 $$(INCLUDE) \
140)
141
142endef
143
144endif # SYSTEM_BLUEZ
145
Matúš Kukan8e535df2012-04-07 13:59:33 +0200146# External libraries
147
Michael Stahle3abec32014-02-11 15:57:18 +0100148ifneq ($(SYSTEM_CPPUNIT),)
David Tardon785e1d92011-07-25 10:34:22 +0200149
150define gb_LinkTarget__use_cppunit
151$(call gb_LinkTarget_set_include,$(1),\
152 $$(INCLUDE) \
153 $(CPPUNIT_CFLAGS) \
154)
155
156$(call gb_LinkTarget_add_libs,$(1),\
157 $(CPPUNIT_LIBS) \
158)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100159
David Tardon785e1d92011-07-25 10:34:22 +0200160endef
161
Michael Stahle3abec32014-02-11 15:57:18 +0100162else # !SYSTEM_CPPUNIT
David Tardon785e1d92011-07-25 10:34:22 +0200163
David Tardon785e1d92011-07-25 10:34:22 +0200164define gb_LinkTarget__use_cppunit
Markus Mohrhardd63a9402016-02-23 11:28:31 +0100165$(call gb_LinkTarget_use_external_project,$(1),cppunit, full)
Peter Foley143835b2012-11-25 16:37:40 -0500166
Peter Foley143835b2012-11-25 16:37:40 -0500167$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200168 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
Peter Foley143835b2012-11-25 16:37:40 -0500169 $$(INCLUDE) \
170)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100171
Michael Stahl77fe50b2013-10-23 23:35:16 +0200172ifeq ($(COM),MSC)
173$(call gb_LinkTarget_add_libs,$(1),\
174 $(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
175)
176else
177$(call gb_LinkTarget_add_libs,$(1),\
178 -L$(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/.libs -lcppunit \
179)
180endif
181
David Tardon785e1d92011-07-25 10:34:22 +0200182endef
183
Michael Stahle3abec32014-02-11 15:57:18 +0100184endif # SYSTEM_CPPUNIT
Michael Stahlc74af0d2011-04-01 20:49:35 +0000185
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000186ifneq ($(SYSTEM_EPOXY),)
David Tardon864f7752014-02-09 21:19:07 +0100187
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000188define gb_LinkTarget__use_epoxy
David Tardon864f7752014-02-09 21:19:07 +0100189$(call gb_LinkTarget_set_include,$(1),\
190 $$(INCLUDE) \
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000191 $(EPOXY_CFLAGS) \
David Tardon864f7752014-02-09 21:19:07 +0100192)
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000193$(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS))
David Tardon864f7752014-02-09 21:19:07 +0100194
195endef
196
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000197gb_ExternalProject__use_epoxy :=
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200198
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000199else # !SYSTEM_EPOXY
David Tardon864f7752014-02-09 21:19:07 +0100200
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000201define gb_LinkTarget__use_epoxy
202$(call gb_LinkTarget_set_include,$(1),\
203 -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \
204 $$(INCLUDE) \
205)
206
207$(call gb_LinkTarget_use_libraries,$(1),\
208 epoxy \
209)
210
211endef
212
213$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
214 epoxy \
Michael Stahl0c94f232014-03-18 17:17:04 +0100215))
216
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000217define gb_ExternalProject__use_epoxy
218$(call gb_ExternalProject_use_external_project,$(1),epoxy)
David Tardon864f7752014-02-09 21:19:07 +0100219
220endef
221
Caolán McNamara482d7ce2016-11-25 20:25:27 +0000222endif # SYSTEM_EPOXY
David Tardon864f7752014-02-09 21:19:07 +0100223
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200224define gb_LinkTarget__use_iconv
225$(call gb_LinkTarget_add_libs,$(1),-liconv)
226
227endef
228
Michael Stahl379f9782014-02-11 16:49:19 +0100229ifneq ($(SYSTEM_MARIADB),)
Peter Foleyc322d502013-01-23 16:29:08 -0500230
David Tardon217eae42013-11-05 06:49:33 +0100231define gb_LinkTarget__use_mariadb
232$(call gb_LinkTarget_set_include,$(1),\
233 $$(INCLUDE) \
234 $(MARIADB_CFLAGS) \
235)
236$(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
237
238endef
239gb_ExternalProject__use_mariadb :=
240
241else # !SYSTEM_MARIADB
242
243define gb_LinkTarget__use_mariadb
244$(call gb_LinkTarget_set_include,$(1),\
245 $$(INCLUDE) \
246 $(MARIADB_CFLAGS) \
247)
248$(call gb_LinkTarget_use_static_libraries,$(1),\
249 mariadblib \
250)
251
252endef
253define gb_ExternalProject__use_mariadb
254$(call gb_ExternalProject_use_static_libraries,$(1),mariadblib)
255
256endef
257
258endif # SYSTEM_MARIADB
259
260
Michael Stahl379f9782014-02-11 16:49:19 +0100261ifneq ($(SYSTEM_MARIADB),)
David Tardon217eae42013-11-05 06:49:33 +0100262
Peter Foleyc322d502013-01-23 16:29:08 -0500263define gb_LinkTarget__use_mysql
264
265$(call gb_LinkTarget_add_defs,$(1),\
Fridrich Štrba1bf43062013-03-06 11:45:50 +0100266 -DSYSTEM_MARIADB \
Peter Foleyc322d502013-01-23 16:29:08 -0500267)
268
269$(call gb_LinkTarget_add_libs,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100270 $(MARIADB_LIBS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500271)
272
273$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100274 $(MARIADB_CFLAGS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500275 $$(INCLUDE) \
276)
277endef
278
279else
280
281define gb_LinkTarget__use_mysql
282
283$(call gb_LinkTarget_set_include,$(1),\
Peter Foleyc322d502013-01-23 16:29:08 -0500284 $$(INCLUDE) \
285)
286
287endef
288
289endif
290
Michael Stahl0443d0a2014-02-11 16:57:35 +0100291ifneq ($(SYSTEM_MYSQL_CPPCONN),)
Peter Foleyc322d502013-01-23 16:29:08 -0500292
293define gb_LinkTarget__use_mysqlcppconn
294$(call gb_LinkTarget_add_libs,$(1),\
295 -lmysqlcppconn \
296)
297
298$(call gb_LinkTarget_add_defs,$(1),\
Peter Foleyb02d7992013-01-24 15:43:52 -0500299 -DSYSTEM_MYSQL_CPPCONN \
Peter Foleyc322d502013-01-23 16:29:08 -0500300)
301endef
302
303else
304
Stephan Bergmann5afa25c2015-06-12 16:26:25 +0200305$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OXT,\
Peter Foleyc322d502013-01-23 16:29:08 -0500306 mysqlcppconn \
307))
308
Michael Stahl5f356bd2013-01-28 23:53:30 +0100309# note: this does not link mysqlcppconn, it is loaded via osl_loadModuleRelative
Peter Foleyc322d502013-01-23 16:29:08 -0500310define gb_LinkTarget__use_mysqlcppconn
311
Michael Stahl5f356bd2013-01-28 23:53:30 +0100312$(call gb_LinkTarget_use_unpacked,$(1),mysqlcppconn)
313
Peter Foleyb02d7992013-01-24 15:43:52 -0500314$(call gb_LinkTarget_add_defs,$(1),\
315 -DCPPCONN_LIB_BUILD \
316)
317
Peter Foleyc322d502013-01-23 16:29:08 -0500318$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200319 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn) \
320 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn)/cppconn \
Peter Foleyc322d502013-01-23 16:29:08 -0500321 $$(INCLUDE) \
322)
323
324endef
325
326endif
327
Michael Stahl04ff5352014-02-11 16:21:04 +0100328ifneq ($(SYSTEM_ZLIB),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000329
330define gb_LinkTarget__use_zlib
Michael Stahla88ef232011-04-13 16:11:41 +0000331$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000332 -DSYSTEM_ZLIB \
333)
334$(call gb_LinkTarget_add_libs,$(1),-lz)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100335
Michael Stahlc74af0d2011-04-01 20:49:35 +0000336endef
337
David Tardoncb276232012-10-26 15:33:26 +0200338# nothing on system
339define gb_LinkTarget__use_zlib_x64
340
341endef
342
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100343gb_ExternalProject__use_zlib :=
344
Michael Stahlc74af0d2011-04-01 20:49:35 +0000345else # !SYSTEM_ZLIB
346
David Tardoncb276232012-10-26 15:33:26 +0200347define gb_LinkTarget__use_zlib_multiarch
348$(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
349
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200350$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl3c38b772013-05-08 15:47:24 +0200351 $(ZLIB_CFLAGS) \
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200352 $$(INCLUDE) \
353)
David Tardoncb276232012-10-26 15:33:26 +0200354
Michael Stahlc923f7d2012-04-07 23:22:08 +0200355$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardoncb276232012-10-26 15:33:26 +0200356 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000357)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100358
Michael Stahlc74af0d2011-04-01 20:49:35 +0000359endef
360
David Tardoncb276232012-10-26 15:33:26 +0200361define gb_LinkTarget__use_zlib
362$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
363
364endef
365
366define gb_LinkTarget__use_zlib_x64
367$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
368
369endef
370
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100371define gb_ExternalProject__use_zlib
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100372$(call gb_ExternalProject_use_static_libraries,$(1),zlib)
373
374endef
375
Michael Stahlc74af0d2011-04-01 20:49:35 +0000376endif # SYSTEM_ZLIB
377
378
Michael Stahl46648152014-02-11 16:33:18 +0100379ifneq ($(SYSTEM_JPEG),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000380
381define gb_LinkTarget__use_jpeg
Michael Stahleea709f2016-11-02 14:13:54 +0100382$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000383$(call gb_LinkTarget_set_ldflags,$(1),\
Michael Stahl73d2fe92011-04-13 16:11:39 +0000384 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000385)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100386
Michael Stahlc74af0d2011-04-01 20:49:35 +0000387endef
388
Michael Stahleea709f2016-11-02 14:13:54 +0100389gb_ExternalProject__use_jpeg :=
390
Caolán McNamaraae967542017-03-14 14:20:36 +0000391else
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100392
393define gb_LinkTarget__use_jpeg
394$(call gb_LinkTarget_set_include,$(1),\
Michael Stahleea709f2016-11-02 14:13:54 +0100395 $(LIBJPEG_CFLAGS) \
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100396 $$(INCLUDE) \
397)
Michael Stahleea709f2016-11-02 14:13:54 +0100398$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
Stephan Bergmann8d34d362016-02-18 12:51:41 +0100399$(call gb_LinkTarget_use_external_project,$(1),jpeg-turbo,full)
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100400
401endef
402
Michael Stahleea709f2016-11-02 14:13:54 +0100403define gb_ExternalProject__use_jpeg
404$(call gb_ExternalProject_use_external_project,$(1),jpeg-turbo)
405
406endef
407
Michael Stahlc74af0d2011-04-01 20:49:35 +0000408endif # SYSTEM_JPEG
409
Michael Stahlab586f12014-02-11 19:25:30 +0100410ifneq ($(SYSTEM_MYTHES),)
Peter Foley1d1bab42012-10-28 12:00:06 -0400411
412define gb_LinkTarget__use_mythes
Rene Engelhard99ef1f52012-10-28 23:00:03 +0100413$(call gb_LinkTarget_set_include,$(1),\
414 $$(INCLUDE) \
415 $(MYTHES_CFLAGS) \
416)
417$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
418
Peter Foley1d1bab42012-10-28 12:00:06 -0400419endef
420
421else # !SYSTEM_MYTHES
422
Peter Foley1d1bab42012-10-28 12:00:06 -0400423define gb_LinkTarget__use_mythes
Michael Stahl90ad80e32013-05-07 23:59:00 +0200424$(call gb_LinkTarget_set_include,$(1),\
425 -I$(call gb_UnpackedTarball_get_dir,mythes) \
426 $$(INCLUDE) \
427)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200428
429ifeq ($(COM),MSC)
Matúš Kukan327db9f2012-10-28 22:40:30 +0100430$(call gb_LinkTarget_use_static_libraries,$(1),\
431 mythes \
Peter Foley1d1bab42012-10-28 12:00:06 -0400432)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200433else
434$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
435$(call gb_LinkTarget_use_external_project,$(1),mythes)
436endif
Matúš Kukan327db9f2012-10-28 22:40:30 +0100437
Peter Foley1d1bab42012-10-28 12:00:06 -0400438endef
439
440endif # SYSTEM_MYTHES
441
Michael Stahlc74af0d2011-04-01 20:49:35 +0000442
Michael Stahl46648152014-02-11 16:33:18 +0100443ifneq ($(SYSTEM_EXPAT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000444
David Tardon51149802013-04-09 09:22:20 +0200445define gb_LinkTarget__use_expat_impl
446$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000447
Michael Stahla88ef232011-04-13 16:11:41 +0000448$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000449 -DSYSTEM_EXPAT \
450)
451
452$(call gb_LinkTarget_add_libs,$(1),-lexpat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100453
Michael Stahlc74af0d2011-04-01 20:49:35 +0000454endef
455
Michael Stahl77289672012-11-17 00:36:29 +0100456gb_ExternalProject__use_expat :=
457
Michael Stahlc74af0d2011-04-01 20:49:35 +0000458else # !SYSTEM_EXPAT
459
David Tardon51149802013-04-09 09:22:20 +0200460define gb_LinkTarget__use_expat_impl
461$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000462
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700463$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl5e037bb2013-05-07 21:47:18 +0200464 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700465 $$(INCLUDE) \
466)
467
Michael Stahlc923f7d2012-04-07 23:22:08 +0200468$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000469 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000470)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100471
Michael Stahlc74af0d2011-04-01 20:49:35 +0000472endef
473
Michael Stahl77289672012-11-17 00:36:29 +0100474define gb_ExternalProject__use_expat
Michael Stahl77289672012-11-17 00:36:29 +0100475$(call gb_ExternalProject_use_static_libraries,$(1),expat)
476
477endef
478
Michael Stahlc74af0d2011-04-01 20:49:35 +0000479endif # SYSTEM_EXPAT
480
David Tardon51149802013-04-09 09:22:20 +0200481define gb_LinkTarget__use_expat
482$(call gb_LinkTarget__use_expat_impl,$(1),expat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100483
Michael Stahlc74af0d2011-04-01 20:49:35 +0000484endef
485
David Tardon51149802013-04-09 09:22:20 +0200486define gb_LinkTarget__use_expat_x64
487$(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100488
Michael Stahlc74af0d2011-04-01 20:49:35 +0000489endef
490
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100491ifneq ($(SYSTEM_HYPH),)
Peter Foleydd584cb2012-11-03 13:54:46 -0400492
493define gb_LinkTarget__use_hyphen
494$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
495
496endef
497
498else # !SYSTEM_HYPH
499
Peter Foleydd584cb2012-11-03 13:54:46 -0400500define gb_LinkTarget__use_hyphen
501$(call gb_LinkTarget_use_unpacked,$(1),hyphen)
502$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200503 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
Peter Foleydd584cb2012-11-03 13:54:46 -0400504 $$(INCLUDE) \
505)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200506
507ifeq ($(COM),MSC)
Peter Foleydd584cb2012-11-03 13:54:46 -0400508$(call gb_LinkTarget_use_static_libraries,$(1),\
509 hyphen \
510)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200511else
512$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
513$(call gb_LinkTarget_use_external_project,$(1),hyphen)
514endif
Peter Foleydd584cb2012-11-03 13:54:46 -0400515
516endef
517
518endif # SYSTEM_HYPH
519
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100520ifneq ($(SYSTEM_HUNSPELL),)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100521
522define gb_LinkTarget__use_hunspell
523$(call gb_LinkTarget_set_include,$(1),\
524 $$(INCLUDE) \
525 $(HUNSPELL_CFLAGS) \
526)
527$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
528
529endef
530
Michael Stahl2f6261f2013-09-19 19:28:36 +0200531gb_ExternalProject__use_hunspell :=
532
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100533else # !SYSTEM_HUNSPELL
534
535define gb_LinkTarget__use_hunspell
536$(call gb_LinkTarget_add_defs,$(1),\
537 -DHUNSPELL_STATIC \
538)
Matúš Kukan7a030392012-10-29 23:29:37 +0100539$(call gb_LinkTarget_use_unpacked,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100540$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200541 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
Matúš Kukan7a030392012-10-29 23:29:37 +0100542 $$(INCLUDE) \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100543)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200544
545ifeq ($(COM),MSC)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200546$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan327db9f2012-10-28 22:40:30 +0100547 hunspell \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100548)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200549else
550$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
551$(call gb_LinkTarget_use_external_project,$(1),hunspell)
552endif
553
554endef
555
556define gb_ExternalProject__use_hunspell
557$(call gb_ExternalProject_use_external_project,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100558
559endef
560
561endif # SYSTEM_HUNSPELL
562
563
Michael Stahladddbbc2014-02-11 18:40:09 +0100564ifneq ($(SYSTEM_BOOST),)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200565
David Tardon57c439a2016-03-08 06:06:36 +0100566define gb_LinkTarget__use_boost_lib
David Tardon0f6919c2012-06-06 17:04:01 +0200567$(call gb_LinkTarget_set_include,$(1),\
568 $$(INCLUDE) \
569 $(BOOST_CPPFLAGS) \
570)
571
572$(call gb_LinkTarget_add_ldflags,$(1),\
573 $(BOOST_LDFLAGS) \
574)
575
David Tardon57c439a2016-03-08 06:06:36 +0100576$(call gb_LinkTarget_add_libs,$(1),$(2))
577
578endef
579
Caolán McNamarac25eee42017-04-19 12:02:25 +0100580define gb_LinkTarget__use_boost_locale
581$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_LOCALE_LIB))
582
583endef
584
David Tardon23d2e0e2016-03-08 08:35:59 +0100585define gb_LinkTarget__use_boost_date_time
David Tardon57c439a2016-03-08 06:06:36 +0100586$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_DATE_TIME_LIB))
David Tardon0f6919c2012-06-06 17:04:01 +0200587
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200588endef
589
David Tardonb4339fa2016-03-08 06:08:36 +0100590define gb_LinkTarget__use_boost_filesystem
591$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
592
593endef
594
595gb_ExternalProject__use_boost_filesystem :=
596
Markus Mohrhard36788e92014-01-08 13:17:28 +0100597define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100598$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_IOSTREAMS_LIB))
Markus Mohrhard36788e92014-01-08 13:17:28 +0100599
600endef
601
David Tardon6d9de6b2014-03-03 20:39:13 +0100602gb_ExternalProject__use_boost_iostreams :=
603
Markus Mohrhard36788e92014-01-08 13:17:28 +0100604define gb_LinkTarget__use_boost_system
David Tardon57c439a2016-03-08 06:06:36 +0100605$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_SYSTEM_LIB))
Tor Lillqvist503b2482013-05-22 19:50:22 +0300606
607endef
608
Markus Mohrhard36788e92014-01-08 13:17:28 +0100609gb_ExternalProject__use_boost_system :=
Tor Lillqvist503b2482013-05-22 19:50:22 +0300610
Stephan Bergmann93208022013-02-16 22:56:19 +0100611define gb_LinkTarget__use_boost_headers
612$(call gb_LinkTarget_set_include,$(1),\
613 $$(INCLUDE) \
614 $(BOOST_CPPFLAGS) \
615)
616
617endef
618
Peter Foleycdb6eca2012-11-10 08:56:12 -0500619gb_ExternalProject__use_boost_headers:=
620
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200621else # !SYSTEM_BOOST
622
David Tardon57c439a2016-03-08 06:06:36 +0100623define gb_LinkTarget__use_boost_lib
Michael Stahl7f2e1682012-09-06 20:22:11 +0200624$(call gb_LinkTarget_add_defs,$(1),\
625 -DBOOST_ALL_NO_LIB \
626)
627
David Tardon57c439a2016-03-08 06:06:36 +0100628$(call gb_LinkTarget_use_static_libraries,$(1),$(2))
629
630endef
631
Caolán McNamarac25eee42017-04-19 12:02:25 +0100632define gb_LinkTarget__use_boost_locale
633$(call gb_LinkTarget__use_boost_lib,$(1),boost_locale)
634$(call gb_LinkTarget_add_libs,$(1),\
635 $(if $(filter $(OS),MACOSX),-liconv) \
636)
637
638endef
639
David Tardon23d2e0e2016-03-08 08:35:59 +0100640define gb_LinkTarget__use_boost_date_time
641$(call gb_LinkTarget__use_boost_lib,$(1),boost_date_time)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200642
643endef
644
David Tardond72a33c2016-03-08 05:57:40 +0100645define gb_LinkTarget__use_boost_filesystem
David Tardon57c439a2016-03-08 06:06:36 +0100646$(call gb_LinkTarget__use_boost_lib,$(1),boost_filesystem)
David Tardond72a33c2016-03-08 05:57:40 +0100647
648endef
649
650define gb_ExternalProject__use_boost_filesystem
651$(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
652endef
653
Markus Mohrhard36788e92014-01-08 13:17:28 +0100654define gb_LinkTarget__use_boost_iostreams
David Tardon57c439a2016-03-08 06:06:36 +0100655$(call gb_LinkTarget__use_boost_lib,$(1),boost_iostreams)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300656
657endef
658
Markus Mohrhard36788e92014-01-08 13:17:28 +0100659define gb_ExternalProject__use_boost_iostreams
660$(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
661endef
662
663define gb_LinkTarget__use_boost_system
David Tardon57c439a2016-03-08 06:06:36 +0100664$(call gb_LinkTarget__use_boost_lib,$(1),boost_system)
Markus Mohrhard36788e92014-01-08 13:17:28 +0100665
666endef
667
668define gb_ExternalProject__use_boost_system
669$(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300670endef
671
Peter Foleye1f742a2012-11-12 18:37:10 -0500672define gb_LinkTarget__use_boost_headers
Christian Lohmaier1654a1e72012-11-14 18:11:30 +0100673$(call gb_LinkTarget_use_unpacked,$(1),boost)
Michael Stahla53586f2013-01-26 21:19:13 +0100674$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmannf51656c2016-05-31 13:32:15 +0200675 $(BOOST_CPPFLAGS) \
Michael Stahla53586f2013-01-26 21:19:13 +0100676 $$(INCLUDE) \
677)
Peter Foleye1f742a2012-11-12 18:37:10 -0500678
679endef
680
Peter Foleycdb6eca2012-11-10 08:56:12 -0500681define gb_ExternalProject__use_boost_headers
David Tardon682e3592015-06-24 15:11:40 +0200682$(call gb_ExternalProject_use_unpacked,$(1),boost)
Peter Foleycdb6eca2012-11-10 08:56:12 -0500683
684endef
David Tardond72a33c2016-03-08 05:57:40 +0100685
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200686endif # SYSTEM_BOOST
687
688
Michael Stahle3abec32014-02-11 15:57:18 +0100689ifneq ($(SYSTEM_CMIS),)
Matúš Kukan464b4332012-01-15 02:12:49 +0100690
691define gb_LinkTarget__use_cmis
692$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100693 $$(INCLUDE) \
Matúš Kukan707194e2012-09-06 18:19:34 +0200694 $(CMIS_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100695)
Matúš Kukan707194e2012-09-06 18:19:34 +0200696$(call gb_LinkTarget_add_libs,$(1),$(CMIS_LIBS))
Matúš Kukan464b4332012-01-15 02:12:49 +0100697
698endef
699
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100700else # !SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100701
Matúš Kukan464b4332012-01-15 02:12:49 +0100702define gb_LinkTarget__use_cmis
Michael Stahl759d02b2013-05-08 00:55:21 +0200703$(call gb_LinkTarget_set_include,$(1),\
704 -I$(call gb_UnpackedTarball_get_dir,cmis)/src \
705 $$(INCLUDE) \
706)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200707$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100708 cmislib \
709)
710
711endef
712
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100713endif # SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100714
David Tardon32cd12c2014-04-26 19:46:40 +0200715ifeq ($(ENABLE_JAVA),TRUE)
David Tardon2a71e152014-04-26 16:08:07 +0200716
David Tardon2a71e152014-04-26 16:08:07 +0200717define gb_LinkTarget__use_jawt
718$(call gb_LinkTarget_add_libs,$(1),\
719 $(JAWTLIB) \
720)
721
722endef
Peter Foleye5ccda42012-12-25 11:23:58 -0500723
David Tardon2a71e152014-04-26 16:08:07 +0200724else # !ENABLE_JAVA
725
726gb_LinkTarget__use_jawt :=
727
728endif # ENABLE_JAVA
Matúš Kukan464b4332012-01-15 02:12:49 +0100729
Michael Stahl23647592014-02-11 19:04:20 +0100730ifneq ($(SYSTEM_LIBATOMIC_OPS),)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100731
732define gb_LinkTarget__use_libatomic_ops
733$(call gb_LinkTarget_set_include,$(1),\
734 $$(INCLUDE) \
735 $(LIBATOMIC_OPS_CFLAGS) \
736)
737$(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
738
739endef
740gb_ExternalProject__use_libatomic_ops :=
741
742else # !SYSTEM_LIBATOMIC_OPS
743
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100744define gb_LinkTarget__use_libatomic_ops
745$(call gb_LinkTarget_set_include,$(1),\
746$(LIBATOMIC_OPS_CFLAGS) \
747 $$(INCLUDE) \
748 $(LIBATOMIC_OPS_CFLAGS) \
749)
Michael Stahlb3085262013-10-24 12:22:58 +0200750$(call gb_LinkTarget_use_external_project,$(1),\
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100751 libatomic_ops \
752)
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100753
Michael Stahlb3085262013-10-24 12:22:58 +0200754$(call gb_LinkTarget_add_libs,$(1),\
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100755 -L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src/lib -latomic_ops \
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100756)
757
758endef
759
760define gb_ExternalProject__use_libatomic_ops
Michael Stahlb3085262013-10-24 12:22:58 +0200761$(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100762
763endef
764
765endif # SYSTEM_LIBATOMIC_OPS
766
767
Michael Stahle3abec32014-02-11 15:57:18 +0100768ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
Matúš Kukanbd030302011-12-03 15:06:52 +0100769
770define gb_LinkTarget__use_libexttextcat
771$(call gb_LinkTarget_set_include,$(1),\
772 $$(INCLUDE) \
773 $(LIBEXTTEXTCAT_CFLAGS) \
774)
Peter Foley31219f02012-11-09 17:25:56 -0500775$(call gb_LinkTarget_add_defs,$(1),\
776 -DSYSTEM_LIBEXTTEXTCAT \
777)
Matúš Kukanbd030302011-12-03 15:06:52 +0100778$(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
779
780endef
781
782else # !SYSTEM_LIBEXTTEXTCAT
783
Matúš Kukanbd030302011-12-03 15:06:52 +0100784define gb_LinkTarget__use_libexttextcat
Peter Foley31219f02012-11-09 17:25:56 -0500785$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200786 -I$(call gb_UnpackedTarball_get_dir,exttextcat/src) \
Peter Foley31219f02012-11-09 17:25:56 -0500787 $$(INCLUDE) \
788)
Matúš Kukanbd030302011-12-03 15:06:52 +0100789
Michael Stahl2f6261f2013-09-19 19:28:36 +0200790ifeq ($(COM),MSC)
791$(call gb_LinkTarget_use_static_libraries,$(1),\
792 exttextcat \
793)
794else
795$(call gb_LinkTarget_add_libs,$(1),\
796 $(call gb_UnpackedTarball_get_dir,exttextcat)/src/.libs/libexttextcat-2.0.a\
797)
David Tardon523a3042013-10-12 18:22:55 +0200798$(call gb_LinkTarget_use_external_project,$(1),exttextcat)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200799endif
800
801
Matúš Kukanbd030302011-12-03 15:06:52 +0100802endef
803
804endif # SYSTEM_LIBEXTTEXTCAT
805
806
Michael Stahl379f9782014-02-11 16:49:19 +0100807ifneq ($(SYSTEM_LIBXML),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000808
809define gb_LinkTarget__use_libxml2
Michael Stahla88ef232011-04-13 16:11:41 +0000810$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000811 -DSYSTEM_LIBXML \
812)
813$(call gb_LinkTarget_set_include,$(1),\
814 $$(INCLUDE) \
815 $(LIBXML_CFLAGS) \
816)
817$(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100818
Michael Stahlc74af0d2011-04-01 20:49:35 +0000819endef
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500820gb_ExternalProject__use_libxml2:=
Michael Stahlc74af0d2011-04-01 20:49:35 +0000821
822else # !SYSTEM_LIBXML
823
Michael Stahl64ea9942014-03-14 11:48:24 +0100824$(eval $(call gb_Helper_register_packages_for_install,ure,\
825 xml2 \
826))
827
Michael Stahlc74af0d2011-04-01 20:49:35 +0000828define gb_LinkTarget__use_libxml2
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500829$(call gb_LinkTarget_use_package,$(1),xml2)
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500830$(call gb_LinkTarget_set_include,$(1),\
831 $$(INCLUDE) \
David Tardon7515b1a2014-07-17 17:27:05 +0200832 $(LIBXML_CFLAGS) \
833)
834
835$(call gb_LinkTarget_add_libs,$(1),\
836 $(LIBXML_LIBS) \
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500837)
838
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200839ifeq ($(COM),MSC)
David Tardon7515b1a2014-07-17 17:27:05 +0200840$(call gb_LinkTarget_use_external,$(1),icu_headers)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200841endif
842
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500843endef
844define gb_ExternalProject__use_libxml2
845$(call gb_ExternalProject_use_package,$(1),xml2)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100846
David Tardon7515b1a2014-07-17 17:27:05 +0200847ifeq ($(COM),MSC)
848$(call gb_ExternalProject_use_external_project,$(1),icu)
849endif
850
Michael Stahlc74af0d2011-04-01 20:49:35 +0000851endef
852
853endif # SYSTEM_LIBXML
854
855
Michael Stahle3abec32014-02-11 15:57:18 +0100856ifneq ($(SYSTEM_LIBXSLT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000857
858define gb_LinkTarget__use_libxslt
859$(call gb_LinkTarget_set_include,$(1),\
860 $$(INCLUDE) \
861 $(LIBXSLT_CFLAGS) \
862)
863$(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100864
Michael Stahlc74af0d2011-04-01 20:49:35 +0000865endef
866
David Tardonab03e872012-08-15 07:20:13 +0200867define gb_LinkTarget__use_libexslt
868$(call gb_LinkTarget_set_include,$(1),\
869 $$(INCLUDE) \
870 $(LIBEXSLT_CFLAGS) \
871)
872
873$(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
874
875endef
876
Michael Stahlc74af0d2011-04-01 20:49:35 +0000877else # !SYSTEM_LIBXSLT
878
Michael Stahl32a617d2014-02-17 11:23:19 +0100879$(eval $(call gb_Helper_register_packages_for_install,ooo,\
880 xslt \
881))
882
Michael Stahlc74af0d2011-04-01 20:49:35 +0000883define gb_LinkTarget__use_libxslt
Peter Foley856c0752013-02-02 15:44:30 -0500884$(call gb_LinkTarget_use_package,$(1),xslt)
885$(call gb_LinkTarget_set_include,$(1),\
886 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +0200887 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500888)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200889
890ifeq ($(COM),MSC)
891$(call gb_LinkTarget_add_libs,$(1),\
892 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libxslt.lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000893)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200894else
895$(call gb_LinkTarget_add_libs,$(1),\
896 -L$(call gb_UnpackedTarball_get_dir,xslt)/libxslt/.libs -lxslt \
897)
898endif
Caolán McNamara6bccd202011-07-25 22:10:33 +0100899
Michael Stahlc74af0d2011-04-01 20:49:35 +0000900endef
901
David Tardonab03e872012-08-15 07:20:13 +0200902define gb_LinkTarget__use_libexslt
Peter Foley856c0752013-02-02 15:44:30 -0500903$(call gb_LinkTarget_use_package,$(1),xslt)
904$(call gb_LinkTarget_set_include,$(1),\
905 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +0200906 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500907)
908
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200909ifeq ($(COM),MSC)
910$(call gb_LinkTarget_add_libs,$(1),\
911 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libexslt.lib \
David Tardonab03e872012-08-15 07:20:13 +0200912)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200913else
914$(call gb_LinkTarget_add_libs,$(1),\
915 -L$(call gb_UnpackedTarball_get_dir,xslt)/libexslt/.libs -lexslt \
916)
917endif
David Tardonab03e872012-08-15 07:20:13 +0200918
919endef
920
Michael Stahlc74af0d2011-04-01 20:49:35 +0000921endif # SYSTEM_LIBXSLT
922
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +0200923
Miklos Vajnaab50f0b2017-06-21 21:59:11 +0200924ifneq ($(SYSTEM_XMLSEC),)
925
926define gb_LinkTarget__use_xmlsec
927$(call gb_LinkTarget_add_defs,$(1),\
928 -DSYSTEM_XMLSEC \
929)
930$(call gb_LinkTarget_set_include,$(1),\
931 $$(INCLUDE) \
932 $(XMLSEC_CFLAGS) \
933)
934$(call gb_LinkTarget_add_libs,$(1),$(XMLSEC_LIBS))
935
936endef
937
938gb_ExternalProject__use_xmlsec:=
939
940else # !SYSTEM_XMLSEC
941
942$(eval $(call gb_Helper_register_packages_for_install,ooo,\
943 xmlsec \
944))
945
946define gb_LinkTarget__use_xmlsec
947
948endef
949
950endif # SYSTEM_XMLSEC
951
Michael Stahl49dde4c2014-02-11 19:42:28 +0100952ifneq ($(SYSTEM_LIBLANGTAG),)
Eike Rathkea774a482012-08-06 19:22:43 +0200953
954define gb_LinkTarget__use_liblangtag
955$(call gb_LinkTarget_set_include,$(1),\
956 $$(INCLUDE) \
957 $(LIBLANGTAG_CFLAGS) \
958)
959
960$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
961
962endef
963
David Tardonc2a119b2016-01-13 14:24:31 +0100964gb_ExternalProject__use_liblangtag :=
965
Eike Rathkea774a482012-08-06 19:22:43 +0200966else # !SYSTEM_LIBLANGTAG
967
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200968$(eval $(call gb_Helper_register_packages_for_install,ure,\
Michael Stahl01adcd82014-03-18 17:38:06 +0100969 liblangtag_data \
970))
971
David Tardon7d93bb82016-01-13 15:45:17 +0100972ifeq ($(COM),MSC)
973
Eike Rathkea774a482012-08-06 19:22:43 +0200974define gb_LinkTarget__use_liblangtag
Peter Foley782151a2012-11-11 16:02:36 -0500975$(call gb_LinkTarget_set_include,$(1),\
David Tardon34513502016-01-13 14:21:10 +0100976 $(LIBLANGTAG_CFLAGS) \
Peter Foley782151a2012-11-11 16:02:36 -0500977 $$(INCLUDE) \
978)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200979$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
980$(call gb_LinkTarget_use_external_project,$(1),langtag)
Eike Rathkea774a482012-08-06 19:22:43 +0200981
982endef
983
David Tardon7d93bb82016-01-13 15:45:17 +0100984else
985
Stephan Bergmann475e4b42016-10-25 16:46:35 +0200986$(eval $(call gb_Helper_register_packages_for_install,ure,\
David Tardon7d93bb82016-01-13 15:45:17 +0100987 liblangtag \
988))
989
990define gb_LinkTarget__use_liblangtag
991$(call gb_LinkTarget_set_include,$(1),\
992 $(LIBLANGTAG_CFLAGS) \
993 $$(INCLUDE) \
994)
995$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
996$(call gb_LinkTarget_use_package,$(1),liblangtag)
997
998endef
999
1000endif # MSC
1001
David Tardonc2a119b2016-01-13 14:24:31 +01001002define gb_ExternalProject__use_liblangtag
1003$(call gb_ExternalProject_use_external_project,$(1),langtag)
1004
1005endef
1006
Eike Rathkea774a482012-08-06 19:22:43 +02001007endif # SYSTEM_LIBLANGTAG
1008
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +02001009
Matúš Kukandcae0502014-02-25 21:47:33 +01001010gb_ExternalProject__use_apr :=
1011
1012ifeq ($(WITH_WEBDAV),serf)
Matúš Kukan0b272532014-02-06 12:28:36 +01001013
1014define gb_LinkTarget__use_apr
1015$(call gb_LinkTarget_set_include,$(1),\
1016 $$(INCLUDE) \
1017 $(APR_CFLAGS) \
1018)
1019$(call gb_LinkTarget_add_libs,$(1),\
1020 $(APR_LIBS) \
Michael Stahl5cf22052014-06-05 13:35:14 +02001021 $(if $(filter $(OS),LINUX),-lpthread) \
1022 $(if $(filter $(OS),MACOSX),-liconv) \
Matúš Kukan0b272532014-02-06 12:28:36 +01001023)
1024
1025ifeq ($(SYSTEM_APR),)
1026$(call gb_LinkTarget_use_system_win32_libs,$(1),\
1027 mswsock \
1028 rpcrt4 \
1029 shell32 \
1030)
1031$(call gb_LinkTarget_add_defs,$(1),\
1032 -DAPR_DECLARE_STATIC \
1033 -DAPU_DECLARE_STATIC \
1034)
1035$(call gb_LinkTarget_use_external_project,$(1),apr_util)
1036endif
1037
1038endef
1039
1040define gb_ExternalProject__use_apr
1041ifeq ($(SYSTEM_APR),)
1042$(call gb_ExternalProject_use_external_project,$(1),apr_util)
1043endif
1044
1045endef
1046
1047define gb_LinkTarget__use_serf
1048$(call gb_LinkTarget_set_include,$(1),\
1049 $(SERF_CFLAGS) \
1050 $$(INCLUDE) \
1051)
1052$(call gb_LinkTarget_add_libs,$(1),\
1053 $(SERF_LIBS) \
1054)
1055
1056ifeq ($(SYSTEM_SERF),)
1057$(call gb_LinkTarget_use_external_project,$(1),serf)
1058endif
1059
1060endef
1061
Matúš Kukandcae0502014-02-25 21:47:33 +01001062else ifeq ($(WITH_WEBDAV),neon)
Eike Rathkea774a482012-08-06 19:22:43 +02001063
Michael Stahle3abec32014-02-11 15:57:18 +01001064ifneq ($(SYSTEM_NEON),)
Matúš Kukan464b4332012-01-15 02:12:49 +01001065
1066define gb_LinkTarget__use_neon
Matúš Kukan464b4332012-01-15 02:12:49 +01001067$(call gb_LinkTarget_add_defs,$(1),\
1068 -DNEON_VERSION=0x$(NEON_VERSION) \
David Tardonb74bf412013-08-12 09:39:59 +02001069 -DSYSTEM_NEON \
Matúš Kukan464b4332012-01-15 02:12:49 +01001070)
Matúš Kukan464b4332012-01-15 02:12:49 +01001071$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001072 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00001073 $(NEON_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001074)
1075
1076$(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
1077
1078endef
1079
1080else # !SYSTEM_NEON
1081
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02001082$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
Matúš Kukan464b4332012-01-15 02:12:49 +01001083 neon \
1084))
1085
1086define gb_LinkTarget__use_neon
Matúš Kukan7a030392012-10-29 23:29:37 +01001087$(call gb_LinkTarget_use_unpacked,$(1),neon)
Matúš Kukan464b4332012-01-15 02:12:49 +01001088$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001089 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001090 $$(INCLUDE) \
1091)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001092$(call gb_LinkTarget_use_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001093 neon \
1094)
1095
1096endef
1097
1098endif # SYSTEM_NEON
1099
Matúš Kukandcae0502014-02-25 21:47:33 +01001100endif # WITH_WEBDAV
Matúš Kukan464b4332012-01-15 02:12:49 +01001101
Michael Stahle3abec32014-02-11 15:57:18 +01001102ifneq ($(SYSTEM_REDLAND),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001103
1104define gb_LinkTarget__use_librdf
Michael Stahla88ef232011-04-13 16:11:41 +00001105$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +00001106 -DSYSTEM_REDLAND \
1107)
1108$(call gb_LinkTarget_set_include,$(1),\
1109 $$(INCLUDE) \
1110 $(REDLAND_CFLAGS) \
1111)
1112$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001113
Michael Stahlc74af0d2011-04-01 20:49:35 +00001114endef
1115
Peter Foley18bd1e72012-12-27 18:04:21 -05001116gb_LinkTarget__use_redland_headers:=
1117
1118gb_LinkTarget__use_raptor_headers:=
1119
1120gb_LinkTarget__use_rasqal_headers:=
1121
Michael Stahlc74af0d2011-04-01 20:49:35 +00001122else # !SYSTEM_REDLAND
1123
Peter Foley18bd1e72012-12-27 18:04:21 -05001124define gb_LinkTarget__use_redland_headers
1125$(call gb_LinkTarget_set_include,$(1),\
Michael Stahld719c012013-04-01 12:41:18 +02001126 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001127 $$(INCLUDE) \
1128)
1129
1130endef
1131
1132define gb_LinkTarget__use_raptor_headers
1133$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001134 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001135 $$(INCLUDE) \
1136)
1137
1138endef
1139
1140define gb_LinkTarget__use_rasqal_headers
1141$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001142 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001143 $$(INCLUDE) \
1144)
1145
1146endef
1147
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001148ifneq ($(OS),ANDROID)
1149
Michael Stahl5f9cda22013-11-01 15:43:47 +01001150ifeq ($(COM),MSC)
Michael Stahlae8e5792014-01-10 12:07:31 +01001151$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
David Tardon491dea02013-05-01 11:23:50 +02001152 raptor2 \
1153 rasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001154 rdf \
1155))
Michael Stahl5ae30d32014-03-13 19:32:13 +01001156else
1157$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1158 raptor \
1159 rasqal \
1160 redland \
1161))
Michael Stahl5f9cda22013-11-01 15:43:47 +01001162endif
Michael Stahlc74af0d2011-04-01 20:49:35 +00001163
1164define gb_LinkTarget__use_librdf
Michael Stahl831aaef2013-10-24 01:09:35 +02001165ifeq ($(COM),MSC)
1166$(call gb_LinkTarget_use_libraries,$(1),\
1167 raptor2 \
1168 rdf \
1169)
1170else
Caolán McNamara87114362016-12-19 21:17:48 +00001171$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Matúš Kukan85d1e392013-12-14 11:17:30 +01001172
Michael Stahl2793c542013-10-23 21:18:24 +02001173$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl2793c542013-10-23 21:18:24 +02001174 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
Caolán McNamara87114362016-12-19 21:17:48 +00001175 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1176 -L$(call gb_UnpackedTarball_get_dir,rasqal)/src/.libs -lrasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001177)
Michael Stahl831aaef2013-10-24 01:09:35 +02001178endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001179
Michael Stahlc74af0d2011-04-01 20:49:35 +00001180endef
1181
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001182else # ANDROID
1183
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001184define gb_LinkTarget__use_librdf
Caolán McNamara87114362016-12-19 21:17:48 +00001185$(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001186
1187endef
1188
1189endif # ANDROID
1190
Michael Stahlc74af0d2011-04-01 20:49:35 +00001191endif # SYSTEM_REDLAND
1192
1193
Michael Stahlf7a6da22016-02-29 21:15:09 +01001194ifneq ($(USING_X11)$(ENABLE_CAIRO_CANVAS)$(ENABLE_HEADLESS),) # or
Michael Stahl32a617d2014-02-17 11:23:19 +01001195
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001196ifneq ($(SYSTEM_CAIRO),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001197
Michael Stahlc74af0d2011-04-01 20:49:35 +00001198define gb_LinkTarget__use_cairo
1199$(call gb_LinkTarget_set_include,$(1),\
1200 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001201 $(CAIRO_CFLAGS) \
1202)
David Tardon962771f2013-05-24 14:35:18 +02001203$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001204$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001205
Michael Stahlc74af0d2011-04-01 20:49:35 +00001206endef
1207
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001208else # !SYSTEM_CAIRO
Michael Stahlc74af0d2011-04-01 20:49:35 +00001209
Michael Stahl32a617d2014-02-17 11:23:19 +01001210$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1211 cairo \
1212 $(if $(filter $(OS),WNT),,pixman) \
1213))
1214
Michael Stahlc74af0d2011-04-01 20:49:35 +00001215define gb_LinkTarget__use_cairo
Michael Stahlde142202012-11-20 22:05:36 +01001216$(call gb_LinkTarget_use_package,$(1),cairo)
1217$(call gb_LinkTarget_use_package,$(1),pixman)
David Tardon962771f2013-05-24 14:35:18 +02001218$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001219$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001220 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1221 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001222 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001223)
Michael Stahld89f48b2013-10-23 21:27:05 +02001224$(call gb_LinkTarget_add_libs,$(1),\
1225 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001226 $(if $(filter-out MACOSX WNT,$(OS)), \
Michael Stahld89f48b2013-10-23 21:27:05 +02001227 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001228 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001229)
Caolán McNamara5bb76f62011-07-25 21:50:34 +01001230
Michael Stahlc74af0d2011-04-01 20:49:35 +00001231endef
1232
1233endif # SYSTEM_CAIRO
1234
Caolán McNamarafb7d4ba2015-11-16 13:40:22 +00001235else ifeq ($(OS),ANDROID)
1236
1237define gb_LinkTarget__use_cairo
1238$(call gb_LinkTarget_use_package,$(1),cairo)
1239$(call gb_LinkTarget_use_package,$(1),pixman)
1240$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1241$(call gb_LinkTarget_set_include,$(1),\
1242 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1243 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1244 $$(INCLUDE) \
1245)
1246$(call gb_LinkTarget_add_libs,$(1),\
1247 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1248 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
1249)
1250
1251endef
1252
Michael Stahl32a617d2014-02-17 11:23:19 +01001253endif # CAIRO
1254
Michael Stahl379f9782014-02-11 16:49:19 +01001255ifneq ($(SYSTEM_FREETYPE),)
David Tardon962771f2013-05-24 14:35:18 +02001256
1257define gb_LinkTarget__use_freetype_headers
Caolán McNamarab41ae462011-07-25 22:24:27 +01001258$(call gb_LinkTarget_set_include,$(1),\
1259 $$(INCLUDE) \
1260 $(FREETYPE_CFLAGS) \
1261)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001262
David Tardon962771f2013-05-24 14:35:18 +02001263endef
1264
Michael Stahle568d2a2013-09-30 14:10:22 +02001265gb_ExternalProject__use_freetype :=
1266
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001267else
David Tardon962771f2013-05-24 14:35:18 +02001268
1269define gb_LinkTarget__use_freetype_headers
Michael Stahlb242cee82013-10-24 12:08:50 +02001270$(call gb_LinkTarget_use_external_project,$(1),freetype)
David Tardon962771f2013-05-24 14:35:18 +02001271$(call gb_LinkTarget_set_include,$(1),\
David Tardone0603172017-02-02 13:31:13 +01001272 $(FREETYPE_CFLAGS) \
David Tardon962771f2013-05-24 14:35:18 +02001273 $$(INCLUDE) \
1274)
1275
David Tardon61695f12013-05-24 17:15:20 +02001276endef
1277
Michael Stahle568d2a2013-09-30 14:10:22 +02001278define gb_ExternalProject__use_freetype
Michael Stahlb242cee82013-10-24 12:08:50 +02001279$(call gb_ExternalProject_use_external_project,$(1),freetype)
Michael Stahle568d2a2013-09-30 14:10:22 +02001280
1281endef
1282
David Tardon962771f2013-05-24 14:35:18 +02001283endif # SYSTEM_FREETYPE
1284
David Tardone0603172017-02-02 13:31:13 +01001285define gb_LinkTarget__use_freetype
1286$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1287$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1288
1289endef
1290
Michael Stahl04ff5352014-02-11 16:21:04 +01001291ifneq ($(SYSTEM_FONTCONFIG),)
David Tardon4eb68422013-05-24 14:16:03 +02001292
Caolán McNamarab41ae462011-07-25 22:24:27 +01001293define gb_LinkTarget__use_fontconfig
1294$(call gb_LinkTarget_set_include,$(1),\
1295 $$(INCLUDE) \
1296 $(FONTCONFIG_CFLAGS) \
1297)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001298
Caolán McNamarab41ae462011-07-25 22:24:27 +01001299$(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1300
1301endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001302
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001303else
David Tardon4eb68422013-05-24 14:16:03 +02001304
David Tardon4eb68422013-05-24 14:16:03 +02001305define gb_LinkTarget__use_fontconfig
Michael Stahl76596b32013-10-24 11:01:41 +02001306$(call gb_LinkTarget_use_external_project,$(1),fontconfig)
David Tardon4eb68422013-05-24 14:16:03 +02001307$(call gb_LinkTarget_set_include,$(1),\
1308 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1309 $$(INCLUDE) \
1310)
1311
Caolán McNamara1ad871c2016-12-20 11:37:13 +00001312$(call gb_LinkTarget_add_libs,$(1),\
1313 -L$(call gb_UnpackedTarball_get_dir,fontconfig)/src/.libs -lfontconfig \
1314)
Caolán McNamara6cb661f2016-12-19 08:59:02 +00001315
David Tardon4eb68422013-05-24 14:16:03 +02001316endef
1317
1318endif # SYSTEM_FONTCONFIG
1319
Michael Stahle3abec32014-02-11 15:57:18 +01001320ifneq ($(SYSTEM_GRAPHITE),)
Michael Stahl87e44332011-04-13 16:11:39 +00001321
Michael Stahl87e44332011-04-13 16:11:39 +00001322define gb_LinkTarget__use_graphite
Michael Stahl87e44332011-04-13 16:11:39 +00001323$(call gb_LinkTarget_set_include,$(1),\
1324 $$(INCLUDE) \
1325 $(GRAPHITE_CFLAGS) \
1326)
1327$(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001328
Michael Stahl87e44332011-04-13 16:11:39 +00001329endef
1330
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001331gb_ExternalProject__use_graphite:=
1332
Michael Stahle3abec32014-02-11 15:57:18 +01001333else # !SYSTEM_GRAPHITE
Michael Stahl87e44332011-04-13 16:11:39 +00001334
Michael Stahl87e44332011-04-13 16:11:39 +00001335define gb_LinkTarget__use_graphite
Matúš Kukan7a030392012-10-29 23:29:37 +01001336$(call gb_LinkTarget_use_unpacked,$(1),graphite)
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001337$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001338 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001339 $$(INCLUDE) \
1340)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001341$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001342 graphite \
Michael Stahl87e44332011-04-13 16:11:39 +00001343)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001344
Michael Stahl87e44332011-04-13 16:11:39 +00001345endef
1346
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001347define gb_ExternalProject__use_graphite
David Tardonb5c566f2016-11-03 17:23:56 +01001348$(call gb_ExternalProject_use_static_libraries,$(1),\
1349 graphite \
1350)
Khaled Hosny9de76cb2016-09-23 18:34:09 +02001351
1352endef
Michael Stahl87e44332011-04-13 16:11:39 +00001353endif # SYSTEM_GRAPHITE
1354
Michael Stahl187194b2014-02-11 19:17:42 +01001355ifneq ($(SYSTEM_ICU),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001356
Peter Foleyb92a0d92012-12-25 17:39:43 -05001357gb_LinkTarget__use_icu_headers:=
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001358gb_ExternalProject__use_icu:=
Peter Foleyb92a0d92012-12-25 17:39:43 -05001359
Matúš Kukan6fad1752011-08-11 12:42:39 +02001360define gb_LinkTarget__use_icudata
1361$(call gb_LinkTarget_add_libs,$(1),-licudata)
1362
1363endef
David Tardon1a852392011-07-26 09:58:54 +02001364define gb_LinkTarget__use_icui18n
1365$(call gb_LinkTarget_add_libs,$(1),-licui18n)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001366
David Tardon1a852392011-07-26 09:58:54 +02001367endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001368define gb_LinkTarget__use_icuuc
1369$(call gb_LinkTarget_add_libs,$(1),-licuuc)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001370
Michael Stahlc74af0d2011-04-01 20:49:35 +00001371endef
1372
1373else # !SYSTEM_ICU
1374
Michael Stahl057613c2014-07-24 00:22:51 +02001375$(eval $(call gb_Helper_register_packages_for_install,ure, \
1376 icu_ure \
1377))
1378
Michael Stahle7592692014-03-14 11:23:52 +01001379$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1380 icu \
1381))
1382
Tor Lillqvist084db5f2012-09-24 10:37:25 +03001383ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001384gb_ICU_suffix:=lo
1385else
1386gb_ICU_suffix:=
1387endif
1388
Peter Foleyb92a0d92012-12-25 17:39:43 -05001389define gb_LinkTarget__use_icu_headers
Peter Foleyce9bf0f2013-03-23 12:32:31 -04001390$(call gb_LinkTarget_use_unpacked,$(1),icu)
Peter Foleyb92a0d92012-12-25 17:39:43 -05001391$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001392 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1393 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1394 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
Peter Foleyb92a0d92012-12-25 17:39:43 -05001395 $$(INCLUDE) \
1396)
1397
1398endef
1399
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001400define gb_ExternalProject__use_icu
1401$(call gb_ExternalProject_use_package,$(1),icu)
Fridrich Štrba851ca9c2013-01-25 10:29:59 +01001402
1403endef
1404
Peter Foleyf7452122012-11-04 08:46:44 -05001405# icudata and icui18n is called icudt and icuin when built with MSVC :-/
Michael Stahla92f80f2013-10-23 15:00:29 +02001406define gb_LinkTarget__use_icudata
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001407$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001408
1409ifeq ($(OS),WNT)
1410$(call gb_LinkTarget_add_libs,$(1),\
1411 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001412)
Michael Stahla92f80f2013-10-23 15:00:29 +02001413else
1414$(call gb_LinkTarget_add_libs,$(1),\
1415 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licudata$(gb_ICU_suffix) \
1416)
1417endif
Matúš Kukan6fad1752011-08-11 12:42:39 +02001418
1419endef
Michael Stahla92f80f2013-10-23 15:00:29 +02001420
1421define gb_LinkTarget__use_icui18n
1422$(call gb_LinkTarget_use_package,$(1),icu)
1423
1424ifeq ($(OS),WNT)
1425$(call gb_LinkTarget_add_libs,$(1),\
1426 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1427)
1428else
1429$(call gb_LinkTarget_add_libs,$(1),\
1430 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licui18n$(gb_ICU_suffix) \
1431)
1432endif
1433
1434endef
1435
Michael Stahlc74af0d2011-04-01 20:49:35 +00001436define gb_LinkTarget__use_icuuc
Stephan Bergmann475e4b42016-10-25 16:46:35 +02001437$(call gb_LinkTarget_use_package,$(1),icu_ure)
Michael Stahla92f80f2013-10-23 15:00:29 +02001438
1439ifeq ($(OS),WNT)
1440$(call gb_LinkTarget_add_libs,$(1),\
1441 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001442)
Michael Stahla92f80f2013-10-23 15:00:29 +02001443else
1444$(call gb_LinkTarget_add_libs,$(1),\
1445 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licuuc$(gb_ICU_suffix) \
1446)
1447endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001448
Michael Stahlc74af0d2011-04-01 20:49:35 +00001449endef
1450
1451endif # SYSTEM_ICU
1452
Michael Stahle3abec32014-02-11 15:57:18 +01001453ifneq ($(SYSTEM_HARFBUZZ),)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001454
1455define gb_LinkTarget__use_harfbuzz
1456$(call gb_LinkTarget_set_include,$(1),\
1457 $$(INCLUDE) \
1458 $(HARFBUZZ_CFLAGS) \
1459)
1460$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1461
1462endef
1463
David Tardoncc96f0c2017-02-01 12:32:35 +01001464gb_ExternalProject__use_harfbuzz :=
1465
Michael Stahle3abec32014-02-11 15:57:18 +01001466else # SYSTEM_HARFBUZZ != TRUE
Khaled Hosny7e389f42013-04-20 13:00:56 +02001467
Khaled Hosny7e389f42013-04-20 13:00:56 +02001468define gb_LinkTarget__use_harfbuzz
Michael Stahl8db02752013-05-07 23:28:45 +02001469$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl2f6261f2013-09-19 19:28:36 +02001470 $(HARFBUZZ_CFLAGS) \
Michael Stahl8db02752013-05-07 23:28:45 +02001471 $$(INCLUDE) \
1472)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001473$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1474$(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001475
1476endef
1477
David Tardoncc96f0c2017-02-01 12:32:35 +01001478define gb_ExternalProject__use_harfbuzz
1479$(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1480
1481endef
1482
Khaled Hosny7e389f42013-04-20 13:00:56 +02001483endif # SYSTEM_HARFBUZZ
Michael Stahl4a8919f2011-04-18 11:13:57 +00001484
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001485ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomeze3f607e2013-04-11 10:24:25 +03001486
1487gb_ExternalProject__use_openssl:=
1488gb_LinkTarget__use_openssl_headers:=
1489gb_LinkTarget__use_openssl:=
1490
1491else # !DISABLE_OPENSSL
1492
Michael Stahle3abec32014-02-11 15:57:18 +01001493ifneq ($(SYSTEM_OPENSSL),)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001494
Peter Foley9ddba662012-12-28 11:19:06 -05001495gb_LinkTarget__use_openssl_headers:=
1496gb_ExternalProject__use_openssl:=
1497
Michael Stahl4a8919f2011-04-18 11:13:57 +00001498define gb_LinkTarget__use_openssl
1499$(call gb_LinkTarget_set_include,$(1),\
1500 $$(INCLUDE) \
1501 $(OPENSSL_CFLAGS) \
1502)
1503$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001504
Michael Stahl4a8919f2011-04-18 11:13:57 +00001505endef
1506
1507else # !SYSTEM_OPENSSL
1508
Michael Stahlf921e262014-03-13 19:36:48 +01001509$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1510 openssl \
1511))
1512
Peter Foley9ddba662012-12-28 11:19:06 -05001513define gb_ExternalProject__use_openssl
1514$(call gb_ExternalProject_use_package,$(1),openssl)
1515
1516endef
1517
1518define gb_LinkTarget__use_openssl_headers
Michael Stahlc7ca0712016-03-07 21:18:23 +01001519$(call gb_LinkTarget_use_external_project,$(1),openssl)
Peter Foley9ddba662012-12-28 11:19:06 -05001520$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001521 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
Peter Foley9ddba662012-12-28 11:19:06 -05001522 $$(INCLUDE) \
1523)
1524
1525endef
1526
Michael Stahl4a8919f2011-04-18 11:13:57 +00001527define gb_LinkTarget__use_openssl
Peter Foley9ddba662012-12-28 11:19:06 -05001528$(call gb_LinkTarget_use_package,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001529ifeq ($(OS),WNT)
Michael Stahl5b906622013-10-24 00:22:20 +02001530$(call gb_LinkTarget_add_libs,$(1),\
1531 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/ssleay32.lib \
1532 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/libeay32.lib \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001533)
1534else
Michael Stahl2f6261f2013-09-19 19:28:36 +02001535$(call gb_LinkTarget_add_libs,$(1),\
1536 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1537 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001538)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001539$(call gb_LinkTarget_use_external_project,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001540ifeq ($(OS),SOLARIS)
Michael Stahl80374352012-09-28 12:25:50 +02001541$(call gb_LinkTarget_add_libs,$(1),\
1542 -lnsl \
1543 -lsocket \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001544)
1545endif
1546endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001547
Michael Stahl4a8919f2011-04-18 11:13:57 +00001548endef
1549
1550endif # SYSTEM_OPENSSL
Andres Gomeze3f607e2013-04-11 10:24:25 +03001551endif # DISABLE_OPENSSL
Michael Stahl4a8919f2011-04-18 11:13:57 +00001552
Matúš Kukanc4560482011-07-28 01:03:23 +02001553
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001554ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomez48d49752013-04-11 10:32:54 +03001555
1556define gb_LinkTarget__use_gnutls
1557$(call gb_LinkTarget_set_include,$(1),\
1558 $$(INCLUDE) \
1559 $(GNUTLS_CFLAGS) \
1560)
1561
1562$(call gb_LinkTarget_add_defs,$(1),\
1563 -DDISABLE_OPENSSL \
1564)
1565
1566$(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1567
1568endef
1569
1570define gb_LinkTarget__use_libgcrypt
1571$(call gb_LinkTarget_set_include,$(1),\
1572 $$(INCLUDE) \
1573 $(LIBGCRYPT_CFLAGS) \
1574)
1575
1576$(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1577
1578endef
1579
1580else # !DISABLE_OPENSSL
1581
1582gb_LinkTarget__use_gnutls:=
1583gb_LinkTarget__use_libgcrypt:=
1584
1585endif # DISABLE_OPENSSL
1586
1587
Michael Stahle3abec32014-02-11 15:57:18 +01001588ifneq ($(SYSTEM_CDR),)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001589
1590define gb_LinkTarget__use_cdr
1591$(call gb_LinkTarget_set_include,$(1),\
1592 $$(INCLUDE) \
1593 $(CDR_CFLAGS) \
1594)
1595$(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1596
1597endef
1598
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001599else # !SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001600
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001601define gb_LinkTarget__use_cdr
David Tardonf16f3662013-05-24 13:48:03 +02001602$(call gb_LinkTarget_set_include,$(1),\
1603 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1604 $$(INCLUDE) \
1605)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001606$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001607 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001608)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001609$(call gb_LinkTarget_use_external_project,$(1),libcdr)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001610endef
1611
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001612endif # SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001613
1614
Michael Stahle3abec32014-02-11 15:57:18 +01001615ifneq ($(SYSTEM_EBOOK),)
David Tardon316be1b2013-11-09 15:52:36 +01001616
1617define gb_LinkTarget__use_ebook
1618$(call gb_LinkTarget_set_include,$(1),\
1619 $$(INCLUDE) \
1620 $(EBOOK_CFLAGS) \
1621)
1622$(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1623
1624endef
1625
1626gb_ExternalProject__use_ebook :=
1627
1628else # !SYSTEM_EBOOK
1629
1630define gb_LinkTarget__use_ebook
1631$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001632 -I${WORKDIR}/UnpackedTarball/libebook/inc \
David Tardon316be1b2013-11-09 15:52:36 +01001633 $$(INCLUDE) \
1634)
1635$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001636 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
David Tardon316be1b2013-11-09 15:52:36 +01001637)
1638$(call gb_LinkTarget_use_external_project,$(1),libebook)
1639
1640endef
1641
1642define gb_ExternalProject__use_ebook
1643$(call gb_ExternalProject_use_external_project,$(1),libebook)
1644
1645endef
1646
1647endif # SYSTEM_EBOOK
1648
1649
Michael Stahle3abec32014-02-11 15:57:18 +01001650ifneq ($(SYSTEM_ETONYEK),)
David Tardon08ca3e42013-10-24 16:46:49 +02001651
1652define gb_LinkTarget__use_etonyek
1653$(call gb_LinkTarget_set_include,$(1),\
1654 $$(INCLUDE) \
1655 $(ETONYEK_CFLAGS) \
1656)
1657$(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1658
1659endef
1660
1661gb_ExternalProject__use_etonyek :=
1662
1663else # !SYSTEM_ETONYEK
1664
David Tardon78deb812015-05-19 16:12:08 +02001665ifeq ($(COM),MSC)
1666
1667$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1668 etonyek \
1669))
1670
David Tardon08ca3e42013-10-24 16:46:49 +02001671define gb_LinkTarget__use_etonyek
1672$(call gb_LinkTarget_set_include,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001673 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1674 $$(INCLUDE) \
1675)
1676$(call gb_LinkTarget_use_libraries,$(1),\
1677 etonyek \
1678)
1679
1680endef
1681
1682else # !MSC
1683
1684$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1685 libetonyek \
1686))
1687
1688define gb_LinkTarget__use_etonyek
1689$(call gb_LinkTarget_use_package,$(1),libetonyek)
1690
1691$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001692 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
David Tardon78deb812015-05-19 16:12:08 +02001693 -DLIBETONYEK_VISIBILITY \
David Tardon08ca3e42013-10-24 16:46:49 +02001694 $$(INCLUDE) \
1695)
1696$(call gb_LinkTarget_add_libs,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001697 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
David Tardon08ca3e42013-10-24 16:46:49 +02001698)
1699$(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1700
1701endef
1702
1703define gb_ExternalProject__use_etonyek
1704$(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1705
1706endef
1707
David Tardon78deb812015-05-19 16:12:08 +02001708endif
1709
David Tardon08ca3e42013-10-24 16:46:49 +02001710endif # SYSTEM_ETONYEK
1711
1712
Michael Stahle3abec32014-02-11 15:57:18 +01001713ifneq ($(SYSTEM_FREEHAND),)
Fridrich Štrba67153d72013-10-31 12:42:50 +01001714
1715define gb_LinkTarget__use_freehand
1716$(call gb_LinkTarget_set_include,$(1),\
1717 $$(INCLUDE) \
1718 $(FREEHAND_CFLAGS) \
1719)
1720$(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1721
1722endef
1723
1724gb_ExternalProject__use_freehand :=
1725
1726else # !SYSTEM_FREEHAND
1727
1728define gb_LinkTarget__use_freehand
1729$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001730 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001731 $$(INCLUDE) \
1732)
1733$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001734 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001735)
1736$(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1737
1738endef
1739
1740define gb_ExternalProject__use_freehand
1741$(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1742
1743endef
1744
1745endif # SYSTEM_FREEHAND
1746
1747
Michael Stahle3abec32014-02-11 15:57:18 +01001748ifneq ($(SYSTEM_ODFGEN),)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001749
1750define gb_LinkTarget__use_odfgen
1751$(call gb_LinkTarget_set_include,$(1),\
1752 $$(INCLUDE) \
1753 $(ODFGEN_CFLAGS) \
1754)
1755$(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1756
1757endef
1758
1759else # !SYSTEM_ODFGEN
1760
David Tardon36c3f912014-05-24 09:13:33 +02001761ifeq ($(COM),MSC)
1762
1763$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1764 odfgen \
1765))
1766
Fridrich Štrba93848e12013-05-02 20:25:51 +02001767define gb_LinkTarget__use_odfgen
David Tardon0f8a90c2013-05-24 13:49:11 +02001768$(call gb_LinkTarget_set_include,$(1),\
1769 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1770 $$(INCLUDE) \
1771)
David Tardon36c3f912014-05-24 09:13:33 +02001772$(call gb_LinkTarget_use_libraries,$(1),\
1773 odfgen \
Fridrich Štrba93848e12013-05-02 20:25:51 +02001774)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001775
1776endef
1777
David Tardon36c3f912014-05-24 09:13:33 +02001778else # !MSC
1779
1780$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1781 libodfgen \
1782))
1783
1784define gb_LinkTarget__use_odfgen
1785$(call gb_LinkTarget_use_package,$(1),libodfgen)
1786
1787$(call gb_LinkTarget_set_include,$(1),\
1788 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001789 -DLIBODFGEN_VISIBILITY \
David Tardon36c3f912014-05-24 09:13:33 +02001790 $$(INCLUDE) \
1791)
1792$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001793 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
David Tardon36c3f912014-05-24 09:13:33 +02001794)
1795
1796endef
1797
1798endif
1799
Fridrich Štrba93848e12013-05-02 20:25:51 +02001800endif # SYSTEM_ODFGEN
1801
Miklos Vajna3f163062017-08-02 16:29:48 +02001802ifneq ($(SYSTEM_EPUBGEN),)
1803
1804define gb_LinkTarget__use_epubgen
1805$(call gb_LinkTarget_set_include,$(1),\
1806 $$(INCLUDE) \
1807 $(EPUBGEN_CFLAGS) \
1808)
1809$(call gb_LinkTarget_add_libs,$(1),$(EPUBGEN_LIBS))
1810
1811endef
1812gb_ExternalProject__use_epubgen :=
1813
1814else # !SYSTEM_EPUBGEN
1815
1816define gb_LinkTarget__use_epubgen
1817$(call gb_LinkTarget_set_include,$(1),\
1818 -I$(call gb_UnpackedTarball_get_dir,libepubgen)/inc \
1819 $$(INCLUDE) \
1820)
1821$(call gb_LinkTarget_add_libs,$(1),\
1822 $(call gb_UnpackedTarball_get_dir,libepubgen)/src/lib/.libs/libepubgen-0.0$(gb_StaticLibrary_PLAINEXT) \
1823)
1824$(call gb_LinkTarget_use_external_project,$(1),libepubgen)
1825
1826endef
1827define gb_ExternalProject__use_epubgen
1828$(call gb_ExternalProject_use_external_project,$(1),libepubgen)
1829
1830endef
1831
1832endif # SYSTEM_EPUBGEN
Fridrich Štrba93848e12013-05-02 20:25:51 +02001833
David Tardonb421ce72014-05-24 08:39:54 +02001834ifneq ($(SYSTEM_REVENGE),)
1835
1836define gb_LinkTarget__use_revenge
1837$(call gb_LinkTarget_set_include,$(1),\
1838 $$(INCLUDE) \
1839 $(REVENGE_CFLAGS) \
1840)
1841$(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1842
1843endef
1844
David Tardon7c9c7792014-05-25 13:06:57 +02001845gb_ExternalProject__use_revenge :=
1846
David Tardonb421ce72014-05-24 08:39:54 +02001847else # !SYSTEM_REVENGE
1848
1849ifeq ($(COM),MSC)
1850
1851$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1852 revenge \
1853))
1854
1855define gb_LinkTarget__use_revenge
1856$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001857 $(REVENGE_CFLAGS) \
David Tardonb421ce72014-05-24 08:39:54 +02001858 $$(INCLUDE) \
1859)
1860$(call gb_LinkTarget_use_libraries,$(1),\
1861 revenge \
1862)
1863
1864endef
1865
David Tardon7c9c7792014-05-25 13:06:57 +02001866define gb_ExternalProject__use_revenge
1867$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1868
1869endef
1870
David Tardonb421ce72014-05-24 08:39:54 +02001871else # !MSC
1872
1873$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1874 librevenge \
1875))
1876
1877define gb_LinkTarget__use_revenge
1878$(call gb_LinkTarget_use_package,$(1),librevenge)
1879
1880$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001881 $(REVENGE_CFLAGS) \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001882 -DLIBREVENGE_VISIBILITY \
David Tardonb421ce72014-05-24 08:39:54 +02001883 $$(INCLUDE) \
1884)
1885$(call gb_LinkTarget_add_libs,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001886 $(REVENGE_LIBS) \
David Tardonb421ce72014-05-24 08:39:54 +02001887)
1888endef
1889
David Tardon7c9c7792014-05-25 13:06:57 +02001890define gb_ExternalProject__use_revenge
1891$(call gb_ExternalProject_use_package,$(1),librevenge)
1892
1893endef
1894
David Tardonb421ce72014-05-24 08:39:54 +02001895endif # MSC
1896
1897endif # SYSTEM_REVENGE
1898
1899
Michael Stahle3abec32014-02-11 15:57:18 +01001900ifneq ($(SYSTEM_ABW),)
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001901
1902define gb_LinkTarget__use_abw
1903$(call gb_LinkTarget_set_include,$(1),\
1904 $$(INCLUDE) \
1905 $(ABW_CFLAGS) \
1906)
1907$(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1908
1909endef
1910gb_ExternalProject__use_abw :=
1911
1912else # !SYSTEM_ABW
1913
1914define gb_LinkTarget__use_abw
1915$(call gb_LinkTarget_set_include,$(1),\
1916 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1917 $$(INCLUDE) \
1918)
1919$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001920 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001921)
1922$(call gb_LinkTarget_use_external_project,$(1),libabw)
1923
1924endef
1925define gb_ExternalProject__use_abw
1926$(call gb_ExternalProject_use_external_project,$(1),libabw)
1927
1928endef
1929
1930endif # SYSTEM_ABW
1931
1932
Michael Stahle3abec32014-02-11 15:57:18 +01001933ifneq ($(SYSTEM_MSPUB),)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001934
1935define gb_LinkTarget__use_mspub
1936$(call gb_LinkTarget_set_include,$(1),\
1937 $$(INCLUDE) \
1938 $(MSPUB_CFLAGS) \
1939)
1940$(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1941
1942endef
1943
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001944else # !SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001945
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001946define gb_LinkTarget__use_mspub
Michael Stahl35ac39e2013-05-16 13:09:11 +02001947$(call gb_LinkTarget_set_include,$(1),\
1948 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
1949 $$(INCLUDE) \
1950)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001951$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001952 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba093a5c92013-01-28 10:13:50 +01001953)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001954$(call gb_LinkTarget_use_external_project,$(1),libmspub)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001955
1956endef
1957
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001958endif # SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001959
1960
David Tardon516fb342014-06-26 21:26:11 +02001961ifneq ($(SYSTEM_PAGEMAKER),)
1962
1963define gb_LinkTarget__use_pagemaker
1964$(call gb_LinkTarget_set_include,$(1),\
1965 $$(INCLUDE) \
1966 $(PAGEMAKER_CFLAGS) \
1967)
1968$(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
1969
1970endef
1971gb_ExternalProject__use_pagemaker :=
1972
1973else # !SYSTEM_PAGEMAKER
1974
1975define gb_LinkTarget__use_pagemaker
1976$(call gb_LinkTarget_set_include,$(1),\
1977 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
1978 $$(INCLUDE) \
1979)
1980$(call gb_LinkTarget_add_libs,$(1),\
1981 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
1982)
1983$(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
1984
1985endef
1986define gb_ExternalProject__use_pagemaker
1987$(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
1988
1989endef
1990
1991endif # SYSTEM_PAGEMAKER
1992
1993
Aleksas Pantechovskisaaed6fe2016-06-22 19:02:29 +03001994ifneq ($(SYSTEM_ZMF),)
1995
1996define gb_LinkTarget__use_zmf
1997$(call gb_LinkTarget_set_include,$(1),\
1998 $$(INCLUDE) \
1999 $(ZMF_CFLAGS) \
2000)
2001$(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
2002
2003endef
2004gb_ExternalProject__use_zmf :=
2005
2006else # !SYSTEM_ZMF
2007
2008define gb_LinkTarget__use_zmf
2009$(call gb_LinkTarget_set_include,$(1),\
2010 -I$(call gb_UnpackedTarball_get_dir,libzmf)/inc \
2011 $$(INCLUDE) \
2012)
2013$(call gb_LinkTarget_add_libs,$(1),\
2014 $(call gb_UnpackedTarball_get_dir,libzmf)/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
2015)
2016$(call gb_LinkTarget_use_external_project,$(1),libzmf)
2017
2018endef
2019define gb_ExternalProject__use_zmf
2020$(call gb_ExternalProject_use_external_project,$(1),libzmf)
2021
2022endef
2023
2024endif # SYSTEM_ZMF
2025
2026
Michael Stahle3abec32014-02-11 15:57:18 +01002027ifneq ($(SYSTEM_VISIO),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002028
2029define gb_LinkTarget__use_visio
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002030$(call gb_LinkTarget_set_include,$(1),\
2031 $$(INCLUDE) \
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002032 $(VISIO_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002033)
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002034$(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002035
2036endef
2037
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002038else # !SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002039
Matúš Kukanc6a63952011-07-28 17:29:44 +02002040define gb_LinkTarget__use_visio
Michael Stahlacc7f612013-05-16 13:14:37 +02002041$(call gb_LinkTarget_set_include,$(1),\
2042 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
2043 $$(INCLUDE) \
2044)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002045$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02002046 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba64ab6112012-11-05 11:43:55 +01002047)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002048$(call gb_LinkTarget_use_external_project,$(1),libvisio)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002049
2050endef
2051
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002052endif # SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002053
2054
Michael Stahle3abec32014-02-11 15:57:18 +01002055ifneq ($(SYSTEM_WPD),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002056
2057define gb_LinkTarget__use_wpd
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002058$(call gb_LinkTarget_set_include,$(1),\
2059 $$(INCLUDE) \
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002060 $(WPD_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002061)
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002062$(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002063
2064endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002065gb_ExternalProject__use_wpd :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002066
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002067else # !SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002068
David Tardonc868a0c2014-12-23 18:37:54 +01002069ifeq ($(COM),MSC)
2070
2071$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2072 wpd \
2073))
2074
Fridrich Štrba4425db62012-09-24 13:17:45 +02002075define gb_LinkTarget__use_wpd
Michael Stahldb5c8c52013-05-16 13:28:14 +02002076$(call gb_LinkTarget_set_include,$(1),\
2077 $(WPD_CFLAGS) \
2078 $$(INCLUDE) \
2079)
David Tardonc868a0c2014-12-23 18:37:54 +01002080$(call gb_LinkTarget_use_libraries,$(1),\
2081 wpd \
Michael Stahl34295432012-09-24 22:25:28 +02002082)
Fridrich Štrba4425db62012-09-24 13:17:45 +02002083
2084endef
David Tardonc868a0c2014-12-23 18:37:54 +01002085
Michael Stahl2b7536a2012-10-05 21:17:25 +02002086define gb_ExternalProject__use_wpd
David Tardonc868a0c2014-12-23 18:37:54 +01002087$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002088
2089endef
Fridrich Štrba4425db62012-09-24 13:17:45 +02002090
David Tardonc868a0c2014-12-23 18:37:54 +01002091else # !MSC
2092
2093$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2094 libwpd \
2095))
2096
2097define gb_LinkTarget__use_wpd
2098$(call gb_LinkTarget_use_package,$(1),libwpd)
2099
2100$(call gb_LinkTarget_set_include,$(1),\
2101 $(WPD_CFLAGS) \
2102 $$(INCLUDE) \
2103)
2104$(call gb_LinkTarget_add_libs,$(1),\
2105 $(WPD_LIBS) \
2106)
2107
2108endef
2109
2110define gb_ExternalProject__use_wpd
2111$(call gb_ExternalProject_use_package,$(1),libwpd)
2112
2113endef
2114
2115endif # MSC
2116
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002117endif # SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002118
2119
Michael Stahle3abec32014-02-11 15:57:18 +01002120ifneq ($(SYSTEM_WPG),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002121
2122define gb_LinkTarget__use_wpg
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002123$(call gb_LinkTarget_set_include,$(1),\
2124 $$(INCLUDE) \
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002125 $(WPG_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002126)
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002127$(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002128
2129endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002130gb_ExternalProject__use_wpg :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002131
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002132else # !SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002133
David Tardonc868a0c2014-12-23 18:37:54 +01002134ifeq ($(COM),MSC)
2135
2136$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2137 wpg \
2138))
2139
Matúš Kukanc6a63952011-07-28 17:29:44 +02002140define gb_LinkTarget__use_wpg
David Tardonc51a2542013-05-24 14:53:37 +02002141$(call gb_LinkTarget_set_include,$(1),\
2142 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2143 $$(INCLUDE) \
2144)
David Tardonc868a0c2014-12-23 18:37:54 +01002145$(call gb_LinkTarget_use_libraries,$(1),\
2146 wpg \
Michael Stahl53b7bdc2012-10-05 17:19:47 +02002147)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002148
2149endef
David Tardonc868a0c2014-12-23 18:37:54 +01002150
2151else # !MSC
2152
2153$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2154 libwpg \
2155))
2156
2157define gb_LinkTarget__use_wpg
2158$(call gb_LinkTarget_use_package,$(1),libwpg)
2159
2160$(call gb_LinkTarget_set_include,$(1),\
2161 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2162 $$(INCLUDE) \
2163)
2164$(call gb_LinkTarget_add_libs,$(1),\
2165 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2166)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002167
2168endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002169
David Tardonc868a0c2014-12-23 18:37:54 +01002170endif # MSC
2171
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002172endif # SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002173
2174
Michael Stahle3abec32014-02-11 15:57:18 +01002175ifneq ($(SYSTEM_WPS),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002176
2177define gb_LinkTarget__use_wps
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002178$(call gb_LinkTarget_set_include,$(1),\
2179 $$(INCLUDE) \
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002180 $(WPS_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002181)
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002182$(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002183
2184endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002185gb_ExternalProject__use_wps :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002186
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002187else # !SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002188
David Tardonf85d10f2014-05-30 15:35:48 +02002189ifeq ($(COM),MSC)
2190
2191$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2192 wps \
2193))
2194
Matúš Kukanc6a63952011-07-28 17:29:44 +02002195define gb_LinkTarget__use_wps
David Tardon6f9d8212013-05-24 14:58:31 +02002196$(call gb_LinkTarget_set_include,$(1),\
2197 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2198 $$(INCLUDE) \
2199)
David Tardonf85d10f2014-05-30 15:35:48 +02002200
2201$(call gb_LinkTarget_use_libraries,$(1),\
2202 wps \
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02002203)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002204
2205endef
David Tardonf85d10f2014-05-30 15:35:48 +02002206
2207else # !MSC
2208
2209$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2210 libwps \
2211))
2212
2213define gb_LinkTarget__use_wps
2214$(call gb_LinkTarget_use_package,$(1),libwps)
2215
2216$(call gb_LinkTarget_set_include,$(1),\
2217 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2218 $$(INCLUDE) \
2219)
2220$(call gb_LinkTarget_add_libs,$(1),\
osnolaf9568332015-05-18 10:21:10 +02002221 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
David Tardonf85d10f2014-05-30 15:35:48 +02002222)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002223
2224endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002225
David Tardonf85d10f2014-05-30 15:35:48 +02002226endif # MSC
2227
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002228endif # SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002229
2230
Michael Stahle3abec32014-02-11 15:57:18 +01002231ifneq ($(SYSTEM_MWAW),)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002232
2233define gb_LinkTarget__use_mwaw
2234$(call gb_LinkTarget_set_include,$(1),\
2235 $$(INCLUDE) \
2236 $(MWAW_CFLAGS) \
2237)
2238$(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2239
2240endef
2241
2242else # !SYSTEM_MWAW
2243
David Tardon79211c12014-05-30 13:55:20 +02002244ifeq ($(COM),MSC)
2245
2246$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2247 mwaw \
2248))
2249
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002250define gb_LinkTarget__use_mwaw
Michael Stahlff718952013-05-16 13:11:36 +02002251$(call gb_LinkTarget_set_include,$(1),\
2252 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2253 $$(INCLUDE) \
2254)
David Tardon79211c12014-05-30 13:55:20 +02002255
2256$(call gb_LinkTarget_use_libraries,$(1),\
2257 mwaw \
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002258)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002259
2260endef
2261
David Tardon79211c12014-05-30 13:55:20 +02002262else # !MSC
2263
2264$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2265 libmwaw \
2266))
2267
2268define gb_LinkTarget__use_mwaw
2269$(call gb_LinkTarget_use_package,$(1),libmwaw)
2270
2271$(call gb_LinkTarget_set_include,$(1),\
2272 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2273 $$(INCLUDE) \
2274)
2275$(call gb_LinkTarget_add_libs,$(1),\
2276 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2277)
2278
2279endef
2280
2281endif # MSC
2282
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002283endif # SYSTEM_MWAW
2284
osnola1faae1f2016-08-10 12:43:56 +02002285ifneq ($(SYSTEM_STAROFFICE),)
2286
2287define gb_LinkTarget__use_staroffice
2288$(call gb_LinkTarget_set_include,$(1),\
2289 $$(INCLUDE) \
2290 $(STAROFFICE_CFLAGS) \
2291)
2292$(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2293
2294endef
2295
2296else # !SYSTEM_STAROFFICE
2297
2298ifeq ($(COM),MSC)
2299
2300$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2301 staroffice \
2302))
2303
2304define gb_LinkTarget__use_staroffice
2305$(call gb_LinkTarget_set_include,$(1),\
2306 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2307 $$(INCLUDE) \
2308)
2309
2310$(call gb_LinkTarget_use_libraries,$(1),\
2311 staroffice \
2312)
2313
2314endef
2315
2316else # !MSC
2317
2318$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2319 libstaroffice \
2320))
2321
2322define gb_LinkTarget__use_staroffice
2323$(call gb_LinkTarget_use_package,$(1),libstaroffice)
2324
2325$(call gb_LinkTarget_set_include,$(1),\
2326 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2327 $$(INCLUDE) \
2328)
2329$(call gb_LinkTarget_add_libs,$(1),\
2330 -L$(call gb_UnpackedTarball_get_dir,libstaroffice)/src/lib/.libs -lstaroffice-0.0 \
2331)
2332
2333endef
2334
2335endif # MSC
2336
2337endif # SYSTEM_STAROFFICE
2338
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002339
Michael Stahle3abec32014-02-11 15:57:18 +01002340ifneq ($(SYSTEM_LCMS2),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002341
2342define gb_LinkTarget__use_lcms2
2343$(call gb_LinkTarget_set_include,$(1),\
2344 $$(INCLUDE) \
Peter Foleyf7452122012-11-04 08:46:44 -05002345 $(LCMS2_CFLAGS) \
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002346)
2347$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2348
2349endef
2350
Peter Foley8905c0e2012-11-08 21:00:30 -05002351gb_ExternalProject__use_lcms2 :=
2352
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002353else # !SYSTEM_LCMS2
2354
Michael Stahl32a617d2014-02-17 11:23:19 +01002355$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2356 lcms2 \
2357))
2358
Peter Foley8905c0e2012-11-08 21:00:30 -05002359define gb_ExternalProject__use_lcms2
2360$(call gb_ExternalProject_use_package,$(1),lcms2)
2361
2362endef
2363
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002364ifeq ($(OS),ANDROID)
2365
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002366define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002367$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002368$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002369 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002370 $$(INCLUDE) \
2371)
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002372
2373endef
2374
2375else
2376
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002377define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002378$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002379$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002380 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002381 $$(INCLUDE) \
2382)
Michael Stahl25f65f22013-10-23 22:04:36 +02002383$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002384
2385endef
2386
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002387endif # ANDROID
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002388endif # SYSTEM_LCMS2
2389
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002390ifneq ($(ENABLE_LPSOLVE),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002391
Michael Stahlab586f12014-02-11 19:25:30 +01002392ifneq ($(SYSTEM_LPSOLVE),)
Matúš Kukanc4560482011-07-28 01:03:23 +02002393
Peter Foley085346f2012-11-03 19:19:30 -04002394define gb_LinkTarget__use_lpsolve
Matúš Kukanc4560482011-07-28 01:03:23 +02002395$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
Peter Foley085346f2012-11-03 19:19:30 -04002396$(call gb_LinkTarget_add_defs,$(1),\
2397 -DSYSTEM_LPSOLVE \
Peter Foley29d5e292012-11-07 18:18:08 -05002398)
Matúš Kukanc4560482011-07-28 01:03:23 +02002399
2400endef
2401
2402else # !SYSTEM_LPSOLVE
2403
Peter Foley085346f2012-11-03 19:19:30 -04002404define gb_LinkTarget__use_lpsolve
Michael Stahlf4732872016-12-09 17:23:11 +01002405$(call gb_LinkTarget_use_external_project,$(1),lpsolve)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002406ifeq ($(COM),MSC)
2407$(call gb_LinkTarget_add_libs,$(1),\
2408 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2409)
2410else
Michael Stahlb177b302013-10-23 21:33:51 +02002411$(call gb_LinkTarget_add_libs,$(1),\
2412 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
Matúš Kukanc4560482011-07-28 01:03:23 +02002413)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002414endif
Peter Foley085346f2012-11-03 19:19:30 -04002415$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002416 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
Peter Foley085346f2012-11-03 19:19:30 -04002417 $$(INCLUDE) \
2418)
Matúš Kukanc4560482011-07-28 01:03:23 +02002419
2420endef
2421
Matúš Kukan083fa762014-02-27 17:08:09 +01002422$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2423 lpsolve \
2424))
2425
Matúš Kukanc4560482011-07-28 01:03:23 +02002426endif # SYSTEM_LPSOLVE
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002427
Matúš Kukan077bdc72014-03-27 14:51:46 +01002428else
2429
2430gb_LinkTarget__use_lpsolve :=
2431
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002432endif # ENABLE_LPSOLVE
2433
2434ifneq ($(ENABLE_COINMP),)
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002435
Rene Engelhardd85f5132014-08-06 00:03:21 +02002436ifneq ($(SYSTEM_COINMP),TRUE)
2437
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002438define gb_LinkTarget__use_coinmp
2439$(call gb_LinkTarget_use_package,$(1),coinmp)
2440ifeq ($(COM),MSC)
2441$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovsky152e2a22014-11-30 18:26:01 +01002442 $(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 +01002443)
2444else
2445$(call gb_LinkTarget_add_libs,$(1),\
2446 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2447 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2448 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2449 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2450 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2451 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2452 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2453)
2454endif
2455$(call gb_LinkTarget_set_include,$(1),\
2456 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
Caolán McNamara67b4b342014-06-06 14:32:09 +01002457 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002458 $$(INCLUDE) \
2459)
2460
2461endef
2462
2463$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2464 coinmp \
2465))
2466
Rene Engelhardd85f5132014-08-06 00:03:21 +02002467else # SYSTEM_COINMP
2468
2469define gb_LinkTarget__use_coinmp
2470$(call gb_LinkTarget_set_include,$(1),\
2471 $$(INCLUDE) \
2472 $(COINMP_CFLAGS) \
2473)
2474$(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2475
2476endef
2477
2478endif
2479
Matúš Kukan077bdc72014-03-27 14:51:46 +01002480else
2481
2482gb_LinkTarget__use_coinmp :=
2483
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002484endif # ENABLE_COINMP
Matúš Kukanc4560482011-07-28 01:03:23 +02002485
Michael Stahl9ec0e6d2015-11-27 23:54:40 +01002486ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2487
2488define gb_LinkTarget__use_mDNSResponder
2489$(call gb_LinkTarget_set_include,$(1),\
2490 -I$(call gb_UnpackedTarball_get_dir,mDNSResponder)/mDNSShared \
2491 $$(INCLUDE) \
2492)
2493$(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2494endef
2495
2496endif # MDNSRESPONDER
2497
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002498ifeq ($(ENABLE_GIO),TRUE)
Matúš Kukanc4560482011-07-28 01:03:23 +02002499
Matúš Kukan464b4332012-01-15 02:12:49 +01002500define gb_LinkTarget__use_gio
2501$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01002502 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00002503 $(GIO_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01002504)
2505
2506$(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2507
2508endef
2509
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002510else # ENABLE_GIO
2511
2512define gb_LinkTarget__use_gio
Caolán McNamara1e98bb42012-11-06 20:09:57 +00002513
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002514endef
2515
2516endif # ENABLE_GIO
2517
Siqid0419802013-07-24 11:16:31 +02002518ifeq ($(ENABLE_AVAHI),TRUE)
2519
2520define gb_LinkTarget__use_avahi
2521$(call gb_LinkTarget_set_include,$(1),\
2522 $$(INCLUDE) \
2523 $(AVAHI_CFLAGS) \
2524)
2525
2526$(call gb_LinkTarget_add_defs,$(1),\
2527 -DENABLE_AVAHI \
2528)
2529
2530$(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2531
2532endef
2533
2534else # ENABLE_AVAHI
2535
David Tardon9ce38ef2013-11-05 07:03:08 +01002536gb_LinkTarget__use_avahi :=
Siqid0419802013-07-24 11:16:31 +02002537
2538endif # ENABLE_AVAHI
2539
2540
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002541define gb_LinkTarget__use_gtk
2542$(call gb_LinkTarget_set_include,$(1),\
2543 $$(INCLUDE) \
2544 $(GTK_CFLAGS) \
2545)
2546
2547$(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
2548
David Tardonadb11052011-12-01 13:39:09 +01002549ifeq ($(ENABLE_GTK_PRINT),TRUE)
2550
2551$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
2552
2553$(call gb_LinkTarget_set_include,$(1),\
2554 $$(INCLUDE) \
2555 $(GTK_PRINT_CFLAGS) \
2556)
2557
2558$(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
2559
2560endif
2561
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002562endef
Michael Stahl4a8919f2011-04-18 11:13:57 +00002563
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002564define gb_LinkTarget__use_gthread
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002565$(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002566endef
2567
Caolán McNamara68ffb332012-09-14 11:31:50 +01002568ifeq ($(ENABLE_CUPS),TRUE)
2569
2570define gb_LinkTarget__use_cups
2571$(call gb_LinkTarget_add_defs,$(1),\
2572 -DENABLE_CUPS \
2573)
2574
2575$(call gb_LinkTarget_add_libs,$(1),\
2576 -lcups \
2577)
2578
2579endef
2580
2581else # ENABLE_CUPS
2582
2583define gb_LinkTarget__use_cups
2584
2585endef
2586
2587endif # ENABLE_DBUS
David Tardon1b717ce2011-11-02 13:00:48 +01002588
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002589ifeq ($(ENABLE_DBUS),TRUE)
David Tardon1b717ce2011-11-02 13:00:48 +01002590
2591define gb_LinkTarget__use_dbus
2592$(call gb_LinkTarget_set_include,$(1),\
2593 $$(INCLUDE) \
2594 $(DBUS_CFLAGS) \
2595)
2596
David Tardon1b717ce2011-11-02 13:00:48 +01002597$(call gb_LinkTarget_add_libs,$(1),\
2598 $(DBUS_LIBS) \
2599)
2600
2601endef
2602
2603else # ENABLE_DBUS
2604
2605define gb_LinkTarget__use_dbus
2606
2607endef
2608
2609endif # ENABLE_DBUS
2610
2611
Michael Stahle3abec32014-02-11 15:57:18 +01002612ifneq ($(SYSTEM_LIBPNG),)
David Tardon6df9c472011-09-15 14:44:34 +02002613
2614define gb_LinkTarget__use_png
2615$(call gb_LinkTarget_set_include,$(1),\
2616 $$(INCLUDE) \
2617 $(LIBPNG_CFLAGS) \
2618)
2619
2620$(call gb_LinkTarget_add_libs,$(1),\
2621 $(LIBPNG_LIBS) \
2622)
2623
2624endef
2625
David Tardon5955e7b2016-11-03 13:58:29 +01002626gb_ExternalProject__use_png :=
2627
David Tardon6df9c472011-09-15 14:44:34 +02002628else # !SYSTEM_LIBPNG
2629
David Tardon6df9c472011-09-15 14:44:34 +02002630define gb_LinkTarget__use_png
Michael Stahl416b3212013-05-08 17:22:22 +02002631$(call gb_LinkTarget_set_include,$(1),\
2632 $(LIBPNG_CFLAGS) \
2633 $$(INCLUDE) \
2634)
Matúš Kukanf96d58b2012-09-08 18:13:20 +02002635$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardon6df9c472011-09-15 14:44:34 +02002636 png \
2637)
Michael Stahl398ce442012-09-28 21:47:29 +02002638$(call gb_LinkTarget__use_zlib,$(1))
David Tardon6df9c472011-09-15 14:44:34 +02002639
2640endef
2641
David Tardon5955e7b2016-11-03 13:58:29 +01002642define gb_ExternalProject__use_png
2643$(call gb_ExternalProject_use_static_libraries,$(1),\
2644 png \
2645)
2646
2647endef
2648
David Tardon6df9c472011-09-15 14:44:34 +02002649endif # !SYSTEM_LIBPNG
2650
Michael Stahl50471a82011-12-06 19:17:52 +01002651
Michael Stahle3abec32014-02-11 15:57:18 +01002652ifneq ($(SYSTEM_CURL),)
Michael Stahl50471a82011-12-06 19:17:52 +01002653
2654define gb_LinkTarget__use_curl
Cédric Bosdonnat89361fa2014-07-16 17:02:01 +02002655$(call gb_LinkTarget_add_defs,$(1),\
2656 -DSYSTEM_CURL \
2657)
Michael Stahl50471a82011-12-06 19:17:52 +01002658$(call gb_LinkTarget_set_include,$(1),\
2659 $$(INCLUDE) \
2660 $(CURL_CFLAGS) \
2661)
2662$(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2663
2664endef
2665
2666else # !SYSTEM_CURL
2667
Michael Stahl32a617d2014-02-17 11:23:19 +01002668$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2669 curl \
2670))
2671
Michael Stahl50471a82011-12-06 19:17:52 +01002672define gb_LinkTarget__use_curl
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002673$(call gb_LinkTarget_use_package,$(1),curl)
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002674$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002675 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002676 $$(INCLUDE) \
2677)
Michael Stahl936a1a92013-10-23 22:37:11 +02002678
2679ifeq ($(COM),MSC)
Michael Stahl714b93b2013-10-24 00:32:04 +02002680$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl548da052014-06-02 01:35:41 +02002681 $(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 +01002682)
Michael Stahl936a1a92013-10-23 22:37:11 +02002683else
2684$(call gb_LinkTarget_add_libs,$(1),\
2685 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2686)
2687endif
Michael Stahl50471a82011-12-06 19:17:52 +01002688
2689endef
2690
2691endif # SYSTEM_CURL
2692
Stephan Bergmann49313b02012-11-27 15:35:02 +01002693ifeq ($(ENABLE_VALGRIND),TRUE)
David Tardon3446cda2011-12-23 12:21:19 +01002694
2695define gb_LinkTarget__use_valgrind
2696$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmann49313b02012-11-27 15:35:02 +01002697 -DHAVE_VALGRIND_HEADERS \
David Tardon3446cda2011-12-23 12:21:19 +01002698)
2699
2700$(call gb_LinkTarget_set_include,$(1),\
2701 $$(INCLUDE) \
2702 $(VALGRIND_CFLAGS) \
2703)
2704
2705endef
2706
Stephan Bergmann49313b02012-11-27 15:35:02 +01002707else # !ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002708
2709define gb_LinkTarget__use_valgrind
2710
2711endef
2712
Stephan Bergmann49313b02012-11-27 15:35:02 +01002713endif # ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002714
Michael Stahl32db4992014-02-11 19:35:22 +01002715ifneq ($(SYSTEM_POPPLER),)
David Tardondba2d322012-02-18 18:54:35 +01002716
2717define gb_LinkTarget__use_poppler
David Tardondba2d322012-02-18 18:54:35 +01002718$(call gb_LinkTarget_set_include,$(1),\
2719 $(POPPLER_CFLAGS) \
2720 $$(INCLUDE) \
2721)
2722
2723$(call gb_LinkTarget_add_libs,$(1),\
2724 $(POPPLER_LIBS) \
2725)
2726
2727endef
2728
2729else # !SYSTEM_POPPLER
2730
David Tardondba2d322012-02-18 18:54:35 +01002731define gb_LinkTarget__use_poppler
David Tardoncad68c62015-09-29 18:09:16 +02002732$(call gb_LinkTarget_use_external_project,$(1),poppler,full)
Peter Foleyfb1d11d2013-02-17 09:26:01 -05002733
David Tardon548b61a2012-02-21 06:58:02 +01002734$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02002735 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2736 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2737 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
David Tardon548b61a2012-02-21 06:58:02 +01002738 $$(INCLUDE) \
David Tardondba2d322012-02-18 18:54:35 +01002739)
2740
Michael Stahl2f6261f2013-09-19 19:28:36 +02002741$(call gb_LinkTarget_add_libs,$(1),\
2742 $(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
2743 $(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
2744 $(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
David Tardon548b61a2012-02-21 06:58:02 +01002745)
2746
Michael Stahl43532a02016-11-03 15:58:08 +01002747$(call gb_LinkTarget_use_external,$(1),jpeg)
2748
David Tardon548b61a2012-02-21 06:58:02 +01002749ifeq ($(OS),MACOSX)
Michael Stahl967986b2012-09-28 00:54:49 +02002750$(call gb_LinkTarget_add_libs,$(1),\
2751 -lobjc \
David Tardon548b61a2012-02-21 06:58:02 +01002752)
Caolán McNamara0d5cc8c2014-08-30 15:12:53 +01002753else ifeq ($(OS),LINUX)
2754$(call gb_LinkTarget_add_libs,$(1),\
2755 -pthread \
2756)
David Tardon548b61a2012-02-21 06:58:02 +01002757else ifeq ($(OS),WNT)
Michael Stahldc397aae2012-09-28 15:31:46 +02002758$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon548b61a2012-02-21 06:58:02 +01002759 advapi32 \
2760 gdi32 \
2761)
2762endif
2763
David Tardondba2d322012-02-18 18:54:35 +01002764endef
2765
2766endif # SYSTEM_POPPLER
2767
David Tardon3446cda2011-12-23 12:21:19 +01002768
Michael Stahl46648152014-02-11 16:33:18 +01002769ifneq ($(SYSTEM_CLUCENE),)
David Tardon22c60cb2012-04-07 15:50:47 +02002770
2771define gb_LinkTarget__use_clucene
2772$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002773 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002774)
2775
2776$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002777 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002778 $$(INCLUDE) \
2779)
2780
2781$(call gb_LinkTarget_add_libs,$(1),\
2782 $(CLUCENE_LIBS) \
2783)
2784
2785endef
2786
2787else # !SYSTEM_CLUCENE
2788
2789define gb_LinkTarget__use_clucene
Michael Stahl28cde0c2013-05-07 23:47:27 +02002790$(call gb_LinkTarget_set_include,$(1),\
2791 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2792 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2793 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2794 $$(INCLUDE) \
2795)
2796
Michael Stahlc923f7d2012-04-07 23:22:08 +02002797$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon22c60cb2012-04-07 15:50:47 +02002798 clucene \
2799)
2800
2801endef
2802
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02002803$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
David Tardon22c60cb2012-04-07 15:50:47 +02002804 clucene \
2805))
2806
2807endif # SYSTEM_CLUCENE
2808
Peter Foley64402842011-12-22 16:34:35 -05002809define gb_LinkTarget__use_gobject
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002810$(call gb_LinkTarget_add_libs,$(1),\
2811 $(GOBJECT_LIBS) \
2812)
2813
2814$(call gb_LinkTarget_set_include,$(1),\
2815 $$(INCLUDE) \
2816 $(GOBJECT_CFLAGS) \
2817)
Peter Foley64402842011-12-22 16:34:35 -05002818endef
2819
Michael Stahl5866b332014-02-11 18:56:33 +01002820ifneq ($(SYSTEM_HSQLDB),)
David Tardon579f52d2012-03-27 16:36:31 +02002821
2822define gb_LinkTarget__use_hsqldb
2823
2824$(call gb_LinkTarget_add_defs,$(1),\
2825 -DSYSTEM_HSQLDB \
2826 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2827)
2828
2829endef
2830
2831else # !SYSTEM_HSQLDB
2832
2833define gb_LinkTarget__use_hsqldb
2834
2835endef
2836
2837endif # SYSTEM_HSQLDB
2838
David Tardon8bc7afb2012-04-05 10:53:08 +02002839
Michael Stahl5378dea2014-02-11 19:11:47 +01002840ifneq ($(SYSTEM_OPENLDAP),)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002841
2842define gb_LinkTarget__use_openldap
2843
2844$(call gb_LinkTarget_add_libs,$(1),\
2845 -lldap \
2846 -llber \
2847)
2848
2849endef
2850
Michael Stahl2f6261f2013-09-19 19:28:36 +02002851gb_ExternalProject__use_openldap :=
2852
Michael Stahl5378dea2014-02-11 19:11:47 +01002853else # !SYSTEM_OPENLDAP
Michael Stahle0ee0d42012-07-16 19:00:07 +02002854
Michael Stahle0ee0d42012-07-16 19:00:07 +02002855define gb_LinkTarget__use_openldap
Matúš Kukan7a030392012-10-29 23:29:37 +01002856$(call gb_LinkTarget_use_unpacked,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002857$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002858 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002859 $$(INCLUDE) \
2860)
Stephan Bergmann6b4c4352015-10-09 09:21:48 +02002861$(call gb_LinkTarget_use_external_project,$(1),openldap,full)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002862$(call gb_LinkTarget_add_libs,$(1), \
2863 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2864 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002865)
2866
2867endef
2868
Michael Stahl2f6261f2013-09-19 19:28:36 +02002869define gb_ExternalProject__use_openldap
2870$(call gb_ExternalProject_use_external_project,$(1),openldap)
2871
2872endef
2873
Michael Stahle0ee0d42012-07-16 19:00:07 +02002874endif # SYSTEM_OPENLDAP
2875
Wastack45f42682016-07-28 17:16:19 +02002876ifneq ($(SYSTEM_LIBTOMMATH),)
2877
2878define gb_LinkTarget__use_libtommath
2879$(call gb_LinkTarget_set_include,$(1),\
2880 $(LIBTOMMATH_CFLAGS) \
2881 $$(INCLUDE) \
2882)
2883$(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
2884
2885endef
2886
2887else # !SYSTEM_LIBTOMMATH
2888define gb_LinkTarget__use_libtommath
2889$(call gb_LinkTarget_set_include,$(1),\
2890 -I${WORKDIR}/UnpackedTarball/libtommath \
2891 $$(INCLUDE) \
2892)
2893$(call gb_LinkTarget_add_libs,$(1),\
2894 $(call gb_UnpackedTarball_get_dir,libtommath)/libtommath$(gb_StaticLibrary_PLAINEXT) \
2895)
2896$(call gb_LinkTarget_use_external_project,$(1),libtommath)
2897
2898endef
2899
2900endif # SYSTEM_LIBTOMMATH
2901
2902define gb_ExternalProject__use_libtommath
2903$(call gb_ExternalProject_use_external_project,$(1),libtommath)
2904
2905endef
Michael Stahle0ee0d42012-07-16 19:00:07 +02002906
Javier Fernandezf53228c2013-05-10 18:21:30 +00002907ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2908
Michael Stahl23647592014-02-11 19:04:20 +01002909ifneq ($(SYSTEM_FIREBIRD),)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002910
Rene Engelhard0b68d702013-07-16 21:50:14 +02002911define gb_LinkTarget__use_libfbembed
Javier Fernandezf53228c2013-05-10 18:21:30 +00002912$(call gb_LinkTarget_set_include,$(1),\
2913 $(FIREBIRD_CFLAGS) \
2914 $$(INCLUDE) \
2915)
2916$(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2917
2918endef
2919
Javier Fernandezf53228c2013-05-10 18:21:30 +00002920else # !SYSTEM_FIREBIRD
2921
Michael Stahl2c78d492017-01-09 14:45:11 +01002922$(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
2923 firebird \
2924))
2925
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002926#$(call gb_LinkTarget__use_libatomic_ops,$(1))
Wastack45f42682016-07-28 17:16:19 +02002927#$(call gb_LinkTarget__use_libtommath,$(1))
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002928
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002929define gb_LinkTarget__use_libfbembed
2930$(call gb_LinkTarget_use_package,$(1),firebird)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002931$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002932 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002933 $$(INCLUDE) \
2934)
Michael Stahl37563db2013-10-22 22:22:49 +02002935ifeq ($(COM),MSC)
2936$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002937 $(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002938)
Michael Stahl37563db2013-10-22 22:22:49 +02002939else
2940$(call gb_LinkTarget_add_libs,$(1),\
Stephan Bergmann416c5522016-10-17 08:39:09 +02002941 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
Michael Stahl37563db2013-10-22 22:22:49 +02002942)
2943endif
Javier Fernandezf53228c2013-05-10 18:21:30 +00002944
2945endef
2946
Javier Fernandezf53228c2013-05-10 18:21:30 +00002947
2948# endef
2949
2950endif # SYSTEM_FIREBIRD
2951
2952else # !ENABLE_FIREBIRD_SDBC
Michael Stahl6fa0b372014-02-12 17:01:35 +01002953
Javier Fernandezf53228c2013-05-10 18:21:30 +00002954gb_LinkTarget__use_firebird :=
2955# gb_LinkTarget__use_atomic_ops :=
Wastack45f42682016-07-28 17:16:19 +02002956# gb_LinkTarget__use_libtommath :=
Javier Fernandezf53228c2013-05-10 18:21:30 +00002957
2958endif # ENABLE_FIREBIRD_SDBC
2959
2960
Michael Stahl5866b332014-02-11 18:56:33 +01002961ifneq ($(SYSTEM_POSTGRESQL),)
David Tardon8bc7afb2012-04-05 10:53:08 +02002962
2963define gb_LinkTarget__use_postgresql
2964
David Tardon8bc7afb2012-04-05 10:53:08 +02002965$(call gb_LinkTarget_set_include,$(1),\
2966 $(POSTGRESQL_INC) \
2967 $$(INCLUDE) \
2968)
2969
2970$(call gb_LinkTarget_add_libs,$(1),\
2971 -lpq \
2972)
2973
2974$(call gb_LinkTarget_add_ldflags,$(1),\
2975 $(POSTGRESQL_LIB) \
2976)
2977
2978endef
2979
2980else # !SYSTEM_POSTGRESQL
2981
2982define gb_LinkTarget__use_postgresql
2983
Michael Stahl2f6261f2013-09-19 19:28:36 +02002984$(call gb_LinkTarget_use_external_project,$(1),postgresql)
David Tardoncb9823b2012-10-22 06:33:00 +02002985
David Tardon8bc7afb2012-04-05 10:53:08 +02002986$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlee8323e2013-05-08 00:19:40 +02002987 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
2988 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
David Tardon8bc7afb2012-04-05 10:53:08 +02002989 $$(INCLUDE) \
2990)
2991
Michael Stahl2f6261f2013-09-19 19:28:36 +02002992$(call gb_LinkTarget_add_libs,$(1),\
2993 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
David Tardon8bc7afb2012-04-05 10:53:08 +02002994)
2995
Stephan Bergmann8646ab92017-02-10 14:05:21 +01002996ifeq ($(OS),WNT)
Matúš Kukan5e32d152012-05-27 00:21:12 +02002997$(call gb_LinkTarget_use_external,$(1),openssl)
2998
Michael Stahldc397aae2012-09-28 15:31:46 +02002999$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon8bc7afb2012-04-05 10:53:08 +02003000 secur32 \
3001 ws2_32 \
David Tardon8bc7afb2012-04-05 10:53:08 +02003002)
David Tardon8af6aa62012-05-30 12:06:42 +02003003
David Tardon8bc7afb2012-04-05 10:53:08 +02003004endif
3005
3006endef
3007
David Tardon8bc7afb2012-04-05 10:53:08 +02003008endif # SYSTEM_POSTGRESQL
3009
David Tardond4efa8b2012-04-28 20:48:14 +02003010ifeq ($(ENABLE_KDE4),TRUE)
3011
3012define gb_LinkTarget__use_kde4
3013$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003014 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS)))) \
David Tardond4efa8b2012-04-28 20:48:14 +02003015 $$(INCLUDE) \
3016)
3017
3018$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003019 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS))) \
David Tardond4efa8b2012-04-28 20:48:14 +02003020)
3021
3022$(call gb_LinkTarget_add_libs,$(1),\
3023 $(KDE4_LIBS) \
3024)
3025
David Tardond4efa8b2012-04-28 20:48:14 +02003026endef
3027
3028else # !ENABLE_KDE4
3029
3030define gb_LinkTarget__use_kde4
3031
3032endef
3033
3034endif # ENABLE_KDE4
3035
3036
David Ostrovskye16ac692012-05-27 22:50:41 +02003037# PYTHON
Michael Stahl91926332012-11-27 15:50:53 +01003038# extra python_headers external because pyuno wrapper must not link python
Michael Stahl0443d0a2014-02-11 16:57:35 +01003039ifneq ($(SYSTEM_PYTHON),)
David Ostrovskye16ac692012-05-27 22:50:41 +02003040
Michael Stahl91926332012-11-27 15:50:53 +01003041define gb_LinkTarget__use_python_headers
David Ostrovskye16ac692012-05-27 22:50:41 +02003042$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003043 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYHTON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003044)
3045
3046$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003047 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003048 $$(INCLUDE) \
3049)
3050
Michael Stahl91926332012-11-27 15:50:53 +01003051endef
3052
3053define gb_LinkTarget__use_python
3054$(call gb_LinkTarget__use_python_headers,$(1))
3055
David Ostrovskye16ac692012-05-27 22:50:41 +02003056$(call gb_LinkTarget_add_libs,$(1),\
3057 $(PYTHON_LIBS) \
3058)
3059
3060endef
3061
3062else # !SYSTEM_PYTHON
3063
Michael Stahl720ca8e2014-03-18 18:24:15 +01003064$(eval $(call gb_Helper_register_packages_for_install,python,\
3065 python3 \
3066))
3067
Michael Stahl91926332012-11-27 15:50:53 +01003068define gb_LinkTarget__use_python_headers
David Tardoncad68c62015-09-29 18:09:16 +02003069$(call gb_LinkTarget_use_external_project,$(1),python3,full)
Michael Stahl91926332012-11-27 15:50:53 +01003070$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02003071 -I$(call gb_UnpackedTarball_get_dir,python3) \
3072 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3073 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
Michael Stahl91926332012-11-27 15:50:53 +01003074 $$(INCLUDE) \
3075)
3076
3077endef
3078
David Ostrovskye16ac692012-05-27 22:50:41 +02003079define gb_LinkTarget__use_python
Michael Stahl91926332012-11-27 15:50:53 +01003080$(call gb_LinkTarget__use_python_headers,$(1))
Michael Stahld9162d22015-07-29 12:17:03 +02003081ifeq ($(OS),MACOSX)
3082$(call gb_LinkTarget_use_generated_package,$(1),python3)
3083else
Michael Stahl57dd4d02015-07-29 10:56:57 +02003084$(call gb_LinkTarget_use_package,$(1),python3)
Michael Stahld9162d22015-07-29 12:17:03 +02003085endif
David Ostrovskye16ac692012-05-27 22:50:41 +02003086
3087ifeq ($(OS),WNT)
3088$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyde030cd2017-03-04 14:36:08 +01003089 $(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 +02003090)
3091else ifeq ($(OS),MACOSX)
3092$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl9d921ba2012-11-27 15:32:36 +01003093 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
David Ostrovskye16ac692012-05-27 22:50:41 +02003094)
3095else
Michael Stahlb6bcbb62013-04-21 14:34:50 +02003096$(call gb_LinkTarget_add_libs,$(1),\
3097 -L$(call gb_UnpackedTarball_get_dir,python3) \
3098 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
David Ostrovskye16ac692012-05-27 22:50:41 +02003099)
3100endif
3101
David Ostrovskye16ac692012-05-27 22:50:41 +02003102endef
3103
David Ostrovskye16ac692012-05-27 22:50:41 +02003104endif # SYSTEM_PYTHON
3105
Kohei Yoshida49b0b692012-09-04 15:05:35 -04003106# ORCUS
Michael Stahle3abec32014-02-11 15:57:18 +01003107ifneq ($(SYSTEM_LIBORCUS),)
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003108
3109define gb_LinkTarget__use_orcus
3110$(call gb_LinkTarget_set_include,$(1),\
3111 $$(INCLUDE) \
Matúš Kukana2d63fe2012-09-09 16:29:10 +02003112 $(ORCUS_CFLAGS) \
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003113)
Rene Engelhard26b80fc2013-04-13 19:29:33 +02003114$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
Rene Engelhardfb360f52013-04-13 16:17:29 +02003115endef
3116
3117define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003118
3119endef
3120
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003121else # !SYSTEM_LIBORCUS
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003122
David Tardonedb38d72015-06-04 16:09:48 +02003123ifeq ($(COM),MSC)
3124
3125$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3126 orcus \
3127 orcus-parser \
3128))
3129
Kohei Yoshidac8b7e982012-08-31 10:11:32 -04003130define gb_LinkTarget__use_orcus
Matúš Kukan1ee76032012-09-09 15:29:43 +02003131$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl10fc13c2013-05-06 23:35:13 +02003132 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
Matúš Kukan1ee76032012-09-09 15:29:43 +02003133 $$(INCLUDE) \
3134)
David Tardonf1035c12012-11-23 06:49:21 +01003135
David Tardonedb38d72015-06-04 16:09:48 +02003136$(call gb_LinkTarget_use_libraries,$(1),\
3137 orcus \
Stephan Bergmann3743cdb2013-02-17 22:58:21 +01003138)
David Tardonf1035c12012-11-23 06:49:21 +01003139
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003140endef
3141
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003142define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaecc884e2013-12-17 21:18:46 -05003143$(call gb_LinkTarget_set_include,$(1),\
3144 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3145 $$(INCLUDE) \
3146)
David Tardonedb38d72015-06-04 16:09:48 +02003147
3148$(call gb_LinkTarget_use_libraries,$(1),\
3149 orcus-parser \
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003150)
3151
3152endef
3153
David Tardonedb38d72015-06-04 16:09:48 +02003154else # !MSC
3155
3156$(eval $(call gb_Helper_register_packages_for_install,ooo,\
3157 liborcus \
3158))
3159
3160define gb_LinkTarget__use_orcus
3161$(call gb_LinkTarget_use_package,$(1),liborcus)
3162
3163$(call gb_LinkTarget_set_include,$(1),\
3164 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3165 $$(INCLUDE) \
3166)
3167
3168$(call gb_LinkTarget_add_libs,$(1),\
Jaskaran Singh92be10c2016-06-24 19:53:11 +05303169 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.12 \
David Tardonedb38d72015-06-04 16:09:48 +02003170)
3171
3172$(if $(SYSTEM_BOOST), \
3173 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3174 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3175)
3176
3177endef
3178
3179define gb_LinkTarget__use_orcus-parser
3180$(call gb_LinkTarget_use_package,$(1),liborcus)
3181
3182$(call gb_LinkTarget_set_include,$(1),\
3183 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3184 $$(INCLUDE) \
3185)
3186
3187$(call gb_LinkTarget_add_libs,$(1),\
Jaskaran Singh92be10c2016-06-24 19:53:11 +05303188 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.12 \
David Tardonedb38d72015-06-04 16:09:48 +02003189)
3190
3191endef
3192
3193endif # MSC
3194
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003195endif # SYSTEM_LIBORCUS
David Ostrovskye16ac692012-05-27 22:50:41 +02003196
David Tardon49a4d362013-11-12 16:44:40 +01003197ifeq ($(ENABLE_EOT),TRUE)
3198
Michael Stahle3abec32014-02-11 15:57:18 +01003199ifneq ($(SYSTEM_LIBEOT),)
David Tardon49a4d362013-11-12 16:44:40 +01003200
3201define gb_LinkTarget__use_libeot
3202$(call gb_LinkTarget_set_include,$(1),\
3203 $$(INCLUDE) \
3204 $(LIBEOT_CFLAGS) \
3205)
3206$(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3207
3208endef
3209
3210gb_ExternalProject__use_libeot :=
3211
3212else # !SYSTEM_LIBEOT
3213
3214define gb_LinkTarget__use_libeot
3215$(call gb_LinkTarget_set_include,$(1),\
3216 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3217 $$(INCLUDE) \
3218)
3219$(call gb_LinkTarget_add_libs,$(1),\
3220 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3221)
3222$(call gb_LinkTarget_use_external_project,$(1),libeot)
3223
3224endef
3225
3226define gb_ExternalProject__use_libeot
3227$(call gb_ExternalProject_use_external_project,$(1),libeot)
3228
3229endef
3230
3231endif # SYSTEM_LIBEOT
3232
3233else # !ENABLE_EOT
3234
3235gb_LinkTarget__use_libeot :=
3236gb_ExternalProject__use_libeot :=
3237
3238endif # ENABLE_EOT
3239
Michael Stahl78b59b82012-09-27 21:45:47 +02003240### X11 stuff ###
3241
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003242ifeq ($(USING_X11), TRUE)
Michael Stahl78b59b82012-09-27 21:45:47 +02003243
Michael Stahl78b59b82012-09-27 21:45:47 +02003244define gb_LinkTarget__use_Xrandr
Michael Stahl78b59b82012-09-27 21:45:47 +02003245$(call gb_LinkTarget_set_include,$(1),\
3246 $$(INCLUDE) \
3247 $(XRANDR_CFLAGS) \
3248)
3249
3250$(call gb_LinkTarget_add_libs,$(1),\
3251 $(XRANDR_LIBS) \
3252)
3253endef
3254
Michael Stahl78b59b82012-09-27 21:45:47 +02003255define gb_LinkTarget__use_Xrender
Michael Stahl78b59b82012-09-27 21:45:47 +02003256$(call gb_LinkTarget_set_include,$(1),\
3257 $$(INCLUDE) \
3258 $(XRENDER_CFLAGS) \
3259)
3260
3261$(call gb_LinkTarget_add_libs,$(1),\
3262 $(XRENDER_LIBS) \
3263)
3264endef
3265
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003266endif # USING_X11
Michael Stahl78b59b82012-09-27 21:45:47 +02003267
Tor Lillqvist35491072011-08-02 21:22:35 +03003268
Michael Meeksb440cfc2013-02-28 12:05:07 +00003269gb_ExternalProject__use_nss3:=
3270
Tor Lillqvist3442b002014-08-12 16:50:17 +03003271ifeq ($(OS),ANDROID)
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003272
Peter Foleyc003d252013-01-01 09:39:36 -05003273gb_LinkTarget__use_nss3:=
Tor Lillqvist801408c2014-12-12 23:51:17 +02003274gb_LinkTarget__use_plc4:=
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003275
3276else
3277
Michael Stahle3abec32014-02-11 15:57:18 +01003278ifneq ($(SYSTEM_NSS),)
David Tardonb6aa4842011-08-11 13:10:14 +02003279
David Tardon2b9dbc82012-08-13 06:57:51 +02003280define gb_LinkTarget__use_nss3
3281$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmannea641222012-11-19 16:40:33 +01003282 -DSYSTEM_NSS \
David Tardon2b9dbc82012-08-13 06:57:51 +02003283)
3284
David Tardonb6aa4842011-08-11 13:10:14 +02003285$(call gb_LinkTarget_set_include,$(1),\
3286 $$(INCLUDE) \
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003287 $(NSS_CFLAGS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003288)
3289
3290$(call gb_LinkTarget_add_libs,$(1),\
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003291 $(NSS_LIBS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003292)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003293
David Tardonb6aa4842011-08-11 13:10:14 +02003294endef
3295
David Tardon2b9dbc82012-08-13 06:57:51 +02003296define gb_LinkTarget__use_plc4
3297$(call gb_LinkTarget__use_nss3,$(1))
3298
3299endef
3300
David Tardon6ef46562013-02-04 10:04:07 +01003301define gb_LinkTarget__use_ssl3
3302$(call gb_LinkTarget__use_nss3,$(1))
3303
3304endef
3305
Michael Stahle3abec32014-02-11 15:57:18 +01003306else # !SYSTEM_NSS
David Tardonb6aa4842011-08-11 13:10:14 +02003307
Michael Stahlffae67c2014-03-13 19:51:19 +01003308$(eval $(call gb_Helper_register_packages_for_install,ooo, \
3309 nss \
3310))
3311
David Tardon2b9dbc82012-08-13 06:57:51 +02003312define gb_LinkTarget__use_nss3
Peter Foleyc003d252013-01-01 09:39:36 -05003313$(call gb_LinkTarget_use_package,$(1),nss)
David Tardon2b9dbc82012-08-13 06:57:51 +02003314$(call gb_LinkTarget_set_include,$(1),\
3315 $$(INCLUDE) \
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003316 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3317 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
David Tardon2b9dbc82012-08-13 06:57:51 +02003318)
3319
Michael Stahld2f62c32013-10-23 00:14:01 +02003320ifeq ($(COM),MSC)
3321$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003322 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3323 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3324 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
David Tardon2b9dbc82012-08-13 06:57:51 +02003325)
Michael Stahld2f62c32013-10-23 00:14:01 +02003326else
3327$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003328 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
Michael Stahld2f62c32013-10-23 00:14:01 +02003329 -lnspr4 \
3330 -lnss3 \
3331 -lsmime3 \
3332)
3333endif
David Tardon2b9dbc82012-08-13 06:57:51 +02003334
3335endef
3336
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003337define gb_LinkTarget__use_plc4
Peter Foleyc003d252013-01-01 09:39:36 -05003338$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003339ifeq ($(COM),MSC)
3340$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003341 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
David Tardonb6aa4842011-08-11 13:10:14 +02003342)
Michael Stahld2f62c32013-10-23 00:14:01 +02003343else
3344$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003345 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003346)
3347endif
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003348
David Tardonb6aa4842011-08-11 13:10:14 +02003349endef
3350
David Tardon6ef46562013-02-04 10:04:07 +01003351define gb_LinkTarget__use_ssl3
3352$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003353ifeq ($(COM),MSC)
3354$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003355 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
David Tardon6ef46562013-02-04 10:04:07 +01003356)
Michael Stahld2f62c32013-10-23 00:14:01 +02003357else
3358$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003359 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003360)
3361endif
David Tardon6ef46562013-02-04 10:04:07 +01003362
3363endef
3364
Michael Meeksb440cfc2013-02-28 12:05:07 +00003365define gb_ExternalProject__use_nss3
3366$(call gb_ExternalProject_use_package,$(1),nss)
Michael Meeksb440cfc2013-02-28 12:05:07 +00003367
3368endef
3369
Michael Stahle3abec32014-02-11 15:57:18 +01003370endif # SYSTEM_NSS
3371
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003372endif # DESKTOP
David Tardonb6aa4842011-08-11 13:10:14 +02003373
Markus Mohrharda46ef632015-11-15 04:39:24 +01003374ifeq ($(ENABLE_BREAKPAD),TRUE)
3375
Markus Mohrharda46ef632015-11-15 04:39:24 +01003376define gb_LinkTarget__use_breakpad
3377$(call gb_LinkTarget_set_include,$(1),\
3378 -I$(call gb_UnpackedTarball_get_dir,breakpad)/src \
3379 $$(INCLUDE) \
3380)
3381
3382ifeq ($(COM),MSC)
Markus Mohrhardff9b7d12016-03-31 00:00:03 +02003383$(call gb_LinkTarget_use_static_libraries,$(1),\
3384 breakpad \
Markus Mohrharda46ef632015-11-15 04:39:24 +01003385)
3386else
3387$(call gb_LinkTarget_add_libs,$(1),\
3388 $(call gb_UnpackedTarball_get_dir,breakpad)/src/client/linux/libbreakpad_client.a \
3389)
3390endif
3391
3392$(call gb_LinkTarget_use_external_project,$(1),breakpad)
3393
Michael Stahlb4d3a0d2016-02-23 15:08:47 +01003394endef
3395
Markus Mohrhard133a5d872016-02-27 14:50:13 +01003396endif # ENABLE_BREAKPAD
Markus Mohrharda46ef632015-11-15 04:39:24 +01003397
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003398ifneq ($(SYSTEM_GPGMEPP),)
Katarina Behrens595848c2017-01-30 15:50:55 +01003399
Katarina Behrensf41fa222017-02-23 12:57:42 +01003400gb_ExternalProject__use_gpgmepp:=
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003401gb_ExternalProject__use_libassuan:=
3402gb_ExternalProject__use_libgpg-error:=
3403
Katarina Behrensf41fa222017-02-23 12:57:42 +01003404define gb_LinkTarget__use_gpgmepp
Katarina Behrens595848c2017-01-30 15:50:55 +01003405$(call gb_LinkTarget_set_include,$(1),\
3406 $$(INCLUDE) \
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003407 $$(GPGMEPP_CFLAGS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003408)
3409
3410$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrensaceba1e2017-02-10 16:30:51 +01003411 $(GPGMEPP_LIBS) \
Katarina Behrens595848c2017-01-30 15:50:55 +01003412)
3413
3414endef
3415
Katarina Behrens55519a12017-02-15 16:00:16 +01003416else # NON-SYSTEM_GPGME
3417
Katarina Behrensf41fa222017-02-23 12:57:42 +01003418define gb_ExternalProject__use_gpgmepp
Thorsten Behrensdc003d592017-02-17 09:32:05 +01003419$(call gb_ExternalProject_use_external_project,$(1),gpgme)
3420
3421endef
3422define gb_ExternalProject__use_libassuan
3423$(call gb_ExternalProject_use_external_project,$(1),libassuan)
3424
3425endef
3426define gb_ExternalProject__use_libgpg-error
3427$(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3428
3429endef
3430
Katarina Behrensf41fa222017-02-23 12:57:42 +01003431define gb_LinkTarget__use_gpgmepp
Katarina Behrens55519a12017-02-15 16:00:16 +01003432$(call gb_LinkTarget_set_include,$(1),\
3433 -I$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src \
Katarina Behrens60177322017-02-24 13:47:46 +01003434 -I$(call gb_UnpackedTarball_get_dir,gpgme)/src \
Samuel Mehrbrodt65866962017-02-24 16:54:36 +01003435 $$(GPG_ERROR_CFLAGS) \
Katarina Behrens55519a12017-02-15 16:00:16 +01003436 $$(INCLUDE) \
3437)
3438$(call gb_LinkTarget_add_libs,$(1),\
Katarina Behrens684b9de2017-02-16 21:44:06 +01003439 -L$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src/.libs/ -lgpgmepp \
Katarina Behrens55519a12017-02-15 16:00:16 +01003440)
Michael Stahlee9cb852017-03-10 17:11:49 +01003441$(call gb_LinkTarget_use_package,$(1),gpgme)
Katarina Behrens55519a12017-02-15 16:00:16 +01003442
3443endef
3444
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003445ifeq ($(OS),LINUX)
3446
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003447$(eval $(call gb_Helper_register_packages_for_install,ooo,\
Thorsten Behrens8724bcf2017-03-26 04:01:02 +02003448 gpgme \
Thorsten Behrenscc71c6a2017-03-25 01:28:07 +01003449 libassuan \
3450 libgpg-error \
3451))
3452
Katarina Behrens595848c2017-01-30 15:50:55 +01003453endif
3454
Thorsten Behrensa4034d52017-03-26 05:57:10 +02003455endif
3456
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003457ifeq ($(ENABLE_GLTF),TRUE)
3458
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003459ifneq ($(SYSTEM_LIBGLTF),TRUE)
3460
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003461define gb_LinkTarget__use_libgltf
3462$(call gb_LinkTarget_set_include,$(1),\
3463 -I$(call gb_UnpackedTarball_get_dir,libgltf)/inc \
3464 $$(INCLUDE) \
3465)
3466
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003467ifeq ($(COM),MSC)
3468$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyac06ab22015-02-18 22:17:49 +01003469 $(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 +02003470)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003471else
3472$(call gb_LinkTarget_add_libs,$(1),\
Caolán McNamara482d7ce2016-11-25 20:25:27 +00003473 $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.1$(gb_StaticLibrary_PLAINEXT) \
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003474)
3475endif
3476
3477$(call gb_LinkTarget_use_external_project,$(1),libgltf)
3478
3479endef
3480
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003481else # SYSTEM_LIBGLTF
3482
3483define gb_LinkTarget__use_libgltf
3484$(call gb_LinkTarget_set_include,$(1),\
3485 $$(INCLUDE) \
3486 $(LIBGLTF_CFLAGS) \
3487)
3488$(call gb_LinkTarget_add_libs,$(1),$(LIBGLTF_LIBS))
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003489
3490endef
3491
Julien Nabet3ee2edf2016-05-07 22:43:37 +02003492endif # SYSTEM_LIBGLTF
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003493
Zolnai Tamás191f0942014-08-07 15:21:41 +02003494ifeq ($(ENABLE_COLLADA),TRUE)
3495
David Tardonf24c6082014-10-20 14:21:22 +02003496ifeq ($(SYSTEM_OPENCOLLADA),TRUE)
3497
3498define gb_LinkTarget__use_opencollada_parser
3499$(call gb_LinkTarget_set_include,$(1),\
3500 $$(INCLUDE) \
3501 $(OPENCOLLADA_CFLAGS) \
3502)
3503
3504$(call gb_LinkTarget_add_libs,$(1),$(OPENCOLLADA_LIBS))
3505
3506endef
3507
3508else # !SYSTEM_OPENCOLLADA
3509
Zolnai Tamásaa5fe792014-04-10 13:33:58 +02003510define gb_LinkTarget__use_opencollada_parser
3511$(call gb_LinkTarget_set_include,$(1),\
3512 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
3513 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADAFramework/include \
3514 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include \
3515 -I$(call gb_UnpackedTarball_get_dir,opencollada)/GeneratedSaxParser/include \
3516 $$(INCLUDE) \
3517)
3518
3519$(call gb_LinkTarget_use_static_libraries,$(1),\
3520 opencollada_parser \
3521)
3522endef
3523
David Tardonf24c6082014-10-20 14:21:22 +02003524endif # SYSTEM_OPENCOLLADA
3525
David Tardon8840fd32015-04-13 15:31:41 +02003526ifeq ($(SYSTEM_COLLADA2GLTF),TRUE)
3527
3528define gb_LinkTarget__use_collada2gltf
3529$(call gb_LinkTarget_set_include,$(1),\
3530 $$(INCLUDE) \
3531 $(COLLADA2GLTF_CFLAGS) \
3532)
3533
3534$(call gb_LinkTarget_add_libs,$(1),$(COLLADA2GLTF_LIBS))
3535
3536endef
3537
3538else # !SYSTEM_COLLADA2GLTF
3539
Zolnai Tamásd57591702014-04-10 13:37:38 +02003540define gb_LinkTarget__use_collada2gltf
3541$(call gb_LinkTarget_set_include,$(1),\
3542 -I$(call gb_UnpackedTarball_get_dir,collada2gltf) \
3543 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/assetModifiers \
3544 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/GLTF \
3545 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/helpers \
3546 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/JSON \
3547 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/dependencies/json/include/rapidjson/ \
3548 $$(INCLUDE) \
3549)
3550
3551$(call gb_LinkTarget_use_static_libraries,$(1),\
3552 collada2gltf \
3553)
3554endef
3555
David Tardon8840fd32015-04-13 15:31:41 +02003556endif # SYSTEM_COLLADA2GLTF
3557
Zolnai Tamás191f0942014-08-07 15:21:41 +02003558endif # ENABLE_COLLADA
3559
3560endif # ENABLE_GLTF
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003561
Stephan Bergmannecc617e2015-07-08 11:20:19 +02003562define gb_LinkTarget__use_dconf
3563$(call gb_LinkTarget_add_defs,$(1),$(DCONF_CFLAGS))
3564$(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3565endef
3566
Michael Stahl2ee5f242011-09-15 14:01:27 +02003567### Jars ############################################################
3568
Michael Stahl5866b332014-02-11 18:56:33 +01003569ifneq ($(SYSTEM_HSQLDB),)
Michael Stahl666173b2012-08-15 20:24:59 +02003570
3571define gb_Jar__use_hsqldb
3572$(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3573endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003574define gb_JunitTest__use_hsqldb
3575$(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3576endef
Michael Stahl666173b2012-08-15 20:24:59 +02003577
3578else # !SYSTEM_HSQLDB
3579
David Tardon2dec0672014-05-19 10:20:37 +02003580ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl376d1b52014-03-18 20:25:04 +01003581$(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003582 hsqldb \
3583))
David Tardon2dec0672014-05-19 10:20:37 +02003584endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003585
Michael Stahl666173b2012-08-15 20:24:59 +02003586define gb_Jar__use_hsqldb
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003587$(call gb_Jar_use_jar,$(1),hsqldb)
Michael Stahl666173b2012-08-15 20:24:59 +02003588endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003589define gb_JunitTest__use_hsqldb
3590$(call gb_JunitTest_use_jar,$(1),hsqldb)
3591endef
Michael Stahl666173b2012-08-15 20:24:59 +02003592
3593endif # SYSTEM_HSQLDB
3594
Michael Stahl2ee5f242011-09-15 14:01:27 +02003595
Rene Engelhard40facc42014-05-23 07:43:19 +02003596ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3597
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003598ifneq ($(SYSTEM_BSH),)
David Tardon3bcf9102011-10-04 09:44:48 +02003599
Michael Stahla4551262012-08-15 17:41:25 +02003600define gb_Jar__use_bsh
3601$(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
David Tardon3bcf9102011-10-04 09:44:48 +02003602endef
3603
3604else # !SYSTEM_BSH
3605
David Tardon2dec0672014-05-19 10:20:37 +02003606ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl8475eb92014-03-18 20:38:30 +01003607$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003608 bsh \
3609))
David Tardon2dec0672014-05-19 10:20:37 +02003610endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003611
Michael Stahla4551262012-08-15 17:41:25 +02003612define gb_Jar__use_bsh
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003613$(call gb_Jar_use_jar,$(1),bsh)
David Tardon3bcf9102011-10-04 09:44:48 +02003614endef
3615
3616endif # SYSTEM_BSH
3617
Rene Engelhard40facc42014-05-23 07:43:19 +02003618endif
3619
3620ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
Michael Stahl2ee5f242011-09-15 14:01:27 +02003621
Michael Stahl49dde4c2014-02-11 19:42:28 +01003622ifneq ($(SYSTEM_RHINO),)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003623
Michael Stahla4551262012-08-15 17:41:25 +02003624define gb_Jar__use_rhino
3625$(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003626endef
3627
3628else # !SYSTEM_RHINO
3629
David Tardon2dec0672014-05-19 10:20:37 +02003630ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl6474d1c2014-03-18 20:50:02 +01003631$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003632 js \
3633))
David Tardon2dec0672014-05-19 10:20:37 +02003634endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003635
Michael Stahla4551262012-08-15 17:41:25 +02003636define gb_Jar__use_rhino
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003637$(call gb_Jar_use_jar,$(1),js)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003638endef
3639
3640endif # SYSTEM_RHINO
3641
Rene Engelhard40facc42014-05-23 07:43:19 +02003642endif
3643
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003644ifneq ($(SYSTEM_APACHE_COMMONS),)
David Tardon9b530e12012-04-07 10:07:35 +02003645
Michael Stahla4551262012-08-15 17:41:25 +02003646define gb_Jar__use_commons-logging
3647$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003648endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003649gb_ExternalProject__use_commons-logging :=
David Tardon9b530e12012-04-07 10:07:35 +02003650
3651else # !SYSTEM_APACHE_COMMONS
3652
David Tardon2dec0672014-05-19 10:20:37 +02003653ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl2bec9f42014-03-18 21:54:33 +01003654$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
rbujd8a7f722014-08-18 13:52:32 +02003655 commons-logging-$(COMMONS_LOGGING_VERSION) \
Michael Stahldb23d4b2013-10-24 23:10:27 +02003656))
David Tardon2dec0672014-05-19 10:20:37 +02003657endif
David Tardon9b530e12012-04-07 10:07:35 +02003658
Michael Stahla4551262012-08-15 17:41:25 +02003659define gb_Jar__use_commons-logging
Michael Stahl461d8302013-10-25 18:40:48 +02003660$(call gb_Jar_use_external_project,$(1),apache_commons_logging)
rbujd8a7f722014-08-18 13:52:32 +02003661$(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION))
David Tardon9b530e12012-04-07 10:07:35 +02003662endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003663define gb_ExternalProject__use_commons-logging
Michael Stahla60427e2013-10-26 20:17:52 +02003664$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
Michael Stahl2b7536a2012-10-05 21:17:25 +02003665endef
David Tardon9b530e12012-04-07 10:07:35 +02003666
3667endif # SYSTEM_APACHE_COMMONS
3668
3669
Michael Stahl32db4992014-02-11 19:35:22 +01003670ifneq ($(SYSTEM_JFREEREPORT),)
David Tardon9b530e12012-04-07 10:07:35 +02003671
Michael Stahla4551262012-08-15 17:41:25 +02003672define gb_Jar__use_flow-engine
3673$(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003674endef
3675
Michael Stahla4551262012-08-15 17:41:25 +02003676define gb_Jar__use_flute
3677$(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003678endef
3679
Michael Stahla4551262012-08-15 17:41:25 +02003680define gb_Jar__use_libbase
3681$(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003682endef
3683
Michael Stahla4551262012-08-15 17:41:25 +02003684define gb_Jar__use_libfonts
3685$(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003686endef
3687
Michael Stahla4551262012-08-15 17:41:25 +02003688define gb_Jar__use_libformula
3689$(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003690endef
3691
Michael Stahla4551262012-08-15 17:41:25 +02003692define gb_Jar__use_liblayout
3693$(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003694endef
3695
Michael Stahla4551262012-08-15 17:41:25 +02003696define gb_Jar__use_libloader
3697$(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003698endef
3699
Michael Stahla4551262012-08-15 17:41:25 +02003700define gb_Jar__use_librepository
3701$(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003702endef
3703
Michael Stahla4551262012-08-15 17:41:25 +02003704define gb_Jar__use_libserializer
3705$(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003706endef
3707
Michael Stahla4551262012-08-15 17:41:25 +02003708define gb_Jar__use_libxml
3709$(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003710endef
3711
Michael Stahla4551262012-08-15 17:41:25 +02003712define gb_Jar__use_sac
3713$(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003714endef
3715
3716else # !SYSTEM_JFREEREPORT
3717
David Tardon2dec0672014-05-19 10:20:37 +02003718ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl4c3626af2014-03-18 22:03:00 +01003719$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
Michael Stahl070ca1e2013-10-25 21:01:58 +02003720 flow-engine \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003721 flute-1.1.6 \
3722 libbase-1.1.6 \
3723 libfonts-1.1.6 \
3724 libformula-1.1.7 \
Michael Stahl070ca1e2013-10-25 21:01:58 +02003725 liblayout \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003726 libloader-1.1.6 \
3727 librepository-1.1.6 \
3728 libserializer-1.1.6 \
3729 libxml-1.1.7 \
3730 sac \
3731))
David Tardon2dec0672014-05-19 10:20:37 +02003732endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003733
Michael Stahla4551262012-08-15 17:41:25 +02003734define gb_Jar__use_flow-engine
Michael Stahl070ca1e2013-10-25 21:01:58 +02003735$(call gb_Jar_use_jar,$(1),flow-engine)
David Tardon9b530e12012-04-07 10:07:35 +02003736endef
3737
Michael Stahla4551262012-08-15 17:41:25 +02003738define gb_Jar__use_flute
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003739$(call gb_Jar_use_jar,$(1),flute-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003740endef
3741
Michael Stahla4551262012-08-15 17:41:25 +02003742define gb_Jar__use_libbase
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003743$(call gb_Jar_use_jar,$(1),libbase-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003744endef
3745
Michael Stahla4551262012-08-15 17:41:25 +02003746define gb_Jar__use_libfonts
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003747$(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003748endef
3749
Michael Stahla4551262012-08-15 17:41:25 +02003750define gb_Jar__use_libformula
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003751$(call gb_Jar_use_jar,$(1),libformula-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003752endef
3753
Michael Stahla4551262012-08-15 17:41:25 +02003754define gb_Jar__use_liblayout
Michael Stahl070ca1e2013-10-25 21:01:58 +02003755$(call gb_Jar_use_jar,$(1),liblayout)
David Tardon9b530e12012-04-07 10:07:35 +02003756endef
3757
Michael Stahla4551262012-08-15 17:41:25 +02003758define gb_Jar__use_libloader
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003759$(call gb_Jar_use_jar,$(1),libloader-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003760endef
3761
Michael Stahla4551262012-08-15 17:41:25 +02003762define gb_Jar__use_librepository
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003763$(call gb_Jar_use_jar,$(1),librepository-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003764endef
3765
Michael Stahla4551262012-08-15 17:41:25 +02003766define gb_Jar__use_libserializer
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003767$(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003768endef
3769
Michael Stahla4551262012-08-15 17:41:25 +02003770define gb_Jar__use_libxml
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003771$(call gb_Jar_use_jar,$(1),libxml-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003772endef
3773
Michael Stahla4551262012-08-15 17:41:25 +02003774define gb_Jar__use_sac
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003775$(call gb_Jar_use_jar,$(1),sac)
David Tardon9b530e12012-04-07 10:07:35 +02003776endef
3777
3778endif # SYSTEM_JFREEREPORT
3779
David Tardonc2eca352012-12-02 10:51:37 +01003780
3781# Executables
3782
David Tardonedf67302012-12-30 12:27:04 +01003783# FIXME: the library target should be for build too
3784define gb_Executable__register_bestreversemap
3785$(call gb_Executable_add_runtime_dependencies,bestreversemap,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003786 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardonedf67302012-12-30 12:27:04 +01003787)
3788endef
3789
David Tardonceb0d062012-12-30 13:11:43 +01003790# TODO depending on the whole URE might be overkill, but I do not have a
3791# Windows machine to debug it...
3792# FIXME: the library target should be for build too
3793define gb_Executable__register_climaker
3794$(call gb_Executable_add_runtime_dependencies,climaker,\
3795 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003796 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003797 $(call gb_UnoApi_get_target,udkapi) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003798 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
David Tardonceb0d062012-12-30 13:11:43 +01003799)
3800endef
3801
David Tardon6c1614a2014-01-08 13:49:46 +01003802define gb_Executable__register_cppumaker
3803$(call gb_Executable_add_runtime_dependencies,cppumaker,\
Caolán McNamara002a83f2016-12-15 10:15:59 +00003804 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
David Tardon6c1614a2014-01-08 13:49:46 +01003805)
3806endef
3807
Matúš Kukanbae52ee2013-05-16 09:17:57 +02003808# This is used to determine what we need for 'build' platform.
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003809# FIXME: the library target should be for build too
Matúš Kukan9555b5b2013-06-14 12:48:20 +02003810define gb_Executable__register_gengal
Matúš Kukan94b68822013-06-17 10:41:18 +02003811$(call gb_Executable_add_runtime_dependencies,gengal,\
David Tardon1546c292013-05-07 20:41:41 +02003812 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardone59420d2014-08-04 17:23:54 +02003813 $(call gb_Package_get_target_for_build,postprocess_images) \
Matúš Kukan8b162f22013-09-27 10:58:28 +02003814 $(call gb_Package_get_target_for_build,postprocess_registry) \
Matúš Kukan15614c82015-12-05 07:05:37 +01003815 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
3816 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
3817 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003818 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3819 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
David Tardon1546c292013-05-07 20:41:41 +02003820 $(call gb_UnoApi_get_target,offapi) \
3821 $(call gb_UnoApi_get_target,udkapi) \
3822)
3823endef
3824
Michael Stahl187194b2014-02-11 19:17:42 +01003825ifeq ($(SYSTEM_ICU),)
David Tardonedf67302012-12-30 12:27:04 +01003826
3827define gb_Executable__register_gendict
3828$(call gb_Executable_add_runtime_dependencies,gendict,\
3829 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003830 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardonedf67302012-12-30 12:27:04 +01003831)
3832endef
3833
3834endif
3835
David Tardonceb0d062012-12-30 13:11:43 +01003836define gb_Executable__register_idlc
3837$(call gb_Executable_add_runtime_dependencies,idlc,\
David Tardonce038cf2013-10-20 20:43:46 +02003838 $(call gb_ExternalExecutable_get_dependencies,ucpp) \
David Tardonceb0d062012-12-30 13:11:43 +01003839)
3840endef
3841
David Tardonedf67302012-12-30 12:27:04 +01003842define gb_Executable__register_localize
3843$(call gb_Executable_add_runtime_dependencies,localize,\
Caolán McNamara00657ae2017-06-11 20:56:30 +01003844 $(foreach exec,cfgex helpex propex treex ulfex xrmex,\
David Tardonedf67302012-12-30 12:27:04 +01003845 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3846 ) \
3847)
3848endef
3849
Michael Stahl4c51feb2013-09-21 01:39:41 +02003850# FIXME ure/services.rdb needs cleanup
Stephan Bergmannab149c72013-04-24 10:42:40 +02003851# The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
David Tardonedf67302012-12-30 12:27:04 +01003852# due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3853# FIXME: the library target should be for build too
3854define gb_Executable__register_saxparser
3855$(call gb_Executable_add_runtime_dependencies,saxparser,\
3856 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardon92f66c52014-10-13 16:59:33 +02003857 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003858 $(call gb_Rdb_get_target_for_build,saxparser) \
Tor Lillqvistcb872392016-08-17 01:14:54 +03003859 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003860 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003861)
3862endef
3863
Stephan Bergmannab149c72013-04-24 10:42:40 +02003864# NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
David Tardonedf67302012-12-30 12:27:04 +01003865# required due to the settings for URE_SERVICES and URE_TYPES in
3866# cppuhelper/source/unorc
3867# FIXME: the library target should be for build too
3868define gb_Executable__register_uno
3869$(call gb_Executable_add_runtime_dependencies,uno,\
3870 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Michael Stahl4e6b4fb2015-11-27 12:49:34 +01003871 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003872 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003873)
3874endef
3875
3876
3877# External executables
3878
Michael Stahl379f9782014-02-11 16:49:19 +01003879ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003880
3881gb_ExternalExecutable__register_xmllint :=
3882
3883else # ! SYSTEM_LIBXML_FOR_BUILD
3884
3885define gb_ExternalExecutable__register_xmllint
David Tardondbac8f52014-04-18 18:34:40 +02003886$(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 +02003887$(call gb_ExternalExecutable_add_dependencies,xmllint,\
3888 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
3889 $(call gb_Package_get_target,xml2) \
3890)
David Tardonc2eca352012-12-02 10:51:37 +01003891
3892endef
3893
3894endif # SYSTEM_LIBXML_FOR_BUILD
3895
Michael Stahle3abec32014-02-11 15:57:18 +01003896ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003897
3898gb_ExternalExecutable__register_xsltproc :=
3899
3900else # ! SYSTEM_LIBXSLT_FOR_BUILD
3901
3902define gb_ExternalExecutable__register_xsltproc
David Tardondbac8f52014-04-18 18:34:40 +02003903$(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 +02003904$(call gb_ExternalExecutable_add_dependencies,xsltproc,\
3905 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl56b2bb52015-07-31 11:08:04 +02003906 $(call gb_Package_get_target,xml2) \
David Tardon5b660242014-07-28 10:38:49 +02003907 $(call gb_Package_get_target,xslt) \
3908)
David Tardonc2eca352012-12-02 10:51:37 +01003909
3910endef
3911
3912endif # SYSTEM_LIBXSLT_FOR_BUILD
3913
David Tardonce038cf2013-10-20 20:43:46 +02003914ifneq (,$(SYSTEM_UCPP))
3915
3916gb_ExternalExecutable__register_ucpp :=
3917
3918else # ! SYSTEM_UCPP
3919
3920define gb_ExternalExecutable__register_ucpp
David Tardon489d2ea2013-10-21 08:17:32 +02003921$(call gb_ExternalExecutable_set_internal,ucpp,$(INSTDIR_FOR_BUILD)/$(SDKDIRNAME)/bin/ucpp$(gb_Executable_EXT_for_build))
David Tardonce038cf2013-10-20 20:43:46 +02003922
3923endef
3924
3925endif # SYSTEM_UCPP
3926
Matúš Kukane4826722013-03-05 22:03:38 +01003927ifeq (,$(PYTHON_FOR_BUILD))
David Tardonc2eca352012-12-02 10:51:37 +01003928
3929define gb_ExternalExecutable__register_python
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003930ifeq ($(OS),MACOSX)
3931
3932# use set_external, to avoid having the command added as prerequisite for the
3933# targets that make use of it. (Otherwise make will choke as it doesn't have a
3934# matching rule to build that specific file)
3935$(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))
3936# the Zip ensures that internal python has been built (cannot use the Package
3937# target, as that is not used on Mac)
David Tardon45a5c262013-05-16 13:36:24 +02003938$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003939
3940else
3941
Tor Lillqvist4c63fd102013-09-22 19:59:37 +03003942$(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 +01003943$(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003944$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
3945
3946endif
David Tardonc2eca352012-12-02 10:51:37 +01003947
3948endef
3949
Matúš Kukane4826722013-03-05 22:03:38 +01003950else
3951
3952define gb_ExternalExecutable__register_python
3953$(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
3954
3955endef
3956
3957endif # PYTHON_FOR_BUILD
David Tardonc2eca352012-12-02 10:51:37 +01003958
David Tardon63069262012-12-29 12:56:24 +01003959ifneq ($(SYSTEM_GENBRK),)
3960
3961define gb_ExternalExecutable__register_genbrk
3962$(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
3963
3964endef
3965
3966else # ! SYSTEM_GENBRK
3967
3968define gb_ExternalExecutable__register_genbrk
David Tardondbac8f52014-04-18 18:34:40 +02003969$(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 +01003970$(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01003971$(call gb_ExternalExecutable_add_dependencies,genbrk,\
3972 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003973 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01003974)
3975
3976endef
3977
3978endif
3979
3980ifneq ($(SYSTEM_GENCCODE),)
3981
3982define gb_ExternalExecutable__register_genccode
3983$(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
3984
3985endef
3986
3987else # ! SYSTEM_GENCCODE
3988
3989define gb_ExternalExecutable__register_genccode
David Tardondbac8f52014-04-18 18:34:40 +02003990$(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 +01003991$(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01003992$(call gb_ExternalExecutable_add_dependencies,genccode,\
3993 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02003994 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01003995)
3996
3997endef
3998
3999endif
4000
4001ifneq ($(SYSTEM_GENCMN),)
4002
4003define gb_ExternalExecutable__register_gencmn
4004$(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
4005
4006endef
4007
4008else # ! SYSTEM_GENCMN
4009
4010define gb_ExternalExecutable__register_gencmn
David Tardondbac8f52014-04-18 18:34:40 +02004011$(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 +01004012$(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004013$(call gb_ExternalExecutable_add_dependencies,gencmn,\
4014 $(call gb_Package_get_target_for_build,icu) \
Stephan Bergmann475e4b42016-10-25 16:46:35 +02004015 $(call gb_Package_get_target_for_build,icu_ure) \
David Tardon63069262012-12-29 12:56:24 +01004016)
4017
4018endef
4019
4020endif
4021
Jacobo Aragunde Péreze6fe5082015-02-02 19:49:37 +00004022ifeq (OWNCLOUD_ANDROID_LIB,$(filter OWNCLOUD_ANDROID_LIB,$(BUILD_TYPE)))
4023
4024$(eval $(call gb_Helper_register_jars,OXT,\
4025 owncloud-android-library \
4026))
4027
4028define gb_Jar__use_owncloud_android_lib
4029$(call gb_Jar_use_external_project,$(1),owncloud-android-lib)
4030$(call gb_Jar_use_external_jar,$(1),$(call gb_UnpackedTarball_get_dir,owncloud-android-lib)/bin/owncloud-android-library.jar)
4031endef
4032define gb_ExternalProject__use_owncloud_android_lib
4033$(call gb_ExternalProject_use_external_project,$(1),owncloud_android_lib)
4034endef
4035
4036endif
4037
Nathan Yee7eb863d2015-07-03 11:58:27 +02004038ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4039ifneq ($(SYSTEM_BZIP2),)
4040
4041define gb_LinkTarget__use_bzip2
4042$(call gb_LinkTarget_set_include,$(1),\
4043 $(BZIP2_CFLAGS) \
4044 $$(INCLUDE) \
4045)
4046$(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4047
4048endef
Jan Holesovsky025952f2015-07-03 13:46:38 +02004049
Nathan Yee7eb863d2015-07-03 11:58:27 +02004050gb_ExternalProject__use_bzip2 :=
4051
4052else # !SYSTEM_BZIP2
4053
4054define gb_LinkTarget__use_bzip2
Nathan Yee7eb863d2015-07-03 11:58:27 +02004055$(call gb_LinkTarget_set_include,$(1),\
4056 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4057 $$(INCLUDE) \
4058)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004059
4060ifeq ($(COM),MSC)
4061$(call gb_LinkTarget_add_libs,$(1),\
4062 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4063)
4064else
Jan Holesovsky025952f2015-07-03 13:46:38 +02004065$(call gb_LinkTarget_add_libs,$(1),\
4066 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4067)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004068endif
4069
Jan Holesovskyec477172015-07-07 09:24:45 +02004070$(call gb_LinkTarget_use_external_project,$(1),bzip2)
Nathan Yee7eb863d2015-07-03 11:58:27 +02004071endef
4072
4073define gb_ExternalProject__use_bzip2
4074$(call gb_ExternalProject_use_external_project,$(1),bzip2)
4075endef
4076
4077endif
4078endif
4079
Stephan Bergmannec53ac62016-04-12 20:06:04 +02004080define gb_LinkTarget__use_clew
4081$(call gb_LinkTarget_set_include,$(1), \
4082 -I$(SRCDIR)/external/clew/source/include \
4083 $$(INCLUDE) \
4084)
4085$(call gb_LinkTarget_use_libraries,$(1),clew)
4086endef
4087
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004088ifneq ($(ENABLE_PDFIUM),)
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004089define gb_LinkTarget__use_pdfium
4090$(call gb_LinkTarget_set_include,$(1),\
4091 -I$(call gb_UnpackedTarball_get_dir,pdfium)/public \
4092 $$(INCLUDE) \
4093)
4094$(call gb_LinkTarget_use_libraries,$(1),pdfium)
4095endef
4096$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4097 pdfium \
4098))
Rene Engelhardf05d8e32017-03-06 18:49:00 +01004099endif
Miklos Vajnab6f9eeb2017-02-08 11:19:39 +01004100
Michael Stahlc74af0d2011-04-01 20:49:35 +00004101# vim: set noet sw=4 ts=4: