blob: c61be00135b7f741e3b8c18b9a279d6ef8a52e5d [file] [log] [blame]
Takeshi Abeb2bd33e2011-08-10 02:12:48 +09001# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
Michael Stahlc74af0d2011-04-01 20:49:35 +00002#
Michael Meeks1e4422a2013-05-16 21:56:04 +01003# This file is part of the LibreOffice project.
Kohei Yoshidaa6639312012-07-27 22:14:39 -04004#
Michael Meeks1e4422a2013-05-16 21:56:04 +01005# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
Michael Stahlc74af0d2011-04-01 20:49:35 +00008#
Michael Meeks1e4422a2013-05-16 21:56:04 +01009# This file incorporates work covered by the following license notice:
Michael Stahlc74af0d2011-04-01 20:49:35 +000010#
Michael Meeks1e4422a2013-05-16 21:56:04 +010011# Licensed to the Apache Software Foundation (ASF) under one or more
12# contributor license agreements. See the NOTICE file distributed
13# with this work for additional information regarding copyright
14# ownership. The ASF licenses this file to you under the Apache
15# License, Version 2.0 (the "License"); you may not use this file
16# except in compliance with the License. You may obtain a copy of
17# the License at http://www.apache.org/licenses/LICENSE-2.0 .
Michael Stahlc74af0d2011-04-01 20:49:35 +000018#
Michael Stahlc74af0d2011-04-01 20:49:35 +000019
20# this file describes all the external libraries
21# depending on the configure options these may be taken from the system,
22# or the internal/bundled copy may be built.
23
Zolnai Tamás62fd6302014-04-18 12:55:56 +020024# for every external, a function gb_LinkTarget__use_FOO is defined,
Michael Stahlc74af0d2011-04-01 20:49:35 +000025# once for the system case, once for the internal case.
26
27# in the system case, no libraries should be registered, but the target-local
28# variable LIBS should be set to FOO_LIBS, and INCLUDES to FOO_CFLAGS.
29
David Ostrovsky152e2a22014-11-30 18:26:01 +010030
31ifeq ($(CPUNAME),X86_64)
32wnt_arch_subdir_optional=x64/
33wnt_arch_subdir_mandatory=x64
34else ifeq ($(CPUNAME),INTEL)
35wnt_arch_subdir_mandatory=Win32
36endif
37
Matúš Kukan8e535df2012-04-07 13:59:33 +020038# External headers
39
Michael Stahl8555b372014-02-11 19:28:33 +010040ifneq ($(SYSTEM_MESA_HEADERS),)
Peter Foley1bd28842011-09-09 17:42:24 -040041
Matúš Kukan8e535df2012-04-07 13:59:33 +020042gb_LinkTarget__use_mesa_headers :=
Peter Foley1bd28842011-09-09 17:42:24 -040043
Michael Stahl8555b372014-02-11 19:28:33 +010044else # !SYSTEM_MESA_HEADERS
Peter Foley1bd28842011-09-09 17:42:24 -040045
Matúš Kukan8e535df2012-04-07 13:59:33 +020046define gb_LinkTarget__use_mesa_headers
Michael Stahl6b2ce082013-05-06 17:43:54 +020047$(call gb_LinkTarget_set_include,$(1),\
Khaled Hosny6c4b7e42013-11-03 20:54:23 +020048 -I$(SRCDIR)/external/Mesa/inc \
Michael Stahl6b2ce082013-05-06 17:43:54 +020049 $$(INCLUDE) \
50)
Matúš Kukan8e535df2012-04-07 13:59:33 +020051
Peter Foley1bd28842011-09-09 17:42:24 -040052endef
53
Michael Stahl8555b372014-02-11 19:28:33 +010054endif # SYSTEM_MESA_HEADERS
Peter Foley1bd28842011-09-09 17:42:24 -040055
Michael Stahl187194b2014-02-11 19:17:42 +010056ifneq ($(SYSTEM_NPAPI_HEADERS),)
Matúš Kukan8e535df2012-04-07 13:59:33 +020057
Michael Stahl96907bf2013-05-07 00:50:15 +020058# yes this uses internal headers too...
59# they are split across 2 dirs for this reason
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +010060define gb_LinkTarget__use_npapi_headers
Matúš Kukan8f6510b2012-06-02 21:54:26 +020061$(call gb_LinkTarget_set_include,$(1),\
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +010062 $(NPAPI_HEADERS_CFLAGS) \
Khaled Hosny622a6332013-11-03 20:58:47 +020063 -I$(SRCDIR)/external/np_sdk \
Matúš Kukan8e535df2012-04-07 13:59:33 +020064 $$(INCLUDE) \
Matúš Kukan8f6510b2012-06-02 21:54:26 +020065)
Matúš Kukan8e535df2012-04-07 13:59:33 +020066
67endef
68
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +010069else #!SYSTEM_NPAPI_HEADERS
Matúš Kukan8e535df2012-04-07 13:59:33 +020070
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +010071define gb_LinkTarget__use_npapi_headers
Matúš Kukan8f6510b2012-06-02 21:54:26 +020072$(call gb_LinkTarget_set_include,$(1),\
Khaled Hosny622a6332013-11-03 20:58:47 +020073 -I$(SRCDIR)/external/np_sdk/inc \
74 -I$(SRCDIR)/external/np_sdk \
Matúš Kukan8e535df2012-04-07 13:59:33 +020075 $$(INCLUDE) \
Matúš Kukan8f6510b2012-06-02 21:54:26 +020076)
Matúš Kukan8e535df2012-04-07 13:59:33 +020077
78endef
79
Stephan Bergmann13ef9dc2012-11-15 18:09:55 +010080endif #SYSTEM_NPAPI_HEADERS
Matúš Kukan8e535df2012-04-07 13:59:33 +020081
Michael Stahl5378dea2014-02-11 19:11:47 +010082ifneq ($(SYSTEM_ODBC_HEADERS),)
Matúš Kukan5eff0b62012-04-07 13:46:59 +020083
84define gb_LinkTarget__use_odbc_headers
85$(call gb_LinkTarget_add_defs,$(1),\
86 -DSYSTEM_ODBC_HEADERS \
87)
88
89endef
90
Michael Stahl5378dea2014-02-11 19:11:47 +010091else # !SYSTEM_ODBC_HEADERS
Matúš Kukan5eff0b62012-04-07 13:46:59 +020092
93define gb_LinkTarget__use_odbc_headers
Michael Stahlfea65aa2013-05-06 20:09:47 +020094$(call gb_LinkTarget_set_include,$(1),\
Khaled Hosny891bb7c2013-11-04 18:40:17 +020095 -I$(SRCDIR)/external/unixODBC/inc \
Michael Stahlfea65aa2013-05-06 20:09:47 +020096 $$(INCLUDE) \
97)
Matúš Kukan5eff0b62012-04-07 13:46:59 +020098
99endef
100
Michael Stahl5378dea2014-02-11 19:11:47 +0100101endif # SYSTEM_ODBC_HEADERS
Matúš Kukan5eff0b62012-04-07 13:46:59 +0200102
Michael Stahlff69e722014-02-11 19:08:10 +0100103ifneq ($(SYSTEM_VIGRA),)
Matúš Kukan54a06c62012-08-25 01:29:00 +0200104
105gb_LinkTarget__use_vigra_headers :=
106
107else
108
109define gb_LinkTarget__use_vigra_headers
110$(call gb_LinkTarget_use_unpacked,$(1),vigra)
111$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200112 -I$(call gb_UnpackedTarball_get_dir,vigra/include) \
Matúš Kukan54a06c62012-08-25 01:29:00 +0200113 $$(INCLUDE) \
114)
115
116endef
117
118endif
119
Michael Stahle3abec32014-02-11 15:57:18 +0100120ifneq ($(SYSTEM_MDDS),)
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200121
David Tardond5d39272014-03-03 15:29:27 +0100122gb_ExternalProject__use_mdds_headers :=
123
David Tardon93aff252014-03-03 16:23:27 +0100124define gb_LinkTarget__use_mdds_headers
125$(call gb_LinkTarget_set_include,$(1),\
126 $(MDDS_CFLAGS) \
127 $$(INCLUDE) \
128)
129
130endef
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200131
Michael Stahle3abec32014-02-11 15:57:18 +0100132else # !SYSTEM_MDDS
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200133
David Tardond5d39272014-03-03 15:29:27 +0100134define gb_ExternalProject__use_mdds_headers
David Tardon7fffbdc2015-06-24 15:08:48 +0200135$(call gb_ExternalProject_use_unpacked,$(1),mdds)
David Tardond5d39272014-03-03 15:29:27 +0100136
137endef
138
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200139define gb_LinkTarget__use_mdds_headers
140$(call gb_LinkTarget_use_unpacked,$(1),mdds)
141$(call gb_LinkTarget_set_include,$(1),\
David Tardon93aff252014-03-03 16:23:27 +0100142 $(MDDS_CFLAGS) \
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200143 $$(INCLUDE) \
144)
145
146endef
147
Michael Stahle3abec32014-02-11 15:57:18 +0100148endif # SYSTEM_MDDS
Matúš Kukan22f50fb2012-08-29 12:27:17 +0200149
Andrzej Hunt714857c2015-01-28 18:48:38 +0000150ifeq ($(ENABLE_CALC_UNITVERIFICATION),TRUE)
151
152ifneq ($(SYSTEM_UDUNITS2),)
153
Andrzej Hunt09556122015-06-02 13:53:55 +0100154define gb_LinkTarget__use_udunits2
155$(call gb_LinkTarget_add_defs,$(1),\
156 -DSYSTEM_UDUNITS2 \
157)
Andrzej Hunt714857c2015-01-28 18:48:38 +0000158$(call gb_LinkTarget_set_include,$(1),\
159 $(UDUNITS2_CFLAGS) \
160 $$(INCLUDE) \
161)
Andrzej Hunt09556122015-06-02 13:53:55 +0100162$(call gb_LinkTarget_add_libs,$(1),$(UDUNITS2_LIBS))
Andrzej Hunt714857c2015-01-28 18:48:38 +0000163
164endef
165
166else # !SYSTEM_UDUNITS2
167
Andrzej Hunt09556122015-06-02 13:53:55 +0100168define gb_LinkTarget__use_udunits2
Andrzej Hunt714857c2015-01-28 18:48:38 +0000169$(call gb_LinkTarget_use_package,$(1),udunits2)
170$(call gb_LinkTarget_set_include,$(1),\
171 $$(INCLUDE) \
172 -I$(call gb_UnpackedTarball_get_dir,udunits2)/lib \
173)
174ifeq ($(COM),MSC)
175$(call gb_LinkTarget_add_libs,$(1),\
176 $(call gb_UnpackedTarball_get_dir,udunits2)/udunits2.lib \
177)
178else
179$(call gb_LinkTarget_add_libs,$(1),\
Andrzej Hunt5c342b72015-06-03 21:28:24 +0100180 -L$(call gb_UnpackedTarball_get_dir,udunits2)/lib/.libs -ludunits2 \
Andrzej Hunt714857c2015-01-28 18:48:38 +0000181)
182endif
183
184endef
185
186endif # !SYSTEM_UDUNITS2
187
188else # !ENABLE_CALC_UNITVERIFICATION
189
Andrzej Hunt09556122015-06-02 13:53:55 +0100190gb_LinkTarget__use_udunits2 :=
Andrzej Hunt714857c2015-01-28 18:48:38 +0000191
192endif # ENABLE_CALC_UNITVERIFICATION
193
Michael Stahlff69e722014-02-11 19:08:10 +0100194ifneq ($(SYSTEM_GLM),)
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000195
196gb_LinkTarget__use_glm_headers :=
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200197gb_ExternalProject__use_glm_headers :=
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000198
199else
200
201define gb_LinkTarget__use_glm_headers
202$(call gb_LinkTarget_use_unpacked,$(1),glm)
203$(call gb_LinkTarget_set_include,$(1),\
David Tardon13494912015-05-19 16:59:26 +0200204 $(GLM_CFLAGS) \
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000205 $$(INCLUDE) \
206)
207
208endef
209
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200210define gb_ExternalProject__use_glm_headers
David Tardon682e3592015-06-24 15:11:40 +0200211$(call gb_ExternalProject_use_unpacked,$(1),glm)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200212
213endef
214
Markus Mohrhardae9e6112013-12-23 17:31:55 +0000215endif
216
Michael Stahl674e7912013-05-06 20:23:49 +0200217ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
David Tardoneafaec92012-12-21 14:08:27 +0100218
219define gb_LinkTarget__use_sane_headers
Michael Stahl72279ea2013-05-06 20:14:35 +0200220$(call gb_LinkTarget_set_include,$(1),\
Khaled Hosnya62e7732013-11-04 18:33:52 +0200221 -I$(SRCDIR)/external/$(if $(filter WNT,$(OS)),twain,sane)/inc \
Michael Stahl72279ea2013-05-06 20:14:35 +0200222 $$(INCLUDE) \
David Tardoneafaec92012-12-21 14:08:27 +0100223)
224
225endef
226
227else
228
229gb_LinkTarget__use_sane_headers :=
230
231endif
232
Michael Stahl8555b372014-02-11 19:28:33 +0100233ifneq ($(SYSTEM_BLUEZ),)
David Tardon8fa06c82013-11-05 06:53:49 +0100234
235gb_LinkTarget__use_bluez_bluetooth_headers :=
236
237else # !SYSTEM_BLUEZ
238
239define gb_LinkTarget__use_bluez_bluetooth_headers
240$(call gb_LinkTarget_set_include,$(1),\
241 -I$(SRCDIR)/external/bluez_bluetooth/inc \
242 $$(INCLUDE) \
243)
244
245endef
246
247endif # SYSTEM_BLUEZ
248
Matúš Kukan8e535df2012-04-07 13:59:33 +0200249# External libraries
250
Michael Stahle3abec32014-02-11 15:57:18 +0100251ifneq ($(SYSTEM_CPPUNIT),)
David Tardon785e1d92011-07-25 10:34:22 +0200252
253define gb_LinkTarget__use_cppunit
254$(call gb_LinkTarget_set_include,$(1),\
255 $$(INCLUDE) \
256 $(CPPUNIT_CFLAGS) \
257)
258
259$(call gb_LinkTarget_add_libs,$(1),\
260 $(CPPUNIT_LIBS) \
261)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100262
David Tardon785e1d92011-07-25 10:34:22 +0200263endef
264
Michael Stahle3abec32014-02-11 15:57:18 +0100265else # !SYSTEM_CPPUNIT
David Tardon785e1d92011-07-25 10:34:22 +0200266
David Tardon785e1d92011-07-25 10:34:22 +0200267define gb_LinkTarget__use_cppunit
Michael Stahl32a001d2013-10-23 23:41:58 +0200268$(call gb_LinkTarget_use_external_project,$(1),cppunit)
Peter Foley143835b2012-11-25 16:37:40 -0500269
Peter Foley143835b2012-11-25 16:37:40 -0500270$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200271 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
Peter Foley143835b2012-11-25 16:37:40 -0500272 $$(INCLUDE) \
273)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100274
Michael Stahl77fe50b2013-10-23 23:35:16 +0200275ifeq ($(COM),MSC)
276$(call gb_LinkTarget_add_libs,$(1),\
277 $(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
278)
279else
280$(call gb_LinkTarget_add_libs,$(1),\
281 -L$(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/.libs -lcppunit \
282)
283endif
284
David Tardon785e1d92011-07-25 10:34:22 +0200285endef
286
Michael Stahle3abec32014-02-11 15:57:18 +0100287endif # SYSTEM_CPPUNIT
Michael Stahlc74af0d2011-04-01 20:49:35 +0000288
Tor Lillqvist65b27f82014-04-08 13:36:30 +0300289ifneq ($(SYSTEM_GLEW),)
David Tardon864f7752014-02-09 21:19:07 +0100290
291define gb_LinkTarget__use_glew
292$(call gb_LinkTarget_set_include,$(1),\
293 $$(INCLUDE) \
294 $(GLEW_CFLAGS) \
295)
296$(call gb_LinkTarget_add_libs,$(1),$(GLEW_LIBS))
297
298endef
299
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200300gb_ExternalProject__use_glew :=
301
Michael Stahle3abec32014-02-11 15:57:18 +0100302else # !SYSTEM_GLEW
David Tardon864f7752014-02-09 21:19:07 +0100303
Michael Stahl0c94f232014-03-18 17:17:04 +0100304$(eval $(call gb_Helper_register_packages_for_install,ooo,\
305 glew \
306))
307
David Tardon864f7752014-02-09 21:19:07 +0100308define gb_LinkTarget__use_glew
Matúš Kukan532e8cc2014-04-08 10:30:47 +0200309$(call gb_LinkTarget_use_package,$(1),glew)
David Tardon864f7752014-02-09 21:19:07 +0100310$(call gb_LinkTarget_set_include,$(1),\
311 -I$(call gb_UnpackedTarball_get_dir,glew/include) \
Stephan Bergmannfa50ede2015-03-02 20:22:42 +0100312 -DGLEW_NO_GLU \
David Tardon864f7752014-02-09 21:19:07 +0100313 $$(INCLUDE) \
314)
315
316ifeq ($(COM),MSC)
317$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovsky152e2a22014-11-30 18:26:01 +0100318 $(call gb_UnpackedTarball_get_dir,glew)/lib/$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/$(wnt_arch_subdir_mandatory)/glew32d.lib,Release/$(wnt_arch_subdir_mandatory)/glew32.lib) \
David Tardon864f7752014-02-09 21:19:07 +0100319)
320else
321$(call gb_LinkTarget_add_libs,$(1),\
322 -L$(call gb_UnpackedTarball_get_dir,glew)/lib/ -lGLEW \
323)
324endif
325
326endef
327
Zolnai Tamás6403f2b2014-06-25 15:19:41 +0200328define gb_ExternalProject__use_glew
329$(call gb_ExternalProject_use_external_project,$(1),glew)
330
331endef
332
Michael Stahle3abec32014-02-11 15:57:18 +0100333endif # SYSTEM_GLEW
David Tardon864f7752014-02-09 21:19:07 +0100334
Tor Lillqvist40900fb2013-01-03 12:48:14 +0200335define gb_LinkTarget__use_iconv
336$(call gb_LinkTarget_add_libs,$(1),-liconv)
337
338endef
339
Michael Stahl379f9782014-02-11 16:49:19 +0100340ifneq ($(SYSTEM_MARIADB),)
Peter Foleyc322d502013-01-23 16:29:08 -0500341
David Tardon217eae42013-11-05 06:49:33 +0100342define gb_LinkTarget__use_mariadb
343$(call gb_LinkTarget_set_include,$(1),\
344 $$(INCLUDE) \
345 $(MARIADB_CFLAGS) \
346)
347$(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
348
349endef
350gb_ExternalProject__use_mariadb :=
351
352else # !SYSTEM_MARIADB
353
354define gb_LinkTarget__use_mariadb
355$(call gb_LinkTarget_set_include,$(1),\
356 $$(INCLUDE) \
357 $(MARIADB_CFLAGS) \
358)
359$(call gb_LinkTarget_use_static_libraries,$(1),\
360 mariadblib \
361)
362
363endef
364define gb_ExternalProject__use_mariadb
365$(call gb_ExternalProject_use_static_libraries,$(1),mariadblib)
366
367endef
368
369endif # SYSTEM_MARIADB
370
371
Michael Stahl379f9782014-02-11 16:49:19 +0100372ifneq ($(SYSTEM_MARIADB),)
David Tardon217eae42013-11-05 06:49:33 +0100373
Peter Foleyc322d502013-01-23 16:29:08 -0500374define gb_LinkTarget__use_mysql
375
376$(call gb_LinkTarget_add_defs,$(1),\
Fridrich Štrba1bf43062013-03-06 11:45:50 +0100377 -DSYSTEM_MARIADB \
Peter Foleyc322d502013-01-23 16:29:08 -0500378)
379
380$(call gb_LinkTarget_add_libs,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100381 $(MARIADB_LIBS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500382)
383
384$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100385 $(MARIADB_CFLAGS) \
Peter Foleyc322d502013-01-23 16:29:08 -0500386 $$(INCLUDE) \
387)
388endef
389
390else
391
392define gb_LinkTarget__use_mysql
393
394$(call gb_LinkTarget_set_include,$(1),\
Peter Foleyc322d502013-01-23 16:29:08 -0500395 $$(INCLUDE) \
396)
397
398endef
399
400endif
401
Michael Stahl0443d0a2014-02-11 16:57:35 +0100402ifneq ($(SYSTEM_MYSQL_CPPCONN),)
Peter Foleyc322d502013-01-23 16:29:08 -0500403
404define gb_LinkTarget__use_mysqlcppconn
405$(call gb_LinkTarget_add_libs,$(1),\
406 -lmysqlcppconn \
407)
408
409$(call gb_LinkTarget_add_defs,$(1),\
Peter Foleyb02d7992013-01-24 15:43:52 -0500410 -DSYSTEM_MYSQL_CPPCONN \
Peter Foleyc322d502013-01-23 16:29:08 -0500411)
412endef
413
414else
415
Stephan Bergmann5afa25c2015-06-12 16:26:25 +0200416$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OXT,\
Peter Foleyc322d502013-01-23 16:29:08 -0500417 mysqlcppconn \
418))
419
Michael Stahl5f356bd2013-01-28 23:53:30 +0100420# note: this does not link mysqlcppconn, it is loaded via osl_loadModuleRelative
Peter Foleyc322d502013-01-23 16:29:08 -0500421define gb_LinkTarget__use_mysqlcppconn
422
Michael Stahl5f356bd2013-01-28 23:53:30 +0100423$(call gb_LinkTarget_use_unpacked,$(1),mysqlcppconn)
424
Peter Foleyb02d7992013-01-24 15:43:52 -0500425$(call gb_LinkTarget_add_defs,$(1),\
426 -DCPPCONN_LIB_BUILD \
427)
428
Peter Foleyc322d502013-01-23 16:29:08 -0500429$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200430 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn) \
431 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn)/cppconn \
Peter Foleyc322d502013-01-23 16:29:08 -0500432 $$(INCLUDE) \
433)
434
435endef
436
437endif
438
Michael Stahl04ff5352014-02-11 16:21:04 +0100439ifneq ($(SYSTEM_ZLIB),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000440
441define gb_LinkTarget__use_zlib
Michael Stahla88ef232011-04-13 16:11:41 +0000442$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000443 -DSYSTEM_ZLIB \
444)
445$(call gb_LinkTarget_add_libs,$(1),-lz)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100446
Michael Stahlc74af0d2011-04-01 20:49:35 +0000447endef
448
David Tardoncb276232012-10-26 15:33:26 +0200449# nothing on system
450define gb_LinkTarget__use_zlib_x64
451
452endef
453
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100454gb_ExternalProject__use_zlib :=
455
Michael Stahlc74af0d2011-04-01 20:49:35 +0000456else # !SYSTEM_ZLIB
457
David Tardoncb276232012-10-26 15:33:26 +0200458define gb_LinkTarget__use_zlib_multiarch
459$(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
460
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200461$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl3c38b772013-05-08 15:47:24 +0200462 $(ZLIB_CFLAGS) \
Matúš Kukanf5ff45b2012-09-08 16:29:05 +0200463 $$(INCLUDE) \
464)
David Tardoncb276232012-10-26 15:33:26 +0200465
Michael Stahlc923f7d2012-04-07 23:22:08 +0200466$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardoncb276232012-10-26 15:33:26 +0200467 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000468)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100469
Michael Stahlc74af0d2011-04-01 20:49:35 +0000470endef
471
David Tardoncb276232012-10-26 15:33:26 +0200472define gb_LinkTarget__use_zlib
473$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
474
475endef
476
477define gb_LinkTarget__use_zlib_x64
478$(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
479
480endef
481
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100482define gb_ExternalProject__use_zlib
Fridrich Štrba2f4d1602013-03-14 12:45:24 +0100483$(call gb_ExternalProject_use_static_libraries,$(1),zlib)
484
485endef
486
Michael Stahlc74af0d2011-04-01 20:49:35 +0000487endif # SYSTEM_ZLIB
488
489
Michael Stahl46648152014-02-11 16:33:18 +0100490ifneq ($(SYSTEM_JPEG),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000491
492define gb_LinkTarget__use_jpeg
493$(call gb_LinkTarget_add_libs,$(1),-ljpeg)
494$(call gb_LinkTarget_set_ldflags,$(1),\
Michael Stahl73d2fe92011-04-13 16:11:39 +0000495 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000496)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100497
Michael Stahlc74af0d2011-04-01 20:49:35 +0000498endef
499
Stephan Bergmann2d6ee4e2014-12-03 08:26:17 +0100500else ifneq ($(filter JPEG_TURBO,$(BUILD_TYPE)),)
Matúš Kukan71fae5d2014-11-17 09:16:34 +0100501
502define gb_LinkTarget__use_jpeg
503$(call gb_LinkTarget_set_include,$(1),\
504 -I$(call gb_UnpackedTarball_get_dir,jpeg-turbo) \
505 $$(INCLUDE) \
506)
507$(call gb_LinkTarget_add_libs,$(1),\
508 $(call gb_UnpackedTarball_get_dir,jpeg-turbo)/.libs/libjpeg$(gb_StaticLibrary_PLAINEXT) \
509)
510$(call gb_LinkTarget_use_external_project,$(1),jpeg-turbo)
511
512endef
513
Michael Stahlc74af0d2011-04-01 20:49:35 +0000514else # !SYSTEM_JPEG
515
Michael Stahlc74af0d2011-04-01 20:49:35 +0000516define gb_LinkTarget__use_jpeg
Matúš Kukane8a28be2012-01-21 00:46:29 +0100517$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlb65859c2013-05-08 17:30:40 +0200518 -I$(call gb_UnpackedTarball_get_dir,jpeg) \
Matúš Kukane8a28be2012-01-21 00:46:29 +0100519 $$(INCLUDE) \
Matúš Kukane8a28be2012-01-21 00:46:29 +0100520)
521
Michael Stahlc923f7d2012-04-07 23:22:08 +0200522$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardon4ed91fd2012-10-12 09:32:02 +0200523 jpeg \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000524)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100525
Michael Stahlc74af0d2011-04-01 20:49:35 +0000526endef
527
528endif # SYSTEM_JPEG
529
Michael Stahlab586f12014-02-11 19:25:30 +0100530ifneq ($(SYSTEM_MYTHES),)
Peter Foley1d1bab42012-10-28 12:00:06 -0400531
532define gb_LinkTarget__use_mythes
Rene Engelhard99ef1f52012-10-28 23:00:03 +0100533$(call gb_LinkTarget_set_include,$(1),\
534 $$(INCLUDE) \
535 $(MYTHES_CFLAGS) \
536)
537$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
538
Peter Foley1d1bab42012-10-28 12:00:06 -0400539endef
540
541else # !SYSTEM_MYTHES
542
Peter Foley1d1bab42012-10-28 12:00:06 -0400543define gb_LinkTarget__use_mythes
Michael Stahl90ad80e32013-05-07 23:59:00 +0200544$(call gb_LinkTarget_set_include,$(1),\
545 -I$(call gb_UnpackedTarball_get_dir,mythes) \
546 $$(INCLUDE) \
547)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200548
549ifeq ($(COM),MSC)
Matúš Kukan327db9f2012-10-28 22:40:30 +0100550$(call gb_LinkTarget_use_static_libraries,$(1),\
551 mythes \
Peter Foley1d1bab42012-10-28 12:00:06 -0400552)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200553else
554$(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
555$(call gb_LinkTarget_use_external_project,$(1),mythes)
556endif
Matúš Kukan327db9f2012-10-28 22:40:30 +0100557
Peter Foley1d1bab42012-10-28 12:00:06 -0400558endef
559
560endif # SYSTEM_MYTHES
561
Michael Stahlc74af0d2011-04-01 20:49:35 +0000562
Michael Stahl46648152014-02-11 16:33:18 +0100563ifneq ($(SYSTEM_EXPAT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000564
David Tardon51149802013-04-09 09:22:20 +0200565define gb_LinkTarget__use_expat_impl
566$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000567
Michael Stahla88ef232011-04-13 16:11:41 +0000568$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000569 -DSYSTEM_EXPAT \
570)
571
572$(call gb_LinkTarget_add_libs,$(1),-lexpat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100573
Michael Stahlc74af0d2011-04-01 20:49:35 +0000574endef
575
Michael Stahl77289672012-11-17 00:36:29 +0100576gb_ExternalProject__use_expat :=
577
Michael Stahlc74af0d2011-04-01 20:49:35 +0000578else # !SYSTEM_EXPAT
579
David Tardon51149802013-04-09 09:22:20 +0200580define gb_LinkTarget__use_expat_impl
581$(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
Michael Stahlc74af0d2011-04-01 20:49:35 +0000582
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700583$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl5e037bb2013-05-07 21:47:18 +0200584 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
David Ostrovsky2ffde7b2012-10-12 12:28:11 -0700585 $$(INCLUDE) \
586)
587
Michael Stahlc923f7d2012-04-07 23:22:08 +0200588$(call gb_LinkTarget_use_static_libraries,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000589 $(2) \
Michael Stahlc74af0d2011-04-01 20:49:35 +0000590)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100591
Michael Stahlc74af0d2011-04-01 20:49:35 +0000592endef
593
Michael Stahl77289672012-11-17 00:36:29 +0100594define gb_ExternalProject__use_expat
Michael Stahl77289672012-11-17 00:36:29 +0100595$(call gb_ExternalProject_use_static_libraries,$(1),expat)
596
597endef
598
Michael Stahlc74af0d2011-04-01 20:49:35 +0000599endif # SYSTEM_EXPAT
600
David Tardon51149802013-04-09 09:22:20 +0200601define gb_LinkTarget__use_expat
602$(call gb_LinkTarget__use_expat_impl,$(1),expat)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100603
Michael Stahlc74af0d2011-04-01 20:49:35 +0000604endef
605
David Tardon51149802013-04-09 09:22:20 +0200606define gb_LinkTarget__use_expat_x64
607$(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100608
Michael Stahlc74af0d2011-04-01 20:49:35 +0000609endef
610
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100611ifneq ($(SYSTEM_HYPH),)
Peter Foleydd584cb2012-11-03 13:54:46 -0400612
613define gb_LinkTarget__use_hyphen
614$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
615
616endef
617
618else # !SYSTEM_HYPH
619
Peter Foleydd584cb2012-11-03 13:54:46 -0400620define gb_LinkTarget__use_hyphen
621$(call gb_LinkTarget_use_unpacked,$(1),hyphen)
622$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200623 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
Peter Foleydd584cb2012-11-03 13:54:46 -0400624 $$(INCLUDE) \
625)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200626
627ifeq ($(COM),MSC)
Peter Foleydd584cb2012-11-03 13:54:46 -0400628$(call gb_LinkTarget_use_static_libraries,$(1),\
629 hyphen \
630)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200631else
632$(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
633$(call gb_LinkTarget_use_external_project,$(1),hyphen)
634endif
Peter Foleydd584cb2012-11-03 13:54:46 -0400635
636endef
637
638endif # SYSTEM_HYPH
639
Michael Stahl9fc9e9c2014-02-11 19:21:36 +0100640ifneq ($(SYSTEM_HUNSPELL),)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100641
642define gb_LinkTarget__use_hunspell
643$(call gb_LinkTarget_set_include,$(1),\
644 $$(INCLUDE) \
645 $(HUNSPELL_CFLAGS) \
646)
647$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
648
649endef
650
Michael Stahl2f6261f2013-09-19 19:28:36 +0200651gb_ExternalProject__use_hunspell :=
652
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100653else # !SYSTEM_HUNSPELL
654
655define gb_LinkTarget__use_hunspell
656$(call gb_LinkTarget_add_defs,$(1),\
657 -DHUNSPELL_STATIC \
658)
Matúš Kukan7a030392012-10-29 23:29:37 +0100659$(call gb_LinkTarget_use_unpacked,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100660$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200661 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
Matúš Kukan7a030392012-10-29 23:29:37 +0100662 $$(INCLUDE) \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100663)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200664
665ifeq ($(COM),MSC)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200666$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan327db9f2012-10-28 22:40:30 +0100667 hunspell \
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100668)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200669else
670$(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
671$(call gb_LinkTarget_use_external_project,$(1),hunspell)
672endif
673
674endef
675
676define gb_ExternalProject__use_hunspell
677$(call gb_ExternalProject_use_external_project,$(1),hunspell)
Matúš Kukanb6bb9bd2011-12-03 14:44:12 +0100678
679endef
680
681endif # SYSTEM_HUNSPELL
682
683
Michael Stahladddbbc2014-02-11 18:40:09 +0100684ifneq ($(SYSTEM_BOOST),)
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200685
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200686define gb_LinkTarget__use_boostdatetime
David Tardon0f6919c2012-06-06 17:04:01 +0200687$(call gb_LinkTarget_set_include,$(1),\
688 $$(INCLUDE) \
689 $(BOOST_CPPFLAGS) \
690)
691
692$(call gb_LinkTarget_add_ldflags,$(1),\
693 $(BOOST_LDFLAGS) \
694)
695
696$(call gb_LinkTarget_add_libs,$(1),\
697 $(BOOST_DATE_TIME_LIB) \
698)
699
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200700endef
701
Markus Mohrhard36788e92014-01-08 13:17:28 +0100702define gb_LinkTarget__use_boost_iostreams
703$(call gb_LinkTarget_set_include,$(1),\
704 $$(INCLUDE) \
705 $(BOOST_CPPFLAGS) \
706)
707
708$(call gb_LinkTarget_add_ldflags,$(1),\
709 $(BOOST_LDFLAGS) \
710)
711
712$(call gb_LinkTarget_add_libs,$(1),\
713 $(BOOST_IOSTREAMS_LIB) \
714)
715
716endef
717
David Tardon6d9de6b2014-03-03 20:39:13 +0100718gb_ExternalProject__use_boost_iostreams :=
719
Markus Mohrhard36788e92014-01-08 13:17:28 +0100720define gb_LinkTarget__use_boost_system
Tor Lillqvist503b2482013-05-22 19:50:22 +0300721$(call gb_LinkTarget_set_include,$(1),\
722 $$(INCLUDE) \
723 $(BOOST_CPPFLAGS) \
724)
725
726$(call gb_LinkTarget_add_ldflags,$(1),\
727 $(BOOST_LDFLAGS) \
728)
729
730$(call gb_LinkTarget_add_libs,$(1),\
731 $(BOOST_SYSTEM_LIB) \
732)
733
734endef
735
Markus Mohrhard36788e92014-01-08 13:17:28 +0100736gb_ExternalProject__use_boost_system :=
Tor Lillqvist503b2482013-05-22 19:50:22 +0300737
Stephan Bergmann93208022013-02-16 22:56:19 +0100738define gb_LinkTarget__use_boost_headers
739$(call gb_LinkTarget_set_include,$(1),\
740 $$(INCLUDE) \
741 $(BOOST_CPPFLAGS) \
742)
743
744endef
745
Peter Foleycdb6eca2012-11-10 08:56:12 -0500746gb_ExternalProject__use_boost_headers:=
747
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200748else # !SYSTEM_BOOST
749
Kohei Yoshida0454b732012-09-06 15:10:19 -0400750ifeq ($(OS),WNT)
Michael Stahl7f2e1682012-09-06 20:22:11 +0200751define gb_LinkTarget__use_boostthread
752$(call gb_LinkTarget_add_defs,$(1),\
753 -DBOOST_ALL_NO_LIB \
754)
755
756$(call gb_LinkTarget_use_static_libraries,$(1),\
757 boostthread \
758)
759endef
Matúš Kukanddb5edc2013-05-30 14:39:38 +0200760endif
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200761
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200762define gb_LinkTarget__use_boostdatetime
Michael Stahl7f2e1682012-09-06 20:22:11 +0200763$(call gb_LinkTarget_add_defs,$(1),\
764 -DBOOST_ALL_NO_LIB \
765)
766
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200767$(call gb_LinkTarget_use_static_libraries,$(1),\
Fridrich Štrbacdabc882013-05-24 14:46:28 +0200768 boostdatetime \
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200769)
770
771endef
772
Markus Mohrhard36788e92014-01-08 13:17:28 +0100773define gb_LinkTarget__use_boost_iostreams
Tor Lillqvist503b2482013-05-22 19:50:22 +0300774$(call gb_LinkTarget_add_defs,$(1),\
775 -DBOOST_ALL_NO_LIB \
776)
777
778$(call gb_LinkTarget_use_static_libraries,$(1),\
Markus Mohrhard36788e92014-01-08 13:17:28 +0100779 boost_iostreams \
Tor Lillqvist503b2482013-05-22 19:50:22 +0300780)
781
782endef
783
Markus Mohrhard36788e92014-01-08 13:17:28 +0100784define gb_ExternalProject__use_boost_iostreams
785$(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
786endef
787
788define gb_LinkTarget__use_boost_system
789$(call gb_LinkTarget_add_defs,$(1),\
790 -DBOOST_ALL_NO_LIB \
791)
792
793$(call gb_LinkTarget_use_static_libraries,$(1),\
794 boost_system \
795)
796
797endef
798
799define gb_ExternalProject__use_boost_system
800$(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
Tor Lillqvist503b2482013-05-22 19:50:22 +0300801endef
802
Peter Foleye1f742a2012-11-12 18:37:10 -0500803define gb_LinkTarget__use_boost_headers
Christian Lohmaier1654a1e72012-11-14 18:11:30 +0100804$(call gb_LinkTarget_use_unpacked,$(1),boost)
Michael Stahla53586f2013-01-26 21:19:13 +0100805$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200806 -I$(call gb_UnpackedTarball_get_dir,boost) \
Michael Stahla53586f2013-01-26 21:19:13 +0100807 $$(INCLUDE) \
808)
Peter Foleye1f742a2012-11-12 18:37:10 -0500809
810endef
811
Peter Foleycdb6eca2012-11-10 08:56:12 -0500812define gb_ExternalProject__use_boost_headers
David Tardon682e3592015-06-24 15:11:40 +0200813$(call gb_ExternalProject_use_unpacked,$(1),boost)
Peter Foleycdb6eca2012-11-10 08:56:12 -0500814
815endef
Cédric Bosdonnat12d193d2012-05-10 08:55:12 +0200816endif # SYSTEM_BOOST
817
818
Michael Stahle3abec32014-02-11 15:57:18 +0100819ifneq ($(SYSTEM_CMIS),)
Matúš Kukan464b4332012-01-15 02:12:49 +0100820
821define gb_LinkTarget__use_cmis
822$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100823 $$(INCLUDE) \
Matúš Kukan707194e2012-09-06 18:19:34 +0200824 $(CMIS_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +0100825)
Matúš Kukan707194e2012-09-06 18:19:34 +0200826$(call gb_LinkTarget_add_libs,$(1),$(CMIS_LIBS))
Matúš Kukan464b4332012-01-15 02:12:49 +0100827
828endef
829
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100830else # !SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100831
Matúš Kukan464b4332012-01-15 02:12:49 +0100832define gb_LinkTarget__use_cmis
Michael Stahl759d02b2013-05-08 00:55:21 +0200833$(call gb_LinkTarget_set_include,$(1),\
834 -I$(call gb_UnpackedTarball_get_dir,cmis)/src \
835 $$(INCLUDE) \
836)
Michael Stahlc923f7d2012-04-07 23:22:08 +0200837$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +0100838 cmislib \
839)
840
841endef
842
Bjoern Michaelsen88ed6d12013-02-19 11:10:16 +0100843endif # SYSTEM_CMIS
Matúš Kukan464b4332012-01-15 02:12:49 +0100844
David Tardon32cd12c2014-04-26 19:46:40 +0200845ifeq ($(ENABLE_JAVA),TRUE)
David Tardon2a71e152014-04-26 16:08:07 +0200846
Peter Foleye5ccda42012-12-25 11:23:58 -0500847ifeq ($(OS)$(COM),WNTGCC)
848
849define gb_LinkTarget__use_jawt
David Tardon943dedc2014-04-26 15:50:10 +0200850$(call gb_LinkTarget_use_custom_headers,$(1),external/jawt)
851
852$(call gb_LinkTarget_add_ldflags,$(1),\
853 -L$(call gb_CustomTarget_get_workdir,external/jawt) \
854)
855
856$(call gb_LinkTarget_add_libs,$(1),\
David Tardon2a71e152014-04-26 16:08:07 +0200857 $(JAWTLIB) \
Peter Foleye5ccda42012-12-25 11:23:58 -0500858)
859
860endef
861
862else # $(OS)$(COM) != WNTGCC
863
David Tardon2a71e152014-04-26 16:08:07 +0200864define gb_LinkTarget__use_jawt
865$(call gb_LinkTarget_add_libs,$(1),\
866 $(JAWTLIB) \
867)
868
869endef
Peter Foleye5ccda42012-12-25 11:23:58 -0500870
871endif # $(OS)$(COM) = WNTGCC
872
David Tardon2a71e152014-04-26 16:08:07 +0200873else # !ENABLE_JAVA
874
875gb_LinkTarget__use_jawt :=
876
877endif # ENABLE_JAVA
Matúš Kukan464b4332012-01-15 02:12:49 +0100878
Michael Stahl23647592014-02-11 19:04:20 +0100879ifneq ($(SYSTEM_LIBATOMIC_OPS),)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100880
881define gb_LinkTarget__use_libatomic_ops
882$(call gb_LinkTarget_set_include,$(1),\
883 $$(INCLUDE) \
884 $(LIBATOMIC_OPS_CFLAGS) \
885)
886$(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
887
888endef
889gb_ExternalProject__use_libatomic_ops :=
890
891else # !SYSTEM_LIBATOMIC_OPS
892
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100893define gb_LinkTarget__use_libatomic_ops
894$(call gb_LinkTarget_set_include,$(1),\
895$(LIBATOMIC_OPS_CFLAGS) \
896 $$(INCLUDE) \
897 $(LIBATOMIC_OPS_CFLAGS) \
898)
Michael Stahlb3085262013-10-24 12:22:58 +0200899$(call gb_LinkTarget_use_external_project,$(1),\
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100900 libatomic_ops \
901)
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100902
Michael Stahlb3085262013-10-24 12:22:58 +0200903$(call gb_LinkTarget_add_libs,$(1),\
Andrzej J.R. Huntf479f622013-09-05 16:27:50 +0100904 -L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src/lib -latomic_ops \
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100905)
906
907endef
908
909define gb_ExternalProject__use_libatomic_ops
Michael Stahlb3085262013-10-24 12:22:58 +0200910$(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +0100911
912endef
913
914endif # SYSTEM_LIBATOMIC_OPS
915
916
Michael Stahle3abec32014-02-11 15:57:18 +0100917ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
Matúš Kukanbd030302011-12-03 15:06:52 +0100918
919define gb_LinkTarget__use_libexttextcat
920$(call gb_LinkTarget_set_include,$(1),\
921 $$(INCLUDE) \
922 $(LIBEXTTEXTCAT_CFLAGS) \
923)
Peter Foley31219f02012-11-09 17:25:56 -0500924$(call gb_LinkTarget_add_defs,$(1),\
925 -DSYSTEM_LIBEXTTEXTCAT \
926)
Matúš Kukanbd030302011-12-03 15:06:52 +0100927$(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
928
929endef
930
931else # !SYSTEM_LIBEXTTEXTCAT
932
Matúš Kukanbd030302011-12-03 15:06:52 +0100933define gb_LinkTarget__use_libexttextcat
Peter Foley31219f02012-11-09 17:25:56 -0500934$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +0200935 -I$(call gb_UnpackedTarball_get_dir,exttextcat/src) \
Peter Foley31219f02012-11-09 17:25:56 -0500936 $$(INCLUDE) \
937)
Matúš Kukanbd030302011-12-03 15:06:52 +0100938
Michael Stahl2f6261f2013-09-19 19:28:36 +0200939ifeq ($(COM),MSC)
940$(call gb_LinkTarget_use_static_libraries,$(1),\
941 exttextcat \
942)
943else
944$(call gb_LinkTarget_add_libs,$(1),\
945 $(call gb_UnpackedTarball_get_dir,exttextcat)/src/.libs/libexttextcat-2.0.a\
946)
David Tardon523a3042013-10-12 18:22:55 +0200947$(call gb_LinkTarget_use_external_project,$(1),exttextcat)
Michael Stahl2f6261f2013-09-19 19:28:36 +0200948endif
949
950
Matúš Kukanbd030302011-12-03 15:06:52 +0100951endef
952
953endif # SYSTEM_LIBEXTTEXTCAT
954
955
Michael Stahl379f9782014-02-11 16:49:19 +0100956ifneq ($(SYSTEM_LIBXML),)
Michael Stahlc74af0d2011-04-01 20:49:35 +0000957
958define gb_LinkTarget__use_libxml2
Michael Stahla88ef232011-04-13 16:11:41 +0000959$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +0000960 -DSYSTEM_LIBXML \
961)
962$(call gb_LinkTarget_set_include,$(1),\
963 $$(INCLUDE) \
964 $(LIBXML_CFLAGS) \
965)
966$(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +0100967
Michael Stahlc74af0d2011-04-01 20:49:35 +0000968endef
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500969gb_ExternalProject__use_libxml2:=
Michael Stahlc74af0d2011-04-01 20:49:35 +0000970
971else # !SYSTEM_LIBXML
972
Michael Stahl64ea9942014-03-14 11:48:24 +0100973$(eval $(call gb_Helper_register_packages_for_install,ure,\
974 xml2 \
975))
976
Michael Stahlc74af0d2011-04-01 20:49:35 +0000977define gb_LinkTarget__use_libxml2
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500978$(call gb_LinkTarget_use_package,$(1),xml2)
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500979$(call gb_LinkTarget_set_include,$(1),\
980 $$(INCLUDE) \
David Tardon7515b1a2014-07-17 17:27:05 +0200981 $(LIBXML_CFLAGS) \
982)
983
984$(call gb_LinkTarget_add_libs,$(1),\
985 $(LIBXML_LIBS) \
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500986)
987
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200988ifeq ($(COM),MSC)
David Tardon7515b1a2014-07-17 17:27:05 +0200989$(call gb_LinkTarget_use_external,$(1),icu_headers)
Michael Stahlc03ff5e2013-10-22 18:02:28 +0200990endif
991
Peter Foleyb9d6c7a2013-02-05 17:19:11 -0500992endef
993define gb_ExternalProject__use_libxml2
994$(call gb_ExternalProject_use_package,$(1),xml2)
Caolán McNamara6bccd202011-07-25 22:10:33 +0100995
David Tardon7515b1a2014-07-17 17:27:05 +0200996ifeq ($(COM),MSC)
997$(call gb_ExternalProject_use_external_project,$(1),icu)
998endif
999
Michael Stahlc74af0d2011-04-01 20:49:35 +00001000endef
1001
1002endif # SYSTEM_LIBXML
1003
1004
Michael Stahle3abec32014-02-11 15:57:18 +01001005ifneq ($(SYSTEM_LIBXSLT),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001006
1007define gb_LinkTarget__use_libxslt
1008$(call gb_LinkTarget_set_include,$(1),\
1009 $$(INCLUDE) \
1010 $(LIBXSLT_CFLAGS) \
1011)
1012$(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001013
Michael Stahlc74af0d2011-04-01 20:49:35 +00001014endef
1015
David Tardonab03e872012-08-15 07:20:13 +02001016define gb_LinkTarget__use_libexslt
1017$(call gb_LinkTarget_set_include,$(1),\
1018 $$(INCLUDE) \
1019 $(LIBEXSLT_CFLAGS) \
1020)
1021
1022$(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
1023
1024endef
1025
Michael Stahlc74af0d2011-04-01 20:49:35 +00001026else # !SYSTEM_LIBXSLT
1027
Michael Stahl32a617d2014-02-17 11:23:19 +01001028$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1029 xslt \
1030))
1031
Michael Stahlc74af0d2011-04-01 20:49:35 +00001032define gb_LinkTarget__use_libxslt
Peter Foley856c0752013-02-02 15:44:30 -05001033$(call gb_LinkTarget_use_package,$(1),xslt)
1034$(call gb_LinkTarget_set_include,$(1),\
1035 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +02001036 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -05001037)
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001038
1039ifeq ($(COM),MSC)
1040$(call gb_LinkTarget_add_libs,$(1),\
1041 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libxslt.lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001042)
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001043else
1044$(call gb_LinkTarget_add_libs,$(1),\
1045 -L$(call gb_UnpackedTarball_get_dir,xslt)/libxslt/.libs -lxslt \
1046)
1047endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001048
Michael Stahlc74af0d2011-04-01 20:49:35 +00001049endef
1050
David Tardonab03e872012-08-15 07:20:13 +02001051define gb_LinkTarget__use_libexslt
Peter Foley856c0752013-02-02 15:44:30 -05001052$(call gb_LinkTarget_use_package,$(1),xslt)
1053$(call gb_LinkTarget_set_include,$(1),\
1054 $$(INCLUDE) \
Michael Stahl70fcfee2013-04-01 12:47:16 +02001055 -I$(call gb_UnpackedTarball_get_dir,xslt) \
Peter Foley856c0752013-02-02 15:44:30 -05001056)
1057
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001058ifeq ($(COM),MSC)
1059$(call gb_LinkTarget_add_libs,$(1),\
1060 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libexslt.lib \
David Tardonab03e872012-08-15 07:20:13 +02001061)
Michael Stahlc03ff5e2013-10-22 18:02:28 +02001062else
1063$(call gb_LinkTarget_add_libs,$(1),\
1064 -L$(call gb_UnpackedTarball_get_dir,xslt)/libexslt/.libs -lexslt \
1065)
1066endif
David Tardonab03e872012-08-15 07:20:13 +02001067
1068endef
1069
Michael Stahlc74af0d2011-04-01 20:49:35 +00001070endif # SYSTEM_LIBXSLT
1071
Norbert Thiebaud587d9692013-08-29 10:38:00 -05001072ifeq ($(ENABLE_LIBLANGTAG),TRUE)
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +02001073
Michael Stahl49dde4c2014-02-11 19:42:28 +01001074ifneq ($(SYSTEM_LIBLANGTAG),)
Eike Rathkea774a482012-08-06 19:22:43 +02001075
1076define gb_LinkTarget__use_liblangtag
1077$(call gb_LinkTarget_set_include,$(1),\
1078 $$(INCLUDE) \
1079 $(LIBLANGTAG_CFLAGS) \
1080)
1081
1082$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1083
1084endef
1085
1086else # !SYSTEM_LIBLANGTAG
1087
Michael Stahl01adcd82014-03-18 17:38:06 +01001088$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1089 liblangtag_data \
1090))
1091
Eike Rathkea774a482012-08-06 19:22:43 +02001092define gb_LinkTarget__use_liblangtag
Peter Foley782151a2012-11-11 16:02:36 -05001093$(call gb_LinkTarget_use_unpacked,$(1),langtag)
1094$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001095 -I$(call gb_UnpackedTarball_get_dir,langtag) \
Peter Foley782151a2012-11-11 16:02:36 -05001096 $$(INCLUDE) \
1097)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001098$(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1099$(call gb_LinkTarget_use_external_project,$(1),langtag)
Eike Rathkea774a482012-08-06 19:22:43 +02001100
1101endef
1102
1103endif # SYSTEM_LIBLANGTAG
1104
Matúš Kukan51ba7db2013-05-02 12:19:35 +02001105else
1106
1107gb_LinkTarget__use_liblangtag :=
1108
Jan Holesovsky6a7b32b02012-08-10 10:27:54 +02001109endif # ENABLE_LIBLANGTAG
1110
Matúš Kukandcae0502014-02-25 21:47:33 +01001111gb_ExternalProject__use_apr :=
1112
1113ifeq ($(WITH_WEBDAV),serf)
Matúš Kukan0b272532014-02-06 12:28:36 +01001114
1115define gb_LinkTarget__use_apr
1116$(call gb_LinkTarget_set_include,$(1),\
1117 $$(INCLUDE) \
1118 $(APR_CFLAGS) \
1119)
1120$(call gb_LinkTarget_add_libs,$(1),\
1121 $(APR_LIBS) \
Michael Stahl5cf22052014-06-05 13:35:14 +02001122 $(if $(filter $(OS),LINUX),-lpthread) \
1123 $(if $(filter $(OS),MACOSX),-liconv) \
Matúš Kukan0b272532014-02-06 12:28:36 +01001124)
1125
1126ifeq ($(SYSTEM_APR),)
1127$(call gb_LinkTarget_use_system_win32_libs,$(1),\
1128 mswsock \
1129 rpcrt4 \
1130 shell32 \
1131)
1132$(call gb_LinkTarget_add_defs,$(1),\
1133 -DAPR_DECLARE_STATIC \
1134 -DAPU_DECLARE_STATIC \
1135)
1136$(call gb_LinkTarget_use_external_project,$(1),apr_util)
1137endif
1138
1139endef
1140
1141define gb_ExternalProject__use_apr
1142ifeq ($(SYSTEM_APR),)
1143$(call gb_ExternalProject_use_external_project,$(1),apr_util)
1144endif
1145
1146endef
1147
1148define gb_LinkTarget__use_serf
1149$(call gb_LinkTarget_set_include,$(1),\
1150 $(SERF_CFLAGS) \
1151 $$(INCLUDE) \
1152)
1153$(call gb_LinkTarget_add_libs,$(1),\
1154 $(SERF_LIBS) \
1155)
1156
1157ifeq ($(SYSTEM_SERF),)
1158$(call gb_LinkTarget_use_external_project,$(1),serf)
1159endif
1160
1161endef
1162
Matúš Kukandcae0502014-02-25 21:47:33 +01001163else ifeq ($(WITH_WEBDAV),neon)
Eike Rathkea774a482012-08-06 19:22:43 +02001164
Michael Stahle3abec32014-02-11 15:57:18 +01001165ifneq ($(SYSTEM_NEON),)
Matúš Kukan464b4332012-01-15 02:12:49 +01001166
1167define gb_LinkTarget__use_neon
Matúš Kukan464b4332012-01-15 02:12:49 +01001168$(call gb_LinkTarget_add_defs,$(1),\
1169 -DNEON_VERSION=0x$(NEON_VERSION) \
David Tardonb74bf412013-08-12 09:39:59 +02001170 -DSYSTEM_NEON \
Matúš Kukan464b4332012-01-15 02:12:49 +01001171)
Matúš Kukan464b4332012-01-15 02:12:49 +01001172$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001173 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00001174 $(NEON_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001175)
1176
1177$(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
1178
1179endef
1180
1181else # !SYSTEM_NEON
1182
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02001183$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
Matúš Kukan464b4332012-01-15 02:12:49 +01001184 neon \
1185))
1186
1187define gb_LinkTarget__use_neon
Matúš Kukan7a030392012-10-29 23:29:37 +01001188$(call gb_LinkTarget_use_unpacked,$(1),neon)
Matúš Kukan464b4332012-01-15 02:12:49 +01001189$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001190 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
Matúš Kukan464b4332012-01-15 02:12:49 +01001191 $$(INCLUDE) \
1192)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001193$(call gb_LinkTarget_use_libraries,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01001194 neon \
1195)
1196
1197endef
1198
1199endif # SYSTEM_NEON
1200
Matúš Kukandcae0502014-02-25 21:47:33 +01001201endif # WITH_WEBDAV
Matúš Kukan464b4332012-01-15 02:12:49 +01001202
Michael Stahle3abec32014-02-11 15:57:18 +01001203ifneq ($(SYSTEM_REDLAND),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001204
1205define gb_LinkTarget__use_librdf
Michael Stahla88ef232011-04-13 16:11:41 +00001206$(call gb_LinkTarget_add_defs,$(1),\
Michael Stahlc74af0d2011-04-01 20:49:35 +00001207 -DSYSTEM_REDLAND \
1208)
1209$(call gb_LinkTarget_set_include,$(1),\
1210 $$(INCLUDE) \
1211 $(REDLAND_CFLAGS) \
1212)
1213$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001214
Michael Stahlc74af0d2011-04-01 20:49:35 +00001215endef
1216
Peter Foley18bd1e72012-12-27 18:04:21 -05001217gb_LinkTarget__use_redland_headers:=
1218
1219gb_LinkTarget__use_raptor_headers:=
1220
1221gb_LinkTarget__use_rasqal_headers:=
1222
Michael Stahlc74af0d2011-04-01 20:49:35 +00001223else # !SYSTEM_REDLAND
1224
Peter Foley18bd1e72012-12-27 18:04:21 -05001225define gb_LinkTarget__use_redland_headers
1226$(call gb_LinkTarget_set_include,$(1),\
Michael Stahld719c012013-04-01 12:41:18 +02001227 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001228 $$(INCLUDE) \
1229)
1230
1231endef
1232
1233define gb_LinkTarget__use_raptor_headers
1234$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001235 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001236 $$(INCLUDE) \
1237)
1238
1239endef
1240
1241define gb_LinkTarget__use_rasqal_headers
1242$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001243 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
Peter Foley18bd1e72012-12-27 18:04:21 -05001244 $$(INCLUDE) \
1245)
1246
1247endef
1248
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001249ifneq ($(OS),ANDROID)
1250
Michael Stahl5f9cda22013-11-01 15:43:47 +01001251ifeq ($(COM),MSC)
Michael Stahlae8e5792014-01-10 12:07:31 +01001252$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
David Tardon491dea02013-05-01 11:23:50 +02001253 raptor2 \
1254 rasqal \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001255 rdf \
1256))
Michael Stahl5ae30d32014-03-13 19:32:13 +01001257else
1258$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1259 raptor \
1260 rasqal \
1261 redland \
1262))
Michael Stahl5f9cda22013-11-01 15:43:47 +01001263endif
Michael Stahlc74af0d2011-04-01 20:49:35 +00001264
1265define gb_LinkTarget__use_librdf
Michael Stahl831aaef2013-10-24 01:09:35 +02001266ifeq ($(COM),MSC)
1267$(call gb_LinkTarget_use_libraries,$(1),\
1268 raptor2 \
1269 rdf \
1270)
1271else
Matúš Kukan85d1e392013-12-14 11:17:30 +01001272$(call gb_LinkTarget_use_packages,$(1),raptor rasqal redland)
1273
Michael Stahl2793c542013-10-23 21:18:24 +02001274$(call gb_LinkTarget_add_libs,$(1),\
1275 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1276 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001277)
Michael Stahl831aaef2013-10-24 01:09:35 +02001278endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001279
Michael Stahlc74af0d2011-04-01 20:49:35 +00001280endef
1281
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001282else # ANDROID
1283
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001284define gb_LinkTarget__use_librdf
Michael Stahl95565d52013-05-07 12:17:20 +02001285$(call gb_LinkTarget_use_packages,$(1),raptor rasqal redland)
Tor Lillqvist9a42ca72012-04-19 21:45:14 +03001286
1287endef
1288
1289endif # ANDROID
1290
Michael Stahlc74af0d2011-04-01 20:49:35 +00001291endif # SYSTEM_REDLAND
1292
1293
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02001294ifneq ($(USING_X11)$(ENABLE_CAIRO_CANVAS),) # or
Michael Stahl32a617d2014-02-17 11:23:19 +01001295
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001296ifneq ($(SYSTEM_CAIRO),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001297
Michael Stahlc74af0d2011-04-01 20:49:35 +00001298define gb_LinkTarget__use_cairo
1299$(call gb_LinkTarget_set_include,$(1),\
1300 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001301 $(CAIRO_CFLAGS) \
1302)
David Tardon962771f2013-05-24 14:35:18 +02001303$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001304$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001305
Michael Stahlc74af0d2011-04-01 20:49:35 +00001306endef
1307
Michael Stahl5c0e6d82014-02-11 17:03:53 +01001308else # !SYSTEM_CAIRO
Michael Stahlc74af0d2011-04-01 20:49:35 +00001309
Michael Stahl32a617d2014-02-17 11:23:19 +01001310$(eval $(call gb_Helper_register_packages_for_install,ooo,\
1311 cairo \
1312 $(if $(filter $(OS),WNT),,pixman) \
1313))
1314
Michael Stahlc74af0d2011-04-01 20:49:35 +00001315define gb_LinkTarget__use_cairo
Michael Stahlde142202012-11-20 22:05:36 +01001316$(call gb_LinkTarget_use_package,$(1),cairo)
1317$(call gb_LinkTarget_use_package,$(1),pixman)
David Tardon962771f2013-05-24 14:35:18 +02001318$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001319$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001320 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1321 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001322 $$(INCLUDE) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001323)
Michael Stahld89f48b2013-10-23 21:27:05 +02001324$(call gb_LinkTarget_add_libs,$(1),\
1325 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001326 $(if $(filter-out MACOSX WNT,$(OS)), \
Michael Stahld89f48b2013-10-23 21:27:05 +02001327 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
Matúš Kukan2cb7ba12012-11-10 22:14:42 +01001328 ) \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001329)
Caolán McNamara5bb76f62011-07-25 21:50:34 +01001330
Michael Stahlc74af0d2011-04-01 20:49:35 +00001331endef
1332
1333endif # SYSTEM_CAIRO
1334
Michael Stahl32a617d2014-02-17 11:23:19 +01001335endif # CAIRO
1336
Michael Stahl379f9782014-02-11 16:49:19 +01001337ifneq ($(SYSTEM_FREETYPE),)
David Tardon962771f2013-05-24 14:35:18 +02001338
1339define gb_LinkTarget__use_freetype_headers
Caolán McNamarab41ae462011-07-25 22:24:27 +01001340$(call gb_LinkTarget_set_include,$(1),\
1341 $$(INCLUDE) \
1342 $(FREETYPE_CFLAGS) \
1343)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001344
David Tardon962771f2013-05-24 14:35:18 +02001345endef
1346
1347define gb_LinkTarget__use_freetype
1348$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Caolán McNamarab41ae462011-07-25 22:24:27 +01001349$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1350
1351endef
1352
Michael Stahle568d2a2013-09-30 14:10:22 +02001353gb_ExternalProject__use_freetype :=
1354
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02001355else ifeq ($(OS),ANDROID)
David Tardon962771f2013-05-24 14:35:18 +02001356
1357define gb_LinkTarget__use_freetype_headers
Michael Stahlb242cee82013-10-24 12:08:50 +02001358$(call gb_LinkTarget_use_external_project,$(1),freetype)
David Tardon962771f2013-05-24 14:35:18 +02001359$(call gb_LinkTarget_set_include,$(1),\
1360 -I$(call gb_UnpackedTarball_get_dir,freetype)/include \
1361 $$(INCLUDE) \
1362)
1363
David Tardon61695f12013-05-24 17:15:20 +02001364endef
1365
David Tardon962771f2013-05-24 14:35:18 +02001366define gb_LinkTarget__use_freetype
1367$(call gb_LinkTarget_use_external,$(1),freetype_headers)
Jan Holesovskyfe5dbe32014-04-22 00:41:57 +02001368$(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
David Tardon962771f2013-05-24 14:35:18 +02001369
1370endef
1371
Michael Stahle568d2a2013-09-30 14:10:22 +02001372define gb_ExternalProject__use_freetype
Michael Stahlb242cee82013-10-24 12:08:50 +02001373$(call gb_ExternalProject_use_external_project,$(1),freetype)
Michael Stahle568d2a2013-09-30 14:10:22 +02001374
1375endef
1376
David Tardon962771f2013-05-24 14:35:18 +02001377endif # SYSTEM_FREETYPE
1378
Michael Stahl04ff5352014-02-11 16:21:04 +01001379ifneq ($(SYSTEM_FONTCONFIG),)
David Tardon4eb68422013-05-24 14:16:03 +02001380
Caolán McNamarab41ae462011-07-25 22:24:27 +01001381define gb_LinkTarget__use_fontconfig
1382$(call gb_LinkTarget_set_include,$(1),\
1383 $$(INCLUDE) \
1384 $(FONTCONFIG_CFLAGS) \
1385)
Tor Lillqvist0d1c24e2012-04-19 21:10:00 +03001386
Caolán McNamarab41ae462011-07-25 22:24:27 +01001387$(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1388
1389endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001390
Matúš Kukanfb8d0a42013-09-25 10:13:09 +02001391else ifeq ($(OS),ANDROID)
David Tardon4eb68422013-05-24 14:16:03 +02001392
David Tardon4eb68422013-05-24 14:16:03 +02001393define gb_LinkTarget__use_fontconfig
Michael Stahl76596b32013-10-24 11:01:41 +02001394$(call gb_LinkTarget_use_external_project,$(1),fontconfig)
David Tardon4eb68422013-05-24 14:16:03 +02001395$(call gb_LinkTarget_set_include,$(1),\
1396 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1397 $$(INCLUDE) \
1398)
1399
David Tardon4eb68422013-05-24 14:16:03 +02001400endef
1401
1402endif # SYSTEM_FONTCONFIG
1403
David Tardon026dc562014-05-30 19:50:24 +02001404ifeq ($(ENABLE_GRAPHITE),TRUE)
1405
Michael Stahle3abec32014-02-11 15:57:18 +01001406ifneq ($(SYSTEM_GRAPHITE),)
Michael Stahl87e44332011-04-13 16:11:39 +00001407
Michael Stahl87e44332011-04-13 16:11:39 +00001408define gb_LinkTarget__use_graphite
Michael Stahl87e44332011-04-13 16:11:39 +00001409$(call gb_LinkTarget_set_include,$(1),\
1410 $$(INCLUDE) \
1411 $(GRAPHITE_CFLAGS) \
1412)
1413$(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001414
Michael Stahl87e44332011-04-13 16:11:39 +00001415endef
1416
Michael Stahle3abec32014-02-11 15:57:18 +01001417else # !SYSTEM_GRAPHITE
Michael Stahl87e44332011-04-13 16:11:39 +00001418
Michael Stahl87e44332011-04-13 16:11:39 +00001419define gb_LinkTarget__use_graphite
Matúš Kukan7a030392012-10-29 23:29:37 +01001420$(call gb_LinkTarget_use_unpacked,$(1),graphite)
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001421$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001422 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001423 $$(INCLUDE) \
1424)
Michael Stahlc923f7d2012-04-07 23:22:08 +02001425$(call gb_LinkTarget_use_static_libraries,$(1),\
Matúš Kukan1ceb47d2012-10-25 09:55:13 +02001426 graphite \
Michael Stahl87e44332011-04-13 16:11:39 +00001427)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001428
Michael Stahl87e44332011-04-13 16:11:39 +00001429endef
1430
1431endif # SYSTEM_GRAPHITE
1432
David Tardon026dc562014-05-30 19:50:24 +02001433else # !ENABLE_GRAPHITE
1434
1435gb_LinkTarget__use_graphite :=
1436
1437endif # ENABLE_GRAPHITE
1438
Michael Stahl187194b2014-02-11 19:17:42 +01001439ifneq ($(SYSTEM_ICU),)
Michael Stahlc74af0d2011-04-01 20:49:35 +00001440
Peter Foleyb92a0d92012-12-25 17:39:43 -05001441gb_LinkTarget__use_icu_headers:=
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001442gb_ExternalProject__use_icu:=
Peter Foleyb92a0d92012-12-25 17:39:43 -05001443
Matúš Kukan6fad1752011-08-11 12:42:39 +02001444define gb_LinkTarget__use_icudata
1445$(call gb_LinkTarget_add_libs,$(1),-licudata)
1446
1447endef
David Tardon1a852392011-07-26 09:58:54 +02001448define gb_LinkTarget__use_icui18n
1449$(call gb_LinkTarget_add_libs,$(1),-licui18n)
Matúš Kukan6fad1752011-08-11 12:42:39 +02001450
David Tardon1a852392011-07-26 09:58:54 +02001451endef
Michael Stahlc74af0d2011-04-01 20:49:35 +00001452define gb_LinkTarget__use_icuuc
1453$(call gb_LinkTarget_add_libs,$(1),-licuuc)
Caolán McNamara6bccd202011-07-25 22:10:33 +01001454
Michael Stahlc74af0d2011-04-01 20:49:35 +00001455endef
1456
1457else # !SYSTEM_ICU
1458
Michael Stahl057613c2014-07-24 00:22:51 +02001459$(eval $(call gb_Helper_register_packages_for_install,ure, \
1460 icu_ure \
1461))
1462
Michael Stahle7592692014-03-14 11:23:52 +01001463$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1464 icu \
1465))
1466
Tor Lillqvist084db5f2012-09-24 10:37:25 +03001467ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
Tor Lillqvist8a3ea752011-11-21 14:25:37 +02001468gb_ICU_suffix:=lo
1469else
1470gb_ICU_suffix:=
1471endif
1472
Peter Foleyb92a0d92012-12-25 17:39:43 -05001473define gb_LinkTarget__use_icu_headers
Peter Foleyce9bf0f2013-03-23 12:32:31 -04001474$(call gb_LinkTarget_use_unpacked,$(1),icu)
Peter Foleyb92a0d92012-12-25 17:39:43 -05001475$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001476 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1477 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1478 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
Peter Foleyb92a0d92012-12-25 17:39:43 -05001479 $$(INCLUDE) \
1480)
1481
1482endef
1483
Fridrich Štrba8e9675d2013-01-25 10:55:04 +01001484define gb_ExternalProject__use_icu
1485$(call gb_ExternalProject_use_package,$(1),icu)
Fridrich Štrba851ca9c2013-01-25 10:29:59 +01001486
1487endef
1488
Peter Foleyf7452122012-11-04 08:46:44 -05001489# icudata and icui18n is called icudt and icuin when built with MSVC :-/
Michael Stahla92f80f2013-10-23 15:00:29 +02001490define gb_LinkTarget__use_icudata
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001491$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahla92f80f2013-10-23 15:00:29 +02001492
1493ifeq ($(OS),WNT)
1494$(call gb_LinkTarget_add_libs,$(1),\
1495 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Matúš Kukan6fad1752011-08-11 12:42:39 +02001496)
Michael Stahla92f80f2013-10-23 15:00:29 +02001497else
1498$(call gb_LinkTarget_add_libs,$(1),\
1499 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licudata$(gb_ICU_suffix) \
1500)
1501endif
Matúš Kukan6fad1752011-08-11 12:42:39 +02001502
1503endef
Michael Stahla92f80f2013-10-23 15:00:29 +02001504
1505define gb_LinkTarget__use_icui18n
1506$(call gb_LinkTarget_use_package,$(1),icu)
1507
1508ifeq ($(OS),WNT)
1509$(call gb_LinkTarget_add_libs,$(1),\
1510 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1511)
1512else
1513$(call gb_LinkTarget_add_libs,$(1),\
1514 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licui18n$(gb_ICU_suffix) \
1515)
1516endif
1517
1518endef
1519
Michael Stahlc74af0d2011-04-01 20:49:35 +00001520define gb_LinkTarget__use_icuuc
Peter Foleyb4b6c45982012-12-31 15:12:11 -05001521$(call gb_LinkTarget_use_package,$(1),icu)
Michael Stahla92f80f2013-10-23 15:00:29 +02001522
1523ifeq ($(OS),WNT)
1524$(call gb_LinkTarget_add_libs,$(1),\
1525 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
Michael Stahlc74af0d2011-04-01 20:49:35 +00001526)
Michael Stahla92f80f2013-10-23 15:00:29 +02001527else
1528$(call gb_LinkTarget_add_libs,$(1),\
1529 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licuuc$(gb_ICU_suffix) \
1530)
1531endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001532
Michael Stahlc74af0d2011-04-01 20:49:35 +00001533endef
1534
1535endif # SYSTEM_ICU
1536
Fridrich Štrba9a943e52013-04-23 11:23:17 +02001537ifeq ($(ENABLE_HARFBUZZ),TRUE)
Michael Stahle3abec32014-02-11 15:57:18 +01001538ifneq ($(SYSTEM_HARFBUZZ),)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001539
1540define gb_LinkTarget__use_harfbuzz
1541$(call gb_LinkTarget_set_include,$(1),\
1542 $$(INCLUDE) \
1543 $(HARFBUZZ_CFLAGS) \
1544)
1545$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1546
1547endef
1548
Michael Stahle3abec32014-02-11 15:57:18 +01001549else # SYSTEM_HARFBUZZ != TRUE
Khaled Hosny7e389f42013-04-20 13:00:56 +02001550
Khaled Hosny7e389f42013-04-20 13:00:56 +02001551define gb_LinkTarget__use_harfbuzz
Michael Stahl8db02752013-05-07 23:28:45 +02001552$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl2f6261f2013-09-19 19:28:36 +02001553 $(HARFBUZZ_CFLAGS) \
Michael Stahl8db02752013-05-07 23:28:45 +02001554 $$(INCLUDE) \
1555)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001556$(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1557$(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
Khaled Hosny7e389f42013-04-20 13:00:56 +02001558
1559endef
1560
1561endif # SYSTEM_HARFBUZZ
1562else # ENABLE_HARFBUZZ != YES
1563
1564gb_LinkTarget__use_harfbuzz :=
1565
1566endif # ENABLE_HARFBUZZ
Michael Stahl4a8919f2011-04-18 11:13:57 +00001567
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001568ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomeze3f607e2013-04-11 10:24:25 +03001569
1570gb_ExternalProject__use_openssl:=
1571gb_LinkTarget__use_openssl_headers:=
1572gb_LinkTarget__use_openssl:=
1573
1574else # !DISABLE_OPENSSL
1575
Michael Stahle3abec32014-02-11 15:57:18 +01001576ifneq ($(SYSTEM_OPENSSL),)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001577
Peter Foley9ddba662012-12-28 11:19:06 -05001578gb_LinkTarget__use_openssl_headers:=
1579gb_ExternalProject__use_openssl:=
1580
Michael Stahl4a8919f2011-04-18 11:13:57 +00001581define gb_LinkTarget__use_openssl
1582$(call gb_LinkTarget_set_include,$(1),\
1583 $$(INCLUDE) \
1584 $(OPENSSL_CFLAGS) \
1585)
1586$(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
Caolán McNamara6bccd202011-07-25 22:10:33 +01001587
Michael Stahl4a8919f2011-04-18 11:13:57 +00001588endef
1589
1590else # !SYSTEM_OPENSSL
1591
Michael Stahlf921e262014-03-13 19:36:48 +01001592$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1593 openssl \
1594))
1595
Peter Foley9ddba662012-12-28 11:19:06 -05001596define gb_ExternalProject__use_openssl
1597$(call gb_ExternalProject_use_package,$(1),openssl)
1598
1599endef
1600
1601define gb_LinkTarget__use_openssl_headers
1602$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02001603 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
Peter Foley9ddba662012-12-28 11:19:06 -05001604 $$(INCLUDE) \
1605)
1606
1607endef
1608
Michael Stahl4a8919f2011-04-18 11:13:57 +00001609define gb_LinkTarget__use_openssl
Peter Foley9ddba662012-12-28 11:19:06 -05001610$(call gb_LinkTarget_use_package,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001611ifeq ($(OS),WNT)
Michael Stahl5b906622013-10-24 00:22:20 +02001612$(call gb_LinkTarget_add_libs,$(1),\
1613 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/ssleay32.lib \
1614 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/libeay32.lib \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001615)
1616else
Michael Stahl2f6261f2013-09-19 19:28:36 +02001617$(call gb_LinkTarget_add_libs,$(1),\
1618 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1619 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001620)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001621$(call gb_LinkTarget_use_external_project,$(1),openssl)
Michael Stahl4a8919f2011-04-18 11:13:57 +00001622ifeq ($(OS),SOLARIS)
Michael Stahl80374352012-09-28 12:25:50 +02001623$(call gb_LinkTarget_add_libs,$(1),\
1624 -lnsl \
1625 -lsocket \
Michael Stahl4a8919f2011-04-18 11:13:57 +00001626)
1627endif
1628endif
Caolán McNamara6bccd202011-07-25 22:10:33 +01001629
Michael Stahl4a8919f2011-04-18 11:13:57 +00001630endef
1631
1632endif # SYSTEM_OPENSSL
Andres Gomeze3f607e2013-04-11 10:24:25 +03001633endif # DISABLE_OPENSSL
Michael Stahl4a8919f2011-04-18 11:13:57 +00001634
Matúš Kukanc4560482011-07-28 01:03:23 +02001635
Norbert Thiebaudbf6d1f72013-08-31 18:55:53 -05001636ifeq ($(DISABLE_OPENSSL),TRUE)
Andres Gomez48d49752013-04-11 10:32:54 +03001637
1638define gb_LinkTarget__use_gnutls
1639$(call gb_LinkTarget_set_include,$(1),\
1640 $$(INCLUDE) \
1641 $(GNUTLS_CFLAGS) \
1642)
1643
1644$(call gb_LinkTarget_add_defs,$(1),\
1645 -DDISABLE_OPENSSL \
1646)
1647
1648$(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1649
1650endef
1651
1652define gb_LinkTarget__use_libgcrypt
1653$(call gb_LinkTarget_set_include,$(1),\
1654 $$(INCLUDE) \
1655 $(LIBGCRYPT_CFLAGS) \
1656)
1657
1658$(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1659
1660endef
1661
1662else # !DISABLE_OPENSSL
1663
1664gb_LinkTarget__use_gnutls:=
1665gb_LinkTarget__use_libgcrypt:=
1666
1667endif # DISABLE_OPENSSL
1668
1669
Michael Stahle3abec32014-02-11 15:57:18 +01001670ifneq ($(SYSTEM_CDR),)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001671
1672define gb_LinkTarget__use_cdr
1673$(call gb_LinkTarget_set_include,$(1),\
1674 $$(INCLUDE) \
1675 $(CDR_CFLAGS) \
1676)
1677$(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1678
1679endef
1680
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001681else # !SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001682
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001683define gb_LinkTarget__use_cdr
David Tardonf16f3662013-05-24 13:48:03 +02001684$(call gb_LinkTarget_set_include,$(1),\
1685 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1686 $$(INCLUDE) \
1687)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001688$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001689 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrbab8f39c52012-10-05 13:32:14 +02001690)
Michael Stahl2f6261f2013-09-19 19:28:36 +02001691$(call gb_LinkTarget_use_external_project,$(1),libcdr)
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001692endef
1693
Bjoern Michaelsenfb455e52013-02-19 11:22:02 +01001694endif # SYSTEM_CDR
Fridrich Štrbad701a0e2011-11-28 15:06:59 +01001695
1696
Michael Stahle3abec32014-02-11 15:57:18 +01001697ifneq ($(SYSTEM_EBOOK),)
David Tardon316be1b2013-11-09 15:52:36 +01001698
1699define gb_LinkTarget__use_ebook
1700$(call gb_LinkTarget_set_include,$(1),\
1701 $$(INCLUDE) \
1702 $(EBOOK_CFLAGS) \
1703)
1704$(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1705
1706endef
1707
1708gb_ExternalProject__use_ebook :=
1709
1710else # !SYSTEM_EBOOK
1711
1712define gb_LinkTarget__use_ebook
1713$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001714 -I${WORKDIR}/UnpackedTarball/libebook/inc \
David Tardon316be1b2013-11-09 15:52:36 +01001715 $$(INCLUDE) \
1716)
1717$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001718 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
David Tardon316be1b2013-11-09 15:52:36 +01001719)
1720$(call gb_LinkTarget_use_external_project,$(1),libebook)
1721
1722endef
1723
1724define gb_ExternalProject__use_ebook
1725$(call gb_ExternalProject_use_external_project,$(1),libebook)
1726
1727endef
1728
1729endif # SYSTEM_EBOOK
1730
1731
Michael Stahle3abec32014-02-11 15:57:18 +01001732ifneq ($(SYSTEM_ETONYEK),)
David Tardon08ca3e42013-10-24 16:46:49 +02001733
1734define gb_LinkTarget__use_etonyek
1735$(call gb_LinkTarget_set_include,$(1),\
1736 $$(INCLUDE) \
1737 $(ETONYEK_CFLAGS) \
1738)
1739$(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1740
1741endef
1742
1743gb_ExternalProject__use_etonyek :=
1744
1745else # !SYSTEM_ETONYEK
1746
David Tardon78deb812015-05-19 16:12:08 +02001747ifeq ($(COM),MSC)
1748
1749$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1750 etonyek \
1751))
1752
David Tardon08ca3e42013-10-24 16:46:49 +02001753define gb_LinkTarget__use_etonyek
1754$(call gb_LinkTarget_set_include,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001755 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1756 $$(INCLUDE) \
1757)
1758$(call gb_LinkTarget_use_libraries,$(1),\
1759 etonyek \
1760)
1761
1762endef
1763
1764else # !MSC
1765
1766$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1767 libetonyek \
1768))
1769
1770define gb_LinkTarget__use_etonyek
1771$(call gb_LinkTarget_use_package,$(1),libetonyek)
1772
1773$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001774 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
David Tardon78deb812015-05-19 16:12:08 +02001775 -DLIBETONYEK_VISIBILITY \
David Tardon08ca3e42013-10-24 16:46:49 +02001776 $$(INCLUDE) \
1777)
1778$(call gb_LinkTarget_add_libs,$(1),\
David Tardon78deb812015-05-19 16:12:08 +02001779 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
David Tardon08ca3e42013-10-24 16:46:49 +02001780)
1781$(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1782
1783endef
1784
1785define gb_ExternalProject__use_etonyek
1786$(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1787
1788endef
1789
David Tardon78deb812015-05-19 16:12:08 +02001790endif
1791
David Tardon08ca3e42013-10-24 16:46:49 +02001792endif # SYSTEM_ETONYEK
1793
1794
Michael Stahle3abec32014-02-11 15:57:18 +01001795ifneq ($(SYSTEM_FREEHAND),)
Fridrich Štrba67153d72013-10-31 12:42:50 +01001796
1797define gb_LinkTarget__use_freehand
1798$(call gb_LinkTarget_set_include,$(1),\
1799 $$(INCLUDE) \
1800 $(FREEHAND_CFLAGS) \
1801)
1802$(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1803
1804endef
1805
1806gb_ExternalProject__use_freehand :=
1807
1808else # !SYSTEM_FREEHAND
1809
1810define gb_LinkTarget__use_freehand
1811$(call gb_LinkTarget_set_include,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001812 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001813 $$(INCLUDE) \
1814)
1815$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001816 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba67153d72013-10-31 12:42:50 +01001817)
1818$(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1819
1820endef
1821
1822define gb_ExternalProject__use_freehand
1823$(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1824
1825endef
1826
1827endif # SYSTEM_FREEHAND
1828
1829
Michael Stahle3abec32014-02-11 15:57:18 +01001830ifneq ($(SYSTEM_ODFGEN),)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001831
1832define gb_LinkTarget__use_odfgen
1833$(call gb_LinkTarget_set_include,$(1),\
1834 $$(INCLUDE) \
1835 $(ODFGEN_CFLAGS) \
1836)
1837$(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1838
1839endef
1840
1841else # !SYSTEM_ODFGEN
1842
David Tardon36c3f912014-05-24 09:13:33 +02001843ifeq ($(COM),MSC)
1844
1845$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1846 odfgen \
1847))
1848
Fridrich Štrba93848e12013-05-02 20:25:51 +02001849define gb_LinkTarget__use_odfgen
David Tardon0f8a90c2013-05-24 13:49:11 +02001850$(call gb_LinkTarget_set_include,$(1),\
1851 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1852 $$(INCLUDE) \
1853)
David Tardon36c3f912014-05-24 09:13:33 +02001854$(call gb_LinkTarget_use_libraries,$(1),\
1855 odfgen \
Fridrich Štrba93848e12013-05-02 20:25:51 +02001856)
Fridrich Štrba93848e12013-05-02 20:25:51 +02001857
1858endef
1859
David Tardon36c3f912014-05-24 09:13:33 +02001860else # !MSC
1861
1862$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1863 libodfgen \
1864))
1865
1866define gb_LinkTarget__use_odfgen
1867$(call gb_LinkTarget_use_package,$(1),libodfgen)
1868
1869$(call gb_LinkTarget_set_include,$(1),\
1870 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001871 -DLIBODFGEN_VISIBILITY \
David Tardon36c3f912014-05-24 09:13:33 +02001872 $$(INCLUDE) \
1873)
1874$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001875 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
David Tardon36c3f912014-05-24 09:13:33 +02001876)
1877
1878endef
1879
1880endif
1881
Fridrich Štrba93848e12013-05-02 20:25:51 +02001882endif # SYSTEM_ODFGEN
1883
1884
David Tardonb421ce72014-05-24 08:39:54 +02001885ifneq ($(SYSTEM_REVENGE),)
1886
1887define gb_LinkTarget__use_revenge
1888$(call gb_LinkTarget_set_include,$(1),\
1889 $$(INCLUDE) \
1890 $(REVENGE_CFLAGS) \
1891)
1892$(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1893
1894endef
1895
David Tardon7c9c7792014-05-25 13:06:57 +02001896gb_ExternalProject__use_revenge :=
1897
David Tardonb421ce72014-05-24 08:39:54 +02001898else # !SYSTEM_REVENGE
1899
1900ifeq ($(COM),MSC)
1901
1902$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1903 revenge \
1904))
1905
1906define gb_LinkTarget__use_revenge
1907$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001908 $(REVENGE_CFLAGS) \
David Tardonb421ce72014-05-24 08:39:54 +02001909 $$(INCLUDE) \
1910)
1911$(call gb_LinkTarget_use_libraries,$(1),\
1912 revenge \
1913)
1914
1915endef
1916
David Tardon7c9c7792014-05-25 13:06:57 +02001917define gb_ExternalProject__use_revenge
1918$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1919
1920endef
1921
David Tardonb421ce72014-05-24 08:39:54 +02001922else # !MSC
1923
1924$(eval $(call gb_Helper_register_packages_for_install,ooo, \
1925 librevenge \
1926))
1927
1928define gb_LinkTarget__use_revenge
1929$(call gb_LinkTarget_use_package,$(1),librevenge)
1930
1931$(call gb_LinkTarget_set_include,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001932 $(REVENGE_CFLAGS) \
Stephan Bergmannb6ee5cf2015-01-26 15:09:13 +01001933 -DLIBREVENGE_VISIBILITY \
David Tardonb421ce72014-05-24 08:39:54 +02001934 $$(INCLUDE) \
1935)
1936$(call gb_LinkTarget_add_libs,$(1),\
David Tardon0b7d0a82014-05-25 13:19:31 +02001937 $(REVENGE_LIBS) \
David Tardonb421ce72014-05-24 08:39:54 +02001938)
1939endef
1940
David Tardon7c9c7792014-05-25 13:06:57 +02001941define gb_ExternalProject__use_revenge
1942$(call gb_ExternalProject_use_package,$(1),librevenge)
1943
1944endef
1945
David Tardonb421ce72014-05-24 08:39:54 +02001946endif # MSC
1947
1948endif # SYSTEM_REVENGE
1949
1950
Michael Stahle3abec32014-02-11 15:57:18 +01001951ifneq ($(SYSTEM_ABW),)
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001952
1953define gb_LinkTarget__use_abw
1954$(call gb_LinkTarget_set_include,$(1),\
1955 $$(INCLUDE) \
1956 $(ABW_CFLAGS) \
1957)
1958$(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1959
1960endef
1961gb_ExternalProject__use_abw :=
1962
1963else # !SYSTEM_ABW
1964
1965define gb_LinkTarget__use_abw
1966$(call gb_LinkTarget_set_include,$(1),\
1967 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1968 $$(INCLUDE) \
1969)
1970$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02001971 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba10eaaac2014-01-13 17:01:32 +01001972)
1973$(call gb_LinkTarget_use_external_project,$(1),libabw)
1974
1975endef
1976define gb_ExternalProject__use_abw
1977$(call gb_ExternalProject_use_external_project,$(1),libabw)
1978
1979endef
1980
1981endif # SYSTEM_ABW
1982
1983
Michael Stahle3abec32014-02-11 15:57:18 +01001984ifneq ($(SYSTEM_MSPUB),)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001985
1986define gb_LinkTarget__use_mspub
1987$(call gb_LinkTarget_set_include,$(1),\
1988 $$(INCLUDE) \
1989 $(MSPUB_CFLAGS) \
1990)
1991$(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1992
1993endef
1994
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01001995else # !SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001996
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02001997define gb_LinkTarget__use_mspub
Michael Stahl35ac39e2013-05-16 13:09:11 +02001998$(call gb_LinkTarget_set_include,$(1),\
1999 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
2000 $$(INCLUDE) \
2001)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002002$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02002003 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba093a5c92013-01-28 10:13:50 +01002004)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002005$(call gb_LinkTarget_use_external_project,$(1),libmspub)
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02002006
2007endef
2008
Bjoern Michaelsena4c80752013-02-19 11:22:51 +01002009endif # SYSTEM_MSPUB
Fridrich Štrbadc4b91d2012-05-24 11:59:16 +02002010
2011
David Tardon516fb342014-06-26 21:26:11 +02002012ifneq ($(SYSTEM_PAGEMAKER),)
2013
2014define gb_LinkTarget__use_pagemaker
2015$(call gb_LinkTarget_set_include,$(1),\
2016 $$(INCLUDE) \
2017 $(PAGEMAKER_CFLAGS) \
2018)
2019$(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
2020
2021endef
2022gb_ExternalProject__use_pagemaker :=
2023
2024else # !SYSTEM_PAGEMAKER
2025
2026define gb_LinkTarget__use_pagemaker
2027$(call gb_LinkTarget_set_include,$(1),\
2028 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
2029 $$(INCLUDE) \
2030)
2031$(call gb_LinkTarget_add_libs,$(1),\
2032 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
2033)
2034$(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
2035
2036endef
2037define gb_ExternalProject__use_pagemaker
2038$(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
2039
2040endef
2041
2042endif # SYSTEM_PAGEMAKER
2043
2044
Michael Stahle3abec32014-02-11 15:57:18 +01002045ifneq ($(SYSTEM_VISIO),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002046
2047define gb_LinkTarget__use_visio
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002048$(call gb_LinkTarget_set_include,$(1),\
2049 $$(INCLUDE) \
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002050 $(VISIO_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002051)
Fridrich Štrbae531e8a2011-10-05 10:21:08 +02002052$(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002053
2054endef
2055
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002056else # !SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002057
Matúš Kukanc6a63952011-07-28 17:29:44 +02002058define gb_LinkTarget__use_visio
Michael Stahlacc7f612013-05-16 13:14:37 +02002059$(call gb_LinkTarget_set_include,$(1),\
2060 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
2061 $$(INCLUDE) \
2062)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002063$(call gb_LinkTarget_add_libs,$(1),\
David Tardon48c9d7a2014-05-24 14:21:21 +02002064 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
Fridrich Štrba64ab6112012-11-05 11:43:55 +01002065)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002066$(call gb_LinkTarget_use_external_project,$(1),libvisio)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002067
2068endef
2069
Bjoern Michaelsenfe8bcfa2013-02-19 11:14:46 +01002070endif # SYSTEM_VISIO
Matúš Kukanc6a63952011-07-28 17:29:44 +02002071
2072
Michael Stahle3abec32014-02-11 15:57:18 +01002073ifneq ($(SYSTEM_WPD),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002074
2075define gb_LinkTarget__use_wpd
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002076$(call gb_LinkTarget_set_include,$(1),\
2077 $$(INCLUDE) \
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002078 $(WPD_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002079)
Fridrich Štrba8703f3e2011-10-05 10:04:04 +02002080$(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002081
2082endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002083gb_ExternalProject__use_wpd :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002084
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002085else # !SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002086
David Tardonc868a0c2014-12-23 18:37:54 +01002087ifeq ($(COM),MSC)
2088
2089$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2090 wpd \
2091))
2092
Fridrich Štrba4425db62012-09-24 13:17:45 +02002093define gb_LinkTarget__use_wpd
Michael Stahldb5c8c52013-05-16 13:28:14 +02002094$(call gb_LinkTarget_set_include,$(1),\
2095 $(WPD_CFLAGS) \
2096 $$(INCLUDE) \
2097)
David Tardonc868a0c2014-12-23 18:37:54 +01002098$(call gb_LinkTarget_use_libraries,$(1),\
2099 wpd \
Michael Stahl34295432012-09-24 22:25:28 +02002100)
Fridrich Štrba4425db62012-09-24 13:17:45 +02002101
2102endef
David Tardonc868a0c2014-12-23 18:37:54 +01002103
Michael Stahl2b7536a2012-10-05 21:17:25 +02002104define gb_ExternalProject__use_wpd
David Tardonc868a0c2014-12-23 18:37:54 +01002105$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002106
2107endef
Fridrich Štrba4425db62012-09-24 13:17:45 +02002108
David Tardonc868a0c2014-12-23 18:37:54 +01002109else # !MSC
2110
2111$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2112 libwpd \
2113))
2114
2115define gb_LinkTarget__use_wpd
2116$(call gb_LinkTarget_use_package,$(1),libwpd)
2117
2118$(call gb_LinkTarget_set_include,$(1),\
2119 $(WPD_CFLAGS) \
2120 $$(INCLUDE) \
2121)
2122$(call gb_LinkTarget_add_libs,$(1),\
2123 $(WPD_LIBS) \
2124)
2125
2126endef
2127
2128define gb_ExternalProject__use_wpd
2129$(call gb_ExternalProject_use_package,$(1),libwpd)
2130
2131endef
2132
2133endif # MSC
2134
Bjoern Michaelsen5de206a2013-02-19 11:20:31 +01002135endif # SYSTEM_WPD
Matúš Kukanc6a63952011-07-28 17:29:44 +02002136
2137
Michael Stahle3abec32014-02-11 15:57:18 +01002138ifneq ($(SYSTEM_WPG),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002139
2140define gb_LinkTarget__use_wpg
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002141$(call gb_LinkTarget_set_include,$(1),\
2142 $$(INCLUDE) \
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002143 $(WPG_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002144)
Fridrich Štrba62c43b42011-10-05 10:15:40 +02002145$(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002146
2147endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002148gb_ExternalProject__use_wpg :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002149
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002150else # !SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002151
David Tardonc868a0c2014-12-23 18:37:54 +01002152ifeq ($(COM),MSC)
2153
2154$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2155 wpg \
2156))
2157
Matúš Kukanc6a63952011-07-28 17:29:44 +02002158define gb_LinkTarget__use_wpg
David Tardonc51a2542013-05-24 14:53:37 +02002159$(call gb_LinkTarget_set_include,$(1),\
2160 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2161 $$(INCLUDE) \
2162)
David Tardonc868a0c2014-12-23 18:37:54 +01002163$(call gb_LinkTarget_use_libraries,$(1),\
2164 wpg \
Michael Stahl53b7bdc2012-10-05 17:19:47 +02002165)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002166
2167endef
David Tardonc868a0c2014-12-23 18:37:54 +01002168
2169else # !MSC
2170
2171$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2172 libwpg \
2173))
2174
2175define gb_LinkTarget__use_wpg
2176$(call gb_LinkTarget_use_package,$(1),libwpg)
2177
2178$(call gb_LinkTarget_set_include,$(1),\
2179 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2180 $$(INCLUDE) \
2181)
2182$(call gb_LinkTarget_add_libs,$(1),\
2183 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2184)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002185
2186endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002187
David Tardonc868a0c2014-12-23 18:37:54 +01002188endif # MSC
2189
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002190endif # SYSTEM_WPG
Matúš Kukanc6a63952011-07-28 17:29:44 +02002191
2192
Michael Stahle3abec32014-02-11 15:57:18 +01002193ifneq ($(SYSTEM_WPS),)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002194
2195define gb_LinkTarget__use_wps
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002196$(call gb_LinkTarget_set_include,$(1),\
2197 $$(INCLUDE) \
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002198 $(WPS_CFLAGS) \
Lionel Elie Mamanee4a17792011-08-02 07:10:30 +02002199)
Fridrich Štrbae991bba2011-10-05 10:18:53 +02002200$(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
Matúš Kukanc6a63952011-07-28 17:29:44 +02002201
2202endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02002203gb_ExternalProject__use_wps :=
Matúš Kukanc6a63952011-07-28 17:29:44 +02002204
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002205else # !SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002206
David Tardonf85d10f2014-05-30 15:35:48 +02002207ifeq ($(COM),MSC)
2208
2209$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2210 wps \
2211))
2212
Matúš Kukanc6a63952011-07-28 17:29:44 +02002213define gb_LinkTarget__use_wps
David Tardon6f9d8212013-05-24 14:58:31 +02002214$(call gb_LinkTarget_set_include,$(1),\
2215 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2216 $$(INCLUDE) \
2217)
David Tardonf85d10f2014-05-30 15:35:48 +02002218
2219$(call gb_LinkTarget_use_libraries,$(1),\
2220 wps \
Fridrich Štrba8c07bd32013-04-19 12:06:58 +02002221)
Matúš Kukanc6a63952011-07-28 17:29:44 +02002222
2223endef
David Tardonf85d10f2014-05-30 15:35:48 +02002224
2225else # !MSC
2226
2227$(eval $(call gb_Helper_register_packages_for_install,ooo, \
2228 libwps \
2229))
2230
2231define gb_LinkTarget__use_wps
2232$(call gb_LinkTarget_use_package,$(1),libwps)
2233
2234$(call gb_LinkTarget_set_include,$(1),\
2235 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2236 $$(INCLUDE) \
2237)
2238$(call gb_LinkTarget_add_libs,$(1),\
osnolaf9568332015-05-18 10:21:10 +02002239 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
David Tardonf85d10f2014-05-30 15:35:48 +02002240)
Michael Stahl2b7536a2012-10-05 21:17:25 +02002241
2242endef
Matúš Kukanc6a63952011-07-28 17:29:44 +02002243
David Tardonf85d10f2014-05-30 15:35:48 +02002244endif # MSC
2245
Bjoern Michaelsen3a3254a2013-02-19 11:26:46 +01002246endif # SYSTEM_WPS
Matúš Kukanc6a63952011-07-28 17:29:44 +02002247
2248
Michael Stahle3abec32014-02-11 15:57:18 +01002249ifneq ($(SYSTEM_MWAW),)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002250
2251define gb_LinkTarget__use_mwaw
2252$(call gb_LinkTarget_set_include,$(1),\
2253 $$(INCLUDE) \
2254 $(MWAW_CFLAGS) \
2255)
2256$(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2257
2258endef
2259
2260else # !SYSTEM_MWAW
2261
David Tardon79211c12014-05-30 13:55:20 +02002262ifeq ($(COM),MSC)
2263
2264$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2265 mwaw \
2266))
2267
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002268define gb_LinkTarget__use_mwaw
Michael Stahlff718952013-05-16 13:11:36 +02002269$(call gb_LinkTarget_set_include,$(1),\
2270 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2271 $$(INCLUDE) \
2272)
David Tardon79211c12014-05-30 13:55:20 +02002273
2274$(call gb_LinkTarget_use_libraries,$(1),\
2275 mwaw \
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002276)
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002277
2278endef
2279
David Tardon79211c12014-05-30 13:55:20 +02002280else # !MSC
2281
2282$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2283 libmwaw \
2284))
2285
2286define gb_LinkTarget__use_mwaw
2287$(call gb_LinkTarget_use_package,$(1),libmwaw)
2288
2289$(call gb_LinkTarget_set_include,$(1),\
2290 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2291 $$(INCLUDE) \
2292)
2293$(call gb_LinkTarget_add_libs,$(1),\
2294 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2295)
2296
2297endef
2298
2299endif # MSC
2300
Fridrich Štrba790a36d2013-03-11 12:38:12 +01002301endif # SYSTEM_MWAW
2302
2303
Michael Stahle3abec32014-02-11 15:57:18 +01002304ifneq ($(SYSTEM_LCMS2),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002305
2306define gb_LinkTarget__use_lcms2
2307$(call gb_LinkTarget_set_include,$(1),\
2308 $$(INCLUDE) \
Peter Foleyf7452122012-11-04 08:46:44 -05002309 $(LCMS2_CFLAGS) \
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002310)
2311$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2312
2313endef
2314
Peter Foley8905c0e2012-11-08 21:00:30 -05002315gb_ExternalProject__use_lcms2 :=
2316
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002317else # !SYSTEM_LCMS2
2318
Michael Stahl32a617d2014-02-17 11:23:19 +01002319$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2320 lcms2 \
2321))
2322
Peter Foley8905c0e2012-11-08 21:00:30 -05002323define gb_ExternalProject__use_lcms2
2324$(call gb_ExternalProject_use_package,$(1),lcms2)
2325
2326endef
2327
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002328ifeq ($(OS),ANDROID)
2329
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002330define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002331$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002332$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002333 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002334 $$(INCLUDE) \
2335)
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002336
2337endef
2338
2339else
2340
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002341define gb_LinkTarget__use_lcms2
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002342$(call gb_LinkTarget_use_package,$(1),lcms2)
Matúš Kukan3790e842012-09-04 22:00:15 +02002343$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002344 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
Matúš Kukan3790e842012-09-04 22:00:15 +02002345 $$(INCLUDE) \
2346)
Michael Stahl25f65f22013-10-23 22:04:36 +02002347$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002348
2349endef
2350
Tor Lillqvistbd4d3712012-06-06 22:57:56 +03002351endif # ANDROID
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002352endif # SYSTEM_LCMS2
2353
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002354ifneq ($(ENABLE_LPSOLVE),)
Fridrich Štrba8a0a25d2012-03-02 10:15:42 +01002355
Michael Stahlab586f12014-02-11 19:25:30 +01002356ifneq ($(SYSTEM_LPSOLVE),)
Matúš Kukanc4560482011-07-28 01:03:23 +02002357
Peter Foley085346f2012-11-03 19:19:30 -04002358define gb_LinkTarget__use_lpsolve
Matúš Kukanc4560482011-07-28 01:03:23 +02002359$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
Peter Foley085346f2012-11-03 19:19:30 -04002360$(call gb_LinkTarget_add_defs,$(1),\
2361 -DSYSTEM_LPSOLVE \
Peter Foley29d5e292012-11-07 18:18:08 -05002362)
Matúš Kukanc4560482011-07-28 01:03:23 +02002363
2364endef
2365
2366else # !SYSTEM_LPSOLVE
2367
Peter Foley085346f2012-11-03 19:19:30 -04002368define gb_LinkTarget__use_lpsolve
2369$(call gb_LinkTarget_use_unpacked,$(1),lpsolve)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002370ifeq ($(COM),MSC)
2371$(call gb_LinkTarget_add_libs,$(1),\
2372 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2373)
2374else
Michael Stahlb177b302013-10-23 21:33:51 +02002375$(call gb_LinkTarget_add_libs,$(1),\
2376 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
Matúš Kukanc4560482011-07-28 01:03:23 +02002377)
Michael Stahlb7d8ca82013-10-24 01:25:59 +02002378endif
Peter Foley085346f2012-11-03 19:19:30 -04002379$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002380 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
Peter Foley085346f2012-11-03 19:19:30 -04002381 $$(INCLUDE) \
2382)
Matúš Kukanc4560482011-07-28 01:03:23 +02002383
2384endef
2385
Matúš Kukan083fa762014-02-27 17:08:09 +01002386$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2387 lpsolve \
2388))
2389
Matúš Kukanc4560482011-07-28 01:03:23 +02002390endif # SYSTEM_LPSOLVE
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002391
Matúš Kukan077bdc72014-03-27 14:51:46 +01002392else
2393
2394gb_LinkTarget__use_lpsolve :=
2395
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002396endif # ENABLE_LPSOLVE
2397
2398ifneq ($(ENABLE_COINMP),)
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002399
Rene Engelhardd85f5132014-08-06 00:03:21 +02002400ifneq ($(SYSTEM_COINMP),TRUE)
2401
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002402define gb_LinkTarget__use_coinmp
2403$(call gb_LinkTarget_use_package,$(1),coinmp)
2404ifeq ($(COM),MSC)
2405$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovsky152e2a22014-11-30 18:26:01 +01002406 $(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/MSVisualStudio/v9/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)/CoinMP.lib \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002407)
2408else
2409$(call gb_LinkTarget_add_libs,$(1),\
2410 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2411 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2412 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2413 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2414 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2415 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2416 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2417)
2418endif
2419$(call gb_LinkTarget_set_include,$(1),\
2420 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
Caolán McNamara67b4b342014-06-06 14:32:09 +01002421 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
Matúš Kukan4f7b9682014-02-28 10:39:19 +01002422 $$(INCLUDE) \
2423)
2424
2425endef
2426
2427$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2428 coinmp \
2429))
2430
Rene Engelhardd85f5132014-08-06 00:03:21 +02002431else # SYSTEM_COINMP
2432
2433define gb_LinkTarget__use_coinmp
2434$(call gb_LinkTarget_set_include,$(1),\
2435 $$(INCLUDE) \
2436 $(COINMP_CFLAGS) \
2437)
2438$(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2439
2440endef
2441
2442endif
2443
Matúš Kukan077bdc72014-03-27 14:51:46 +01002444else
2445
2446gb_LinkTarget__use_coinmp :=
2447
Matúš Kukan8dc394d2014-03-31 19:36:41 +02002448endif # ENABLE_COINMP
Matúš Kukanc4560482011-07-28 01:03:23 +02002449
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002450ifeq ($(ENABLE_GIO),TRUE)
Matúš Kukanc4560482011-07-28 01:03:23 +02002451
Matúš Kukan464b4332012-01-15 02:12:49 +01002452define gb_LinkTarget__use_gio
2453$(call gb_LinkTarget_set_include,$(1),\
Matúš Kukan464b4332012-01-15 02:12:49 +01002454 $$(INCLUDE) \
Caolán McNamara1ac9ccf2012-01-16 08:57:38 +00002455 $(GIO_CFLAGS) \
Matúš Kukan464b4332012-01-15 02:12:49 +01002456)
2457
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002458$(call gb_LinkTarget_add_defs,$(1),\
Siqid0419802013-07-24 11:16:31 +02002459 -DENABLE_GIO \
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002460)
2461
Matúš Kukan464b4332012-01-15 02:12:49 +01002462$(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2463
2464endef
2465
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002466else # ENABLE_GIO
2467
2468define gb_LinkTarget__use_gio
Caolán McNamara1e98bb42012-11-06 20:09:57 +00002469
Caolán McNamaraaabc73d2012-08-30 13:58:15 +01002470endef
2471
2472endif # ENABLE_GIO
2473
Siqid0419802013-07-24 11:16:31 +02002474ifeq ($(ENABLE_AVAHI),TRUE)
2475
2476define gb_LinkTarget__use_avahi
2477$(call gb_LinkTarget_set_include,$(1),\
2478 $$(INCLUDE) \
2479 $(AVAHI_CFLAGS) \
2480)
2481
2482$(call gb_LinkTarget_add_defs,$(1),\
2483 -DENABLE_AVAHI \
2484)
2485
2486$(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2487
2488endef
2489
2490else # ENABLE_AVAHI
2491
David Tardon9ce38ef2013-11-05 07:03:08 +01002492gb_LinkTarget__use_avahi :=
Siqid0419802013-07-24 11:16:31 +02002493
2494endif # ENABLE_AVAHI
2495
2496
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002497define gb_LinkTarget__use_gtk
2498$(call gb_LinkTarget_set_include,$(1),\
2499 $$(INCLUDE) \
2500 $(GTK_CFLAGS) \
2501)
2502
2503$(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
2504
David Tardonadb11052011-12-01 13:39:09 +01002505ifeq ($(ENABLE_GTK_PRINT),TRUE)
2506
2507$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
2508
2509$(call gb_LinkTarget_set_include,$(1),\
2510 $$(INCLUDE) \
2511 $(GTK_PRINT_CFLAGS) \
2512)
2513
2514$(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
2515
2516endif
2517
Bjoern Michaelsene7cc9e02011-07-26 14:51:35 +02002518endef
Michael Stahl4a8919f2011-04-18 11:13:57 +00002519
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002520define gb_LinkTarget__use_gthread
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002521$(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
Bjoern Michaelsen54dd3072011-07-26 15:15:41 +02002522endef
2523
Caolán McNamara68ffb332012-09-14 11:31:50 +01002524ifeq ($(ENABLE_CUPS),TRUE)
2525
2526define gb_LinkTarget__use_cups
2527$(call gb_LinkTarget_add_defs,$(1),\
2528 -DENABLE_CUPS \
2529)
2530
2531$(call gb_LinkTarget_add_libs,$(1),\
2532 -lcups \
2533)
2534
2535endef
2536
2537else # ENABLE_CUPS
2538
2539define gb_LinkTarget__use_cups
2540
2541endef
2542
2543endif # ENABLE_DBUS
David Tardon1b717ce2011-11-02 13:00:48 +01002544
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01002545ifeq ($(ENABLE_DBUS),TRUE)
David Tardon1b717ce2011-11-02 13:00:48 +01002546
2547define gb_LinkTarget__use_dbus
2548$(call gb_LinkTarget_set_include,$(1),\
2549 $$(INCLUDE) \
2550 $(DBUS_CFLAGS) \
2551)
2552
Matúš Kukan464b4332012-01-15 02:12:49 +01002553$(call gb_LinkTarget_add_defs,$(1),\
David Tardon1b717ce2011-11-02 13:00:48 +01002554 -DENABLE_DBUS \
2555)
2556
Norbert Thiebaud7c88b252013-08-30 23:05:04 -05002557ifeq ($(ENABLE_PACKAGEKIT),TRUE)
Rene Engelhardbea61492012-09-11 02:30:09 +02002558$(call gb_LinkTarget_add_defs,$(1),\
2559 -DENABLE_PACKAGEKIT \
2560)
2561endif # ENABLE_PACKAGEKIT
2562
David Tardon1b717ce2011-11-02 13:00:48 +01002563$(call gb_LinkTarget_add_libs,$(1),\
2564 $(DBUS_LIBS) \
2565)
2566
2567endef
2568
2569else # ENABLE_DBUS
2570
2571define gb_LinkTarget__use_dbus
2572
2573endef
2574
2575endif # ENABLE_DBUS
2576
2577
Bjoern Michaelsendd321062011-07-26 16:04:15 +02002578define gb_LinkTarget__use_dbusmenugtk
2579$(call gb_LinkTarget_set_include,$(1),\
2580 $$(INCLUDE) \
2581 $(DBUSMENUGTK_CFLAGS) \
2582)
2583
2584$(call gb_LinkTarget_add_libs,$(1),$(DBUSMENUGTK_LIBS))
2585
2586endef
2587
Eike Rathkea3a8b802012-03-16 22:14:54 +01002588
2589ifeq ($(ENABLE_TELEPATHY),TRUE)
2590
2591define gb_LinkTarget__use_telepathy
2592$(call gb_LinkTarget_set_include,$(1),\
2593 $$(INCLUDE) \
2594 $(TELEPATHY_CFLAGS) \
2595)
2596
Eike Rathkea3a8b802012-03-16 22:14:54 +01002597$(call gb_LinkTarget_add_libs,$(1),\
2598 $(TELEPATHY_LIBS) \
2599)
2600
2601endef
2602
2603else # !ENABLE_TELEPATHY
2604
Matúš Kukanfe327622012-08-09 00:15:52 +02002605gb_LinkTarget__use_telepathy :=
Eike Rathkea3a8b802012-03-16 22:14:54 +01002606
2607endif # ENABLE_TELEPATHY
2608
Michael Stahle3abec32014-02-11 15:57:18 +01002609ifneq ($(SYSTEM_LIBPNG),)
David Tardon6df9c472011-09-15 14:44:34 +02002610
2611define gb_LinkTarget__use_png
2612$(call gb_LinkTarget_set_include,$(1),\
2613 $$(INCLUDE) \
2614 $(LIBPNG_CFLAGS) \
2615)
2616
2617$(call gb_LinkTarget_add_libs,$(1),\
2618 $(LIBPNG_LIBS) \
2619)
2620
2621endef
2622
2623else # !SYSTEM_LIBPNG
2624
David Tardon6df9c472011-09-15 14:44:34 +02002625define gb_LinkTarget__use_png
Michael Stahl416b3212013-05-08 17:22:22 +02002626$(call gb_LinkTarget_set_include,$(1),\
2627 $(LIBPNG_CFLAGS) \
2628 $$(INCLUDE) \
2629)
Matúš Kukanf96d58b2012-09-08 18:13:20 +02002630$(call gb_LinkTarget_use_static_libraries,$(1),\
David Tardon6df9c472011-09-15 14:44:34 +02002631 png \
2632)
Michael Stahl398ce442012-09-28 21:47:29 +02002633$(call gb_LinkTarget__use_zlib,$(1))
David Tardon6df9c472011-09-15 14:44:34 +02002634
2635endef
2636
2637endif # !SYSTEM_LIBPNG
2638
Michael Stahl50471a82011-12-06 19:17:52 +01002639
Michael Stahle3abec32014-02-11 15:57:18 +01002640ifneq ($(SYSTEM_CURL),)
Michael Stahl50471a82011-12-06 19:17:52 +01002641
2642define gb_LinkTarget__use_curl
Cédric Bosdonnat89361fa2014-07-16 17:02:01 +02002643$(call gb_LinkTarget_add_defs,$(1),\
2644 -DSYSTEM_CURL \
2645)
Michael Stahl50471a82011-12-06 19:17:52 +01002646$(call gb_LinkTarget_set_include,$(1),\
2647 $$(INCLUDE) \
2648 $(CURL_CFLAGS) \
2649)
2650$(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2651
2652endef
2653
2654else # !SYSTEM_CURL
2655
Michael Stahl32a617d2014-02-17 11:23:19 +01002656$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2657 curl \
2658))
2659
Michael Stahl50471a82011-12-06 19:17:52 +01002660define gb_LinkTarget__use_curl
Christian Lohmaier3dee92e2012-11-13 19:44:44 +01002661$(call gb_LinkTarget_use_package,$(1),curl)
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002662$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002663 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
Matúš Kukan9f3a3ab2012-10-29 22:57:34 +01002664 $$(INCLUDE) \
2665)
Michael Stahl936a1a92013-10-23 22:37:11 +02002666
2667ifeq ($(COM),MSC)
Michael Stahl714b93b2013-10-24 00:32:04 +02002668$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl548da052014-06-02 01:35:41 +02002669 $(call gb_UnpackedTarball_get_dir,curl)/lib/$(if $(MSVC_USE_DEBUG_RUNTIME),debug-dll,release-dll)/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),d)_imp.lib \
Michael Stahl50471a82011-12-06 19:17:52 +01002670)
Michael Stahl936a1a92013-10-23 22:37:11 +02002671else
2672$(call gb_LinkTarget_add_libs,$(1),\
2673 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2674)
2675endif
Michael Stahl50471a82011-12-06 19:17:52 +01002676
2677endef
2678
2679endif # SYSTEM_CURL
2680
Stephan Bergmann49313b02012-11-27 15:35:02 +01002681ifeq ($(ENABLE_VALGRIND),TRUE)
David Tardon3446cda2011-12-23 12:21:19 +01002682
2683define gb_LinkTarget__use_valgrind
2684$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmann49313b02012-11-27 15:35:02 +01002685 -DHAVE_VALGRIND_HEADERS \
David Tardon3446cda2011-12-23 12:21:19 +01002686)
2687
2688$(call gb_LinkTarget_set_include,$(1),\
2689 $$(INCLUDE) \
2690 $(VALGRIND_CFLAGS) \
2691)
2692
2693endef
2694
Stephan Bergmann49313b02012-11-27 15:35:02 +01002695else # !ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002696
2697define gb_LinkTarget__use_valgrind
2698
2699endef
2700
Stephan Bergmann49313b02012-11-27 15:35:02 +01002701endif # ENABLE_VALGRIND
David Tardon3446cda2011-12-23 12:21:19 +01002702
Michael Stahl32db4992014-02-11 19:35:22 +01002703ifneq ($(SYSTEM_POPPLER),)
David Tardondba2d322012-02-18 18:54:35 +01002704
2705define gb_LinkTarget__use_poppler
David Tardondba2d322012-02-18 18:54:35 +01002706$(call gb_LinkTarget_set_include,$(1),\
2707 $(POPPLER_CFLAGS) \
2708 $$(INCLUDE) \
2709)
2710
2711$(call gb_LinkTarget_add_libs,$(1),\
2712 $(POPPLER_LIBS) \
2713)
2714
2715endef
2716
2717else # !SYSTEM_POPPLER
2718
David Tardondba2d322012-02-18 18:54:35 +01002719define gb_LinkTarget__use_poppler
David Tardoncad68c62015-09-29 18:09:16 +02002720$(call gb_LinkTarget_use_external_project,$(1),poppler,full)
Peter Foleyfb1d11d2013-02-17 09:26:01 -05002721
David Tardon548b61a2012-02-21 06:58:02 +01002722$(call gb_LinkTarget_set_include,$(1),\
Fridrich Štrbaeb276d12013-07-08 14:01:17 +02002723 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2724 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2725 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
David Tardon548b61a2012-02-21 06:58:02 +01002726 $$(INCLUDE) \
David Tardondba2d322012-02-18 18:54:35 +01002727)
2728
Michael Stahl2f6261f2013-09-19 19:28:36 +02002729$(call gb_LinkTarget_add_libs,$(1),\
2730 $(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
2731 $(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
2732 $(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
David Tardon548b61a2012-02-21 06:58:02 +01002733)
2734
2735ifeq ($(OS),MACOSX)
Michael Stahl967986b2012-09-28 00:54:49 +02002736$(call gb_LinkTarget_add_libs,$(1),\
2737 -lobjc \
David Tardon548b61a2012-02-21 06:58:02 +01002738)
Caolán McNamara0d5cc8c2014-08-30 15:12:53 +01002739else ifeq ($(OS),LINUX)
2740$(call gb_LinkTarget_add_libs,$(1),\
2741 -pthread \
2742)
David Tardon548b61a2012-02-21 06:58:02 +01002743else ifeq ($(OS),WNT)
Michael Stahldc397aae2012-09-28 15:31:46 +02002744$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon548b61a2012-02-21 06:58:02 +01002745 advapi32 \
2746 gdi32 \
2747)
2748endif
2749
David Tardondba2d322012-02-18 18:54:35 +01002750endef
2751
2752endif # SYSTEM_POPPLER
2753
David Tardon3446cda2011-12-23 12:21:19 +01002754
Michael Stahl46648152014-02-11 16:33:18 +01002755ifneq ($(SYSTEM_CLUCENE),)
David Tardon22c60cb2012-04-07 15:50:47 +02002756
2757define gb_LinkTarget__use_clucene
2758$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002759 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002760)
2761
2762$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02002763 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
David Tardon22c60cb2012-04-07 15:50:47 +02002764 $$(INCLUDE) \
2765)
2766
2767$(call gb_LinkTarget_add_libs,$(1),\
2768 $(CLUCENE_LIBS) \
2769)
2770
2771endef
2772
2773else # !SYSTEM_CLUCENE
2774
2775define gb_LinkTarget__use_clucene
Michael Stahl28cde0c2013-05-07 23:47:27 +02002776$(call gb_LinkTarget_set_include,$(1),\
2777 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2778 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2779 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2780 $$(INCLUDE) \
2781)
2782
Michael Stahlc923f7d2012-04-07 23:22:08 +02002783$(call gb_LinkTarget_use_libraries,$(1),\
David Tardon22c60cb2012-04-07 15:50:47 +02002784 clucene \
2785)
2786
2787endef
2788
Marcos Paulo de Souzaf70343b2014-02-12 06:53:02 -02002789$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
David Tardon22c60cb2012-04-07 15:50:47 +02002790 clucene \
2791))
2792
2793endif # SYSTEM_CLUCENE
2794
Peter Foley64402842011-12-22 16:34:35 -05002795define gb_LinkTarget__use_gobject
Rene Engelhardac3c7ba2012-11-06 20:38:47 +01002796$(call gb_LinkTarget_add_libs,$(1),\
2797 $(GOBJECT_LIBS) \
2798)
2799
2800$(call gb_LinkTarget_set_include,$(1),\
2801 $$(INCLUDE) \
2802 $(GOBJECT_CFLAGS) \
2803)
Peter Foley64402842011-12-22 16:34:35 -05002804endef
2805
Michael Stahl5866b332014-02-11 18:56:33 +01002806ifneq ($(SYSTEM_HSQLDB),)
David Tardon579f52d2012-03-27 16:36:31 +02002807
2808define gb_LinkTarget__use_hsqldb
2809
2810$(call gb_LinkTarget_add_defs,$(1),\
2811 -DSYSTEM_HSQLDB \
2812 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2813)
2814
2815endef
2816
2817else # !SYSTEM_HSQLDB
2818
2819define gb_LinkTarget__use_hsqldb
2820
2821endef
2822
2823endif # SYSTEM_HSQLDB
2824
David Tardon8bc7afb2012-04-05 10:53:08 +02002825
Michael Stahl5378dea2014-02-11 19:11:47 +01002826ifneq ($(SYSTEM_OPENLDAP),)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002827
2828define gb_LinkTarget__use_openldap
2829
2830$(call gb_LinkTarget_add_libs,$(1),\
2831 -lldap \
2832 -llber \
2833)
2834
2835endef
2836
Michael Stahl2f6261f2013-09-19 19:28:36 +02002837gb_ExternalProject__use_openldap :=
2838
Michael Stahl5378dea2014-02-11 19:11:47 +01002839else # !SYSTEM_OPENLDAP
Michael Stahle0ee0d42012-07-16 19:00:07 +02002840
Michael Stahle0ee0d42012-07-16 19:00:07 +02002841define gb_LinkTarget__use_openldap
Matúš Kukan7a030392012-10-29 23:29:37 +01002842$(call gb_LinkTarget_use_unpacked,$(1),openldap)
Michael Stahle0ee0d42012-07-16 19:00:07 +02002843$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02002844 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002845 $$(INCLUDE) \
2846)
Stephan Bergmann6b4c4352015-10-09 09:21:48 +02002847$(call gb_LinkTarget_use_external_project,$(1),openldap,full)
Michael Stahl2f6261f2013-09-19 19:28:36 +02002848$(call gb_LinkTarget_add_libs,$(1), \
2849 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2850 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
Michael Stahle0ee0d42012-07-16 19:00:07 +02002851)
2852
2853endef
2854
Michael Stahl2f6261f2013-09-19 19:28:36 +02002855define gb_ExternalProject__use_openldap
2856$(call gb_ExternalProject_use_external_project,$(1),openldap)
2857
2858endef
2859
Michael Stahle0ee0d42012-07-16 19:00:07 +02002860endif # SYSTEM_OPENLDAP
2861
2862
Javier Fernandezf53228c2013-05-10 18:21:30 +00002863ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2864
Michael Stahl23647592014-02-11 19:04:20 +01002865ifneq ($(SYSTEM_FIREBIRD),)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002866
Rene Engelhard0b68d702013-07-16 21:50:14 +02002867define gb_LinkTarget__use_libfbembed
Javier Fernandezf53228c2013-05-10 18:21:30 +00002868$(call gb_LinkTarget_set_include,$(1),\
2869 $(FIREBIRD_CFLAGS) \
2870 $$(INCLUDE) \
2871)
2872$(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2873
2874endef
2875
2876# gb_LinkTarget__use_atomic_ops :=
2877# gb_LinkTarget__use_tommath :=
2878
2879else # !SYSTEM_FIREBIRD
2880
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002881#$(call gb_LinkTarget__use_libatomic_ops,$(1))
2882
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +01002883define gb_LinkTarget__use_libfbembed
2884$(call gb_LinkTarget_use_package,$(1),firebird)
Javier Fernandezf53228c2013-05-10 18:21:30 +00002885$(call gb_LinkTarget_set_include,$(1),\
Javier Fernandezf53228c2013-05-10 18:21:30 +00002886 $$(INCLUDE) \
Andrzej J.R. Hunt7309fda2013-07-16 22:40:47 +02002887 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/firebird/include \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002888)
Michael Stahl37563db2013-10-22 22:22:49 +02002889ifeq ($(COM),MSC)
2890$(call gb_LinkTarget_add_libs,$(1),\
2891 $(call gb_UnpackedTarball_get_dir,firebird)/gen/firebird/bin/ifbembed.lib \
Javier Fernandezf53228c2013-05-10 18:21:30 +00002892)
Michael Stahl37563db2013-10-22 22:22:49 +02002893else
2894$(call gb_LinkTarget_add_libs,$(1),\
2895 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/firebird/lib -lfbembed \
2896)
2897endif
Javier Fernandezf53228c2013-05-10 18:21:30 +00002898
2899endef
2900
Javier Fernandezf53228c2013-05-10 18:21:30 +00002901# define gb_LinkTarget__use_tommath
2902# $(call gb_LinkTarget_set_include,$(1),\
2903# $(TOMMATH_CFLAGS) \
2904# $$(INCLUDE) \
2905# )
2906
2907# $(call gb_LinkTarget_add_libs,$(1),$(TOMMATH_LIBS))
2908
2909# endef
2910
2911endif # SYSTEM_FIREBIRD
2912
2913else # !ENABLE_FIREBIRD_SDBC
Michael Stahl6fa0b372014-02-12 17:01:35 +01002914
Javier Fernandezf53228c2013-05-10 18:21:30 +00002915gb_LinkTarget__use_firebird :=
2916# gb_LinkTarget__use_atomic_ops :=
2917# gb_LinkTarget__use_tommath :=
2918
2919endif # ENABLE_FIREBIRD_SDBC
2920
2921
Michael Stahl5866b332014-02-11 18:56:33 +01002922ifneq ($(SYSTEM_POSTGRESQL),)
David Tardon8bc7afb2012-04-05 10:53:08 +02002923
2924define gb_LinkTarget__use_postgresql
2925
David Tardon8bc7afb2012-04-05 10:53:08 +02002926$(call gb_LinkTarget_set_include,$(1),\
2927 $(POSTGRESQL_INC) \
2928 $$(INCLUDE) \
2929)
2930
2931$(call gb_LinkTarget_add_libs,$(1),\
2932 -lpq \
2933)
2934
2935$(call gb_LinkTarget_add_ldflags,$(1),\
2936 $(POSTGRESQL_LIB) \
2937)
2938
2939endef
2940
2941else # !SYSTEM_POSTGRESQL
2942
2943define gb_LinkTarget__use_postgresql
2944
Michael Stahl2f6261f2013-09-19 19:28:36 +02002945$(call gb_LinkTarget_use_external_project,$(1),postgresql)
David Tardoncb9823b2012-10-22 06:33:00 +02002946
David Tardon8bc7afb2012-04-05 10:53:08 +02002947$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlee8323e2013-05-08 00:19:40 +02002948 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
2949 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
David Tardon8bc7afb2012-04-05 10:53:08 +02002950 $$(INCLUDE) \
2951)
2952
Michael Stahl2f6261f2013-09-19 19:28:36 +02002953$(call gb_LinkTarget_add_libs,$(1),\
2954 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
David Tardon8bc7afb2012-04-05 10:53:08 +02002955)
2956
Tor Lillqvistc2909892012-12-12 01:07:09 +02002957ifeq ($(OS)$(COM),WNTMSC)
Matúš Kukan5e32d152012-05-27 00:21:12 +02002958$(call gb_LinkTarget_use_external,$(1),openssl)
2959
Michael Stahldc397aae2012-09-28 15:31:46 +02002960$(call gb_LinkTarget_use_system_win32_libs,$(1),\
David Tardon8bc7afb2012-04-05 10:53:08 +02002961 secur32 \
2962 ws2_32 \
David Tardon8bc7afb2012-04-05 10:53:08 +02002963)
David Tardon8af6aa62012-05-30 12:06:42 +02002964
David Tardon8bc7afb2012-04-05 10:53:08 +02002965endif
2966
2967endef
2968
David Tardon8bc7afb2012-04-05 10:53:08 +02002969endif # SYSTEM_POSTGRESQL
2970
Michael Stahl589d6342014-03-18 17:56:10 +01002971ifneq ($(WITH_MOZAB4WIN),)
2972
2973$(eval $(call gb_Helper_register_packages_for_install,ooo,\
2974 moz_runtime \
2975))
Michael Stahlbf80dfc2013-10-31 11:00:47 +01002976
David Tardonc678a4c2012-04-05 17:59:36 +02002977define gb_LinkTarget__use_mozilla
2978
Michael Stahlbf80dfc2013-10-31 11:00:47 +01002979$(call gb_LinkTarget_use_unpacked,$(1),moz_lib)
2980$(call gb_LinkTarget_use_unpacked,$(1),moz_inc)
2981
David Tardonc678a4c2012-04-05 17:59:36 +02002982$(call gb_LinkTarget_add_defs,$(1),\
2983 -DMOZILLA_INTERNAL_API \
2984)
2985
2986$(call gb_LinkTarget_set_include,$(1),\
Michael Stahlbf80dfc2013-10-31 11:00:47 +01002987 -I$(call gb_UnpackedTarball_get_dir,moz_inc) \
2988 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/addrbook \
2989 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/content \
2990 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/embed_base \
2991 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/intl \
2992 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/mime \
2993 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/mozldap \
2994 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/msgbase \
2995 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/necko \
2996 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/pref \
2997 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/profile \
2998 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/rdf \
2999 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/string \
3000 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/uconv \
3001 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/xpcom \
3002 -I$(call gb_UnpackedTarball_get_dir,moz_inc)/xpcom_obsolete \
David Tardonc678a4c2012-04-05 17:59:36 +02003003 $$(INCLUDE) \
David Tardonc678a4c2012-04-05 17:59:36 +02003004)
3005
Michael Stahld2f62c32013-10-23 00:14:01 +02003006$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003007 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
Michael Stahl3dadfa52013-10-29 14:34:56 +01003008 $(call gb_UnpackedTarball_get_dir,moz_lib)/xpcom.lib \
3009 $(call gb_UnpackedTarball_get_dir,moz_lib)/xpcom_core.lib \
David Tardonc678a4c2012-04-05 17:59:36 +02003010)
3011
David Tardonc678a4c2012-04-05 17:59:36 +02003012$(call gb_LinkTarget_add_defs,$(1),\
3013 -DMOZILLA_CLIENT \
3014 -DMOZ_REFLOW_PERF \
3015 -DMOZ_REFLOW_PERF_DSP \
3016 -DMOZ_XUL \
3017 -DOJI \
3018 -DWIN32 \
3019 -DXP_PC \
3020 -DXP_WIN \
3021 -DXP_WIN32 \
3022 -D_WINDOWS \
3023)
3024
3025ifeq ($(COM),GCC)
3026
3027$(call gb_LinkTarget_add_cxxflags,$(1),\
3028 -Wall \
3029 -Wcast-align \
3030 -Wconversion \
3031 -Wno-long-long \
3032 -Woverloaded-virtual \
3033 -Wpointer-arith \
3034 -Wsynth \
3035 -fno-rtti \
3036)
3037
3038else
3039
3040ifneq ($(DBG_LEVEL),0)
3041$(call gb_LinkTarget_add_defs,$(1),\
3042 -D_STL_NOFORCE_MANIFEST \
3043)
3044endif
3045
3046$(call gb_LinkTarget_add_libs,$(1),\
Christian Lohmaierc18dc122013-10-10 18:31:27 +02003047 $(call gb_UnpackedTarball_get_dir,moz_lib)/embed_base_s.lib \
3048 $(call gb_UnpackedTarball_get_dir,moz_lib)/mozreg_s.lib \
David Tardonc678a4c2012-04-05 17:59:36 +02003049)
3050
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003051endif # !GCC
David Tardonc678a4c2012-04-05 17:59:36 +02003052
David Tardonc678a4c2012-04-05 17:59:36 +02003053endef
3054
Michael Stahl589d6342014-03-18 17:56:10 +01003055endif # WITH_MOZAB4WIN
David Tardonc678a4c2012-04-05 17:59:36 +02003056
David Tardond4efa8b2012-04-28 20:48:14 +02003057
3058ifeq ($(ENABLE_KDE4),TRUE)
3059
3060define gb_LinkTarget__use_kde4
3061$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003062 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS)))) \
David Tardond4efa8b2012-04-28 20:48:14 +02003063 $$(INCLUDE) \
3064)
3065
3066$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003067 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS))) \
David Tardond4efa8b2012-04-28 20:48:14 +02003068)
3069
3070$(call gb_LinkTarget_add_libs,$(1),\
3071 $(KDE4_LIBS) \
3072)
3073
3074ifeq ($(COM),GCC)
3075$(call gb_LinkTarget_add_cxxflags,$(1),\
3076 -Wno-shadow \
3077)
3078endif
3079
3080endef
3081
3082else # !ENABLE_KDE4
3083
3084define gb_LinkTarget__use_kde4
3085
3086endef
3087
3088endif # ENABLE_KDE4
3089
3090
Caolán McNamara9ec0a3e2012-08-30 13:44:53 +01003091ifeq ($(ENABLE_TDE),TRUE)
David Tardond4efa8b2012-04-28 20:48:14 +02003092
3093define gb_LinkTarget__use_tde
3094$(call gb_LinkTarget_add_libs,$(1),\
3095 $(TDE_LIBS) \
3096)
3097
3098$(call gb_LinkTarget_set_include,$(1),\
3099 $$(INCLUDE) \
3100 $(TDE_CFLAGS) \
3101)
3102endef
3103
3104else # ! ENABLE_TDE
3105
3106define gb_LinkTarget__use_tde
3107
3108endef
3109
3110endif # ENABLE_TDE
3111
3112
David Ostrovskye16ac692012-05-27 22:50:41 +02003113# PYTHON
Michael Stahl91926332012-11-27 15:50:53 +01003114# extra python_headers external because pyuno wrapper must not link python
Michael Stahl0443d0a2014-02-11 16:57:35 +01003115ifneq ($(SYSTEM_PYTHON),)
David Ostrovskye16ac692012-05-27 22:50:41 +02003116
Michael Stahl91926332012-11-27 15:50:53 +01003117define gb_LinkTarget__use_python_headers
David Ostrovskye16ac692012-05-27 22:50:41 +02003118$(call gb_LinkTarget_add_defs,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003119 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYHTON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003120)
3121
3122$(call gb_LinkTarget_set_include,$(1),\
Markus Mohrhard62101bc2014-08-07 19:40:33 +02003123 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
David Ostrovskye16ac692012-05-27 22:50:41 +02003124 $$(INCLUDE) \
3125)
3126
Michael Stahl91926332012-11-27 15:50:53 +01003127endef
3128
3129define gb_LinkTarget__use_python
3130$(call gb_LinkTarget__use_python_headers,$(1))
3131
David Ostrovskye16ac692012-05-27 22:50:41 +02003132$(call gb_LinkTarget_add_libs,$(1),\
3133 $(PYTHON_LIBS) \
3134)
3135
3136endef
3137
3138else # !SYSTEM_PYTHON
3139
Michael Stahl720ca8e2014-03-18 18:24:15 +01003140$(eval $(call gb_Helper_register_packages_for_install,python,\
3141 python3 \
3142))
3143
Michael Stahl91926332012-11-27 15:50:53 +01003144define gb_LinkTarget__use_python_headers
David Tardoncad68c62015-09-29 18:09:16 +02003145$(call gb_LinkTarget_use_external_project,$(1),python3,full)
Michael Stahl91926332012-11-27 15:50:53 +01003146$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl70fcfee2013-04-01 12:47:16 +02003147 -I$(call gb_UnpackedTarball_get_dir,python3) \
3148 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3149 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
Michael Stahl91926332012-11-27 15:50:53 +01003150 $$(INCLUDE) \
3151)
3152
3153endef
3154
David Ostrovskye16ac692012-05-27 22:50:41 +02003155define gb_LinkTarget__use_python
Michael Stahl91926332012-11-27 15:50:53 +01003156$(call gb_LinkTarget__use_python_headers,$(1))
Michael Stahld9162d22015-07-29 12:17:03 +02003157ifeq ($(OS),MACOSX)
3158$(call gb_LinkTarget_use_generated_package,$(1),python3)
3159else
Michael Stahl57dd4d02015-07-29 10:56:57 +02003160$(call gb_LinkTarget_use_package,$(1),python3)
Michael Stahld9162d22015-07-29 12:17:03 +02003161endif
David Ostrovskye16ac692012-05-27 22:50:41 +02003162
3163ifeq ($(OS),WNT)
3164$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl5b7ccf32013-06-04 17:16:47 +02003165 $(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 +02003166)
3167else ifeq ($(OS),MACOSX)
3168$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahl9d921ba2012-11-27 15:32:36 +01003169 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
David Ostrovskye16ac692012-05-27 22:50:41 +02003170)
3171else
Michael Stahlb6bcbb62013-04-21 14:34:50 +02003172$(call gb_LinkTarget_add_libs,$(1),\
3173 -L$(call gb_UnpackedTarball_get_dir,python3) \
3174 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
David Ostrovskye16ac692012-05-27 22:50:41 +02003175)
3176endif
3177
David Ostrovskye16ac692012-05-27 22:50:41 +02003178endef
3179
David Ostrovskye16ac692012-05-27 22:50:41 +02003180endif # SYSTEM_PYTHON
3181
Kohei Yoshida49b0b692012-09-04 15:05:35 -04003182# ORCUS
Kohei Yoshida02346aa2013-09-18 19:06:20 -04003183ifeq ($(ENABLE_ORCUS),TRUE)
3184
Michael Stahle3abec32014-02-11 15:57:18 +01003185ifneq ($(SYSTEM_LIBORCUS),)
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003186
3187define gb_LinkTarget__use_orcus
3188$(call gb_LinkTarget_set_include,$(1),\
3189 $$(INCLUDE) \
Matúš Kukana2d63fe2012-09-09 16:29:10 +02003190 $(ORCUS_CFLAGS) \
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003191)
Rene Engelhard26b80fc2013-04-13 19:29:33 +02003192$(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
Rene Engelhardfb360f52013-04-13 16:17:29 +02003193endef
3194
3195define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003196
3197endef
3198
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003199else # !SYSTEM_LIBORCUS
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003200
David Tardonedb38d72015-06-04 16:09:48 +02003201ifeq ($(COM),MSC)
3202
3203$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3204 orcus \
3205 orcus-parser \
3206))
3207
Kohei Yoshidac8b7e982012-08-31 10:11:32 -04003208define gb_LinkTarget__use_orcus
Matúš Kukan1ee76032012-09-09 15:29:43 +02003209$(call gb_LinkTarget_set_include,$(1),\
Michael Stahl10fc13c2013-05-06 23:35:13 +02003210 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
Matúš Kukan1ee76032012-09-09 15:29:43 +02003211 $$(INCLUDE) \
3212)
David Tardonf1035c12012-11-23 06:49:21 +01003213
David Tardonedb38d72015-06-04 16:09:48 +02003214$(call gb_LinkTarget_use_libraries,$(1),\
3215 orcus \
Stephan Bergmann3743cdb2013-02-17 22:58:21 +01003216)
David Tardonf1035c12012-11-23 06:49:21 +01003217
Kohei Yoshidaa6639312012-07-27 22:14:39 -04003218endef
3219
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003220define gb_LinkTarget__use_orcus-parser
Kohei Yoshidaecc884e2013-12-17 21:18:46 -05003221$(call gb_LinkTarget_set_include,$(1),\
3222 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3223 $$(INCLUDE) \
3224)
David Tardonedb38d72015-06-04 16:09:48 +02003225
3226$(call gb_LinkTarget_use_libraries,$(1),\
3227 orcus-parser \
Kohei Yoshida4d9c2fb2013-04-11 23:11:21 -04003228)
3229
3230endef
3231
David Tardonedb38d72015-06-04 16:09:48 +02003232else # !MSC
3233
3234$(eval $(call gb_Helper_register_packages_for_install,ooo,\
3235 liborcus \
3236))
3237
3238define gb_LinkTarget__use_orcus
3239$(call gb_LinkTarget_use_package,$(1),liborcus)
3240
3241$(call gb_LinkTarget_set_include,$(1),\
3242 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3243 $$(INCLUDE) \
3244)
3245
3246$(call gb_LinkTarget_add_libs,$(1),\
3247 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.10 \
3248)
3249
3250$(if $(SYSTEM_BOOST), \
3251 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3252 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3253)
3254
3255endef
3256
3257define gb_LinkTarget__use_orcus-parser
3258$(call gb_LinkTarget_use_package,$(1),liborcus)
3259
3260$(call gb_LinkTarget_set_include,$(1),\
3261 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3262 $$(INCLUDE) \
3263)
3264
3265$(call gb_LinkTarget_add_libs,$(1),\
3266 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.10 \
3267)
3268
3269endef
3270
3271endif # MSC
3272
Kohei Yoshida31f589b2012-08-30 23:26:59 -04003273endif # SYSTEM_LIBORCUS
David Ostrovskye16ac692012-05-27 22:50:41 +02003274
Kohei Yoshida02346aa2013-09-18 19:06:20 -04003275else # ENABLE_ORCUS != TRUE
3276
3277gb_LinkTarget__use_orcus :=
3278gb_LinkTarget__use_orcus-parser :=
3279
3280endif
Michael Stahl78b59b82012-09-27 21:45:47 +02003281
David Tardon49a4d362013-11-12 16:44:40 +01003282ifeq ($(ENABLE_EOT),TRUE)
3283
Michael Stahle3abec32014-02-11 15:57:18 +01003284ifneq ($(SYSTEM_LIBEOT),)
David Tardon49a4d362013-11-12 16:44:40 +01003285
3286define gb_LinkTarget__use_libeot
3287$(call gb_LinkTarget_set_include,$(1),\
3288 $$(INCLUDE) \
3289 $(LIBEOT_CFLAGS) \
3290)
3291$(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3292
3293endef
3294
3295gb_ExternalProject__use_libeot :=
3296
3297else # !SYSTEM_LIBEOT
3298
3299define gb_LinkTarget__use_libeot
3300$(call gb_LinkTarget_set_include,$(1),\
3301 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3302 $$(INCLUDE) \
3303)
3304$(call gb_LinkTarget_add_libs,$(1),\
3305 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3306)
3307$(call gb_LinkTarget_use_external_project,$(1),libeot)
3308
3309endef
3310
3311define gb_ExternalProject__use_libeot
3312$(call gb_ExternalProject_use_external_project,$(1),libeot)
3313
3314endef
3315
3316endif # SYSTEM_LIBEOT
3317
3318else # !ENABLE_EOT
3319
3320gb_LinkTarget__use_libeot :=
3321gb_ExternalProject__use_libeot :=
3322
3323endif # ENABLE_EOT
3324
Michael Stahl78b59b82012-09-27 21:45:47 +02003325### X11 stuff ###
3326
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003327ifeq ($(USING_X11), TRUE)
Michael Stahl78b59b82012-09-27 21:45:47 +02003328
Michael Stahl78b59b82012-09-27 21:45:47 +02003329ifeq ($(XRANDR_DLOPEN),FALSE)
3330
3331define gb_LinkTarget__use_Xrandr
Michael Stahl78b59b82012-09-27 21:45:47 +02003332$(call gb_LinkTarget_set_include,$(1),\
3333 $$(INCLUDE) \
3334 $(XRANDR_CFLAGS) \
3335)
3336
3337$(call gb_LinkTarget_add_libs,$(1),\
3338 $(XRANDR_LIBS) \
3339)
3340endef
3341
3342else # XRANDR_DLOPEN
3343
3344define gb_LinkTarget__use_Xrandr
Michael Stahl78b59b82012-09-27 21:45:47 +02003345$(call gb_LinkTarget_add_defs,$(1),\
3346 -DXRANDR_DLOPEN \
3347)
3348endef
3349
3350endif # XRANDR_DLOPEN
3351
3352define gb_LinkTarget__use_Xrender
Michael Stahl78b59b82012-09-27 21:45:47 +02003353$(call gb_LinkTarget_set_include,$(1),\
3354 $$(INCLUDE) \
3355 $(XRENDER_CFLAGS) \
3356)
3357
3358$(call gb_LinkTarget_add_libs,$(1),\
3359 $(XRENDER_LIBS) \
3360)
3361endef
3362
Samuel Mehrbrodtc29ea222015-09-18 14:12:08 +02003363endif # USING_X11
Michael Stahl78b59b82012-09-27 21:45:47 +02003364
Tor Lillqvist35491072011-08-02 21:22:35 +03003365
Michael Meeksb440cfc2013-02-28 12:05:07 +00003366gb_ExternalProject__use_nss3:=
3367
Tor Lillqvist3442b002014-08-12 16:50:17 +03003368ifeq ($(OS),ANDROID)
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003369
Peter Foleyc003d252013-01-01 09:39:36 -05003370gb_LinkTarget__use_nss3:=
Tor Lillqvist801408c2014-12-12 23:51:17 +02003371gb_LinkTarget__use_plc4:=
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003372
3373else
3374
Michael Stahle3abec32014-02-11 15:57:18 +01003375ifneq ($(SYSTEM_NSS),)
David Tardonb6aa4842011-08-11 13:10:14 +02003376
David Tardon2b9dbc82012-08-13 06:57:51 +02003377define gb_LinkTarget__use_nss3
3378$(call gb_LinkTarget_add_defs,$(1),\
Stephan Bergmannea641222012-11-19 16:40:33 +01003379 -DSYSTEM_NSS \
David Tardon2b9dbc82012-08-13 06:57:51 +02003380)
3381
David Tardonb6aa4842011-08-11 13:10:14 +02003382$(call gb_LinkTarget_set_include,$(1),\
3383 $$(INCLUDE) \
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003384 $(NSS_CFLAGS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003385)
3386
3387$(call gb_LinkTarget_add_libs,$(1),\
Tomas Chvatal75f77e62011-11-02 21:16:53 +01003388 $(NSS_LIBS) \
David Tardonb6aa4842011-08-11 13:10:14 +02003389)
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003390
David Tardonb6aa4842011-08-11 13:10:14 +02003391endef
3392
David Tardon2b9dbc82012-08-13 06:57:51 +02003393define gb_LinkTarget__use_plc4
3394$(call gb_LinkTarget__use_nss3,$(1))
3395
3396endef
3397
David Tardon6ef46562013-02-04 10:04:07 +01003398define gb_LinkTarget__use_ssl3
3399$(call gb_LinkTarget__use_nss3,$(1))
3400
3401endef
3402
Michael Stahle3abec32014-02-11 15:57:18 +01003403else # !SYSTEM_NSS
David Tardonb6aa4842011-08-11 13:10:14 +02003404
Michael Stahlffae67c2014-03-13 19:51:19 +01003405$(eval $(call gb_Helper_register_packages_for_install,ooo, \
3406 nss \
3407))
3408
David Tardon2b9dbc82012-08-13 06:57:51 +02003409define gb_LinkTarget__use_nss3
Peter Foleyc003d252013-01-01 09:39:36 -05003410$(call gb_LinkTarget_use_package,$(1),nss)
David Tardon2b9dbc82012-08-13 06:57:51 +02003411$(call gb_LinkTarget_set_include,$(1),\
3412 $$(INCLUDE) \
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003413 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3414 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
David Tardon2b9dbc82012-08-13 06:57:51 +02003415)
3416
Michael Stahld2f62c32013-10-23 00:14:01 +02003417ifeq ($(COM),MSC)
3418$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003419 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3420 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3421 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
David Tardon2b9dbc82012-08-13 06:57:51 +02003422)
Michael Stahld2f62c32013-10-23 00:14:01 +02003423else
3424$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003425 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
Michael Stahld2f62c32013-10-23 00:14:01 +02003426 -lnspr4 \
3427 -lnss3 \
3428 -lsmime3 \
3429)
3430endif
David Tardon2b9dbc82012-08-13 06:57:51 +02003431
3432endef
3433
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003434define gb_LinkTarget__use_plc4
Peter Foleyc003d252013-01-01 09:39:36 -05003435$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003436ifeq ($(COM),MSC)
3437$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003438 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
David Tardonb6aa4842011-08-11 13:10:14 +02003439)
Michael Stahld2f62c32013-10-23 00:14:01 +02003440else
3441$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003442 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003443)
3444endif
Caolán McNamara24ae3ab2011-08-11 12:47:00 +01003445
David Tardonb6aa4842011-08-11 13:10:14 +02003446endef
3447
David Tardon6ef46562013-02-04 10:04:07 +01003448define gb_LinkTarget__use_ssl3
3449$(call gb_LinkTarget_use_package,$(1),nss)
Michael Stahld2f62c32013-10-23 00:14:01 +02003450ifeq ($(COM),MSC)
3451$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003452 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
David Tardon6ef46562013-02-04 10:04:07 +01003453)
Michael Stahld2f62c32013-10-23 00:14:01 +02003454else
3455$(call gb_LinkTarget_add_libs,$(1),\
Michael Stahlcca8c8c2013-11-13 17:08:03 +01003456 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
Michael Stahld2f62c32013-10-23 00:14:01 +02003457)
3458endif
David Tardon6ef46562013-02-04 10:04:07 +01003459
3460endef
3461
Michael Meeksb440cfc2013-02-28 12:05:07 +00003462define gb_ExternalProject__use_nss3
3463$(call gb_ExternalProject_use_package,$(1),nss)
Michael Meeksb440cfc2013-02-28 12:05:07 +00003464
3465endef
3466
Michael Stahle3abec32014-02-11 15:57:18 +01003467endif # SYSTEM_NSS
3468
Tor Lillqvist9dc7f052012-08-13 09:19:35 +03003469endif # DESKTOP
David Tardonb6aa4842011-08-11 13:10:14 +02003470
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003471ifeq ($(ENABLE_GLTF),TRUE)
3472
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003473ifneq ($(SYSTEM_LIBGLTF),TRUE)
3474
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003475define gb_LinkTarget__use_libgltf
3476$(call gb_LinkTarget_set_include,$(1),\
3477 -I$(call gb_UnpackedTarball_get_dir,libgltf)/inc \
3478 $$(INCLUDE) \
3479)
3480
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003481ifeq ($(COM),MSC)
3482$(call gb_LinkTarget_add_libs,$(1),\
David Ostrovskyac06ab22015-02-18 22:17:49 +01003483 $(call gb_UnpackedTarball_get_dir,libgltf)/build/win32/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/libgltf.lib,Release/libgltf.lib) \
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003484)
Zolnai Tamás6403f2b2014-06-25 15:19:41 +02003485else
3486$(call gb_LinkTarget_add_libs,$(1),\
3487 $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.0$(gb_StaticLibrary_PLAINEXT) \
3488)
3489endif
3490
3491$(call gb_LinkTarget_use_external_project,$(1),libgltf)
3492
3493endef
3494
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003495else # SYSTEM_LIBGLTF
3496
3497define gb_LinkTarget__use_libgltf
3498$(call gb_LinkTarget_set_include,$(1),\
3499 $$(INCLUDE) \
3500 $(LIBGLTF_CFLAGS) \
3501)
3502$(call gb_LinkTarget_add_libs,$(1),$(LIBGLTF_LIBS))
Rene Engelhard97bda8e2014-08-05 20:05:35 +02003503
3504endef
3505
3506endif # SYSTEN_LIBGLTF
3507
Zolnai Tamás191f0942014-08-07 15:21:41 +02003508ifeq ($(ENABLE_COLLADA),TRUE)
3509
David Tardonf24c6082014-10-20 14:21:22 +02003510ifeq ($(SYSTEM_OPENCOLLADA),TRUE)
3511
3512define gb_LinkTarget__use_opencollada_parser
3513$(call gb_LinkTarget_set_include,$(1),\
3514 $$(INCLUDE) \
3515 $(OPENCOLLADA_CFLAGS) \
3516)
3517
3518$(call gb_LinkTarget_add_libs,$(1),$(OPENCOLLADA_LIBS))
3519
3520endef
3521
3522else # !SYSTEM_OPENCOLLADA
3523
Zolnai Tamásaa5fe792014-04-10 13:33:58 +02003524define gb_LinkTarget__use_opencollada_parser
3525$(call gb_LinkTarget_set_include,$(1),\
3526 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
3527 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADAFramework/include \
3528 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include \
3529 -I$(call gb_UnpackedTarball_get_dir,opencollada)/GeneratedSaxParser/include \
3530 $$(INCLUDE) \
3531)
3532
3533$(call gb_LinkTarget_use_static_libraries,$(1),\
3534 opencollada_parser \
3535)
3536endef
3537
David Tardonf24c6082014-10-20 14:21:22 +02003538endif # SYSTEM_OPENCOLLADA
3539
David Tardon8840fd32015-04-13 15:31:41 +02003540ifeq ($(SYSTEM_COLLADA2GLTF),TRUE)
3541
3542define gb_LinkTarget__use_collada2gltf
3543$(call gb_LinkTarget_set_include,$(1),\
3544 $$(INCLUDE) \
3545 $(COLLADA2GLTF_CFLAGS) \
3546)
3547
3548$(call gb_LinkTarget_add_libs,$(1),$(COLLADA2GLTF_LIBS))
3549
3550endef
3551
3552else # !SYSTEM_COLLADA2GLTF
3553
Zolnai Tamásd57591702014-04-10 13:37:38 +02003554define gb_LinkTarget__use_collada2gltf
3555$(call gb_LinkTarget_set_include,$(1),\
3556 -I$(call gb_UnpackedTarball_get_dir,collada2gltf) \
3557 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/assetModifiers \
3558 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/GLTF \
3559 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/helpers \
3560 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/JSON \
3561 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/dependencies/json/include/rapidjson/ \
3562 $$(INCLUDE) \
3563)
3564
3565$(call gb_LinkTarget_use_static_libraries,$(1),\
3566 collada2gltf \
3567)
3568endef
3569
David Tardon8840fd32015-04-13 15:31:41 +02003570endif # SYSTEM_COLLADA2GLTF
3571
Zolnai Tamás191f0942014-08-07 15:21:41 +02003572endif # ENABLE_COLLADA
3573
3574endif # ENABLE_GLTF
Zolnai Tamás62fd6302014-04-18 12:55:56 +02003575
Stephan Bergmannecc617e2015-07-08 11:20:19 +02003576define gb_LinkTarget__use_dconf
3577$(call gb_LinkTarget_add_defs,$(1),$(DCONF_CFLAGS))
3578$(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3579endef
3580
Michael Stahl2ee5f242011-09-15 14:01:27 +02003581### Jars ############################################################
3582
Michael Stahl5866b332014-02-11 18:56:33 +01003583ifneq ($(SYSTEM_HSQLDB),)
Michael Stahl666173b2012-08-15 20:24:59 +02003584
3585define gb_Jar__use_hsqldb
3586$(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3587endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003588define gb_JunitTest__use_hsqldb
3589$(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3590endef
Michael Stahl666173b2012-08-15 20:24:59 +02003591
3592else # !SYSTEM_HSQLDB
3593
David Tardon2dec0672014-05-19 10:20:37 +02003594ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl376d1b52014-03-18 20:25:04 +01003595$(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003596 hsqldb \
3597))
David Tardon2dec0672014-05-19 10:20:37 +02003598endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003599
Michael Stahl666173b2012-08-15 20:24:59 +02003600define gb_Jar__use_hsqldb
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003601$(call gb_Jar_use_jar,$(1),hsqldb)
Michael Stahl666173b2012-08-15 20:24:59 +02003602endef
Michael Stahlb254f4f2012-08-17 11:47:29 +02003603define gb_JunitTest__use_hsqldb
3604$(call gb_JunitTest_use_jar,$(1),hsqldb)
3605endef
Michael Stahl666173b2012-08-15 20:24:59 +02003606
3607endif # SYSTEM_HSQLDB
3608
Michael Stahl2ee5f242011-09-15 14:01:27 +02003609
Rene Engelhard40facc42014-05-23 07:43:19 +02003610ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3611
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003612ifneq ($(SYSTEM_BSH),)
David Tardon3bcf9102011-10-04 09:44:48 +02003613
Michael Stahla4551262012-08-15 17:41:25 +02003614define gb_Jar__use_bsh
3615$(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
David Tardon3bcf9102011-10-04 09:44:48 +02003616endef
3617
3618else # !SYSTEM_BSH
3619
David Tardon2dec0672014-05-19 10:20:37 +02003620ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl8475eb92014-03-18 20:38:30 +01003621$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003622 bsh \
3623))
David Tardon2dec0672014-05-19 10:20:37 +02003624endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003625
Michael Stahla4551262012-08-15 17:41:25 +02003626define gb_Jar__use_bsh
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003627$(call gb_Jar_use_jar,$(1),bsh)
David Tardon3bcf9102011-10-04 09:44:48 +02003628endef
3629
3630endif # SYSTEM_BSH
3631
Rene Engelhard40facc42014-05-23 07:43:19 +02003632endif
3633
3634ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
Michael Stahl2ee5f242011-09-15 14:01:27 +02003635
Michael Stahl49dde4c2014-02-11 19:42:28 +01003636ifneq ($(SYSTEM_RHINO),)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003637
Michael Stahla4551262012-08-15 17:41:25 +02003638define gb_Jar__use_rhino
3639$(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003640endef
3641
3642else # !SYSTEM_RHINO
3643
David Tardon2dec0672014-05-19 10:20:37 +02003644ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl6474d1c2014-03-18 20:50:02 +01003645$(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003646 js \
3647))
David Tardon2dec0672014-05-19 10:20:37 +02003648endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003649
Michael Stahla4551262012-08-15 17:41:25 +02003650define gb_Jar__use_rhino
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003651$(call gb_Jar_use_jar,$(1),js)
Tomas Chvatal32af02b2012-05-06 12:49:33 +02003652endef
3653
3654endif # SYSTEM_RHINO
3655
Rene Engelhard40facc42014-05-23 07:43:19 +02003656endif
3657
Michael Stahl7d2f7c62014-02-11 19:39:18 +01003658ifneq ($(SYSTEM_APACHE_COMMONS),)
David Tardon9b530e12012-04-07 10:07:35 +02003659
Michael Stahla4551262012-08-15 17:41:25 +02003660define gb_Jar__use_commons-logging
3661$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003662endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003663gb_ExternalProject__use_commons-logging :=
David Tardon9b530e12012-04-07 10:07:35 +02003664
3665else # !SYSTEM_APACHE_COMMONS
3666
David Tardon2dec0672014-05-19 10:20:37 +02003667ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl2bec9f42014-03-18 21:54:33 +01003668$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
rbujd8a7f722014-08-18 13:52:32 +02003669 commons-logging-$(COMMONS_LOGGING_VERSION) \
Michael Stahldb23d4b2013-10-24 23:10:27 +02003670))
David Tardon2dec0672014-05-19 10:20:37 +02003671endif
David Tardon9b530e12012-04-07 10:07:35 +02003672
Michael Stahla4551262012-08-15 17:41:25 +02003673define gb_Jar__use_commons-logging
Michael Stahl461d8302013-10-25 18:40:48 +02003674$(call gb_Jar_use_external_project,$(1),apache_commons_logging)
rbujd8a7f722014-08-18 13:52:32 +02003675$(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION))
David Tardon9b530e12012-04-07 10:07:35 +02003676endef
Michael Stahl2b7536a2012-10-05 21:17:25 +02003677define gb_ExternalProject__use_commons-logging
Michael Stahla60427e2013-10-26 20:17:52 +02003678$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
Michael Stahl2b7536a2012-10-05 21:17:25 +02003679endef
David Tardon9b530e12012-04-07 10:07:35 +02003680
3681endif # SYSTEM_APACHE_COMMONS
3682
3683
Michael Stahl32db4992014-02-11 19:35:22 +01003684ifneq ($(SYSTEM_JFREEREPORT),)
David Tardon9b530e12012-04-07 10:07:35 +02003685
Michael Stahla4551262012-08-15 17:41:25 +02003686define gb_Jar__use_flow-engine
3687$(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003688endef
3689
Michael Stahla4551262012-08-15 17:41:25 +02003690define gb_Jar__use_flute
3691$(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003692endef
3693
Michael Stahla4551262012-08-15 17:41:25 +02003694define gb_Jar__use_libbase
3695$(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003696endef
3697
Michael Stahla4551262012-08-15 17:41:25 +02003698define gb_Jar__use_libfonts
3699$(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003700endef
3701
Michael Stahla4551262012-08-15 17:41:25 +02003702define gb_Jar__use_libformula
3703$(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003704endef
3705
Michael Stahla4551262012-08-15 17:41:25 +02003706define gb_Jar__use_liblayout
3707$(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003708endef
3709
Michael Stahla4551262012-08-15 17:41:25 +02003710define gb_Jar__use_libloader
3711$(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003712endef
3713
Michael Stahla4551262012-08-15 17:41:25 +02003714define gb_Jar__use_librepository
3715$(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003716endef
3717
Michael Stahla4551262012-08-15 17:41:25 +02003718define gb_Jar__use_libserializer
3719$(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003720endef
3721
Michael Stahla4551262012-08-15 17:41:25 +02003722define gb_Jar__use_libxml
3723$(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003724endef
3725
Michael Stahla4551262012-08-15 17:41:25 +02003726define gb_Jar__use_sac
3727$(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
David Tardon9b530e12012-04-07 10:07:35 +02003728endef
3729
3730else # !SYSTEM_JFREEREPORT
3731
David Tardon2dec0672014-05-19 10:20:37 +02003732ifeq ($(ENABLE_JAVA),TRUE)
Michael Stahl4c3626af2014-03-18 22:03:00 +01003733$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
Michael Stahl070ca1e2013-10-25 21:01:58 +02003734 flow-engine \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003735 flute-1.1.6 \
3736 libbase-1.1.6 \
3737 libfonts-1.1.6 \
3738 libformula-1.1.7 \
Michael Stahl070ca1e2013-10-25 21:01:58 +02003739 liblayout \
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003740 libloader-1.1.6 \
3741 librepository-1.1.6 \
3742 libserializer-1.1.6 \
3743 libxml-1.1.7 \
3744 sac \
3745))
David Tardon2dec0672014-05-19 10:20:37 +02003746endif
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003747
Michael Stahla4551262012-08-15 17:41:25 +02003748define gb_Jar__use_flow-engine
Michael Stahl070ca1e2013-10-25 21:01:58 +02003749$(call gb_Jar_use_jar,$(1),flow-engine)
David Tardon9b530e12012-04-07 10:07:35 +02003750endef
3751
Michael Stahla4551262012-08-15 17:41:25 +02003752define gb_Jar__use_flute
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003753$(call gb_Jar_use_jar,$(1),flute-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003754endef
3755
Michael Stahla4551262012-08-15 17:41:25 +02003756define gb_Jar__use_libbase
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003757$(call gb_Jar_use_jar,$(1),libbase-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003758endef
3759
Michael Stahla4551262012-08-15 17:41:25 +02003760define gb_Jar__use_libfonts
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003761$(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003762endef
3763
Michael Stahla4551262012-08-15 17:41:25 +02003764define gb_Jar__use_libformula
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003765$(call gb_Jar_use_jar,$(1),libformula-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003766endef
3767
Michael Stahla4551262012-08-15 17:41:25 +02003768define gb_Jar__use_liblayout
Michael Stahl070ca1e2013-10-25 21:01:58 +02003769$(call gb_Jar_use_jar,$(1),liblayout)
David Tardon9b530e12012-04-07 10:07:35 +02003770endef
3771
Michael Stahla4551262012-08-15 17:41:25 +02003772define gb_Jar__use_libloader
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003773$(call gb_Jar_use_jar,$(1),libloader-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003774endef
3775
Michael Stahla4551262012-08-15 17:41:25 +02003776define gb_Jar__use_librepository
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003777$(call gb_Jar_use_jar,$(1),librepository-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003778endef
3779
Michael Stahla4551262012-08-15 17:41:25 +02003780define gb_Jar__use_libserializer
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003781$(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
David Tardon9b530e12012-04-07 10:07:35 +02003782endef
3783
Michael Stahla4551262012-08-15 17:41:25 +02003784define gb_Jar__use_libxml
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003785$(call gb_Jar_use_jar,$(1),libxml-1.1.7)
David Tardon9b530e12012-04-07 10:07:35 +02003786endef
3787
Michael Stahla4551262012-08-15 17:41:25 +02003788define gb_Jar__use_sac
Michael Stahl5a4bcd32012-08-17 11:02:49 +02003789$(call gb_Jar_use_jar,$(1),sac)
David Tardon9b530e12012-04-07 10:07:35 +02003790endef
3791
3792endif # SYSTEM_JFREEREPORT
3793
David Tardonc2eca352012-12-02 10:51:37 +01003794
3795# Executables
3796
David Tardonedf67302012-12-30 12:27:04 +01003797# FIXME: the library target should be for build too
3798define gb_Executable__register_bestreversemap
3799$(call gb_Executable_add_runtime_dependencies,bestreversemap,\
3800 $(if $(filter-out ANDROID,$(OS)),$(call gb_Library_get_target,sal_textenc)) \
3801)
3802endef
3803
David Tardonceb0d062012-12-30 13:11:43 +01003804# TODO depending on the whole URE might be overkill, but I do not have a
3805# Windows machine to debug it...
3806# FIXME: the library target should be for build too
3807define gb_Executable__register_climaker
3808$(call gb_Executable_add_runtime_dependencies,climaker,\
3809 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003810 $(call gb_Rdb_get_target_for_build,ure/services) \
Stephan Bergmann982f1992014-12-01 15:10:19 +01003811 $(INSTROOT)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003812 $(call gb_UnoApi_get_target,udkapi) \
David Tardonc7b4aa22014-12-24 18:27:48 +01003813 $(INSTROOT)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
David Tardonceb0d062012-12-30 13:11:43 +01003814)
3815endef
3816
David Tardon6c1614a2014-01-08 13:49:46 +01003817define gb_Executable__register_cppumaker
3818$(call gb_Executable_add_runtime_dependencies,cppumaker,\
3819 $(if $(filter-out ANDROID,$(OS)),$(call gb_Library_get_target,sal_textenc)) \
3820)
3821endef
3822
Matúš Kukane1b51e72013-09-27 09:41:09 +02003823gb_Gallery__UNO_COMPONENTS := \
3824 comphelper/util/comphelp \
3825 configmgr/source/configmgr \
3826 drawinglayer/drawinglayer \
Matúš Kukane1b51e72013-09-27 09:41:09 +02003827 framework/util/fwk \
3828 i18npool/util/i18npool \
3829 package/source/xstor/xstor \
3830 package/util/package2 \
3831 sax/source/expatwrap/expwrap \
3832 sfx2/util/sfx \
3833 svgio/svgio \
3834 svx/util/svx \
3835 svx/util/svxcore \
3836 ucb/source/core/ucb1 \
3837 ucb/source/ucp/file/ucpfile1 \
3838 unoxml/source/service/unoxml
3839
Matúš Kukanbae52ee2013-05-16 09:17:57 +02003840# This is used to determine what we need for 'build' platform.
Matúš Kukan9555b5b2013-06-14 12:48:20 +02003841define gb_Executable__register_gengal
Matúš Kukan94b68822013-06-17 10:41:18 +02003842$(call gb_Executable_add_runtime_dependencies,gengal,\
Matúš Kukane1b51e72013-09-27 09:41:09 +02003843 $(foreach component,$(gb_Gallery__UNO_COMPONENTS) \
Matúš Kukan85c6f802013-05-23 23:01:05 +02003844 ,$(call gb_ComponentTarget_get_target_for_build,$(component))) \
David Tardon1546c292013-05-07 20:41:41 +02003845 $(call gb_AllLangResTarget_get_target,ofa) \
David Tardon1546c292013-05-07 20:41:41 +02003846 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardone59420d2014-08-04 17:23:54 +02003847 $(call gb_Package_get_target_for_build,postprocess_images) \
Matúš Kukan8b162f22013-09-27 10:58:28 +02003848 $(call gb_Package_get_target_for_build,postprocess_registry) \
Michael Stahlae08fce2015-04-28 13:32:28 +02003849 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003850 $(call gb_Rdb_get_target_for_build,ure/services) \
Stephan Bergmann982f1992014-12-01 15:10:19 +01003851 $(INSTROOT)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
David Tardon1546c292013-05-07 20:41:41 +02003852 $(call gb_UnoApi_get_target,offapi) \
3853 $(call gb_UnoApi_get_target,udkapi) \
3854)
3855endef
3856
Michael Stahl187194b2014-02-11 19:17:42 +01003857ifeq ($(SYSTEM_ICU),)
David Tardonedf67302012-12-30 12:27:04 +01003858
3859define gb_Executable__register_gendict
3860$(call gb_Executable_add_runtime_dependencies,gendict,\
3861 $(call gb_Package_get_target_for_build,icu) \
3862)
3863endef
3864
3865endif
3866
David Tardonceb0d062012-12-30 13:11:43 +01003867define gb_Executable__register_idlc
3868$(call gb_Executable_add_runtime_dependencies,idlc,\
David Tardonce038cf2013-10-20 20:43:46 +02003869 $(call gb_ExternalExecutable_get_dependencies,ucpp) \
David Tardonceb0d062012-12-30 13:11:43 +01003870)
3871endef
3872
David Tardonedf67302012-12-30 12:27:04 +01003873define gb_Executable__register_localize
3874$(call gb_Executable_add_runtime_dependencies,localize,\
3875 $(foreach exec,cfgex helpex propex transex3 treex uiex ulfex xrmex,\
3876 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3877 ) \
3878)
3879endef
3880
Michael Stahl4c51feb2013-09-21 01:39:41 +02003881# FIXME ure/services.rdb needs cleanup
Stephan Bergmannab149c72013-04-24 10:42:40 +02003882# The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
David Tardonedf67302012-12-30 12:27:04 +01003883# due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3884# FIXME: the library target should be for build too
3885define gb_Executable__register_saxparser
3886$(call gb_Executable_add_runtime_dependencies,saxparser,\
3887 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
David Tardon92f66c52014-10-13 16:59:33 +02003888 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003889 $(call gb_Rdb_get_target_for_build,saxparser) \
3890 $(call gb_Rdb_get_target_for_build,ure/services) \
Stephan Bergmann982f1992014-12-01 15:10:19 +01003891 $(INSTROOT)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003892 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003893)
3894endef
3895
Stephan Bergmannab149c72013-04-24 10:42:40 +02003896# NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
David Tardonedf67302012-12-30 12:27:04 +01003897# required due to the settings for URE_SERVICES and URE_TYPES in
3898# cppuhelper/source/unorc
3899# FIXME: the library target should be for build too
3900define gb_Executable__register_uno
3901$(call gb_Executable_add_runtime_dependencies,uno,\
3902 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
Matúš Kukanb469cd22013-05-24 12:24:27 +02003903 $(call gb_Rdb_get_target_for_build,ure/services) \
Stephan Bergmann982f1992014-12-01 15:10:19 +01003904 $(INSTROOT)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
Tor Lillqviste4c6fe52013-04-24 15:11:39 +03003905 $(call gb_UnoApi_get_target,udkapi) \
David Tardonedf67302012-12-30 12:27:04 +01003906)
3907endef
3908
3909
3910# External executables
3911
Michael Stahl379f9782014-02-11 16:49:19 +01003912ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003913
3914gb_ExternalExecutable__register_xmllint :=
3915
3916else # ! SYSTEM_LIBXML_FOR_BUILD
3917
3918define gb_ExternalExecutable__register_xmllint
David Tardondbac8f52014-04-18 18:34:40 +02003919$(call gb_ExternalExecutable_set_internal,xmllint,$(WORKDIR_FOR_BUILD)/UnpackedTarball/xml2/$(if $(filter MSC,$(COM)),win32/bin.msvc)/xmllint$(gb_Executable_EXT_for_build),xml2)
David Tardon5b660242014-07-28 10:38:49 +02003920$(call gb_ExternalExecutable_add_dependencies,xmllint,\
3921 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
3922 $(call gb_Package_get_target,xml2) \
3923)
David Tardonc2eca352012-12-02 10:51:37 +01003924
3925endef
3926
3927endif # SYSTEM_LIBXML_FOR_BUILD
3928
Michael Stahle3abec32014-02-11 15:57:18 +01003929ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
David Tardonc2eca352012-12-02 10:51:37 +01003930
3931gb_ExternalExecutable__register_xsltproc :=
3932
3933else # ! SYSTEM_LIBXSLT_FOR_BUILD
3934
3935define gb_ExternalExecutable__register_xsltproc
David Tardondbac8f52014-04-18 18:34:40 +02003936$(call gb_ExternalExecutable_set_internal,xsltproc,$(WORKDIR_FOR_BUILD)/UnpackedTarball/xslt/$(if $(filter MSC,$(COM)),win32/bin.msvc,xsltproc)/xsltproc$(gb_Executable_EXT_for_build),xslt)
David Tardon5b660242014-07-28 10:38:49 +02003937$(call gb_ExternalExecutable_add_dependencies,xsltproc,\
3938 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
Michael Stahl56b2bb52015-07-31 11:08:04 +02003939 $(call gb_Package_get_target,xml2) \
David Tardon5b660242014-07-28 10:38:49 +02003940 $(call gb_Package_get_target,xslt) \
3941)
David Tardonc2eca352012-12-02 10:51:37 +01003942
3943endef
3944
3945endif # SYSTEM_LIBXSLT_FOR_BUILD
3946
David Tardonce038cf2013-10-20 20:43:46 +02003947ifneq (,$(SYSTEM_UCPP))
3948
3949gb_ExternalExecutable__register_ucpp :=
3950
3951else # ! SYSTEM_UCPP
3952
3953define gb_ExternalExecutable__register_ucpp
David Tardon489d2ea2013-10-21 08:17:32 +02003954$(call gb_ExternalExecutable_set_internal,ucpp,$(INSTDIR_FOR_BUILD)/$(SDKDIRNAME)/bin/ucpp$(gb_Executable_EXT_for_build))
David Tardonce038cf2013-10-20 20:43:46 +02003955
3956endef
3957
3958endif # SYSTEM_UCPP
3959
Matúš Kukane4826722013-03-05 22:03:38 +01003960ifeq (,$(PYTHON_FOR_BUILD))
David Tardonc2eca352012-12-02 10:51:37 +01003961
3962define gb_ExternalExecutable__register_python
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003963ifeq ($(OS),MACOSX)
3964
3965# use set_external, to avoid having the command added as prerequisite for the
3966# targets that make use of it. (Otherwise make will choke as it doesn't have a
3967# matching rule to build that specific file)
3968$(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))
3969# the Zip ensures that internal python has been built (cannot use the Package
3970# target, as that is not used on Mac)
David Tardon45a5c262013-05-16 13:36:24 +02003971$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003972
3973else
3974
Tor Lillqvist4c63fd102013-09-22 19:59:37 +03003975$(call gb_ExternalExecutable_set_internal,python,$(INSTROOT)/$(LIBO_BIN_FOLDER)/$(if $(filter WNT,$(OS)),python-core-$(PYTHON_VERSION)/bin/python.exe,python.bin))
Stephan Bergmann233610f2014-03-19 11:24:13 +01003976$(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
Christian Lohmaier04032bd2013-03-19 17:27:01 +01003977$(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
3978
3979endif
David Tardonc2eca352012-12-02 10:51:37 +01003980
3981endef
3982
Matúš Kukane4826722013-03-05 22:03:38 +01003983else
3984
3985define gb_ExternalExecutable__register_python
3986$(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
3987
3988endef
3989
3990endif # PYTHON_FOR_BUILD
David Tardonc2eca352012-12-02 10:51:37 +01003991
David Tardon63069262012-12-29 12:56:24 +01003992ifneq ($(SYSTEM_GENBRK),)
3993
3994define gb_ExternalExecutable__register_genbrk
3995$(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
3996
3997endef
3998
3999else # ! SYSTEM_GENBRK
4000
4001define gb_ExternalExecutable__register_genbrk
David Tardondbac8f52014-04-18 18:34:40 +02004002$(call gb_ExternalExecutable_set_internal,genbrk,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genbrk$(gb_Executable_EXT_for_build),icu)
Stephan Bergmann58d80a62014-03-19 10:39:40 +01004003$(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004004$(call gb_ExternalExecutable_add_dependencies,genbrk,\
4005 $(call gb_Package_get_target_for_build,icu) \
4006)
4007
4008endef
4009
4010endif
4011
4012ifneq ($(SYSTEM_GENCCODE),)
4013
4014define gb_ExternalExecutable__register_genccode
4015$(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
4016
4017endef
4018
4019else # ! SYSTEM_GENCCODE
4020
4021define gb_ExternalExecutable__register_genccode
David Tardondbac8f52014-04-18 18:34:40 +02004022$(call gb_ExternalExecutable_set_internal,genccode,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genccode$(gb_Executable_EXT_for_build),icu)
Stephan Bergmann58d80a62014-03-19 10:39:40 +01004023$(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004024$(call gb_ExternalExecutable_add_dependencies,genccode,\
4025 $(call gb_Package_get_target_for_build,icu) \
4026)
4027
4028endef
4029
4030endif
4031
4032ifneq ($(SYSTEM_GENCMN),)
4033
4034define gb_ExternalExecutable__register_gencmn
4035$(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
4036
4037endef
4038
4039else # ! SYSTEM_GENCMN
4040
4041define gb_ExternalExecutable__register_gencmn
David Tardondbac8f52014-04-18 18:34:40 +02004042$(call gb_ExternalExecutable_set_internal,gencmn,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/gencmn$(gb_Executable_EXT_for_build),icu)
Stephan Bergmann58d80a62014-03-19 10:39:40 +01004043$(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
David Tardon63069262012-12-29 12:56:24 +01004044$(call gb_ExternalExecutable_add_dependencies,gencmn,\
4045 $(call gb_Package_get_target_for_build,icu) \
4046)
4047
4048endef
4049
4050endif
4051
Jacobo Aragunde Péreze6fe5082015-02-02 19:49:37 +00004052ifeq (OWNCLOUD_ANDROID_LIB,$(filter OWNCLOUD_ANDROID_LIB,$(BUILD_TYPE)))
4053
4054$(eval $(call gb_Helper_register_jars,OXT,\
4055 owncloud-android-library \
4056))
4057
4058define gb_Jar__use_owncloud_android_lib
4059$(call gb_Jar_use_external_project,$(1),owncloud-android-lib)
4060$(call gb_Jar_use_external_jar,$(1),$(call gb_UnpackedTarball_get_dir,owncloud-android-lib)/bin/owncloud-android-library.jar)
4061endef
4062define gb_ExternalProject__use_owncloud_android_lib
4063$(call gb_ExternalProject_use_external_project,$(1),owncloud_android_lib)
4064endef
4065
4066endif
4067
Nathan Yee7eb863d2015-07-03 11:58:27 +02004068ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4069ifneq ($(SYSTEM_BZIP2),)
4070
4071define gb_LinkTarget__use_bzip2
4072$(call gb_LinkTarget_set_include,$(1),\
4073 $(BZIP2_CFLAGS) \
4074 $$(INCLUDE) \
4075)
4076$(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4077
4078endef
Jan Holesovsky025952f2015-07-03 13:46:38 +02004079
Nathan Yee7eb863d2015-07-03 11:58:27 +02004080gb_ExternalProject__use_bzip2 :=
4081
4082else # !SYSTEM_BZIP2
4083
4084define gb_LinkTarget__use_bzip2
Nathan Yee7eb863d2015-07-03 11:58:27 +02004085$(call gb_LinkTarget_set_include,$(1),\
4086 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4087 $$(INCLUDE) \
4088)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004089
4090ifeq ($(COM),MSC)
4091$(call gb_LinkTarget_add_libs,$(1),\
4092 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4093)
4094else
Jan Holesovsky025952f2015-07-03 13:46:38 +02004095$(call gb_LinkTarget_add_libs,$(1),\
4096 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4097)
Nathan Yeeb59955b2015-07-14 14:36:37 -07004098endif
4099
Jan Holesovskyec477172015-07-07 09:24:45 +02004100$(call gb_LinkTarget_use_external_project,$(1),bzip2)
Nathan Yee7eb863d2015-07-03 11:58:27 +02004101endef
4102
4103define gb_ExternalProject__use_bzip2
4104$(call gb_ExternalProject_use_external_project,$(1),bzip2)
4105endef
4106
4107endif
4108endif
4109
Michael Stahlc74af0d2011-04-01 20:49:35 +00004110# vim: set noet sw=4 ts=4: