blob: 860c105c05cb0a5e98bd05166c6841ff27675e60 [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
24# for every external, a function gb_LinkTarget_use__FOO is defined,
25# 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
Matúš Kukan8e535df2012-04-07 13:59:33 +020030# External headers
31
Michael Meekscab3e222013-06-16 17:55:11 +010032ifeq ($(ENABLE_OPENCL),TRUE)
Peng Gaof01985a2013-06-16 17:18:23 +010033
34define gb_LinkTarget__use_opencl
35$(call gb_LinkTarget_set_include,$(1),\
36 $$(INCLUDE) \
37 $(OPENCL_CFLAGS) \
38)
39$(call gb_LinkTarget_add_libs,$(1),$(OPENCL_LIBS))
40
41endef
42
43else # ENABLE_OPENCL != TRUE
44
45gb_LinkTarget__use_opencl :=
46
47endif
48
Fridrich Štrbacad422a2013-03-06 16:33:07 +010049ifeq ($(SYSTEM_MARIADB),YES)
50
51define gb_LinkTarget__use_mariadb
52$(call gb_LinkTarget_set_include,$(1),\
53 $$(INCLUDE) \
54 $(MARIADB_CFLAGS) \
55)
56$(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
57
58endef
59gb_ExternalProject__use_mariadb :=
60
61else # !SYSTEM_MARIADB
62
Fridrich Štrbacad422a2013-03-06 16:33:07 +010063define gb_LinkTarget__use_mariadb
Michael Stahl6416e9b2013-05-08 00:35:28 +020064$(call gb_LinkTarget_set_include,$(1),\
65 $$(INCLUDE) \
66 $(MARIADB_CFLAGS) \
67)
Fridrich Štrbacad422a2013-03-06 16:33:07 +010068$(call gb_LinkTarget_use_static_libraries,$(1),\
69 mariadblib \
70)
71
72endef
73define gb_ExternalProject__use_mariadb
Fridrich Štrbacad422a2013-03-06 16:33:07 +010074$(call gb_ExternalProject_use_static_libraries,$(1),mariadblib)
75
76endef
77
78endif # SYSTEM_MARIADB
79
80
Peter Foley1bd28842011-09-09 17:42:24 -040081ifeq ($(SYSTEM_MESA_HEADERS),YES)
82
Matúš Kukan8e535df2012-04-07 13:59:33 +020083gb_LinkTarget__use_mesa_headers :=
Peter Foley1bd28842011-09-09 17:42:24 -040084
85else
86
Matúš Kukan8e535df2012-04-07 13:59:33 +020087define gb_LinkTarget__use_mesa_headers
Michael Stahl6b2ce082013-05-06 17:43:54 +020088$(call gb_LinkTarget_set_include,$(1),\
89 -I$(SRCDIR)/Mesa/inc \
90 $$(INCLUDE) \
91)
Matúš Kukan8e535df2012-04-07 13:59:33 +020092
Peter Foley1bd28842011-09-09 17:42:24 -040093endef
94
95endif
96
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +010097ifeq ($(SYSTEM_NPAPI_HEADERS),YES)
Matúš Kukan8e535df2012-04-07 13:59:33 +020098
Michael Stahl96907bf2013-05-07 00:50:15 +020099# yes this uses internal headers too...
100# they are split across 2 dirs for this reason
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +0100101define gb_LinkTarget__use_npapi_headers
Matúš Kukan8f6510b2012-06-02 21:54:26 +0200102$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +0100103 $(NPAPI_HEADERS_CFLAGS) \
Michael Stahl96907bf2013-05-07 00:50:15 +0200104 -I$(SRCDIR)/np_sdk \
Matúš Kukan8e535df2012-04-07 13:59:33 +0200105 $$(INCLUDE) \
Matúš Kukan8f6510b2012-06-02 21:54:26 +0200106)
Matúš Kukan8e535df2012-04-07 13:59:33 +0200107
108endef
109
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +0100110else #!SYSTEM_NPAPI_HEADERS
Matúš Kukan8e535df2012-04-07 13:59:33 +0200111
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +0100112define gb_LinkTarget__use_npapi_headers
Matúš Kukan8f6510b2012-06-02 21:54:26 +0200113$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl96907bf2013-05-07 00:50:15 +0200114 -I$(SRCDIR)/np_sdk/inc \
115 -I$(SRCDIR)/np_sdk \
Matúš Kukan8e535df2012-04-07 13:59:33 +0200116 $$(INCLUDE) \
Matúš Kukan8f6510b2012-06-02 21:54:26 +0200117)
Matúš Kukan8e535df2012-04-07 13:59:33 +0200118
119endef
120
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +0100121endif #SYSTEM_NPAPI_HEADERS
Matúš Kukan8e535df2012-04-07 13:59:33 +0200122
Matúš Kukan5eff0b62012-04-07 13:46:59 +0200123ifeq ($(SYSTEM_ODBC_HEADERS),YES)
124
125define gb_LinkTarget__use_odbc_headers
126$(call gb_LinkTarget_add_defs,$(1),\
127 -DSYSTEM_ODBC_HEADERS \
128)
129
130endef
131
132else
133
134define gb_LinkTarget__use_odbc_headers
Michael Stahlfea65aa2013-05-06 20:09:47 +0200135$(call gb_LinkTarget_set_include,$(1),\
136 -I$(SRCDIR)/unixODBC/inc \
137 $$(INCLUDE) \
138)
Matúš Kukan5eff0b62012-04-07 13:46:59 +0200139
140endef
141
142endif
143
Matúš Kukan54a06c62012-08-25 01:29:00 +0200144ifeq ($(SYSTEM_VIGRA),YES)
145
146gb_LinkTarget__use_vigra_headers :=
147
148else
149
150define gb_LinkTarget__use_vigra_headers
151$(call gb_LinkTarget_use_unpacked,$(1),vigra)
152$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200153 -I$(call gb_UnpackedTarball_get_dir,vigra/include) \
Matúš Kukan54a06c62012-08-25 01:29:00 +0200154 $$(INCLUDE) \
155)
156
157endef
158
159endif
160
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200161ifeq ($(SYSTEM_MDDS),YES)
162
163gb_LinkTarget__use_mdds_headers :=
164
165else
166
167define gb_LinkTarget__use_mdds_headers
168$(call gb_LinkTarget_use_unpacked,$(1),mdds)
169$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200170 -I$(call gb_UnpackedTarball_get_dir,mdds/include) \
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200171 $$(INCLUDE) \
172)
173
174endef
175
176endif
177
Michael Stahl674e7912013-05-06 20:23:49 +0200178ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
David Tardoneafaec92012-12-21 14:08:27 +0100179
180define gb_LinkTarget__use_sane_headers
Michael Stahl72279ea2013-05-06 20:14:35 +0200181$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl674e7912013-05-06 20:23:49 +0200182 -I$(SRCDIR)/$(if $(filter WNT,$(OS)),twain,sane)/inc \
Michael Stahl72279ea2013-05-06 20:14:35 +0200183 $$(INCLUDE) \
David Tardoneafaec92012-12-21 14:08:27 +0100184)
185
186endef
187
188else
189
190gb_LinkTarget__use_sane_headers :=
191
192endif
193
Matúš Kukan8e535df2012-04-07 13:59:33 +0200194# External libraries
195
David Tardon785e1d92011-07-25 10:34:22 +0200196ifeq ($(SYSTEM_CPPUNIT),YES)
197
198define gb_LinkTarget__use_cppunit
199$(call gb_LinkTarget_set_include,$(1),\
200 $$(INCLUDE) \
201 $(CPPUNIT_CFLAGS) \
202)
203
204$(call gb_LinkTarget_add_libs,$(1),\
205 $(CPPUNIT_LIBS) \
206)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100207
David Tardon785e1d92011-07-25 10:34:22 +0200208endef
209
210else
211
Stephan Bergmann39a6e452012-12-07 08:11:16 +0100212$(eval $(call gb_Helper_register_libraries,PLAINLIBS_NONE,\
David Tardon785e1d92011-07-25 10:34:22 +0200213 cppunit \
214))
215
216define gb_LinkTarget__use_cppunit
Peter Foley143835b2012-11-25 16:37:40 -0500217$(call gb_LinkTarget_use_package,$(1),cppunit)
218
Michael Stahlc923f7d2012-04-07 23:22:08 +0200219$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon785e1d92011-07-25 10:34:22 +0200220 cppunit \
221)
Peter Foley143835b2012-11-25 16:37:40 -0500222$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200223 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
Peter Foley143835b2012-11-25 16:37:40 -0500224 $$(INCLUDE) \
225)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100226
David Tardon785e1d92011-07-25 10:34:22 +0200227endef
228
229endif
Michael Stahlc74af0d2011-04-01 20:49:35 +0000230
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200231define gb_LinkTarget__use_iconv
232$(call gb_LinkTarget_add_libs,$(1),-liconv)
233
234endef
235
Fridrich Štrba1bf43062013-03-06 11:45:50 +0100236ifeq ($(SYSTEM_MARIADB),YES)
Peter Foleyc322d502013-01-23 16:29:08 -0500237
238define gb_LinkTarget__use_mysql
239
240$(call gb_LinkTarget_add_defs,$(1),\
Fridrich Štrba1bf43062013-03-06 11:45:50 +0100241 -DSYSTEM_MARIADB \
Peter Foleyc322d502013-01-23 16:29:08 -0500242)
243
244$(call gb_LinkTarget_add_libs,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100245 $(MARIADB_LIBS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500246)
247
248$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100249 $(MARIADB_CFLAGS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500250 $$(INCLUDE) \
251)
252endef
253
254else
255
256define gb_LinkTarget__use_mysql
257
258$(call gb_LinkTarget_set_include,$(1),\
Peter Foleyc322d502013-01-23 16:29:08 -0500259 $$(INCLUDE) \
260)
261
262endef
263
264endif
265
266ifeq ($(SYSTEM_MYSQL_CPPCONN),YES)
267
268define gb_LinkTarget__use_mysqlcppconn
269$(call gb_LinkTarget_add_libs,$(1),\
270 -lmysqlcppconn \
271)
272
273$(call gb_LinkTarget_add_defs,$(1),\
Peter Foleyb02d7992013-01-24 15:43:52 -0500274 -DSYSTEM_MYSQL_CPPCONN \
Peter Foleyc322d502013-01-23 16:29:08 -0500275)
276endef
277
278else
279
Michael Stahl5f356bd2013-01-28 23:53:30 +0100280$(eval $(call gb_Helper_register_libraries,PLAINLIBS_NONE,\
Peter Foleyc322d502013-01-23 16:29:08 -0500281 mysqlcppconn \
282))
283
Michael Stahl5f356bd2013-01-28 23:53:30 +0100284# note: this does not link mysqlcppconn, it is loaded via osl_loadModuleRelative
Peter Foleyc322d502013-01-23 16:29:08 -0500285define gb_LinkTarget__use_mysqlcppconn
286
Michael Stahl5f356bd2013-01-28 23:53:30 +0100287$(call gb_LinkTarget_use_unpacked,$(1),mysqlcppconn)
288
Peter Foleyb02d7992013-01-24 15:43:52 -0500289$(call gb_LinkTarget_add_defs,$(1),\
290 -DCPPCONN_LIB_BUILD \
291)
292
Peter Foleyc322d502013-01-23 16:29:08 -0500293$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200294 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn) \
295 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn)/cppconn \
Peter Foleyc322d502013-01-23 16:29:08 -0500296 $$(INCLUDE) \
297)
298
299endef
300
301endif
302
Michael Stahlc74af0d2011-04-01 20:49:35 +0000303ifeq ($(SYSTEM_ZLIB),YES)
304
305define gb_LinkTarget__use_zlib
Michael Stahla88ef232011-04-13 16:11:41 +0000306$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000307 -DSYSTEM_ZLIB \
308)
309$(call gb_LinkTarget_add_libs,$(1),-lz)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100310
Michael Stahlc74af0d2011-04-01 20:49:35 +0000311endef
312
David Tardoncb276232012-10-26 15:33:26 +0200313# nothing on system
314define gb_LinkTarget__use_zlib_x64
315
316endef
317
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100318gb_ExternalProject__use_zlib :=
319
Michael Stahlc74af0d2011-04-01 20:49:35 +0000320else # !SYSTEM_ZLIB
321
David Tardoncb276232012-10-26 15:33:26 +0200322define gb_LinkTarget__use_zlib_multiarch
323$(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
324
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200325$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl3c38b772013-05-08 15:47:24 +0200326 $(ZLIB_CFLAGS) \
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200327 $$(INCLUDE) \
328)
David Tardoncb276232012-10-26 15:33:26 +0200329
Michael Stahlc923f7d2012-04-07 23:22:08 +0200330$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardoncb276232012-10-26 15:33:26 +0200331 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000332)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100333
Michael Stahlc74af0d2011-04-01 20:49:35 +0000334endef
335
David Tardoncb276232012-10-26 15:33:26 +0200336define gb_LinkTarget__use_zlib
337$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
338
339endef
340
341define gb_LinkTarget__use_zlib_x64
342$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
343
344endef
345
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100346define gb_ExternalProject__use_zlib
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100347$(call gb_ExternalProject_use_static_libraries,$(1),zlib)
348
349endef
350
Michael Stahlc74af0d2011-04-01 20:49:35 +0000351endif # SYSTEM_ZLIB
352
353
354ifeq ($(SYSTEM_JPEG),YES)
355
356define gb_LinkTarget__use_jpeg
357$(call gb_LinkTarget_add_libs,$(1),-ljpeg)
358$(call gb_LinkTarget_set_ldflags,$(1),\
Michael Stahl73d2fe92011-04-13 16:11:39 +0000359 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000360)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100361
Michael Stahlc74af0d2011-04-01 20:49:35 +0000362endef
363
364else # !SYSTEM_JPEG
365
Michael Stahlc74af0d2011-04-01 20:49:35 +0000366define gb_LinkTarget__use_jpeg
Matúš Kukane8a28be2012-01-21 00:46:29 +0100367$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlb65859c2013-05-08 17:30:40 +0200368 -I$(call gb_UnpackedTarball_get_dir,jpeg) \
Matúš Kukane8a28be2012-01-21 00:46:29 +0100369 $$(INCLUDE) \
Matúš Kukane8a28be2012-01-21 00:46:29 +0100370)
371
Michael Stahlc923f7d2012-04-07 23:22:08 +0200372$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardon4ed91fd2012-10-12 09:32:02 +0200373 jpeg \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000374)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100375
Michael Stahlc74af0d2011-04-01 20:49:35 +0000376endef
377
378endif # SYSTEM_JPEG
379
Peter Foley1d1bab42012-10-28 12:00:06 -0400380ifeq ($(SYSTEM_MYTHES),YES)
381
382define gb_LinkTarget__use_mythes
Rene Engelhard99ef1f52012-10-28 23:00:03 +0100383$(call gb_LinkTarget_set_include,$(1),\
384 $$(INCLUDE) \
385 $(MYTHES_CFLAGS) \
386)
387$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
388
Peter Foley1d1bab42012-10-28 12:00:06 -0400389endef
390
391else # !SYSTEM_MYTHES
392
Peter Foley1d1bab42012-10-28 12:00:06 -0400393define gb_LinkTarget__use_mythes
Michael Stahl90ad80e32013-05-07 23:59:00 +0200394$(call gb_LinkTarget_set_include,$(1),\
395 -I$(call gb_UnpackedTarball_get_dir,mythes) \
396 $$(INCLUDE) \
397)
Peter Foley1d1bab42012-10-28 12:00:06 -0400398$(call gb_LinkTarget_use_package,$(1),\
399 mythes \
400)
Matúš Kukan327db9f2012-10-28 22:40:30 +0100401$(call gb_LinkTarget_use_static_libraries,$(1),\
402 mythes \
Peter Foley1d1bab42012-10-28 12:00:06 -0400403)
Matúš Kukan327db9f2012-10-28 22:40:30 +0100404
Peter Foley1d1bab42012-10-28 12:00:06 -0400405endef
406
407endif # SYSTEM_MYTHES
408
Michael Stahlc74af0d2011-04-01 20:49:35 +0000409
410ifeq ($(SYSTEM_EXPAT),YES)
411
David Tardon51149802013-04-09 09:22:20 +0200412define gb_LinkTarget__use_expat_impl
413$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000414
Michael Stahla88ef232011-04-13 16:11:41 +0000415$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000416 -DSYSTEM_EXPAT \
417)
418
419$(call gb_LinkTarget_add_libs,$(1),-lexpat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100420
Michael Stahlc74af0d2011-04-01 20:49:35 +0000421endef
422
Michael Stahl77289672012-11-17 00:36:29 +0100423gb_ExternalProject__use_expat :=
424
Michael Stahlc74af0d2011-04-01 20:49:35 +0000425else # !SYSTEM_EXPAT
426
David Tardon51149802013-04-09 09:22:20 +0200427define gb_LinkTarget__use_expat_impl
428$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000429
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700430$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl5e037bb2013-05-07 21:47:18 +0200431 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700432 $$(INCLUDE) \
433)
434
Michael Stahlc923f7d2012-04-07 23:22:08 +0200435$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000436 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000437)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100438
Michael Stahlc74af0d2011-04-01 20:49:35 +0000439endef
440
Michael Stahl77289672012-11-17 00:36:29 +0100441define gb_ExternalProject__use_expat
Michael Stahl77289672012-11-17 00:36:29 +0100442$(call gb_ExternalProject_use_static_libraries,$(1),expat)
443
444endef
445
Michael Stahlc74af0d2011-04-01 20:49:35 +0000446endif # SYSTEM_EXPAT
447
David Tardon51149802013-04-09 09:22:20 +0200448define gb_LinkTarget__use_expat
449$(call gb_LinkTarget__use_expat_impl,$(1),expat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100450
Michael Stahlc74af0d2011-04-01 20:49:35 +0000451endef
452
David Tardon51149802013-04-09 09:22:20 +0200453define gb_LinkTarget__use_expat_x64
454$(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100455
Michael Stahlc74af0d2011-04-01 20:49:35 +0000456endef
457
Peter Foleydd584cb2012-11-03 13:54:46 -0400458ifeq ($(SYSTEM_HYPH),YES)
459
460define gb_LinkTarget__use_hyphen
461$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
462
463endef
464
465else # !SYSTEM_HYPH
466
Peter Foleydd584cb2012-11-03 13:54:46 -0400467define gb_LinkTarget__use_hyphen
468$(call gb_LinkTarget_use_unpacked,$(1),hyphen)
469$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200470 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
Peter Foleydd584cb2012-11-03 13:54:46 -0400471 $$(INCLUDE) \
472)
473$(call gb_LinkTarget_use_static_libraries,$(1),\
474 hyphen \
475)
476
477endef
478
479endif # SYSTEM_HYPH
480
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100481ifeq ($(SYSTEM_HUNSPELL),YES)
482
483define gb_LinkTarget__use_hunspell
484$(call gb_LinkTarget_set_include,$(1),\
485 $$(INCLUDE) \
486 $(HUNSPELL_CFLAGS) \
487)
488$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
489
490endef
491
492else # !SYSTEM_HUNSPELL
493
494define gb_LinkTarget__use_hunspell
495$(call gb_LinkTarget_add_defs,$(1),\
496 -DHUNSPELL_STATIC \
497)
Matúš Kukan7a030392012-10-29 23:29:37 +0100498$(call gb_LinkTarget_use_unpacked,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100499$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200500 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
Matúš Kukan7a030392012-10-29 23:29:37 +0100501 $$(INCLUDE) \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100502)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200503$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan327db9f2012-10-28 22:40:30 +0100504 hunspell \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100505)
506
507endef
508
509endif # SYSTEM_HUNSPELL
510
511
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200512ifeq ($(SYSTEM_BOOST),YES)
513
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200514define gb_LinkTarget__use_boostdatetime
David Tardon0f6919c2012-06-06 17:04:01 +0200515$(call gb_LinkTarget_set_include,$(1),\
516 $$(INCLUDE) \
517 $(BOOST_CPPFLAGS) \
518)
519
520$(call gb_LinkTarget_add_ldflags,$(1),\
521 $(BOOST_LDFLAGS) \
522)
523
524$(call gb_LinkTarget_add_libs,$(1),\
525 $(BOOST_DATE_TIME_LIB) \
526)
527
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200528endef
529
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200530define gb_LinkTarget__use_boostsystem
Tor Lillqvist503b2482013-05-22 19:50:22 +0300531$(call gb_LinkTarget_set_include,$(1),\
532 $$(INCLUDE) \
533 $(BOOST_CPPFLAGS) \
534)
535
536$(call gb_LinkTarget_add_ldflags,$(1),\
537 $(BOOST_LDFLAGS) \
538)
539
540$(call gb_LinkTarget_add_libs,$(1),\
541 $(BOOST_SYSTEM_LIB) \
542)
543
544endef
545
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200546gb_ExternalProject__use_boostsystem :=
Tor Lillqvist503b2482013-05-22 19:50:22 +0300547
Stephan Bergmann93208022013-02-16 22:56:19 +0100548define gb_LinkTarget__use_boost_headers
549$(call gb_LinkTarget_set_include,$(1),\
550 $$(INCLUDE) \
551 $(BOOST_CPPFLAGS) \
552)
553
554endef
555
Peter Foleycdb6eca2012-11-10 08:56:12 -0500556gb_ExternalProject__use_boost_headers:=
557
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200558else # !SYSTEM_BOOST
559
Kohei Yoshida0454b732012-09-06 15:10:19 -0400560ifeq ($(OS),WNT)
Michael Stahl7f2e1682012-09-06 20:22:11 +0200561define gb_LinkTarget__use_boostthread
562$(call gb_LinkTarget_add_defs,$(1),\
563 -DBOOST_ALL_NO_LIB \
564)
565
566$(call gb_LinkTarget_use_static_libraries,$(1),\
567 boostthread \
568)
569endef
Matúš Kukanddb5edc2013-05-30 14:39:38 +0200570endif
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200571
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200572define gb_LinkTarget__use_boostdatetime
Michael Stahl7f2e1682012-09-06 20:22:11 +0200573$(call gb_LinkTarget_add_defs,$(1),\
574 -DBOOST_ALL_NO_LIB \
575)
576
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200577$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200578 boostdatetime \
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200579)
580
581endef
582
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200583define gb_LinkTarget__use_boostsystem
Tor Lillqvist503b2482013-05-22 19:50:22 +0300584$(call gb_LinkTarget_add_defs,$(1),\
585 -DBOOST_ALL_NO_LIB \
586)
587
588$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200589 boostsystem \
Tor Lillqvist503b2482013-05-22 19:50:22 +0300590)
591
592endef
593
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200594define gb_ExternalProject__use_boostsystem
Michael Stahl963737d2013-05-29 18:36:29 +0200595$(call gb_ExternalProject_use_static_libraries,$(1),boostsystem)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300596endef
597
Peter Foleye1f742a2012-11-12 18:37:10 -0500598define gb_LinkTarget__use_boost_headers
Christian Lohmaier1654a1e72012-11-14 18:11:30 +0100599$(call gb_LinkTarget_use_unpacked,$(1),boost)
Michael Stahla53586f2013-01-26 21:19:13 +0100600$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200601 -I$(call gb_UnpackedTarball_get_dir,boost) \
Michael Stahla53586f2013-01-26 21:19:13 +0100602 $$(INCLUDE) \
603)
Peter Foleye1f742a2012-11-12 18:37:10 -0500604
605endef
606
Peter Foleycdb6eca2012-11-10 08:56:12 -0500607define gb_ExternalProject__use_boost_headers
Christian Lohmaier1654a1e72012-11-14 18:11:30 +0100608$(call gb_ExternalProject_get_preparation_target,$(1)) :| $(call gb_UnpackedTarball_get_final_target,boost)
Peter Foleycdb6eca2012-11-10 08:56:12 -0500609
610endef
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200611endif # SYSTEM_BOOST
612
613
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100614ifeq ($(SYSTEM_CMIS),YES)
Matúš Kukan464b4332012-01-15 02:12:49 +0100615
616define gb_LinkTarget__use_cmis
617$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100618 $$(INCLUDE) \
Matúš Kukan707194e2012-09-06 18:19:34 +0200619 $(CMIS_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100620)
Matúš Kukan707194e2012-09-06 18:19:34 +0200621$(call gb_LinkTarget_add_libs,$(1),$(CMIS_LIBS))
Matúš Kukan464b4332012-01-15 02:12:49 +0100622
623endef
624
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100625else # !SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100626
Matúš Kukan464b4332012-01-15 02:12:49 +0100627define gb_LinkTarget__use_cmis
Michael Stahl759d02b2013-05-08 00:55:21 +0200628$(call gb_LinkTarget_set_include,$(1),\
629 -I$(call gb_UnpackedTarball_get_dir,cmis)/src \
630 $$(INCLUDE) \
631)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200632$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100633 cmislib \
634)
635
636endef
637
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100638endif # SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100639
Peter Foleye5ccda42012-12-25 11:23:58 -0500640ifeq ($(OS)$(COM),WNTGCC)
641
642define gb_LinkTarget__use_jawt
643$(call gb_LinkTarget_use_packages,$(1),\
644 jawt \
645)
646
647endef
648
649else # $(OS)$(COM) != WNTGCC
650
651gb_LinkTarget__use_jawt :=
652
653endif # $(OS)$(COM) = WNTGCC
654
Matúš Kukan464b4332012-01-15 02:12:49 +0100655
Andrzej J.R. Hunt1cadc972013-06-14 14:55:22 +0100656ifeq ($(SYSTEM_LIBATOMIC_OPS),YES)
657
658define gb_LinkTarget__use_libatomic_ops
659$(call gb_LinkTarget_set_include,$(1),\
660 $$(INCLUDE) \
661 $(LIBATOMIC_OPS_CFLAGS) \
662)
663$(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
664
665endef
666gb_ExternalProject__use_libatomic_ops :=
667
668else # !SYSTEM_LIBATOMIC_OPS
669
670$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
671 libatomic-ops-7.2d \
672))
673
674
675define gb_LinkTarget__use_libatomic_ops
676$(call gb_LinkTarget_set_include,$(1),\
677$(LIBATOMIC_OPS_CFLAGS) \
678 $$(INCLUDE) \
679 $(LIBATOMIC_OPS_CFLAGS) \
680)
681$(call gb_LinkTarget_use_package,$(1),\
682 libatomic_ops \
683)
684$(call gb_LinkTarget_use_static_libraries,$(1),\
685 libatomic_ops \
686)
687
688endef
689
690define gb_ExternalProject__use_libatomic_ops
691$(call gb_ExternalProject_use_package,$(1),libatomic_ops)
692
693endef
694
695endif # SYSTEM_LIBATOMIC_OPS
696
697
Matúš Kukanbd030302011-12-03 15:06:52 +0100698ifeq ($(SYSTEM_LIBEXTTEXTCAT),YES)
699
700define gb_LinkTarget__use_libexttextcat
701$(call gb_LinkTarget_set_include,$(1),\
702 $$(INCLUDE) \
703 $(LIBEXTTEXTCAT_CFLAGS) \
704)
Peter Foley31219f02012-11-09 17:25:56 -0500705$(call gb_LinkTarget_add_defs,$(1),\
706 -DSYSTEM_LIBEXTTEXTCAT \
707)
Matúš Kukanbd030302011-12-03 15:06:52 +0100708$(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
709
710endef
711
712else # !SYSTEM_LIBEXTTEXTCAT
713
Matúš Kukanbd030302011-12-03 15:06:52 +0100714define gb_LinkTarget__use_libexttextcat
Michael Stahlc923f7d2012-04-07 23:22:08 +0200715$(call gb_LinkTarget_use_static_libraries,$(1),\
Peter Foley31219f02012-11-09 17:25:56 -0500716 exttextcat \
Matúš Kukanbd030302011-12-03 15:06:52 +0100717)
Peter Foley31219f02012-11-09 17:25:56 -0500718
719$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200720 -I$(call gb_UnpackedTarball_get_dir,exttextcat/src) \
Peter Foley31219f02012-11-09 17:25:56 -0500721 $$(INCLUDE) \
722)
Matúš Kukanbd030302011-12-03 15:06:52 +0100723
724endef
725
726endif # SYSTEM_LIBEXTTEXTCAT
727
728
Michael Stahlc74af0d2011-04-01 20:49:35 +0000729ifeq ($(SYSTEM_LIBXML),YES)
730
731define gb_LinkTarget__use_libxml2
Michael Stahla88ef232011-04-13 16:11:41 +0000732$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000733 -DSYSTEM_LIBXML \
734)
735$(call gb_LinkTarget_set_include,$(1),\
736 $$(INCLUDE) \
737 $(LIBXML_CFLAGS) \
738)
739$(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100740
Michael Stahlc74af0d2011-04-01 20:49:35 +0000741endef
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500742gb_ExternalProject__use_libxml2:=
Michael Stahlc74af0d2011-04-01 20:49:35 +0000743
744else # !SYSTEM_LIBXML
745
746$(eval $(call gb_Helper_register_libraries,PLAINLIBS_URE, \
747 xml2 \
748))
749
750define gb_LinkTarget__use_libxml2
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500751$(call gb_LinkTarget_use_package,$(1),xml2)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200752$(call gb_LinkTarget_use_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000753 xml2 \
754)
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500755$(call gb_LinkTarget_set_include,$(1),\
756 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +0200757 -I$(call gb_UnpackedTarball_get_dir,xml2)/include \
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500758)
759
760endef
761define gb_ExternalProject__use_libxml2
762$(call gb_ExternalProject_use_package,$(1),xml2)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100763
Michael Stahlc74af0d2011-04-01 20:49:35 +0000764endef
765
766endif # SYSTEM_LIBXML
767
768
769ifeq ($(SYSTEM_LIBXSLT),YES)
770
771define gb_LinkTarget__use_libxslt
772$(call gb_LinkTarget_set_include,$(1),\
773 $$(INCLUDE) \
774 $(LIBXSLT_CFLAGS) \
775)
776$(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100777
Michael Stahlc74af0d2011-04-01 20:49:35 +0000778endef
779
David Tardonab03e872012-08-15 07:20:13 +0200780define gb_LinkTarget__use_libexslt
781$(call gb_LinkTarget_set_include,$(1),\
782 $$(INCLUDE) \
783 $(LIBEXSLT_CFLAGS) \
784)
785
786$(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
787
788endef
789
Michael Stahlc74af0d2011-04-01 20:49:35 +0000790else # !SYSTEM_LIBXSLT
791
792$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
David Tardonab03e872012-08-15 07:20:13 +0200793 exslt \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000794 xslt \
795))
796
797define gb_LinkTarget__use_libxslt
Peter Foley856c0752013-02-02 15:44:30 -0500798$(call gb_LinkTarget_use_package,$(1),xslt)
799$(call gb_LinkTarget_set_include,$(1),\
800 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +0200801 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500802)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200803$(call gb_LinkTarget_use_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000804 xslt \
805)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100806
Michael Stahlc74af0d2011-04-01 20:49:35 +0000807endef
808
David Tardonab03e872012-08-15 07:20:13 +0200809define gb_LinkTarget__use_libexslt
Peter Foley856c0752013-02-02 15:44:30 -0500810$(call gb_LinkTarget_use_package,$(1),xslt)
811$(call gb_LinkTarget_set_include,$(1),\
812 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +0200813 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -0500814)
815
David Tardonab03e872012-08-15 07:20:13 +0200816$(call gb_LinkTarget_use_libraries,$(1),\
817 exslt \
818)
819
820endef
821
Michael Stahlc74af0d2011-04-01 20:49:35 +0000822endif # SYSTEM_LIBXSLT
823
Eike Rathkea774a482012-08-06 19:22:43 +0200824define gb_LinkTarget__use_glib
Tor Lillqviste10124b2012-11-06 18:08:16 +0200825$(error gb_LinkTarget__use_glib should not be called any more)
Eike Rathkea774a482012-08-06 19:22:43 +0200826endef
827
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +0200828ifeq ($(ENABLE_LIBLANGTAG),YES)
829
Eike Rathkea774a482012-08-06 19:22:43 +0200830ifeq ($(SYSTEM_LIBLANGTAG),YES)
831
832define gb_LinkTarget__use_liblangtag
833$(call gb_LinkTarget_set_include,$(1),\
834 $$(INCLUDE) \
835 $(LIBLANGTAG_CFLAGS) \
836)
837
838$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
839
840endef
841
842else # !SYSTEM_LIBLANGTAG
843
Eike Rathkea774a482012-08-06 19:22:43 +0200844define gb_LinkTarget__use_liblangtag
Peter Foley782151a2012-11-11 16:02:36 -0500845$(call gb_LinkTarget_use_unpacked,$(1),langtag)
846$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200847 -I$(call gb_UnpackedTarball_get_dir,langtag) \
Peter Foley782151a2012-11-11 16:02:36 -0500848 $$(INCLUDE) \
849)
Fridrich Štrba9fe90112012-11-13 11:59:33 +0100850$(call gb_LinkTarget_use_static_libraries,$(1),\
Eike Rathkea774a482012-08-06 19:22:43 +0200851 langtag \
852)
853
854endef
855
856endif # SYSTEM_LIBLANGTAG
857
Matúš Kukan51ba7db2013-05-02 12:19:35 +0200858else
859
860gb_LinkTarget__use_liblangtag :=
861
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +0200862endif # ENABLE_LIBLANGTAG
863
Eike Rathkea774a482012-08-06 19:22:43 +0200864
Matúš Kukan464b4332012-01-15 02:12:49 +0100865ifeq ($(SYSTEM_NEON),YES)
866
867define gb_LinkTarget__use_neon
Matúš Kukan464b4332012-01-15 02:12:49 +0100868$(call gb_LinkTarget_add_defs,$(1),\
869 -DNEON_VERSION=0x$(NEON_VERSION) \
870)
Matúš Kukan464b4332012-01-15 02:12:49 +0100871$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100872 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +0000873 $(NEON_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100874)
875
876$(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
877
878endef
879
880else # !SYSTEM_NEON
881
Matúš Kukanbb6c5a52012-09-11 12:56:39 +0200882$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
Matúš Kukan464b4332012-01-15 02:12:49 +0100883 neon \
884))
885
886define gb_LinkTarget__use_neon
Matúš Kukan7a030392012-10-29 23:29:37 +0100887$(call gb_LinkTarget_use_unpacked,$(1),neon)
Matúš Kukan464b4332012-01-15 02:12:49 +0100888$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200889 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100890 $$(INCLUDE) \
891)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200892$(call gb_LinkTarget_use_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100893 neon \
894)
895
896endef
897
898endif # SYSTEM_NEON
899
900
Michael Stahlc74af0d2011-04-01 20:49:35 +0000901ifeq ($(SYSTEM_REDLAND),YES)
902
903define gb_LinkTarget__use_librdf
Michael Stahla88ef232011-04-13 16:11:41 +0000904$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000905 -DSYSTEM_REDLAND \
906)
907$(call gb_LinkTarget_set_include,$(1),\
908 $$(INCLUDE) \
909 $(REDLAND_CFLAGS) \
910)
911$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100912
Michael Stahlc74af0d2011-04-01 20:49:35 +0000913endef
914
Peter Foley18bd1e72012-12-27 18:04:21 -0500915gb_LinkTarget__use_redland_headers:=
916
917gb_LinkTarget__use_raptor_headers:=
918
919gb_LinkTarget__use_rasqal_headers:=
920
Michael Stahlc74af0d2011-04-01 20:49:35 +0000921else # !SYSTEM_REDLAND
922
Peter Foley18bd1e72012-12-27 18:04:21 -0500923define gb_LinkTarget__use_redland_headers
924$(call gb_LinkTarget_set_include,$(1),\
Michael Stahld719c012013-04-01 12:41:18 +0200925 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -0500926 $$(INCLUDE) \
927)
928
929endef
930
931define gb_LinkTarget__use_raptor_headers
932$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200933 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -0500934 $$(INCLUDE) \
935)
936
937endef
938
939define gb_LinkTarget__use_rasqal_headers
940$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200941 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -0500942 $$(INCLUDE) \
943)
944
945endef
946
Tor Lillqvist9a42ca72012-04-19 21:45:14 +0300947ifneq ($(OS),ANDROID)
948
Michael Stahlc74af0d2011-04-01 20:49:35 +0000949$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
David Tardon491dea02013-05-01 11:23:50 +0200950 raptor2 \
951 rasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000952 rdf \
953))
954
955define gb_LinkTarget__use_librdf
Michael Stahl95565d52013-05-07 12:17:20 +0200956$(call gb_LinkTarget_use_packages,$(1),raptor rasqal redland)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200957$(call gb_LinkTarget_use_libraries,$(1),\
Michael Stahl246a78b2013-06-26 21:57:03 +0200958 raptor2 \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000959 rdf \
960)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100961
Michael Stahlc74af0d2011-04-01 20:49:35 +0000962endef
963
Tor Lillqvist9a42ca72012-04-19 21:45:14 +0300964else # ANDROID
965
Tor Lillqvist9a42ca72012-04-19 21:45:14 +0300966define gb_LinkTarget__use_librdf
Michael Stahl95565d52013-05-07 12:17:20 +0200967$(call gb_LinkTarget_use_packages,$(1),raptor rasqal redland)
Tor Lillqvist9a42ca72012-04-19 21:45:14 +0300968$(call gb_LinkTarget_use_static_libraries,$(1),\
969 rdf \
970 rasqal \
Michael Stahld719c012013-04-01 12:41:18 +0200971 raptor2 \
Tor Lillqvist9a42ca72012-04-19 21:45:14 +0300972)
973
974endef
975
976endif # ANDROID
977
Michael Stahlc74af0d2011-04-01 20:49:35 +0000978endif # SYSTEM_REDLAND
979
980
981ifeq ($(SYSTEM_CAIRO),YES)
982
Michael Stahlc74af0d2011-04-01 20:49:35 +0000983define gb_LinkTarget__use_cairo
984$(call gb_LinkTarget_set_include,$(1),\
985 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000986 $(CAIRO_CFLAGS) \
987)
David Tardon962771f2013-05-24 14:35:18 +0200988$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000989$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100990
Michael Stahlc74af0d2011-04-01 20:49:35 +0000991endef
992
Matúš Kukan2cb7ba12012-11-10 22:14:42 +0100993else ifeq ($(SYSTEM_CAIRO),NO)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000994
995$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
996 cairo \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +0100997 $(if $(filter-out MACOSX WNT,$(OS)), \
998 pixman-1 \
999 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001000))
Michael Stahlc74af0d2011-04-01 20:49:35 +00001001
1002define gb_LinkTarget__use_cairo
Michael Stahlde142202012-11-20 22:05:36 +01001003$(call gb_LinkTarget_use_package,$(1),cairo)
1004$(call gb_LinkTarget_use_package,$(1),pixman)
David Tardon962771f2013-05-24 14:35:18 +02001005$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001006$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001007 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1008 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001009 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001010)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001011$(call gb_LinkTarget_use_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +00001012 cairo \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001013 $(if $(filter-out MACOSX WNT,$(OS)), \
1014 pixman-1 \
1015 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001016)
Caolán McNamara5bb76f62011-07-25 21:50:34 +01001017
Michael Stahlc74af0d2011-04-01 20:49:35 +00001018endef
1019
1020endif # SYSTEM_CAIRO
1021
David Tardon962771f2013-05-24 14:35:18 +02001022ifeq ($(SYSTEM_FREETYPE),YES)
1023
1024define gb_LinkTarget__use_freetype_headers
Caolán McNamarab41ae462011-07-25 22:24:27 +01001025$(call gb_LinkTarget_set_include,$(1),\
1026 $$(INCLUDE) \
1027 $(FREETYPE_CFLAGS) \
1028)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001029
David Tardon962771f2013-05-24 14:35:18 +02001030endef
1031
1032define gb_LinkTarget__use_freetype
1033$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Caolán McNamarab41ae462011-07-25 22:24:27 +01001034$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1035
1036endef
1037
David Tardon962771f2013-05-24 14:35:18 +02001038else # ! SYSTEM_FREETYPE
1039
1040define gb_LinkTarget__use_freetype_headers
1041$(call gb_LinkTarget_set_include,$(1),\
1042 -I$(call gb_UnpackedTarball_get_dir,freetype)/include \
1043 $$(INCLUDE) \
1044)
1045
David Tardon61695f12013-05-24 17:15:20 +02001046endef
1047
David Tardon962771f2013-05-24 14:35:18 +02001048define gb_LinkTarget__use_freetype
1049$(call gb_LinkTarget_use_external,$(1),freetype_headers)
1050$(call gb_LinkTarget_use_static_libraries,$(1),freetype)
1051
1052endef
1053
1054endif # SYSTEM_FREETYPE
1055
David Tardon4eb68422013-05-24 14:16:03 +02001056ifeq ($(SYSTEM_FONTCONFIG),YES)
1057
Caolán McNamarab41ae462011-07-25 22:24:27 +01001058define gb_LinkTarget__use_fontconfig
1059$(call gb_LinkTarget_set_include,$(1),\
1060 $$(INCLUDE) \
1061 $(FONTCONFIG_CFLAGS) \
1062)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001063
Caolán McNamarab41ae462011-07-25 22:24:27 +01001064$(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1065
1066endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001067
David Tardon4eb68422013-05-24 14:16:03 +02001068else # ! SYSTEM_FONTCONFIG
1069
David Tardon4eb68422013-05-24 14:16:03 +02001070define gb_LinkTarget__use_fontconfig
1071$(call gb_LinkTarget_set_include,$(1),\
1072 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1073 $$(INCLUDE) \
1074)
1075
1076$(call gb_LinkTarget_use_static_libraries,$(1),fontconfig)
1077
1078endef
1079
1080endif # SYSTEM_FONTCONFIG
1081
Michael Stahl87e44332011-04-13 16:11:39 +00001082ifeq ($(SYSTEM_GRAPHITE),YES)
1083
Michael Stahl87e44332011-04-13 16:11:39 +00001084define gb_LinkTarget__use_graphite
Michael Stahl87e44332011-04-13 16:11:39 +00001085$(call gb_LinkTarget_set_include,$(1),\
1086 $$(INCLUDE) \
1087 $(GRAPHITE_CFLAGS) \
1088)
1089$(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001090
Michael Stahl87e44332011-04-13 16:11:39 +00001091endef
1092
Matúš Kukan1e925462012-10-26 13:37:59 +02001093else ifeq ($(SYSTEM_GRAPHITE),NO)
Michael Stahl87e44332011-04-13 16:11:39 +00001094
Michael Stahl87e44332011-04-13 16:11:39 +00001095define gb_LinkTarget__use_graphite
Matúš Kukan7a030392012-10-29 23:29:37 +01001096$(call gb_LinkTarget_use_unpacked,$(1),graphite)
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001097$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001098 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001099 $$(INCLUDE) \
1100)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001101$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001102 graphite \
Michael Stahl87e44332011-04-13 16:11:39 +00001103)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001104
Michael Stahl87e44332011-04-13 16:11:39 +00001105endef
1106
Matúš Kukan1e925462012-10-26 13:37:59 +02001107else # DISABLED GRAPHITE
1108
1109gb_LinkTarget__use_graphite :=
1110
Michael Stahl87e44332011-04-13 16:11:39 +00001111endif # SYSTEM_GRAPHITE
1112
Michael Stahlc74af0d2011-04-01 20:49:35 +00001113ifeq ($(SYSTEM_ICU),YES)
1114
Peter Foleyb92a0d92012-12-25 17:39:43 -05001115gb_LinkTarget__use_icu_headers:=
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001116gb_ExternalProject__use_icu:=
Peter Foleyb92a0d92012-12-25 17:39:43 -05001117
Matúš Kukan6fad1752011-08-11 12:42:39 +02001118define gb_LinkTarget__use_icudata
1119$(call gb_LinkTarget_add_libs,$(1),-licudata)
1120
1121endef
David Tardon1a852392011-07-26 09:58:54 +02001122define gb_LinkTarget__use_icui18n
1123$(call gb_LinkTarget_add_libs,$(1),-licui18n)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001124
David Tardon1a852392011-07-26 09:58:54 +02001125endef
Matúš Kukan6fad1752011-08-11 12:42:39 +02001126define gb_LinkTarget__use_icutu
1127$(call gb_LinkTarget_add_libs,$(1),-licutu)
1128
1129endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001130define gb_LinkTarget__use_icuuc
1131$(call gb_LinkTarget_add_libs,$(1),-licuuc)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001132
Michael Stahlc74af0d2011-04-01 20:49:35 +00001133endef
1134
1135else # !SYSTEM_ICU
1136
Tor Lillqvist084db5f2012-09-24 10:37:25 +03001137ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001138gb_ICU_suffix:=lo
1139else
1140gb_ICU_suffix:=
1141endif
1142
Peter Foleyb92a0d92012-12-25 17:39:43 -05001143define gb_LinkTarget__use_icu_headers
Peter Foleyce9bf0f2013-03-23 12:32:31 -04001144$(call gb_LinkTarget_use_unpacked,$(1),icu)
Peter Foleyb92a0d92012-12-25 17:39:43 -05001145$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001146 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1147 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1148 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
Peter Foleyb92a0d92012-12-25 17:39:43 -05001149 $$(INCLUDE) \
1150)
1151
1152endef
1153
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001154define gb_ExternalProject__use_icu
1155$(call gb_ExternalProject_use_package,$(1),icu)
Fridrich Štrba851ca9c2013-01-25 10:29:59 +01001156
1157endef
1158
Peter Foleyf7452122012-11-04 08:46:44 -05001159# icudata and icui18n is called icudt and icuin when built with MSVC :-/
Tor Lillqvistbdfca5e2011-08-19 12:38:09 +03001160ifeq ($(OS)$(COM),WNTMSC)
Jan Holesovsky534b3bc2011-08-19 09:32:18 +02001161$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1162 icudt \
1163 icuin \
Jan Holesovsky534b3bc2011-08-19 09:32:18 +02001164))
1165
Michael Stahl1658e4e2012-12-02 18:56:17 +01001166define gb_LinkTarget__use_icudata
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001167$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001168$(call gb_LinkTarget_use_libraries,$(1),\
Jan Holesovsky534b3bc2011-08-19 09:32:18 +02001169 icudt \
1170)
1171
1172endef
Michael Stahl1658e4e2012-12-02 18:56:17 +01001173define gb_LinkTarget__use_icui18n
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001174$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001175$(call gb_LinkTarget_use_libraries,$(1),\
Jan Holesovsky534b3bc2011-08-19 09:32:18 +02001176 icuin \
1177)
1178
1179endef
1180else
Michael Stahlc74af0d2011-04-01 20:49:35 +00001181$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001182 icudata$(gb_ICU_suffix) \
1183 icui18n$(gb_ICU_suffix) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001184))
1185
Matúš Kukan6fad1752011-08-11 12:42:39 +02001186define gb_LinkTarget__use_icudata
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001187$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001188$(call gb_LinkTarget_use_libraries,$(1),\
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001189 icudata$(gb_ICU_suffix) \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001190)
1191
1192endef
David Tardon1a852392011-07-26 09:58:54 +02001193define gb_LinkTarget__use_icui18n
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001194$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001195$(call gb_LinkTarget_use_libraries,$(1),\
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001196 icui18n$(gb_ICU_suffix) \
David Tardon1a852392011-07-26 09:58:54 +02001197)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001198
David Tardon1a852392011-07-26 09:58:54 +02001199endef
Jan Holesovsky534b3bc2011-08-19 09:32:18 +02001200endif
1201
Michael Stahl1658e4e2012-12-02 18:56:17 +01001202$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
Michael Stahl1658e4e2012-12-02 18:56:17 +01001203 icutu$(gb_ICU_suffix) \
1204 icuuc$(gb_ICU_suffix) \
1205))
1206
Matúš Kukan6fad1752011-08-11 12:42:39 +02001207define gb_LinkTarget__use_icutu
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001208$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001209$(call gb_LinkTarget_use_libraries,$(1),\
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001210 icutu$(gb_ICU_suffix) \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001211)
1212
1213endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001214define gb_LinkTarget__use_icuuc
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001215$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001216$(call gb_LinkTarget_use_libraries,$(1),\
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001217 icuuc$(gb_ICU_suffix) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001218)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001219
Michael Stahlc74af0d2011-04-01 20:49:35 +00001220endef
1221
1222endif # SYSTEM_ICU
1223
Fridrich Štrba9a943e52013-04-23 11:23:17 +02001224ifeq ($(ENABLE_HARFBUZZ),TRUE)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001225ifeq ($(SYSTEM_HARFBUZZ),YES)
1226
1227define gb_LinkTarget__use_harfbuzz
1228$(call gb_LinkTarget_set_include,$(1),\
1229 $$(INCLUDE) \
1230 $(HARFBUZZ_CFLAGS) \
1231)
1232$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1233
1234endef
1235
1236else # SYSTEM_HARFBUZZ != YES
1237
Khaled Hosny7e389f42013-04-20 13:00:56 +02001238define gb_LinkTarget__use_harfbuzz
Michael Stahl8db02752013-05-07 23:28:45 +02001239$(call gb_LinkTarget_set_include,$(1),\
1240 -I$(call gb_UnpackedTarball_get_dir,harfbuzz)/src \
1241 $$(INCLUDE) \
1242)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001243$(call gb_LinkTarget_use_package,$(1),\
1244 harfbuzz \
1245)
1246$(call gb_LinkTarget_use_static_libraries,$(1),\
1247 harfbuzz \
1248)
1249
1250endef
1251
1252endif # SYSTEM_HARFBUZZ
1253else # ENABLE_HARFBUZZ != YES
1254
1255gb_LinkTarget__use_harfbuzz :=
1256
1257endif # ENABLE_HARFBUZZ
Michael Stahl4a8919f2011-04-18 11:13:57 +00001258
Andres Gomeze3f607e2013-04-11 10:24:25 +03001259ifeq ($(DISABLE_OPENSSL),YES)
1260
1261gb_ExternalProject__use_openssl:=
1262gb_LinkTarget__use_openssl_headers:=
1263gb_LinkTarget__use_openssl:=
1264
1265else # !DISABLE_OPENSSL
1266
Michael Stahl4a8919f2011-04-18 11:13:57 +00001267ifeq ($(SYSTEM_OPENSSL),YES)
1268
Peter Foley9ddba662012-12-28 11:19:06 -05001269gb_LinkTarget__use_openssl_headers:=
1270gb_ExternalProject__use_openssl:=
1271
Michael Stahl4a8919f2011-04-18 11:13:57 +00001272define gb_LinkTarget__use_openssl
1273$(call gb_LinkTarget_set_include,$(1),\
1274 $$(INCLUDE) \
1275 $(OPENSSL_CFLAGS) \
1276)
1277$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001278
Michael Stahl4a8919f2011-04-18 11:13:57 +00001279endef
1280
1281else # !SYSTEM_OPENSSL
1282
1283ifeq ($(OS),WNT)
1284$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1285 crypto \
1286 ssl \
1287))
Michael Stahl4a8919f2011-04-18 11:13:57 +00001288endif
1289
Peter Foley9ddba662012-12-28 11:19:06 -05001290define gb_ExternalProject__use_openssl
1291$(call gb_ExternalProject_use_package,$(1),openssl)
1292
1293endef
1294
1295define gb_LinkTarget__use_openssl_headers
1296$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001297 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
Peter Foley9ddba662012-12-28 11:19:06 -05001298 $$(INCLUDE) \
1299)
1300
1301endef
1302
Michael Stahl4a8919f2011-04-18 11:13:57 +00001303define gb_LinkTarget__use_openssl
Peter Foley9ddba662012-12-28 11:19:06 -05001304$(call gb_LinkTarget_use_package,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001305ifeq ($(OS),WNT)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001306$(call gb_LinkTarget_use_libraries,$(1),\
Michael Stahl4a8919f2011-04-18 11:13:57 +00001307 crypto \
1308 ssl \
1309)
1310else
Michael Stahlc923f7d2012-04-07 23:22:08 +02001311$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahl4a8919f2011-04-18 11:13:57 +00001312 crypto \
1313 ssl \
1314)
1315ifeq ($(OS),SOLARIS)
Michael Stahl80374352012-09-28 12:25:50 +02001316$(call gb_LinkTarget_add_libs,$(1),\
1317 -lnsl \
1318 -lsocket \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001319)
1320endif
1321endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001322
Michael Stahl4a8919f2011-04-18 11:13:57 +00001323endef
1324
1325endif # SYSTEM_OPENSSL
Andres Gomeze3f607e2013-04-11 10:24:25 +03001326endif # DISABLE_OPENSSL
Michael Stahl4a8919f2011-04-18 11:13:57 +00001327
Matúš Kukanc4560482011-07-28 01:03:23 +02001328
Andres Gomez48d49752013-04-11 10:32:54 +03001329ifeq ($(DISABLE_OPENSSL),YES)
1330
1331define gb_LinkTarget__use_gnutls
1332$(call gb_LinkTarget_set_include,$(1),\
1333 $$(INCLUDE) \
1334 $(GNUTLS_CFLAGS) \
1335)
1336
1337$(call gb_LinkTarget_add_defs,$(1),\
1338 -DDISABLE_OPENSSL \
1339)
1340
1341$(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1342
1343endef
1344
1345define gb_LinkTarget__use_libgcrypt
1346$(call gb_LinkTarget_set_include,$(1),\
1347 $$(INCLUDE) \
1348 $(LIBGCRYPT_CFLAGS) \
1349)
1350
1351$(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1352
1353endef
1354
1355else # !DISABLE_OPENSSL
1356
1357gb_LinkTarget__use_gnutls:=
1358gb_LinkTarget__use_libgcrypt:=
1359
1360endif # DISABLE_OPENSSL
1361
1362
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001363ifeq ($(SYSTEM_CDR),YES)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001364
1365define gb_LinkTarget__use_cdr
1366$(call gb_LinkTarget_set_include,$(1),\
1367 $$(INCLUDE) \
1368 $(CDR_CFLAGS) \
1369)
1370$(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1371
1372endef
1373
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001374else # !SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001375
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001376define gb_LinkTarget__use_cdr
David Tardonf16f3662013-05-24 13:48:03 +02001377$(call gb_LinkTarget_set_include,$(1),\
1378 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1379 $$(INCLUDE) \
1380)
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001381$(call gb_LinkTarget_use_package,$(1),\
1382 libcdr \
1383)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001384$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001385 cdr-0.0 \
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001386)
1387
1388endef
1389
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001390endif # SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001391
1392
Fridrich Štrba93848e12013-05-02 20:25:51 +02001393ifeq ($(SYSTEM_ODFGEN),YES)
1394
1395define gb_LinkTarget__use_odfgen
1396$(call gb_LinkTarget_set_include,$(1),\
1397 $$(INCLUDE) \
1398 $(ODFGEN_CFLAGS) \
1399)
1400$(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1401
1402endef
1403
1404else # !SYSTEM_ODFGEN
1405
Fridrich Štrba93848e12013-05-02 20:25:51 +02001406define gb_LinkTarget__use_odfgen
David Tardon0f8a90c2013-05-24 13:49:11 +02001407$(call gb_LinkTarget_set_include,$(1),\
1408 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1409 $$(INCLUDE) \
1410)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001411$(call gb_LinkTarget_use_package,$(1),\
1412 libodfgen \
1413)
1414$(call gb_LinkTarget_use_static_libraries,$(1),\
1415 odfgen-0.0 \
1416)
1417
1418endef
1419
1420endif # SYSTEM_ODFGEN
1421
1422
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001423ifeq ($(SYSTEM_MSPUB),YES)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001424
1425define gb_LinkTarget__use_mspub
1426$(call gb_LinkTarget_set_include,$(1),\
1427 $$(INCLUDE) \
1428 $(MSPUB_CFLAGS) \
1429)
1430$(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1431
1432endef
1433
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001434else # !SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001435
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001436define gb_LinkTarget__use_mspub
Michael Stahl35ac39e2013-05-16 13:09:11 +02001437$(call gb_LinkTarget_set_include,$(1),\
1438 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
1439 $$(INCLUDE) \
1440)
Fridrich Štrba093a5c92013-01-28 10:13:50 +01001441$(call gb_LinkTarget_use_package,$(1),\
1442 libmspub \
1443)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001444$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrba093a5c92013-01-28 10:13:50 +01001445 mspub-0.0 \
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001446)
1447
1448endef
1449
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001450endif # SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001451
1452
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01001453ifeq ($(SYSTEM_VISIO),YES)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001454
1455define gb_LinkTarget__use_visio
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001456$(call gb_LinkTarget_set_include,$(1),\
1457 $$(INCLUDE) \
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02001458 $(VISIO_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001459)
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02001460$(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02001461
1462endef
1463
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01001464else # !SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02001465
Matúš Kukanc6a63952011-07-28 17:29:44 +02001466define gb_LinkTarget__use_visio
Michael Stahlacc7f612013-05-16 13:14:37 +02001467$(call gb_LinkTarget_set_include,$(1),\
1468 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
1469 $$(INCLUDE) \
1470)
Fridrich Štrba64ab6112012-11-05 11:43:55 +01001471$(call gb_LinkTarget_use_package,$(1),\
1472 libvisio \
1473)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001474$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrba64ab6112012-11-05 11:43:55 +01001475 visio-0.0 \
Matúš Kukanc6a63952011-07-28 17:29:44 +02001476)
1477
1478endef
1479
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01001480endif # SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02001481
1482
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01001483ifeq ($(SYSTEM_WPD),YES)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001484
1485define gb_LinkTarget__use_wpd
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001486$(call gb_LinkTarget_set_include,$(1),\
1487 $$(INCLUDE) \
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02001488 $(WPD_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001489)
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02001490$(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02001491
1492endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02001493gb_ExternalProject__use_wpd :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02001494
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01001495else # !SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02001496
Fridrich Štrba4425db62012-09-24 13:17:45 +02001497define gb_LinkTarget__use_wpd
Michael Stahldb5c8c52013-05-16 13:28:14 +02001498$(call gb_LinkTarget_set_include,$(1),\
1499 $(WPD_CFLAGS) \
1500 $$(INCLUDE) \
1501)
Michael Stahl34295432012-09-24 22:25:28 +02001502$(call gb_LinkTarget_use_package,$(1),\
1503 libwpd \
1504)
Fridrich Štrba4425db62012-09-24 13:17:45 +02001505$(call gb_LinkTarget_use_static_libraries,$(1),\
1506 wpd-0.9 \
1507)
1508
1509endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02001510define gb_ExternalProject__use_wpd
Michael Stahlc8d064d2013-02-20 14:14:30 +01001511$(call gb_ExternalProject_use_package,$(1),libwpd)
Michael Stahl2b7536a2012-10-05 21:17:25 +02001512
1513endef
Fridrich Štrba4425db62012-09-24 13:17:45 +02001514
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01001515endif # SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02001516
1517
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01001518ifeq ($(SYSTEM_WPG),YES)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001519
1520define gb_LinkTarget__use_wpg
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001521$(call gb_LinkTarget_set_include,$(1),\
1522 $$(INCLUDE) \
Fridrich Štrba62c43b42011-10-05 10:15:40 +02001523 $(WPG_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001524)
Fridrich Štrba62c43b42011-10-05 10:15:40 +02001525$(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02001526
1527endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02001528gb_ExternalProject__use_wpg :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02001529
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01001530else # !SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02001531
Matúš Kukanc6a63952011-07-28 17:29:44 +02001532define gb_LinkTarget__use_wpg
David Tardonc51a2542013-05-24 14:53:37 +02001533$(call gb_LinkTarget_set_include,$(1),\
1534 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
1535 $$(INCLUDE) \
1536)
Michael Stahl53b7bdc2012-10-05 17:19:47 +02001537$(call gb_LinkTarget_use_package,$(1),\
Fridrich Štrba115033f2013-04-18 15:23:28 +02001538 libwpg \
Michael Stahl53b7bdc2012-10-05 17:19:47 +02001539)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001540$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrba115033f2013-04-18 15:23:28 +02001541 wpg-0.2 \
Matúš Kukanc6a63952011-07-28 17:29:44 +02001542)
1543
1544endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02001545define gb_ExternalProject__use_wpg
Fridrich Štrba115033f2013-04-18 15:23:28 +02001546$(call gb_ExternalProject_use_package,$(1),libwpg)
Michael Stahl2b7536a2012-10-05 21:17:25 +02001547
1548endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02001549
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01001550endif # SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02001551
1552
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01001553ifeq ($(SYSTEM_WPS),YES)
Matúš Kukanc6a63952011-07-28 17:29:44 +02001554
1555define gb_LinkTarget__use_wps
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001556$(call gb_LinkTarget_set_include,$(1),\
1557 $$(INCLUDE) \
Fridrich Štrbae991bba2011-10-05 10:18:53 +02001558 $(WPS_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02001559)
Fridrich Štrbae991bba2011-10-05 10:18:53 +02001560$(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02001561
1562endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02001563gb_ExternalProject__use_wps :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02001564
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01001565else # !SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02001566
Matúš Kukanc6a63952011-07-28 17:29:44 +02001567define gb_LinkTarget__use_wps
David Tardon6f9d8212013-05-24 14:58:31 +02001568$(call gb_LinkTarget_set_include,$(1),\
1569 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
1570 $$(INCLUDE) \
1571)
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02001572$(call gb_LinkTarget_use_package,$(1),\
1573 libwps \
1574)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001575$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02001576 wps-0.2 \
Matúš Kukanc6a63952011-07-28 17:29:44 +02001577)
1578
1579endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02001580define gb_ExternalProject__use_wps
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02001581$(call gb_ExternalProject_use_package,$(1),libwps)
Michael Stahl2b7536a2012-10-05 21:17:25 +02001582
1583endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02001584
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01001585endif # SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02001586
1587
Fridrich Štrba790a36d2013-03-11 12:38:12 +01001588ifeq ($(SYSTEM_MWAW),YES)
1589
1590define gb_LinkTarget__use_mwaw
1591$(call gb_LinkTarget_set_include,$(1),\
1592 $$(INCLUDE) \
1593 $(MWAW_CFLAGS) \
1594)
1595$(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
1596
1597endef
1598
1599else # !SYSTEM_MWAW
1600
Fridrich Štrba790a36d2013-03-11 12:38:12 +01001601define gb_LinkTarget__use_mwaw
Michael Stahlff718952013-05-16 13:11:36 +02001602$(call gb_LinkTarget_set_include,$(1),\
1603 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
1604 $$(INCLUDE) \
1605)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01001606$(call gb_LinkTarget_use_package,$(1),\
1607 libmwaw \
1608)
1609$(call gb_LinkTarget_use_static_libraries,$(1),\
1610 mwaw-0.1 \
1611)
1612
1613endef
1614
1615endif # SYSTEM_MWAW
1616
1617
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01001618ifeq ($(SYSTEM_LCMS2),YES)
1619
1620define gb_LinkTarget__use_lcms2
1621$(call gb_LinkTarget_set_include,$(1),\
1622 $$(INCLUDE) \
Peter Foleyf7452122012-11-04 08:46:44 -05001623 $(LCMS2_CFLAGS) \
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01001624)
1625$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
1626
1627endef
1628
Peter Foley8905c0e2012-11-08 21:00:30 -05001629gb_ExternalProject__use_lcms2 :=
1630
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01001631else # !SYSTEM_LCMS2
1632
Peter Foley8905c0e2012-11-08 21:00:30 -05001633define gb_ExternalProject__use_lcms2
1634$(call gb_ExternalProject_use_package,$(1),lcms2)
1635
1636endef
1637
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03001638ifeq ($(OS),ANDROID)
1639
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03001640define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01001641$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02001642$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001643 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02001644 $$(INCLUDE) \
1645)
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03001646$(call gb_LinkTarget_use_static_libraries,$(1),\
1647 lcms2 \
1648)
1649
1650endef
1651
1652else
1653
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01001654$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1655 lcms2 \
1656))
1657
1658define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01001659$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02001660$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001661 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02001662 $$(INCLUDE) \
1663)
Norbert Thiebaud1b61693a2012-11-04 16:27:25 -06001664$(call gb_LinkTarget_use_libraries,$(1),\
1665 lcms2 \
1666)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01001667
1668endef
1669
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03001670endif # ANDROID
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01001671endif # SYSTEM_LCMS2
1672
1673
Matúš Kukanc4560482011-07-28 01:03:23 +02001674ifeq ($(SYSTEM_LPSOLVE),YES)
1675
Peter Foley085346f2012-11-03 19:19:30 -04001676define gb_LinkTarget__use_lpsolve
Matúš Kukanc4560482011-07-28 01:03:23 +02001677$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
Peter Foley085346f2012-11-03 19:19:30 -04001678$(call gb_LinkTarget_add_defs,$(1),\
1679 -DSYSTEM_LPSOLVE \
Peter Foley29d5e292012-11-07 18:18:08 -05001680)
Matúš Kukanc4560482011-07-28 01:03:23 +02001681
1682endef
1683
1684else # !SYSTEM_LPSOLVE
1685
1686$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1687 lpsolve55 \
1688))
1689
Peter Foley085346f2012-11-03 19:19:30 -04001690define gb_LinkTarget__use_lpsolve
1691$(call gb_LinkTarget_use_unpacked,$(1),lpsolve)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001692$(call gb_LinkTarget_use_libraries,$(1),\
Matúš Kukanc4560482011-07-28 01:03:23 +02001693 lpsolve55 \
1694)
Peter Foley085346f2012-11-03 19:19:30 -04001695$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001696 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
Peter Foley085346f2012-11-03 19:19:30 -04001697 $$(INCLUDE) \
1698)
Matúš Kukanc4560482011-07-28 01:03:23 +02001699
1700endef
1701
1702endif # SYSTEM_LPSOLVE
1703
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01001704ifeq ($(ENABLE_GIO),TRUE)
Matúš Kukanc4560482011-07-28 01:03:23 +02001705
Matúš Kukan464b4332012-01-15 02:12:49 +01001706define gb_LinkTarget__use_gio
1707$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001708 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00001709 $(GIO_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001710)
1711
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01001712$(call gb_LinkTarget_add_defs,$(1),\
1713 -DENABLE_GIO \
1714)
1715
Matúš Kukan464b4332012-01-15 02:12:49 +01001716$(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
1717
1718endef
1719
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01001720else # ENABLE_GIO
1721
1722define gb_LinkTarget__use_gio
Caolán McNamara1e98bb42012-11-06 20:09:57 +00001723
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01001724endef
1725
1726endif # ENABLE_GIO
1727
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02001728define gb_LinkTarget__use_gtk
1729$(call gb_LinkTarget_set_include,$(1),\
1730 $$(INCLUDE) \
1731 $(GTK_CFLAGS) \
1732)
1733
1734$(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
1735
David Tardonadb11052011-12-01 13:39:09 +01001736ifeq ($(ENABLE_GTK_PRINT),TRUE)
1737
1738$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
1739
1740$(call gb_LinkTarget_set_include,$(1),\
1741 $$(INCLUDE) \
1742 $(GTK_PRINT_CFLAGS) \
1743)
1744
1745$(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
1746
1747endif
1748
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02001749endef
Michael Stahl4a8919f2011-04-18 11:13:57 +00001750
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02001751define gb_LinkTarget__use_gthread
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01001752$(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02001753endef
1754
Caolán McNamara68ffb332012-09-14 11:31:50 +01001755ifeq ($(ENABLE_CUPS),TRUE)
1756
1757define gb_LinkTarget__use_cups
1758$(call gb_LinkTarget_add_defs,$(1),\
1759 -DENABLE_CUPS \
1760)
1761
1762$(call gb_LinkTarget_add_libs,$(1),\
1763 -lcups \
1764)
1765
1766endef
1767
1768else # ENABLE_CUPS
1769
1770define gb_LinkTarget__use_cups
1771
1772endef
1773
1774endif # ENABLE_DBUS
David Tardon1b717ce2011-11-02 13:00:48 +01001775
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01001776ifeq ($(ENABLE_DBUS),TRUE)
David Tardon1b717ce2011-11-02 13:00:48 +01001777
1778define gb_LinkTarget__use_dbus
1779$(call gb_LinkTarget_set_include,$(1),\
1780 $$(INCLUDE) \
1781 $(DBUS_CFLAGS) \
1782)
1783
Matúš Kukan464b4332012-01-15 02:12:49 +01001784$(call gb_LinkTarget_add_defs,$(1),\
David Tardon1b717ce2011-11-02 13:00:48 +01001785 -DENABLE_DBUS \
1786)
1787
Rene Engelhardbea61492012-09-11 02:30:09 +02001788ifeq ($(ENABLE_PACKAGEKIT),YES)
1789$(call gb_LinkTarget_add_defs,$(1),\
1790 -DENABLE_PACKAGEKIT \
1791)
1792endif # ENABLE_PACKAGEKIT
1793
David Tardon1b717ce2011-11-02 13:00:48 +01001794$(call gb_LinkTarget_add_libs,$(1),\
1795 $(DBUS_LIBS) \
1796)
1797
1798endef
1799
1800else # ENABLE_DBUS
1801
1802define gb_LinkTarget__use_dbus
1803
1804endef
1805
1806endif # ENABLE_DBUS
1807
1808
Bjoern Michaelsendd321062011-07-26 16:04:15 +02001809define gb_LinkTarget__use_dbusmenugtk
1810$(call gb_LinkTarget_set_include,$(1),\
1811 $$(INCLUDE) \
1812 $(DBUSMENUGTK_CFLAGS) \
1813)
1814
1815$(call gb_LinkTarget_add_libs,$(1),$(DBUSMENUGTK_LIBS))
1816
1817endef
1818
Eike Rathkea3a8b802012-03-16 22:14:54 +01001819
1820ifeq ($(ENABLE_TELEPATHY),TRUE)
1821
1822define gb_LinkTarget__use_telepathy
1823$(call gb_LinkTarget_set_include,$(1),\
1824 $$(INCLUDE) \
1825 $(TELEPATHY_CFLAGS) \
1826)
1827
Eike Rathkea3a8b802012-03-16 22:14:54 +01001828$(call gb_LinkTarget_add_libs,$(1),\
1829 $(TELEPATHY_LIBS) \
1830)
1831
1832endef
1833
1834else # !ENABLE_TELEPATHY
1835
Matúš Kukanfe327622012-08-09 00:15:52 +02001836gb_LinkTarget__use_telepathy :=
Eike Rathkea3a8b802012-03-16 22:14:54 +01001837
1838endif # ENABLE_TELEPATHY
1839
Peter Foley8615d092012-10-10 21:43:21 -04001840define gb_LinkTarget__use_croco
Tor Lillqviste10124b2012-11-06 18:08:16 +02001841$(error gb_LinkTarget__use_croco should not be used any more)
Peter Foley8615d092012-10-10 21:43:21 -04001842endef
1843
Peter Foley8615d092012-10-10 21:43:21 -04001844define gb_LinkTarget__use_pango
Tor Lillqviste10124b2012-11-06 18:08:16 +02001845$(error gb_LinkTarget__use_pango should not be used any more)
Peter Foley8615d092012-10-10 21:43:21 -04001846endef
1847
Peter Foley8615d092012-10-10 21:43:21 -04001848define gb_LinkTarget__use_gsf
Tor Lillqviste10124b2012-11-06 18:08:16 +02001849$(error gb_LinkTarget__use_gsf should not be used any more)
Peter Foley8615d092012-10-10 21:43:21 -04001850endef
1851
Peter Foley8615d092012-10-10 21:43:21 -04001852define gb_LinkTarget__use_pixbuf
Tor Lillqviste10124b2012-11-06 18:08:16 +02001853$(error gb_LinkTarget__use_pixbuf should not be used any more)
Peter Foley8615d092012-10-10 21:43:21 -04001854endef
1855
David Tardon6df9c472011-09-15 14:44:34 +02001856ifeq ($(SYSTEM_LIBPNG),YES)
1857
1858define gb_LinkTarget__use_png
1859$(call gb_LinkTarget_set_include,$(1),\
1860 $$(INCLUDE) \
1861 $(LIBPNG_CFLAGS) \
1862)
1863
1864$(call gb_LinkTarget_add_libs,$(1),\
1865 $(LIBPNG_LIBS) \
1866)
1867
1868endef
1869
1870else # !SYSTEM_LIBPNG
1871
David Tardon6df9c472011-09-15 14:44:34 +02001872define gb_LinkTarget__use_png
Michael Stahl416b3212013-05-08 17:22:22 +02001873$(call gb_LinkTarget_set_include,$(1),\
1874 $(LIBPNG_CFLAGS) \
1875 $$(INCLUDE) \
1876)
Matúš Kukanf96d58b2012-09-08 18:13:20 +02001877$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardon6df9c472011-09-15 14:44:34 +02001878 png \
1879)
Michael Stahl398ce442012-09-28 21:47:29 +02001880$(call gb_LinkTarget__use_zlib,$(1))
David Tardon6df9c472011-09-15 14:44:34 +02001881
1882endef
1883
1884endif # !SYSTEM_LIBPNG
1885
Michael Stahl50471a82011-12-06 19:17:52 +01001886
1887ifeq ($(SYSTEM_CURL),YES)
1888
1889define gb_LinkTarget__use_curl
1890$(call gb_LinkTarget_set_include,$(1),\
1891 $$(INCLUDE) \
1892 $(CURL_CFLAGS) \
1893)
1894$(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
1895
1896endef
1897
1898else # !SYSTEM_CURL
1899
1900$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1901 curl \
1902))
1903
1904define gb_LinkTarget__use_curl
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01001905$(call gb_LinkTarget_use_package,$(1),curl)
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01001906$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001907 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01001908 $$(INCLUDE) \
1909)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001910$(call gb_LinkTarget_use_libraries,$(1),\
Michael Stahl50471a82011-12-06 19:17:52 +01001911 curl \
1912)
1913
1914endef
1915
1916endif # SYSTEM_CURL
1917
Stephan Bergmann49313b02012-11-27 15:35:02 +01001918ifeq ($(ENABLE_VALGRIND),TRUE)
David Tardon3446cda2011-12-23 12:21:19 +01001919
1920define gb_LinkTarget__use_valgrind
1921$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmann49313b02012-11-27 15:35:02 +01001922 -DHAVE_VALGRIND_HEADERS \
David Tardon3446cda2011-12-23 12:21:19 +01001923)
1924
1925$(call gb_LinkTarget_set_include,$(1),\
1926 $$(INCLUDE) \
1927 $(VALGRIND_CFLAGS) \
1928)
1929
1930endef
1931
Stephan Bergmann49313b02012-11-27 15:35:02 +01001932else # !ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01001933
1934define gb_LinkTarget__use_valgrind
1935
1936endef
1937
Stephan Bergmann49313b02012-11-27 15:35:02 +01001938endif # ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01001939
David Tardondba2d322012-02-18 18:54:35 +01001940ifeq ($(SYSTEM_POPPLER),YES)
1941
1942define gb_LinkTarget__use_poppler
David Tardondba2d322012-02-18 18:54:35 +01001943$(call gb_LinkTarget_set_include,$(1),\
1944 $(POPPLER_CFLAGS) \
1945 $$(INCLUDE) \
1946)
1947
1948$(call gb_LinkTarget_add_libs,$(1),\
1949 $(POPPLER_LIBS) \
1950)
1951
1952endef
1953
1954else # !SYSTEM_POPPLER
1955
David Tardondba2d322012-02-18 18:54:35 +01001956define gb_LinkTarget__use_poppler
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02001957$(call gb_LinkTarget_use_package,$(1),poppler)
Peter Foleyfb1d11d2013-02-17 09:26:01 -05001958
David Tardon548b61a2012-02-21 06:58:02 +01001959$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02001960 -I$(call gb_UnpackedTarball_get_dir,poppler) \
1961 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
1962 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
David Tardon548b61a2012-02-21 06:58:02 +01001963 $$(INCLUDE) \
David Tardondba2d322012-02-18 18:54:35 +01001964)
1965
Michael Stahlc923f7d2012-04-07 23:22:08 +02001966$(call gb_LinkTarget_use_static_libraries,$(1),\
Tor Lillqvist97d8b882012-11-13 10:27:21 +02001967 fofi \
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02001968 goo \
1969 poppler \
David Tardon548b61a2012-02-21 06:58:02 +01001970)
1971
1972ifeq ($(OS),MACOSX)
Michael Stahl967986b2012-09-28 00:54:49 +02001973$(call gb_LinkTarget_add_libs,$(1),\
1974 -lobjc \
David Tardon548b61a2012-02-21 06:58:02 +01001975)
1976else ifeq ($(OS),WNT)
Michael Stahldc397aae2012-09-28 15:31:46 +02001977$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon548b61a2012-02-21 06:58:02 +01001978 advapi32 \
1979 gdi32 \
1980)
1981endif
1982
David Tardondba2d322012-02-18 18:54:35 +01001983endef
1984
1985endif # SYSTEM_POPPLER
1986
David Tardon3446cda2011-12-23 12:21:19 +01001987
David Tardon22c60cb2012-04-07 15:50:47 +02001988ifeq ($(SYSTEM_CLUCENE),YES)
1989
1990define gb_LinkTarget__use_clucene
1991$(call gb_LinkTarget_add_defs,$(1),\
1992 $(filter-out -I%,$(CLUCENE_CFLAGS)) \
1993)
1994
1995$(call gb_LinkTarget_set_include,$(1),\
1996 $(filter -I%,$(CLUCENE_CFLAGS)) \
1997 $$(INCLUDE) \
1998)
1999
2000$(call gb_LinkTarget_add_libs,$(1),\
2001 $(CLUCENE_LIBS) \
2002)
2003
2004endef
2005
2006else # !SYSTEM_CLUCENE
2007
2008define gb_LinkTarget__use_clucene
Michael Stahl28cde0c2013-05-07 23:47:27 +02002009$(call gb_LinkTarget_set_include,$(1),\
2010 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2011 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2012 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2013 $$(INCLUDE) \
2014)
2015
Michael Stahlc923f7d2012-04-07 23:22:08 +02002016$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon22c60cb2012-04-07 15:50:47 +02002017 clucene \
2018)
2019
2020endef
2021
David Tardon735c5292012-04-07 17:15:35 +02002022$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
David Tardon22c60cb2012-04-07 15:50:47 +02002023 clucene \
2024))
2025
2026endif # SYSTEM_CLUCENE
2027
Peter Foley64402842011-12-22 16:34:35 -05002028define gb_LinkTarget__use_gobject
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002029$(call gb_LinkTarget_add_libs,$(1),\
2030 $(GOBJECT_LIBS) \
2031)
2032
2033$(call gb_LinkTarget_set_include,$(1),\
2034 $$(INCLUDE) \
2035 $(GOBJECT_CFLAGS) \
2036)
Peter Foley64402842011-12-22 16:34:35 -05002037endef
2038
Michael Stahl1d6830e2012-07-17 13:07:30 +02002039ifeq ($(SYSTEM_HSQLDB),YES)
David Tardon579f52d2012-03-27 16:36:31 +02002040
2041define gb_LinkTarget__use_hsqldb
2042
2043$(call gb_LinkTarget_add_defs,$(1),\
2044 -DSYSTEM_HSQLDB \
2045 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2046)
2047
2048endef
2049
2050else # !SYSTEM_HSQLDB
2051
2052define gb_LinkTarget__use_hsqldb
2053
2054endef
2055
2056endif # SYSTEM_HSQLDB
2057
David Tardon8bc7afb2012-04-05 10:53:08 +02002058
Luboš Luňáke13cda12012-07-16 21:50:59 +02002059ifeq ($(SYSTEM_OPENLDAP),YES)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002060
2061define gb_LinkTarget__use_openldap
2062
2063$(call gb_LinkTarget_add_libs,$(1),\
2064 -lldap \
2065 -llber \
2066)
2067
2068endef
2069
Matúš Kukand6a02072013-03-27 00:34:19 +01002070else ifeq ($(SYSTEM_OPENLDAP),NO)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002071
Michael Stahle0ee0d42012-07-16 19:00:07 +02002072define gb_LinkTarget__use_openldap
Matúš Kukan7a030392012-10-29 23:29:37 +01002073$(call gb_LinkTarget_use_unpacked,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002074$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002075 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002076 $$(INCLUDE) \
2077)
Matúš Kukanc3a586a2012-10-28 12:35:07 +01002078$(call gb_LinkTarget_use_package,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002079$(call gb_LinkTarget_use_static_libraries,$(1),\
2080 ldap \
2081 lber \
2082)
2083
2084endef
2085
Matúš Kukan006e1272013-03-27 01:02:55 +01002086else # no openldap
2087
2088gb_LinkTarget__use_openldap :=
2089
Michael Stahle0ee0d42012-07-16 19:00:07 +02002090endif # SYSTEM_OPENLDAP
2091
2092
Javier Fernandezf6e3e922013-05-10 18:21:30 +00002093ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2094
2095ifeq ($(SYSTEM_FIREBIRD),YES)
2096
2097define gb_LinkTarget__use_firebird
2098$(call gb_LinkTarget_set_include,$(1),\
2099 $(FIREBIRD_CFLAGS) \
2100 $$(INCLUDE) \
2101)
2102$(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2103
2104endef
2105
2106# gb_LinkTarget__use_atomic_ops :=
2107# gb_LinkTarget__use_tommath :=
2108
2109else # !SYSTEM_FIREBIRD
2110
Andrzej J.R. Hunt1cadc972013-06-14 14:55:22 +01002111#$(call gb_LinkTarget__use_libatomic_ops,$(1))
2112
2113$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
2114 fbembed \
Javier Fernandezf6e3e922013-05-10 18:21:30 +00002115))
Andrzej J.R. Hunt1cadc972013-06-14 14:55:22 +01002116
2117define gb_LinkTarget__use_libfbembed
2118$(call gb_LinkTarget_use_package,$(1),firebird)
Javier Fernandezf6e3e922013-05-10 18:21:30 +00002119$(call gb_LinkTarget_set_include,$(1),\
Javier Fernandezf6e3e922013-05-10 18:21:30 +00002120 $$(INCLUDE) \
Andrzej J.R. Hunt1cadc972013-06-14 14:55:22 +01002121 -I$(call gb_UnpackedTarball_get_dir,firebird)/src/include \
2122 -I$(call gb_UnpackedTarball_get_dir,firebird)/src/include/gen \
2123 -I$(call gb_UnpackedTarball_get_dir,firebird)/src/jrd \
Javier Fernandezf6e3e922013-05-10 18:21:30 +00002124)
2125$(call gb_LinkTarget_use_libraries,$(1),\
Andrzej J.R. Hunt1cadc972013-06-14 14:55:22 +01002126 fbembed \
Javier Fernandezf6e3e922013-05-10 18:21:30 +00002127)
2128
2129endef
2130
Javier Fernandezf6e3e922013-05-10 18:21:30 +00002131# define gb_LinkTarget__use_tommath
2132# $(call gb_LinkTarget_set_include,$(1),\
2133# $(TOMMATH_CFLAGS) \
2134# $$(INCLUDE) \
2135# )
2136
2137# $(call gb_LinkTarget_add_libs,$(1),$(TOMMATH_LIBS))
2138
2139# endef
2140
2141endif # SYSTEM_FIREBIRD
2142
2143else # !ENABLE_FIREBIRD_SDBC
2144
2145gb_LinkTarget__use_firebird :=
2146# gb_LinkTarget__use_atomic_ops :=
2147# gb_LinkTarget__use_tommath :=
2148
2149endif # ENABLE_FIREBIRD_SDBC
2150
2151
David Tardon8bc7afb2012-04-05 10:53:08 +02002152ifeq ($(SYSTEM_POSTGRESQL),YES)
2153
2154define gb_LinkTarget__use_postgresql
2155
David Tardon8bc7afb2012-04-05 10:53:08 +02002156$(call gb_LinkTarget_set_include,$(1),\
2157 $(POSTGRESQL_INC) \
2158 $$(INCLUDE) \
2159)
2160
2161$(call gb_LinkTarget_add_libs,$(1),\
2162 -lpq \
2163)
2164
2165$(call gb_LinkTarget_add_ldflags,$(1),\
2166 $(POSTGRESQL_LIB) \
2167)
2168
2169endef
2170
2171else # !SYSTEM_POSTGRESQL
2172
2173define gb_LinkTarget__use_postgresql
2174
David Tardoncb9823b2012-10-22 06:33:00 +02002175$(call gb_LinkTarget_use_packages,$(1),\
2176 postgresql \
2177)
2178
David Tardon8bc7afb2012-04-05 10:53:08 +02002179$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlee8323e2013-05-08 00:19:40 +02002180 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
2181 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
David Tardon8bc7afb2012-04-05 10:53:08 +02002182 $$(INCLUDE) \
2183)
2184
David Tardon9b530e12012-04-07 10:07:35 +02002185$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukana1539242012-05-26 23:38:34 +02002186 $(if $(filter MSC,$(COM)),lib)pq \
David Tardon8bc7afb2012-04-05 10:53:08 +02002187)
2188
Tor Lillqvistc2909892012-12-12 01:07:09 +02002189ifeq ($(OS)$(COM),WNTMSC)
Matúš Kukan5e32d152012-05-27 00:21:12 +02002190$(call gb_LinkTarget_use_external,$(1),openssl)
2191
Michael Stahldc397aae2012-09-28 15:31:46 +02002192$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon8bc7afb2012-04-05 10:53:08 +02002193 secur32 \
2194 ws2_32 \
David Tardon8bc7afb2012-04-05 10:53:08 +02002195)
David Tardon8af6aa62012-05-30 12:06:42 +02002196
David Tardon8bc7afb2012-04-05 10:53:08 +02002197endif
2198
2199endef
2200
David Tardon8bc7afb2012-04-05 10:53:08 +02002201endif # SYSTEM_POSTGRESQL
2202
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03002203ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
David Tardonc678a4c2012-04-05 17:59:36 +02002204define gb_LinkTarget__use_mozilla
2205
2206$(call gb_LinkTarget_add_defs,$(1),\
2207 -DMOZILLA_INTERNAL_API \
2208)
2209
2210$(call gb_LinkTarget_set_include,$(1),\
2211 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +02002212 -I$(OUTDIR)/inc/mozilla \
David Tardonc678a4c2012-04-05 17:59:36 +02002213)
2214
David Tardon9b530e12012-04-07 10:07:35 +02002215$(call gb_LinkTarget_use_libraries,$(1),\
David Tardonc678a4c2012-04-05 17:59:36 +02002216 nspr4 \
2217 xpcom \
2218 xpcom_core \
2219)
2220
David Tardon9b530e12012-04-07 10:07:35 +02002221$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardonc678a4c2012-04-05 17:59:36 +02002222 embed_base_s \
2223 mozreg_s \
2224)
2225
David Tardonc678a4c2012-04-05 17:59:36 +02002226$(call gb_LinkTarget_add_defs,$(1),\
2227 -DMOZILLA_CLIENT \
2228 -DMOZ_REFLOW_PERF \
2229 -DMOZ_REFLOW_PERF_DSP \
2230 -DMOZ_XUL \
2231 -DOJI \
2232 -DWIN32 \
2233 -DXP_PC \
2234 -DXP_WIN \
2235 -DXP_WIN32 \
2236 -D_WINDOWS \
2237)
2238
2239ifeq ($(COM),GCC)
2240
2241$(call gb_LinkTarget_add_cxxflags,$(1),\
2242 -Wall \
2243 -Wcast-align \
2244 -Wconversion \
2245 -Wno-long-long \
2246 -Woverloaded-virtual \
2247 -Wpointer-arith \
2248 -Wsynth \
2249 -fno-rtti \
2250)
2251
2252else
2253
2254ifneq ($(DBG_LEVEL),0)
2255$(call gb_LinkTarget_add_defs,$(1),\
2256 -D_STL_NOFORCE_MANIFEST \
2257)
2258endif
2259
2260$(call gb_LinkTarget_add_libs,$(1),\
David Tardon764fc482012-05-30 14:55:09 +02002261 $(OUTDIR)/lib/embed_base_s.lib \
2262 $(OUTDIR)/lib/mozreg_s.lib \
David Tardonc678a4c2012-04-05 17:59:36 +02002263)
2264
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03002265endif # !GCC
David Tardonc678a4c2012-04-05 17:59:36 +02002266
David Tardonc678a4c2012-04-05 17:59:36 +02002267endef
2268
2269$(eval $(call gb_Helper_register_libraries,PLAINLIBS_NONE,\
2270 xpcom \
2271 xpcom_core \
2272))
2273
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03002274endif # DESKTOP
David Tardonc678a4c2012-04-05 17:59:36 +02002275
David Tardond4efa8b2012-04-28 20:48:14 +02002276ifeq ($(ENABLE_KDE),TRUE)
2277
2278define gb_LinkTarget__use_kde
2279$(call gb_LinkTarget_set_include,$(1),\
2280 $(filter -I%,$(KDE_CFLAGS)) \
2281 $$(INCLUDE) \
2282)
2283
2284$(call gb_LinkTarget_add_defs,$(1),\
2285 $(filter-out -I%,$(KDE_CFLAGS)) \
2286)
2287
2288$(call gb_LinkTarget_add_libs,$(1),\
2289 $(KDE_LIBS) \
2290)
2291
2292ifeq ($(COM),GCC)
2293$(call gb_LinkTarget_add_cxxflags,$(1),\
2294 -Wno-shadow \
2295)
2296endif
2297
2298endef
2299
2300else # !ENABLE_KDE
2301
2302define gb_LinkTarget__use_kde
2303
2304endef
2305
2306endif # ENABLE_KDE
2307
2308
2309ifeq ($(ENABLE_KDE4),TRUE)
2310
2311define gb_LinkTarget__use_kde4
2312$(call gb_LinkTarget_set_include,$(1),\
2313 $(filter -I%,$(KDE4_CFLAGS)) \
2314 $$(INCLUDE) \
2315)
2316
2317$(call gb_LinkTarget_add_defs,$(1),\
2318 $(filter-out -I%,$(KDE4_CFLAGS)) \
2319)
2320
2321$(call gb_LinkTarget_add_libs,$(1),\
2322 $(KDE4_LIBS) \
2323)
2324
2325ifeq ($(COM),GCC)
2326$(call gb_LinkTarget_add_cxxflags,$(1),\
2327 -Wno-shadow \
2328)
2329endif
2330
2331endef
2332
2333else # !ENABLE_KDE4
2334
2335define gb_LinkTarget__use_kde4
2336
2337endef
2338
2339endif # ENABLE_KDE4
2340
2341
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002342ifeq ($(ENABLE_TDE),TRUE)
David Tardond4efa8b2012-04-28 20:48:14 +02002343
2344define gb_LinkTarget__use_tde
2345$(call gb_LinkTarget_add_libs,$(1),\
2346 $(TDE_LIBS) \
2347)
2348
2349$(call gb_LinkTarget_set_include,$(1),\
2350 $$(INCLUDE) \
2351 $(TDE_CFLAGS) \
2352)
2353endef
2354
2355else # ! ENABLE_TDE
2356
2357define gb_LinkTarget__use_tde
2358
2359endef
2360
2361endif # ENABLE_TDE
2362
2363
2364ifeq ($(ENABLE_GCONF),TRUE)
2365
2366define gb_LinkTarget__use_gconf
2367$(call gb_LinkTarget_set_include,$(1),\
2368 $(filter -I%,$(GCONF_CFLAGS)) \
2369 $$(INCLUDE) \
2370)
2371
2372$(call gb_LinkTarget_add_defs,$(1),\
2373 $(filter-out -I%,$(GCONF_CFLAGS)) \
2374)
2375
2376$(call gb_LinkTarget_add_libs,$(1),\
2377 $(GCONF_LIBS) \
2378)
2379
2380endef
2381
2382else # !ENABLE_GCONF
2383
2384define gb_LinkTarget__use_gconf
2385
2386endef
2387
2388endif # ENABLE_GCONF
2389
2390
David Ostrovskye16ac692012-05-27 22:50:41 +02002391# PYTHON
Michael Stahl91926332012-11-27 15:50:53 +01002392# extra python_headers external because pyuno wrapper must not link python
David Ostrovskye16ac692012-05-27 22:50:41 +02002393ifeq ($(SYSTEM_PYTHON),YES)
2394
Michael Stahl91926332012-11-27 15:50:53 +01002395define gb_LinkTarget__use_python_headers
David Ostrovskye16ac692012-05-27 22:50:41 +02002396$(call gb_LinkTarget_add_defs,$(1),\
2397 $(filter-out -I%,$(PYTHON_CFLAGS)) \
2398)
2399
2400$(call gb_LinkTarget_set_include,$(1),\
2401 $(filter -I%,$(PYTHON_CFLAGS)) \
2402 $$(INCLUDE) \
2403)
2404
Michael Stahl91926332012-11-27 15:50:53 +01002405endef
2406
2407define gb_LinkTarget__use_python
2408$(call gb_LinkTarget__use_python_headers,$(1))
2409
David Ostrovskye16ac692012-05-27 22:50:41 +02002410$(call gb_LinkTarget_add_libs,$(1),\
2411 $(PYTHON_LIBS) \
2412)
2413
2414endef
2415
2416else # !SYSTEM_PYTHON
2417
Michael Stahl75a2c502012-12-04 13:47:22 +01002418# depend on external project because on MACOSX the Package is disabled...
Michael Stahl91926332012-11-27 15:50:53 +01002419define gb_LinkTarget__use_python_headers
Michael Stahl75a2c502012-12-04 13:47:22 +01002420$(call gb_LinkTarget_use_external_project,$(1),python3)
Michael Stahl91926332012-11-27 15:50:53 +01002421$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002422 -I$(call gb_UnpackedTarball_get_dir,python3) \
2423 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
2424 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
Michael Stahl91926332012-11-27 15:50:53 +01002425 $$(INCLUDE) \
2426)
2427
2428endef
2429
David Ostrovskye16ac692012-05-27 22:50:41 +02002430define gb_LinkTarget__use_python
Michael Stahl91926332012-11-27 15:50:53 +01002431$(call gb_LinkTarget__use_python_headers,$(1))
David Ostrovskye16ac692012-05-27 22:50:41 +02002432
2433ifeq ($(OS),WNT)
2434$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl5b7ccf32013-06-04 17:16:47 +02002435 $(call gb_UnpackedTarball_get_dir,python3)/PCbuild$(if $(filter X86_64,$(CPUNAME)),/amd64)/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib \
David Ostrovskye16ac692012-05-27 22:50:41 +02002436)
2437else ifeq ($(OS),MACOSX)
2438$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl9d921ba2012-11-27 15:32:36 +01002439 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
David Ostrovskye16ac692012-05-27 22:50:41 +02002440)
2441else
Michael Stahlb6bcbb62013-04-21 14:34:50 +02002442$(call gb_LinkTarget_add_libs,$(1),\
2443 -L$(call gb_UnpackedTarball_get_dir,python3) \
2444 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
David Ostrovskye16ac692012-05-27 22:50:41 +02002445)
2446endif
2447
David Ostrovskye16ac692012-05-27 22:50:41 +02002448endef
2449
2450$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
Michael Stahl9d921ba2012-11-27 15:32:36 +01002451 python$(PYTHON_VERSION_MAJOR) \
2452 python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
David Ostrovskye16ac692012-05-27 22:50:41 +02002453))
2454
2455endif # SYSTEM_PYTHON
2456
Kohei Yoshida49b0b692012-09-04 15:05:35 -04002457# ORCUS
Kohei Yoshida31f589b2012-08-30 23:26:59 -04002458ifeq ($(SYSTEM_LIBORCUS),YES)
Kohei Yoshidaa6639312012-07-27 22:14:39 -04002459
2460define gb_LinkTarget__use_orcus
2461$(call gb_LinkTarget_set_include,$(1),\
2462 $$(INCLUDE) \
Matúš Kukana2d63fe2012-09-09 16:29:10 +02002463 $(ORCUS_CFLAGS) \
Kohei Yoshidaa6639312012-07-27 22:14:39 -04002464)
Rene Engelhard26b80fc2013-04-13 19:29:33 +02002465$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
Rene Engelhardfb360f52013-04-13 16:17:29 +02002466endef
2467
2468define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaa6639312012-07-27 22:14:39 -04002469
2470endef
2471
Kohei Yoshida31f589b2012-08-30 23:26:59 -04002472else # !SYSTEM_LIBORCUS
Kohei Yoshidaa6639312012-07-27 22:14:39 -04002473
Kohei Yoshidac8b7e982012-08-31 10:11:32 -04002474define gb_LinkTarget__use_orcus
Michael Stahl10fc13c2013-05-06 23:35:13 +02002475$(call gb_LinkTarget_use_unpacked,$(1),liborcus)
Matúš Kukan1ee76032012-09-09 15:29:43 +02002476$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl10fc13c2013-05-06 23:35:13 +02002477 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
Matúš Kukan1ee76032012-09-09 15:29:43 +02002478 $$(INCLUDE) \
2479)
Matúš Kukanf4889fa2012-09-11 18:23:27 +02002480$(call gb_LinkTarget_use_static_libraries,$(1),orcus)
David Tardonf1035c12012-11-23 06:49:21 +01002481
Stephan Bergmann3743cdb2013-02-17 22:58:21 +01002482$(if $(filter YES,$(SYSTEM_BOOST)), \
2483 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
2484 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
2485)
David Tardonf1035c12012-11-23 06:49:21 +01002486
Kohei Yoshidaa6639312012-07-27 22:14:39 -04002487endef
2488
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04002489define gb_LinkTarget__use_orcus-parser
2490$(call gb_LinkTarget_use_static_libraries,$(1),\
2491 orcus-parser \
2492)
2493
2494endef
2495
Kohei Yoshida31f589b2012-08-30 23:26:59 -04002496endif # SYSTEM_LIBORCUS
David Ostrovskye16ac692012-05-27 22:50:41 +02002497
Michael Stahl78b59b82012-09-27 21:45:47 +02002498
2499### X11 stuff ###
2500
2501ifeq ($(GUIBASE),unx)
2502
Fridrich Štrbaec6013c2012-11-21 16:28:14 +01002503# TODO: do we really need these X11 headers in the repo?
2504ifneq ($(filter X11_EXTENSIONS,$(BUILD_TYPE)),)
2505
2506define gb_LinkTarget__use_x11extensions
Michael Stahl4f94ee52013-05-06 20:28:45 +02002507$(call gb_LinkTarget_set_include,$(1),\
2508 -I$(SRCDIR)/x11_extensions/inc \
2509 $$(INCLUDE) \
Fridrich Štrbaec6013c2012-11-21 16:28:14 +01002510)
2511endef
2512
2513else # !X11_EXTENSIONS
2514
2515gb_LinkTarget__use_x11extensions :=
2516
2517endif # X11_EXTENSIONS
2518
Michael Stahl78b59b82012-09-27 21:45:47 +02002519ifeq ($(XRANDR_DLOPEN),FALSE)
2520
2521define gb_LinkTarget__use_Xrandr
Fridrich Štrbaec6013c2012-11-21 16:28:14 +01002522$(call gb_LinkTarget__use_x11extensions,$(1))
Michael Stahl78b59b82012-09-27 21:45:47 +02002523
2524$(call gb_LinkTarget_set_include,$(1),\
2525 $$(INCLUDE) \
2526 $(XRANDR_CFLAGS) \
2527)
2528
2529$(call gb_LinkTarget_add_libs,$(1),\
2530 $(XRANDR_LIBS) \
2531)
2532endef
2533
2534else # XRANDR_DLOPEN
2535
2536define gb_LinkTarget__use_Xrandr
Fridrich Štrbaec6013c2012-11-21 16:28:14 +01002537$(call gb_LinkTarget__use_x11extensions,$(1))
Michael Stahl78b59b82012-09-27 21:45:47 +02002538
2539$(call gb_LinkTarget_add_defs,$(1),\
2540 -DXRANDR_DLOPEN \
2541)
2542endef
2543
2544endif # XRANDR_DLOPEN
2545
2546define gb_LinkTarget__use_Xrender
Fridrich Štrbaec6013c2012-11-21 16:28:14 +01002547$(call gb_LinkTarget__use_x11extensions,$(1))
Michael Stahl78b59b82012-09-27 21:45:47 +02002548
2549$(call gb_LinkTarget_set_include,$(1),\
2550 $$(INCLUDE) \
2551 $(XRENDER_CFLAGS) \
2552)
2553
2554$(call gb_LinkTarget_add_libs,$(1),\
2555 $(XRENDER_LIBS) \
2556)
2557endef
2558
2559endif # GUIBASE=unx
2560
Tor Lillqvist35491072011-08-02 21:22:35 +03002561
Michael Meeksb440cfc2013-02-28 12:05:07 +00002562gb_ExternalProject__use_nss3:=
2563
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03002564ifeq (,$(filter DESKTOP,$(BUILD_TYPE)))
2565
Peter Foleyc003d252013-01-01 09:39:36 -05002566gb_LinkTarget__use_nss3:=
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03002567
2568else
2569
Tomas Chvatal75f77e62011-11-02 21:16:53 +01002570ifeq ($(SYSTEM_NSS),YES)
David Tardonb6aa4842011-08-11 13:10:14 +02002571
David Tardon2b9dbc82012-08-13 06:57:51 +02002572define gb_LinkTarget__use_nss3
2573$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmannea641222012-11-19 16:40:33 +01002574 -DSYSTEM_NSS \
David Tardon2b9dbc82012-08-13 06:57:51 +02002575)
2576
David Tardonb6aa4842011-08-11 13:10:14 +02002577$(call gb_LinkTarget_set_include,$(1),\
2578 $$(INCLUDE) \
Tomas Chvatal75f77e62011-11-02 21:16:53 +01002579 $(NSS_CFLAGS) \
David Tardonb6aa4842011-08-11 13:10:14 +02002580)
2581
2582$(call gb_LinkTarget_add_libs,$(1),\
Tomas Chvatal75f77e62011-11-02 21:16:53 +01002583 $(NSS_LIBS) \
David Tardonb6aa4842011-08-11 13:10:14 +02002584)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01002585
David Tardonb6aa4842011-08-11 13:10:14 +02002586endef
2587
David Tardon2b9dbc82012-08-13 06:57:51 +02002588define gb_LinkTarget__use_plc4
2589$(call gb_LinkTarget__use_nss3,$(1))
2590
2591endef
2592
David Tardon6ef46562013-02-04 10:04:07 +01002593define gb_LinkTarget__use_ssl3
2594$(call gb_LinkTarget__use_nss3,$(1))
2595
2596endef
2597
David Tardonb6aa4842011-08-11 13:10:14 +02002598else
2599
David Tardonb6aa4842011-08-11 13:10:14 +02002600$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
2601 nspr4 \
2602 nss3 \
2603 plc4 \
Stephan Bergmannfc2b42e2012-08-13 11:46:50 +02002604 smime3 \
David Tardon6ef46562013-02-04 10:04:07 +01002605 ssl3 \
David Tardonb6aa4842011-08-11 13:10:14 +02002606))
2607
David Tardon2b9dbc82012-08-13 06:57:51 +02002608define gb_LinkTarget__use_nss3
Peter Foleyc003d252013-01-01 09:39:36 -05002609$(call gb_LinkTarget_use_package,$(1),nss)
David Tardon2b9dbc82012-08-13 06:57:51 +02002610$(call gb_LinkTarget_set_include,$(1),\
2611 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +02002612 -I$(call gb_UnpackedTarball_get_dir,nss)/mozilla/dist/public/nss \
2613 -I$(call gb_UnpackedTarball_get_dir,nss)/mozilla/dist/out/include \
David Tardon2b9dbc82012-08-13 06:57:51 +02002614)
2615
2616$(call gb_LinkTarget_use_libraries,$(1),\
2617 nspr4 \
2618 nss3 \
2619 smime3 \
2620)
2621
2622endef
2623
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01002624define gb_LinkTarget__use_plc4
Peter Foleyc003d252013-01-01 09:39:36 -05002625$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahlc923f7d2012-04-07 23:22:08 +02002626$(call gb_LinkTarget_use_libraries,$(1),\
David Tardonb6aa4842011-08-11 13:10:14 +02002627 plc4 \
2628)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01002629
David Tardonb6aa4842011-08-11 13:10:14 +02002630endef
2631
David Tardon6ef46562013-02-04 10:04:07 +01002632define gb_LinkTarget__use_ssl3
2633$(call gb_LinkTarget_use_package,$(1),nss)
2634$(call gb_LinkTarget_use_libraries,$(1),\
2635 ssl3 \
2636)
2637
2638endef
2639
Michael Meeksb440cfc2013-02-28 12:05:07 +00002640define gb_ExternalProject__use_nss3
2641$(call gb_ExternalProject_use_package,$(1),nss)
2642$(call gb_ExternalProject_use_libraries,$(1),\
2643 nspr4 \
2644 nss3 \
2645 smime3 \
2646)
2647
2648endef
2649
David Tardonb6aa4842011-08-11 13:10:14 +02002650endif
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03002651endif # DESKTOP
David Tardonb6aa4842011-08-11 13:10:14 +02002652
Michael Stahl2ee5f242011-09-15 14:01:27 +02002653### Jars ############################################################
2654
Michael Stahl666173b2012-08-15 20:24:59 +02002655ifeq ($(SYSTEM_HSQLDB),YES)
2656
2657define gb_Jar__use_hsqldb
2658$(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
2659endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02002660define gb_JunitTest__use_hsqldb
2661$(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
2662endef
Michael Stahl666173b2012-08-15 20:24:59 +02002663
2664else # !SYSTEM_HSQLDB
2665
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002666$(eval $(call gb_Helper_register_jars,OOO,\
2667 hsqldb \
2668))
2669
Michael Stahl666173b2012-08-15 20:24:59 +02002670define gb_Jar__use_hsqldb
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002671$(call gb_Jar_use_jar,$(1),hsqldb)
Michael Stahl666173b2012-08-15 20:24:59 +02002672endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02002673define gb_JunitTest__use_hsqldb
2674$(call gb_JunitTest_use_jar,$(1),hsqldb)
2675endef
Michael Stahl666173b2012-08-15 20:24:59 +02002676
2677endif # SYSTEM_HSQLDB
2678
Michael Stahl2ee5f242011-09-15 14:01:27 +02002679
David Tardon3bcf9102011-10-04 09:44:48 +02002680ifeq ($(SYSTEM_BSH),YES)
2681
Michael Stahla4551262012-08-15 17:41:25 +02002682define gb_Jar__use_bsh
2683$(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
David Tardon3bcf9102011-10-04 09:44:48 +02002684endef
2685
2686else # !SYSTEM_BSH
2687
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002688$(eval $(call gb_Helper_register_jars,OOO,\
2689 bsh \
2690))
2691
Michael Stahla4551262012-08-15 17:41:25 +02002692define gb_Jar__use_bsh
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002693$(call gb_Jar_use_jar,$(1),bsh)
David Tardon3bcf9102011-10-04 09:44:48 +02002694endef
2695
2696endif # SYSTEM_BSH
2697
Michael Stahl2ee5f242011-09-15 14:01:27 +02002698
Tomas Chvatal32af02b2012-05-06 12:49:33 +02002699ifeq ($(SYSTEM_RHINO),YES)
2700
Michael Stahla4551262012-08-15 17:41:25 +02002701define gb_Jar__use_rhino
2702$(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
Tomas Chvatal32af02b2012-05-06 12:49:33 +02002703endef
2704
2705else # !SYSTEM_RHINO
2706
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002707$(eval $(call gb_Helper_register_jars,OOO,\
2708 js \
2709))
2710
Michael Stahla4551262012-08-15 17:41:25 +02002711define gb_Jar__use_rhino
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002712$(call gb_Jar_use_jar,$(1),js)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02002713endef
2714
2715endif # SYSTEM_RHINO
2716
David Tardon9b530e12012-04-07 10:07:35 +02002717ifeq ($(SYSTEM_APACHE_COMMONS),YES)
2718
Michael Stahla4551262012-08-15 17:41:25 +02002719define gb_Jar__use_commons-codec
2720$(call gb_Jar_use_system_jar,$(1),$(COMMONS_CODEC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002721endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002722gb_ExternalProject__use_commons-codec :=
David Tardon9b530e12012-04-07 10:07:35 +02002723
Michael Stahla4551262012-08-15 17:41:25 +02002724define gb_Jar__use_commons-httpclient
2725$(call gb_Jar_use_system_jar,$(1),$(COMMONS_HTTPCLIENT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002726endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002727gb_ExternalProject__use_commons-httpclient :=
David Tardon9b530e12012-04-07 10:07:35 +02002728
Michael Stahla4551262012-08-15 17:41:25 +02002729define gb_Jar__use_commons-lang
2730$(call gb_Jar_usadd_linked_libse_system_jar,$(1),$(COMMONS_LANG_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002731endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002732gb_ExternalProject__use_commons-lang :=
David Tardon9b530e12012-04-07 10:07:35 +02002733
Michael Stahla4551262012-08-15 17:41:25 +02002734define gb_Jar__use_commons-logging
2735$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002736endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002737gb_ExternalProject__use_commons-logging :=
David Tardon9b530e12012-04-07 10:07:35 +02002738
2739else # !SYSTEM_APACHE_COMMONS
2740
Michael Stahl87a723d2012-08-17 12:43:37 +02002741$(eval $(call gb_Helper_register_jars,OXT,\
Julien Nabet6188e1d2013-03-26 21:39:42 +01002742 commons-codec-1.6 \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002743 commons-httpclient-3.1 \
Julien Nabeta70aeef2013-03-26 21:49:53 +01002744 commons-lang-2.4 \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002745 commons-logging-1.1.1 \
2746))
2747
Michael Stahla4551262012-08-15 17:41:25 +02002748define gb_Jar__use_commons-codec
Julien Nabet6188e1d2013-03-26 21:39:42 +01002749$(call gb_Jar_use_jar,$(1),commons-codec-1.6)
David Tardon9b530e12012-04-07 10:07:35 +02002750endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002751define gb_ExternalProject__use_commons-codec
2752$(call gb_ExternalProject_use_external_project,$(1),apache_commons_codec)
2753endef
David Tardon9b530e12012-04-07 10:07:35 +02002754
Michael Stahla4551262012-08-15 17:41:25 +02002755define gb_Jar__use_commons-httpclient
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002756$(call gb_Jar_use_jar,$(1),commons-httpclient-3.1)
David Tardon9b530e12012-04-07 10:07:35 +02002757endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002758define gb_ExternalProject__use_commons-httpclient
2759$(call gb_ExternalProject_use_external_project,$(1),apache_commons_httpclient)
2760endef
David Tardon9b530e12012-04-07 10:07:35 +02002761
Michael Stahla4551262012-08-15 17:41:25 +02002762define gb_Jar__use_commons-lang
Fridrich Štrba3b42b442013-03-26 21:52:35 +01002763$(call gb_Jar_use_jar,$(1),commons-lang-2.4)
David Tardon9b530e12012-04-07 10:07:35 +02002764endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002765define gb_ExternalProject__use_commons-lang
2766$(call gb_ExternalProject_use_external_project,$(1),apache_commons_lang)
2767endef
David Tardon9b530e12012-04-07 10:07:35 +02002768
Michael Stahla4551262012-08-15 17:41:25 +02002769define gb_Jar__use_commons-logging
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002770$(call gb_Jar_use_jar,$(1),commons-logging-1.1.1)
David Tardon9b530e12012-04-07 10:07:35 +02002771endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002772define gb_ExternalProject__use_commons-logging
2773$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
2774endef
David Tardon9b530e12012-04-07 10:07:35 +02002775
2776endif # SYSTEM_APACHE_COMMONS
2777
2778
2779ifeq ($(SYSTEM_JFREEREPORT),YES)
2780
Michael Stahla4551262012-08-15 17:41:25 +02002781define gb_Jar__use_flow-engine
2782$(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002783endef
2784
Michael Stahla4551262012-08-15 17:41:25 +02002785define gb_Jar__use_flute
2786$(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002787endef
2788
Michael Stahla4551262012-08-15 17:41:25 +02002789define gb_Jar__use_libbase
2790$(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002791endef
2792
Michael Stahla4551262012-08-15 17:41:25 +02002793define gb_Jar__use_libfonts
2794$(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002795endef
2796
Michael Stahla4551262012-08-15 17:41:25 +02002797define gb_Jar__use_libformula
2798$(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002799endef
2800
Michael Stahla4551262012-08-15 17:41:25 +02002801define gb_Jar__use_liblayout
2802$(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002803endef
2804
Michael Stahla4551262012-08-15 17:41:25 +02002805define gb_Jar__use_libloader
2806$(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002807endef
2808
Michael Stahla4551262012-08-15 17:41:25 +02002809define gb_Jar__use_librepository
2810$(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002811endef
2812
Michael Stahla4551262012-08-15 17:41:25 +02002813define gb_Jar__use_libserializer
2814$(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002815endef
2816
Michael Stahla4551262012-08-15 17:41:25 +02002817define gb_Jar__use_libxml
2818$(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002819endef
2820
Michael Stahla4551262012-08-15 17:41:25 +02002821define gb_Jar__use_sac
2822$(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02002823endef
2824
2825else # !SYSTEM_JFREEREPORT
2826
Michael Stahl87a723d2012-08-17 12:43:37 +02002827$(eval $(call gb_Helper_register_jars,OXT,\
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002828 flow-engine-0.9.4 \
2829 flute-1.1.6 \
2830 libbase-1.1.6 \
2831 libfonts-1.1.6 \
2832 libformula-1.1.7 \
2833 liblayout-0.2.10 \
2834 libloader-1.1.6 \
2835 librepository-1.1.6 \
2836 libserializer-1.1.6 \
2837 libxml-1.1.7 \
2838 sac \
2839))
2840
Michael Stahla4551262012-08-15 17:41:25 +02002841define gb_Jar__use_flow-engine
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002842$(call gb_Jar_use_jar,$(1),flow-engine-0.9.4)
David Tardon9b530e12012-04-07 10:07:35 +02002843endef
2844
Michael Stahla4551262012-08-15 17:41:25 +02002845define gb_Jar__use_flute
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002846$(call gb_Jar_use_jar,$(1),flute-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02002847endef
2848
Michael Stahla4551262012-08-15 17:41:25 +02002849define gb_Jar__use_libbase
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002850$(call gb_Jar_use_jar,$(1),libbase-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02002851endef
2852
Michael Stahla4551262012-08-15 17:41:25 +02002853define gb_Jar__use_libfonts
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002854$(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02002855endef
2856
Michael Stahla4551262012-08-15 17:41:25 +02002857define gb_Jar__use_libformula
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002858$(call gb_Jar_use_jar,$(1),libformula-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02002859endef
2860
Michael Stahla4551262012-08-15 17:41:25 +02002861define gb_Jar__use_liblayout
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002862$(call gb_Jar_use_jar,$(1),liblayout-0.2.10)
David Tardon9b530e12012-04-07 10:07:35 +02002863endef
2864
Michael Stahla4551262012-08-15 17:41:25 +02002865define gb_Jar__use_libloader
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002866$(call gb_Jar_use_jar,$(1),libloader-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02002867endef
2868
Michael Stahla4551262012-08-15 17:41:25 +02002869define gb_Jar__use_librepository
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002870$(call gb_Jar_use_jar,$(1),librepository-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02002871endef
2872
Michael Stahla4551262012-08-15 17:41:25 +02002873define gb_Jar__use_libserializer
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002874$(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02002875endef
2876
Michael Stahla4551262012-08-15 17:41:25 +02002877define gb_Jar__use_libxml
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002878$(call gb_Jar_use_jar,$(1),libxml-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02002879endef
2880
Michael Stahla4551262012-08-15 17:41:25 +02002881define gb_Jar__use_sac
Michael Stahl5a4bcd32012-08-17 11:02:49 +02002882$(call gb_Jar_use_jar,$(1),sac)
David Tardon9b530e12012-04-07 10:07:35 +02002883endef
2884
2885endif # SYSTEM_JFREEREPORT
2886
David Tardonc2eca352012-12-02 10:51:37 +01002887
2888# Executables
2889
David Tardonedf67302012-12-30 12:27:04 +01002890# FIXME: the library target should be for build too
2891define gb_Executable__register_bestreversemap
2892$(call gb_Executable_add_runtime_dependencies,bestreversemap,\
2893 $(if $(filter-out ANDROID,$(OS)),$(call gb_Library_get_target,sal_textenc)) \
2894)
2895endef
2896
David Tardonceb0d062012-12-30 13:11:43 +01002897# TODO depending on the whole URE might be overkill, but I do not have a
2898# Windows machine to debug it...
2899# FIXME: the library target should be for build too
2900define gb_Executable__register_climaker
2901$(call gb_Executable_add_runtime_dependencies,climaker,\
2902 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
2903 $(call gb_Package_get_target_for_build,cppuhelper_unorc) \
2904 $(call gb_Rdb_get_outdir_target_for_build,ure/services) \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03002905 $(call gb_UnoApi_get_target,udkapi) \
David Tardonceb0d062012-12-30 13:11:43 +01002906)
2907endef
2908
Matúš Kukanbae52ee2013-05-16 09:17:57 +02002909# Better duplication with gb_Gallery__UNO_COMPONENTS than nothing.
2910# This is used to determine what we need for 'build' platform.
Matúš Kukan9555b5b2013-06-14 12:48:20 +02002911define gb_Executable__register_gengal
Matúš Kukan94b68822013-06-17 10:41:18 +02002912$(call gb_Executable_add_runtime_dependencies,gengal,\
Matúš Kukanbae52ee2013-05-16 09:17:57 +02002913 $(foreach component, \
2914 comphelper/util/comphelp \
2915 configmgr/source/configmgr \
2916 fileaccess/source/fileacc \
2917 framework/util/fwk \
2918 i18npool/util/i18npool \
2919 package/source/xstor/xstor \
2920 package/util/package2 \
2921 sfx2/util/sfx \
2922 svx/util/svx \
2923 svx/util/svxcore \
2924 ucb/source/core/ucb1 \
2925 ucb/source/ucp/file/ucpfile1 \
2926 unoxml/source/service/unoxml \
Matúš Kukan85c6f802013-05-23 23:01:05 +02002927 ,$(call gb_ComponentTarget_get_target_for_build,$(component))) \
David Tardon1546c292013-05-07 20:41:41 +02002928 $(call gb_AllLangResTarget_get_target,ofa) \
2929 $(call gb_Configuration_get_target,registry) \
2930 $(call gb_Configuration_get_target,fcfg_langpack) \
2931 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Riccardo Magliocchettib75fae72013-06-06 18:52:57 +02002932 $(if $(filter-out MACOSX WNT,$(OS_FOR_BUILD)),$(if $(ENABLE_HEADLESS),, \
Caolan McNamara48e70ad2013-05-15 10:30:18 +01002933 $(call gb_Library_get_target,vclplug_svp) \
Riccardo Magliocchettib75fae72013-06-06 18:52:57 +02002934 )) \
David Tardon1546c292013-05-07 20:41:41 +02002935 $(call gb_Package_get_target_for_build,cppuhelper_unorc) \
2936 $(call gb_Rdb_get_outdir_target_for_build,ure/services) \
2937 $(call gb_UnoApi_get_target,offapi) \
2938 $(call gb_UnoApi_get_target,udkapi) \
2939)
2940endef
2941
David Tardonedf67302012-12-30 12:27:04 +01002942ifneq ($(SYSTEM_ICU),YES)
2943
2944define gb_Executable__register_gendict
2945$(call gb_Executable_add_runtime_dependencies,gendict,\
2946 $(call gb_Package_get_target_for_build,icu) \
2947)
2948endef
2949
2950endif
2951
Matúš Kukan7369a8c2013-06-14 12:02:56 +02002952ifeq (,$(SYSTEM_UCPP))
David Tardonceb0d062012-12-30 13:11:43 +01002953define gb_Executable__register_idlc
2954$(call gb_Executable_add_runtime_dependencies,idlc,\
Matúš Kukan7369a8c2013-06-14 12:02:56 +02002955 $(call gb_Executable_get_target_for_build,ucpp) \
David Tardonceb0d062012-12-30 13:11:43 +01002956)
2957endef
Matúš Kukan7369a8c2013-06-14 12:02:56 +02002958endif
David Tardonceb0d062012-12-30 13:11:43 +01002959
David Tardonedf67302012-12-30 12:27:04 +01002960define gb_Executable__register_localize
2961$(call gb_Executable_add_runtime_dependencies,localize,\
2962 $(foreach exec,cfgex helpex propex transex3 treex uiex ulfex xrmex,\
2963 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
2964 ) \
2965)
2966endef
2967
Stephan Bergmannab149c72013-04-24 10:42:40 +02002968# The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
David Tardonedf67302012-12-30 12:27:04 +01002969# due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
2970# FIXME: the library target should be for build too
2971define gb_Executable__register_saxparser
2972$(call gb_Executable_add_runtime_dependencies,saxparser,\
2973 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
2974 $(call gb_Package_get_target_for_build,cppuhelper_unorc) \
Matúš Kukan85c6f802013-05-23 23:01:05 +02002975 $(call gb_Rdb_get_outdir_target_for_build,saxparser) \
David Tardonedf67302012-12-30 12:27:04 +01002976 $(call gb_Rdb_get_outdir_target_for_build,ure/services) \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03002977 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01002978)
2979endef
2980
Stephan Bergmannab149c72013-04-24 10:42:40 +02002981# NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
David Tardonedf67302012-12-30 12:27:04 +01002982# required due to the settings for URE_SERVICES and URE_TYPES in
2983# cppuhelper/source/unorc
2984# FIXME: the library target should be for build too
2985define gb_Executable__register_uno
2986$(call gb_Executable_add_runtime_dependencies,uno,\
2987 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
2988 $(call gb_Package_get_target_for_build,cppuhelper_unorc) \
2989 $(call gb_Rdb_get_outdir_target_for_build,ure/services) \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03002990 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01002991)
2992endef
2993
2994
2995# External executables
2996
David Tardonc2eca352012-12-02 10:51:37 +01002997ifneq ($(SYSTEM_LIBXML_FOR_BUILD),YES)
2998
2999gb_ExternalExecutable__register_xmllint :=
3000
3001else # ! SYSTEM_LIBXML_FOR_BUILD
3002
3003define gb_ExternalExecutable__register_xmllint
David Tardonbbf2f412012-12-29 10:00:49 +01003004$(call gb_ExternalExecutable_set_internal,xmllint)
David Tardonc2eca352012-12-02 10:51:37 +01003005
3006endef
3007
3008endif # SYSTEM_LIBXML_FOR_BUILD
3009
3010ifeq ($(SYSTEM_LIBXSLT_FOR_BUILD),YES)
3011
3012gb_ExternalExecutable__register_xsltproc :=
3013
3014else # ! SYSTEM_LIBXSLT_FOR_BUILD
3015
3016define gb_ExternalExecutable__register_xsltproc
David Tardonbbf2f412012-12-29 10:00:49 +01003017$(call gb_ExternalExecutable_set_internal,xsltproc)
Peter Foley52e47b62013-02-06 17:59:18 -05003018$(call gb_ExternalExecutable_add_dependencies,xsltproc,$(call gb_Package_get_target,xslt))
David Tardonc2eca352012-12-02 10:51:37 +01003019
3020endef
3021
3022endif # SYSTEM_LIBXSLT_FOR_BUILD
3023
Matúš Kukane4826722013-03-05 22:03:38 +01003024ifeq (,$(PYTHON_FOR_BUILD))
David Tardonc2eca352012-12-02 10:51:37 +01003025
3026define gb_ExternalExecutable__register_python
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003027ifeq ($(OS),MACOSX)
3028
3029# use set_external, to avoid having the command added as prerequisite for the
3030# targets that make use of it. (Otherwise make will choke as it doesn't have a
3031# matching rule to build that specific file)
3032$(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))
3033# the Zip ensures that internal python has been built (cannot use the Package
3034# target, as that is not used on Mac)
David Tardon45a5c262013-05-16 13:36:24 +02003035$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003036
3037else
3038
Michael Stahlb6bcbb62013-04-21 14:34:50 +02003039$(call gb_ExternalExecutable_set_internal,python,$(INSTDIR)/program/$(if $(filter WNT,$(OS)),python-core-$(PYTHON_VERSION)/bin/python.exe,python.bin))
3040$(call gb_ExternalExecutable_set_precommand,python,$(gb_Python_PRECOMMAND))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003041$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
3042
3043endif
David Tardonc2eca352012-12-02 10:51:37 +01003044
3045endef
3046
Matúš Kukane4826722013-03-05 22:03:38 +01003047else
3048
3049define gb_ExternalExecutable__register_python
3050$(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
3051
3052endef
3053
3054endif # PYTHON_FOR_BUILD
David Tardonc2eca352012-12-02 10:51:37 +01003055
David Tardon63069262012-12-29 12:56:24 +01003056ifneq ($(SYSTEM_GENBRK),)
3057
3058define gb_ExternalExecutable__register_genbrk
3059$(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
3060
3061endef
3062
3063else # ! SYSTEM_GENBRK
3064
3065define gb_ExternalExecutable__register_genbrk
3066$(call gb_ExternalExecutable_set_internal,genbrk)
3067$(call gb_ExternalExecutable_add_dependencies,genbrk,\
3068 $(call gb_Package_get_target_for_build,icu) \
3069)
3070
3071endef
3072
3073endif
3074
3075ifneq ($(SYSTEM_GENCCODE),)
3076
3077define gb_ExternalExecutable__register_genccode
3078$(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
3079
3080endef
3081
3082else # ! SYSTEM_GENCCODE
3083
3084define gb_ExternalExecutable__register_genccode
3085$(call gb_ExternalExecutable_set_internal,genccode)
3086$(call gb_ExternalExecutable_add_dependencies,genccode,\
3087 $(call gb_Package_get_target_for_build,icu) \
3088)
3089
3090endef
3091
3092endif
3093
3094ifneq ($(SYSTEM_GENCMN),)
3095
3096define gb_ExternalExecutable__register_gencmn
3097$(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
3098
3099endef
3100
3101else # ! SYSTEM_GENCMN
3102
3103define gb_ExternalExecutable__register_gencmn
3104$(call gb_ExternalExecutable_set_internal,gencmn)
3105$(call gb_ExternalExecutable_add_dependencies,gencmn,\
3106 $(call gb_Package_get_target_for_build,icu) \
3107)
3108
3109endef
3110
3111endif
3112
Michael Stahlc74af0d2011-04-01 20:49:35 +00003113# vim: set noet sw=4 ts=4: