check impress/calc IFrame "FrameURL" target
[LibreOffice.git] / RepositoryExternal.mk
blob414c4bba741d0753c91424cb51da70db5c652f39
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
3 # This file is part of the LibreOffice project.
5 # 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/.
9 # This file incorporates work covered by the following license notice:
11 # 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 .
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.
24 # for every external, a function gb_LinkTarget__use_FOO is defined,
25 # once for the system case, once for the internal case.
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.
31 ifeq ($(CPUNAME),X86_64)
32 wnt_arch_subdir_optional=x64/
33 wnt_arch_subdir_mandatory=x64
34 else ifeq ($(CPUNAME),INTEL)
35 wnt_arch_subdir_mandatory=Win32
36 endif
38 # External headers
40 ifneq ($(SYSTEM_ODBC_HEADERS),)
42 define gb_LinkTarget__use_odbc_headers
43 $(call gb_LinkTarget_add_defs,$(1),\
44 -DSYSTEM_ODBC_HEADERS \
47 endef
49 else # !SYSTEM_ODBC_HEADERS
51 define gb_LinkTarget__use_odbc_headers
52 $(call gb_LinkTarget_set_include,$(1),\
53 -I$(SRCDIR)/external/unixODBC/inc \
54 $$(INCLUDE) \
57 endef
59 endif # SYSTEM_ODBC_HEADERS
61 ifneq ($(SYSTEM_MDDS),)
63 gb_ExternalProject__use_mdds_headers :=
65 define gb_LinkTarget__use_mdds_headers
66 $(call gb_LinkTarget_set_include,$(1),\
67 $(MDDS_CFLAGS) \
68 $$(INCLUDE) \
71 endef
73 else # !SYSTEM_MDDS
75 define gb_ExternalProject__use_mdds_headers
76 $(call gb_ExternalProject_use_unpacked,$(1),mdds)
78 endef
80 define gb_LinkTarget__use_mdds_headers
81 $(call gb_LinkTarget_use_unpacked,$(1),mdds)
82 $(call gb_LinkTarget_set_include,$(1),\
83 $(MDDS_CFLAGS) \
84 $$(INCLUDE) \
87 endef
89 endif # SYSTEM_MDDS
91 ifneq ($(SYSTEM_GLM),)
93 define gb_LinkTarget__use_glm_headers
94 $(call gb_LinkTarget_add_defs,$(1),\
95 -DGLM_FORCE_CTOR_INIT \
98 endef
100 gb_ExternalProject__use_glm_headers :=
102 else
104 define gb_LinkTarget__use_glm_headers
105 $(call gb_LinkTarget_add_defs,$(1),\
106 -DGLM_FORCE_CTOR_INIT \
108 $(call gb_LinkTarget_use_unpacked,$(1),glm)
109 $(call gb_LinkTarget_set_include,$(1),\
110 $(GLM_CFLAGS) \
111 $$(INCLUDE) \
114 endef
116 define gb_ExternalProject__use_glm_headers
117 $(call gb_ExternalProject_use_unpacked,$(1),glm)
119 endef
121 endif
123 ifneq ($(ENABLE_SKIA),)
124 define gb_LinkTarget__use_skia
125 $(call gb_LinkTarget_set_include,$(1),\
126 -I$(call gb_UnpackedTarball_get_dir,skia)/include/core \
127 -I$(call gb_UnpackedTarball_get_dir,skia)/include/effects \
128 -I$(call gb_UnpackedTarball_get_dir,skia)/include/gpu \
129 -I$(call gb_UnpackedTarball_get_dir,skia)/include/config \
130 -I$(call gb_UnpackedTarball_get_dir,skia)/include/ports \
131 -I$(call gb_UnpackedTarball_get_dir,skia)/include/third_party/vulkan \
132 -I$(call gb_UnpackedTarball_get_dir,skia)/tools/gpu \
133 -I$(call gb_UnpackedTarball_get_dir,skia) \
134 -I$(SRCDIR)/external/skia/inc/ \
135 $$(INCLUDE) \
137 $(call gb_LinkTarget_use_libraries,$(1),skia)
138 $(call gb_LinkTarget_add_defs,$(1),\
139 -DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \
140 -DSKIA_DLL \
142 endef
143 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
144 skia \
146 endif
148 ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
150 define gb_LinkTarget__use_sane_headers
151 $(call gb_LinkTarget_set_include,$(1),\
152 $(if $(filter WNT,$(OS)), \
153 -I$(call gb_UnpackedTarball_get_dir,twain_dsm/pub/include), \
154 -I$(SRCDIR)/external/sane/inc) \
155 $$(INCLUDE) \
158 ifeq ($(OS),WNT)
159 $(call gb_LinkTarget_use_unpacked,$(1),twain_dsm)
160 endif
162 endef
164 else
166 gb_LinkTarget__use_sane_headers :=
168 endif
170 ifneq ($(SYSTEM_BLUEZ),)
172 gb_LinkTarget__use_bluez_bluetooth_headers :=
174 else # !SYSTEM_BLUEZ
176 define gb_LinkTarget__use_bluez_bluetooth_headers
177 $(call gb_LinkTarget_set_include,$(1),\
178 -I$(SRCDIR)/external/bluez_bluetooth/inc \
179 $$(INCLUDE) \
182 endef
184 endif # SYSTEM_BLUEZ
186 # External libraries
188 ifneq ($(SYSTEM_CPPUNIT),)
190 define gb_LinkTarget__use_cppunit
191 $(call gb_LinkTarget_set_include,$(1),\
192 $$(INCLUDE) \
193 $(CPPUNIT_CFLAGS) \
196 $(call gb_LinkTarget_add_libs,$(1),\
197 $(CPPUNIT_LIBS) \
200 endef
202 else # !SYSTEM_CPPUNIT
204 define gb_LinkTarget__use_cppunit
205 $(call gb_LinkTarget_use_external_project,$(1),cppunit, full)
207 $(call gb_LinkTarget_set_include,$(1),\
208 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
209 $$(INCLUDE) \
212 ifeq ($(COM),MSC)
213 $(call gb_LinkTarget_add_libs,$(1),\
214 $(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
216 else
217 $(call gb_LinkTarget_add_libs,$(1),\
218 -L$(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/.libs -lcppunit \
220 endif
222 endef
224 endif # SYSTEM_CPPUNIT
226 ifneq ($(SYSTEM_EPOXY),)
228 define gb_LinkTarget__use_epoxy
229 $(call gb_LinkTarget_set_include,$(1),\
230 $$(INCLUDE) \
231 $(EPOXY_CFLAGS) \
233 $(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS))
235 endef
237 gb_ExternalProject__use_epoxy :=
239 else # !SYSTEM_EPOXY
241 define gb_LinkTarget__use_epoxy
242 $(call gb_LinkTarget_set_include,$(1),\
243 -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \
244 $$(INCLUDE) \
247 $(call gb_LinkTarget_use_libraries,$(1),\
248 epoxy \
251 endef
253 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
254 epoxy \
257 define gb_ExternalProject__use_epoxy
258 $(call gb_ExternalProject_use_external_project,$(1),epoxy)
260 endef
262 endif # SYSTEM_EPOXY
264 define gb_LinkTarget__use_iconv
265 ifeq ($(COM),MSC)
266 $(call gb_LinkTarget_add_libs,$(1),libiconv.lib)
267 else
268 $(call gb_LinkTarget_add_libs,$(1),-liconv)
269 endif
270 endef
272 ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
274 define gb_LinkTarget__use_mariadb-connector-c
275 $(call gb_LinkTarget_set_include,$(1),\
276 $$(INCLUDE) \
277 $(MARIADB_CFLAGS) \
279 $(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
281 endef
282 gb_ExternalProject__use_mariadb-connector-c :=
284 else # !SYSTEM_MARIADB_CONNECTOR_C
286 define gb_LinkTarget__use_mariadb-connector-c
287 $(call gb_LinkTarget_set_include,$(1),\
288 $$(INCLUDE) \
289 $(MARIADB_CFLAGS) \
291 $(call gb_LinkTarget_use_static_libraries,$(1),\
292 mariadb-connector-c \
294 ifeq ($(OS),MACOSX)
295 $(call gb_LinkTarget_add_libs,$(1),\
296 -liconv \
298 endif
299 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
300 ws2_32 \
301 advapi32 \
302 kernel32 \
303 shlwapi \
304 crypt32 \
307 endef
308 define gb_ExternalProject__use_mariadb-connector-c
309 $(call gb_ExternalProject_use_static_libraries,$(1),mariadb-connector-c)
311 endef
313 endif # SYSTEM_MARIADB_CONNECTOR_C
316 ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
318 define gb_LinkTarget__use_mysql
320 $(call gb_LinkTarget_add_defs,$(1),\
321 -DSYSTEM_MARIADB \
324 $(call gb_LinkTarget_add_libs,$(1),\
325 $(MARIADB_LIBS) \
328 $(call gb_LinkTarget_set_include,$(1),\
329 $(MARIADB_CFLAGS) \
330 $$(INCLUDE) \
332 endef
334 else
336 define gb_LinkTarget__use_mysql
338 $(call gb_LinkTarget_set_include,$(1),\
339 $$(INCLUDE) \
342 endef
344 endif
346 ifneq ($(SYSTEM_ZLIB),)
348 define gb_LinkTarget__use_zlib
349 $(call gb_LinkTarget_add_defs,$(1),\
350 -DSYSTEM_ZLIB \
351 -DZLIB_CONST \
353 $(call gb_LinkTarget_add_libs,$(1),-lz)
355 endef
357 # nothing on system
358 define gb_LinkTarget__use_zlib_x64
360 endef
362 gb_ExternalProject__use_zlib :=
364 else # !SYSTEM_ZLIB
366 define gb_LinkTarget__use_zlib_multiarch
367 $(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
369 $(call gb_LinkTarget_add_defs,$(1), \
370 -DZLIB_CONST \
373 $(call gb_LinkTarget_set_include,$(1),\
374 $(ZLIB_CFLAGS) \
375 $$(INCLUDE) \
378 $(call gb_LinkTarget_use_static_libraries,$(1),\
379 $(2) \
382 endef
384 define gb_LinkTarget__use_zlib
385 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
387 endef
389 define gb_LinkTarget__use_zlib_x64
390 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
392 endef
394 define gb_ExternalProject__use_zlib
395 $(call gb_ExternalProject_use_static_libraries,$(1),zlib)
397 endef
399 endif # SYSTEM_ZLIB
402 ifneq ($(SYSTEM_LIBJPEG),)
404 define gb_LinkTarget__use_libjpeg
405 $(call gb_LinkTarget_set_include,$(1),\
406 $$(INCLUDE) \
407 $(LIBJPEG_CFLAGS) \
409 $(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
410 $(call gb_LinkTarget_set_ldflags,$(1),\
411 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
414 endef
416 gb_ExternalProject__use_libjpeg :=
418 else
420 define gb_LinkTarget__use_libjpeg
421 $(call gb_LinkTarget_use_external_project,$(1),libjpeg-turbo,full)
422 $(call gb_LinkTarget_set_include,$(1),\
423 -I$(call gb_UnpackedTarball_get_dir,libjpeg-turbo) \
424 $$(INCLUDE) \
426 $(call gb_LinkTarget_use_static_libraries,$(1),libjpeg-turbo)
428 endef
430 define gb_ExternalProject__use_libjpeg
431 $(call gb_ExternalProject_use_external_project,$(1),libjpeg-turbo)
433 endef
435 endif # SYSTEM_LIBJPEG
437 ifneq ($(SYSTEM_MYTHES),)
439 define gb_LinkTarget__use_mythes
440 $(call gb_LinkTarget_set_include,$(1),\
441 $$(INCLUDE) \
442 $(MYTHES_CFLAGS) \
444 $(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
446 endef
448 else # !SYSTEM_MYTHES
450 define gb_LinkTarget__use_mythes
451 $(call gb_LinkTarget_set_include,$(1),\
452 -I$(call gb_UnpackedTarball_get_dir,mythes) \
453 $$(INCLUDE) \
456 ifeq ($(COM),MSC)
457 $(call gb_LinkTarget_use_static_libraries,$(1),\
458 mythes \
460 else
461 $(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
462 $(call gb_LinkTarget_use_external_project,$(1),mythes)
463 endif
465 endef
467 endif # SYSTEM_MYTHES
470 ifneq ($(SYSTEM_EXPAT),)
472 define gb_LinkTarget__use_expat_impl
473 $(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
475 $(call gb_LinkTarget_add_defs,$(1),\
476 -DSYSTEM_EXPAT \
479 $(call gb_LinkTarget_add_libs,$(1),-lexpat)
481 endef
483 gb_ExternalProject__use_expat :=
485 else # !SYSTEM_EXPAT
487 define gb_LinkTarget__use_expat_impl
488 $(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
490 $(call gb_LinkTarget_set_include,$(1),\
491 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
492 $$(INCLUDE) \
495 $(call gb_LinkTarget_use_static_libraries,$(1),\
496 $(2) \
499 endef
501 define gb_ExternalProject__use_expat
502 $(call gb_ExternalProject_use_static_libraries,$(1),expat)
504 endef
506 endif # SYSTEM_EXPAT
508 define gb_LinkTarget__use_expat
509 $(call gb_LinkTarget__use_expat_impl,$(1),expat)
511 endef
513 define gb_LinkTarget__use_expat_x64
514 $(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
516 endef
518 ifneq ($(SYSTEM_HYPH),)
520 define gb_LinkTarget__use_hyphen
521 $(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
523 endef
525 else # !SYSTEM_HYPH
527 define gb_LinkTarget__use_hyphen
528 $(call gb_LinkTarget_use_unpacked,$(1),hyphen)
529 $(call gb_LinkTarget_set_include,$(1),\
530 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
531 $$(INCLUDE) \
534 ifeq ($(COM),MSC)
535 $(call gb_LinkTarget_use_static_libraries,$(1),\
536 hyphen \
538 else
539 $(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
540 $(call gb_LinkTarget_use_external_project,$(1),hyphen)
541 endif
543 endef
545 endif # SYSTEM_HYPH
547 ifneq ($(SYSTEM_HUNSPELL),)
549 define gb_LinkTarget__use_hunspell
550 $(call gb_LinkTarget_set_include,$(1),\
551 $$(INCLUDE) \
552 $(HUNSPELL_CFLAGS) \
554 $(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
556 endef
558 gb_ExternalProject__use_hunspell :=
560 else # !SYSTEM_HUNSPELL
562 define gb_LinkTarget__use_hunspell
563 $(call gb_LinkTarget_add_defs,$(1),\
564 -DHUNSPELL_STATIC \
566 $(call gb_LinkTarget_use_unpacked,$(1),hunspell)
567 $(call gb_LinkTarget_set_include,$(1),\
568 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
569 $$(INCLUDE) \
572 ifeq ($(COM),MSC)
573 $(call gb_LinkTarget_use_static_libraries,$(1),\
574 hunspell \
576 else
577 $(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
578 $(call gb_LinkTarget_use_external_project,$(1),hunspell)
579 endif
581 endef
583 define gb_ExternalProject__use_hunspell
584 $(call gb_ExternalProject_use_external_project,$(1),hunspell)
586 endef
588 endif # SYSTEM_HUNSPELL
591 ifneq ($(SYSTEM_BOOST),)
593 define gb_LinkTarget__use_boost_lib
594 $(call gb_LinkTarget_set_include,$(1),\
595 $$(INCLUDE) \
596 $(BOOST_CPPFLAGS) \
599 $(call gb_LinkTarget_add_ldflags,$(1),\
600 $(BOOST_LDFLAGS) \
603 $(call gb_LinkTarget_add_libs,$(1),$(2))
605 endef
607 define gb_LinkTarget__use_boost_locale
608 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_LOCALE_LIB))
610 endef
612 define gb_LinkTarget__use_boost_date_time
613 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_DATE_TIME_LIB))
615 endef
617 define gb_LinkTarget__use_boost_filesystem
618 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
620 endef
622 gb_ExternalProject__use_boost_filesystem :=
624 define gb_LinkTarget__use_boost_iostreams
625 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_IOSTREAMS_LIB))
627 endef
629 gb_ExternalProject__use_boost_iostreams :=
631 define gb_LinkTarget__use_boost_system
632 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_SYSTEM_LIB))
634 endef
636 gb_ExternalProject__use_boost_system :=
638 define gb_LinkTarget__use_boost_headers
639 $(call gb_LinkTarget_set_include,$(1),\
640 $$(INCLUDE) \
641 $(BOOST_CPPFLAGS) \
644 endef
646 gb_ExternalProject__use_boost_headers:=
648 else # !SYSTEM_BOOST
650 define gb_LinkTarget__use_boost_lib
651 $(call gb_LinkTarget_add_defs,$(1),\
652 -DBOOST_ALL_NO_LIB \
655 $(call gb_LinkTarget_use_static_libraries,$(1),$(2))
657 endef
659 define gb_LinkTarget__use_boost_locale
660 $(call gb_LinkTarget__use_boost_lib,$(1),boost_locale)
661 $(call gb_LinkTarget_add_libs,$(1),\
662 $(if $(filter $(OS),MACOSX),-liconv) \
665 endef
667 define gb_LinkTarget__use_boost_date_time
668 $(call gb_LinkTarget__use_boost_lib,$(1),boost_date_time)
670 endef
672 define gb_LinkTarget__use_boost_filesystem
673 $(call gb_LinkTarget__use_boost_lib,$(1),boost_filesystem)
675 endef
677 define gb_ExternalProject__use_boost_filesystem
678 $(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
679 endef
681 define gb_LinkTarget__use_boost_iostreams
682 $(call gb_LinkTarget__use_boost_lib,$(1),boost_iostreams)
684 endef
686 define gb_ExternalProject__use_boost_iostreams
687 $(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
688 endef
690 define gb_LinkTarget__use_boost_system
691 $(call gb_LinkTarget__use_boost_lib,$(1),boost_system)
693 endef
695 define gb_ExternalProject__use_boost_system
696 $(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
697 endef
699 define gb_LinkTarget__use_boost_headers
700 $(call gb_LinkTarget_use_unpacked,$(1),boost)
701 $(call gb_LinkTarget_set_include,$(1),\
702 $(BOOST_CPPFLAGS) \
703 $$(INCLUDE) \
706 endef
708 define gb_ExternalProject__use_boost_headers
709 $(call gb_ExternalProject_use_unpacked,$(1),boost)
711 endef
713 endif # SYSTEM_BOOST
716 ifneq ($(SYSTEM_LIBCMIS),)
718 define gb_LinkTarget__use_libcmis
719 $(call gb_LinkTarget_set_include,$(1),\
720 $$(INCLUDE) \
721 $(LIBCMIS_CFLAGS) \
723 $(call gb_LinkTarget_add_libs,$(1),$(LIBCMIS_LIBS))
725 endef
727 else # !SYSTEM_LIBCMIS
729 define gb_LinkTarget__use_libcmis
730 $(call gb_LinkTarget_set_include,$(1),\
731 -I$(call gb_UnpackedTarball_get_dir,libcmis)/inc \
732 $$(INCLUDE) \
734 $(call gb_LinkTarget_use_static_libraries,$(1),\
735 libcmis \
738 endef
740 endif # SYSTEM_LIBCMIS
742 ifeq ($(ENABLE_JAVA),TRUE)
744 define gb_LinkTarget__use_jawt
745 $(call gb_LinkTarget_add_libs,$(1),\
746 $(JAWTLIB) \
749 endef
751 else # !ENABLE_JAVA
753 gb_LinkTarget__use_jawt :=
755 endif # ENABLE_JAVA
757 ifneq ($(SYSTEM_LIBATOMIC_OPS),)
759 define gb_LinkTarget__use_libatomic_ops
760 $(call gb_LinkTarget_set_include,$(1),\
761 $$(INCLUDE) \
762 $(LIBATOMIC_OPS_CFLAGS) \
764 $(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
766 endef
767 gb_ExternalProject__use_libatomic_ops :=
769 else # !SYSTEM_LIBATOMIC_OPS
771 define gb_LinkTarget__use_libatomic_ops
772 $(call gb_LinkTarget_set_include,$(1),\
773 $(LIBATOMIC_OPS_CFLAGS) \
774 $$(INCLUDE) \
775 $(LIBATOMIC_OPS_CFLAGS) \
777 $(call gb_LinkTarget_use_external_project,$(1),\
778 libatomic_ops \
781 $(call gb_LinkTarget_add_libs,$(1),\
782 -L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src/lib -latomic_ops \
785 endef
787 define gb_ExternalProject__use_libatomic_ops
788 $(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
790 endef
792 endif # SYSTEM_LIBATOMIC_OPS
795 ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
797 define gb_LinkTarget__use_libexttextcat
798 $(call gb_LinkTarget_set_include,$(1),\
799 $$(INCLUDE) \
800 $(LIBEXTTEXTCAT_CFLAGS) \
802 $(call gb_LinkTarget_add_defs,$(1),\
803 -DSYSTEM_LIBEXTTEXTCAT \
805 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
807 endef
809 else # !SYSTEM_LIBEXTTEXTCAT
811 define gb_LinkTarget__use_libexttextcat
812 $(call gb_LinkTarget_set_include,$(1),\
813 -I$(call gb_UnpackedTarball_get_dir,libexttextcat/src) \
814 $$(INCLUDE) \
817 ifeq ($(COM),MSC)
818 $(call gb_LinkTarget_use_static_libraries,$(1),\
819 libexttextcat \
821 else
822 $(call gb_LinkTarget_add_libs,$(1),\
823 $(call gb_UnpackedTarball_get_dir,libexttextcat)/src/.libs/libexttextcat-2.0.a\
825 $(call gb_LinkTarget_use_external_project,$(1),libexttextcat)
826 endif
829 endef
831 endif # SYSTEM_LIBEXTTEXTCAT
834 ifneq ($(SYSTEM_LIBNUMBERTEXT),)
836 define gb_LinkTarget__use_libnumbertext
837 $(call gb_LinkTarget_set_include,$(1),\
838 $$(INCLUDE) \
839 $(LIBNUMBERTEXT_CFLAGS) \
841 $(call gb_LinkTarget_add_defs,$(1),\
842 -DSYSTEM_LIBNUMBERTEXT \
844 $(call gb_LinkTarget_add_libs,$(1),$(LIBNUMBERTEXT_LIBS))
846 endef
848 else # !SYSTEM_LIBNUMBERTEXT
850 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
851 libnumbertext_numbertext \
854 define gb_LinkTarget__use_libnumbertext
855 $(call gb_LinkTarget_use_package,$(1),libnumbertext_numbertext)
856 $(call gb_LinkTarget_set_include,$(1),\
857 -I$(call gb_UnpackedTarball_get_dir,libnumbertext/src) \
858 $$(INCLUDE) \
861 ifeq ($(COM),MSC)
862 $(call gb_LinkTarget_use_static_libraries,$(1),\
863 libnumbertext \
865 else
867 $(call gb_LinkTarget_add_libs,$(1),\
868 $(call gb_UnpackedTarball_get_dir,libnumbertext)/src/.libs/libnumbertext-1.0.a\
870 $(call gb_LinkTarget_use_external_project,$(1),libnumbertext,full)
872 endif
874 endef
876 endif # SYSTEM_LIBNUMBERTEXT
879 ifneq ($(SYSTEM_LIBXML),)
881 define gb_LinkTarget__use_libxml2
882 $(call gb_LinkTarget_add_defs,$(1),\
883 -DSYSTEM_LIBXML \
885 $(call gb_LinkTarget_set_include,$(1),\
886 $$(INCLUDE) \
887 $(LIBXML_CFLAGS) \
889 $(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
891 endef
892 gb_ExternalProject__use_libxml2:=
894 else # !SYSTEM_LIBXML
896 $(eval $(call gb_Helper_register_packages_for_install,ure,\
897 libxml2 \
900 define gb_LinkTarget__use_libxml2
901 $(call gb_LinkTarget_use_package,$(1),libxml2)
902 $(call gb_LinkTarget_set_include,$(1),\
903 $$(INCLUDE) \
904 $(LIBXML_CFLAGS) \
907 $(call gb_LinkTarget_add_libs,$(1),\
908 $(LIBXML_LIBS) \
911 ifeq ($(COM),MSC)
912 $(call gb_LinkTarget_use_external,$(1),icu_headers)
913 endif
915 endef
916 define gb_ExternalProject__use_libxml2
917 $(call gb_ExternalProject_use_package,$(1),libxml2)
919 ifeq ($(COM),MSC)
920 $(call gb_ExternalProject_use_packages,$(1),icu icu_ure)
921 endif
923 endef
925 endif # SYSTEM_LIBXML
928 ifneq ($(SYSTEM_LIBXSLT),)
930 define gb_LinkTarget__use_libxslt
931 $(call gb_LinkTarget_set_include,$(1),\
932 $$(INCLUDE) \
933 $(LIBXSLT_CFLAGS) \
935 $(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
937 endef
939 define gb_LinkTarget__use_libexslt
940 $(call gb_LinkTarget_set_include,$(1),\
941 $$(INCLUDE) \
942 $(LIBEXSLT_CFLAGS) \
945 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
947 endef
949 else # !SYSTEM_LIBXSLT
951 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
952 libxslt \
955 define gb_LinkTarget__use_libxslt
956 $(call gb_LinkTarget_use_package,$(1),libxslt)
957 $(call gb_LinkTarget_set_include,$(1),\
958 $$(INCLUDE) \
959 -I$(call gb_UnpackedTarball_get_dir,libxslt) \
962 ifeq ($(COM),MSC)
963 $(call gb_LinkTarget_add_libs,$(1),\
964 $(call gb_UnpackedTarball_get_dir,libxslt)/win32/bin.msvc/libxslt.lib \
966 else
967 $(call gb_LinkTarget_add_libs,$(1),\
968 -L$(call gb_UnpackedTarball_get_dir,libxslt)/libxslt/.libs -lxslt \
970 endif
972 endef
974 define gb_LinkTarget__use_libexslt
975 $(call gb_LinkTarget_use_package,$(1),libxslt)
976 $(call gb_LinkTarget_set_include,$(1),\
977 $$(INCLUDE) \
978 -I$(call gb_UnpackedTarball_get_dir,libxslt) \
981 ifeq ($(COM),MSC)
982 $(call gb_LinkTarget_add_libs,$(1),\
983 $(call gb_UnpackedTarball_get_dir,libxslt)/win32/bin.msvc/libexslt.lib \
985 else
986 $(call gb_LinkTarget_add_libs,$(1),\
987 -L$(call gb_UnpackedTarball_get_dir,libxslt)/libexslt/.libs -lexslt \
989 endif
991 endef
993 endif # SYSTEM_LIBXSLT
996 ifneq ($(SYSTEM_XMLSEC),)
998 define gb_LinkTarget__use_xmlsec
999 $(call gb_LinkTarget_add_defs,$(1),\
1000 -DSYSTEM_XMLSEC \
1002 $(call gb_LinkTarget_set_include,$(1),\
1003 $$(INCLUDE) \
1004 $(XMLSEC_CFLAGS) \
1006 $(call gb_LinkTarget_add_libs,$(1),$(XMLSEC_LIBS))
1008 endef
1010 gb_ExternalProject__use_xmlsec:=
1012 else # !SYSTEM_XMLSEC
1014 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
1015 xmlsec \
1018 define gb_LinkTarget__use_xmlsec
1020 endef
1022 endif # SYSTEM_XMLSEC
1024 ifneq ($(SYSTEM_LIBLANGTAG),)
1026 define gb_LinkTarget__use_liblangtag
1027 $(call gb_LinkTarget_set_include,$(1),\
1028 $$(INCLUDE) \
1029 $(LIBLANGTAG_CFLAGS) \
1032 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1034 endef
1036 gb_ExternalProject__use_liblangtag :=
1038 else # !SYSTEM_LIBLANGTAG
1040 $(eval $(call gb_Helper_register_packages_for_install,ure,\
1041 liblangtag_data \
1044 ifeq ($(COM),MSC)
1046 define gb_LinkTarget__use_liblangtag
1047 $(call gb_LinkTarget_set_include,$(1),\
1048 $(LIBLANGTAG_CFLAGS) \
1049 $$(INCLUDE) \
1051 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1052 $(call gb_LinkTarget_use_external_project,$(1),liblangtag)
1054 endef
1056 else
1058 $(eval $(call gb_Helper_register_packages_for_install,ure,\
1059 liblangtag \
1062 define gb_LinkTarget__use_liblangtag
1063 $(call gb_LinkTarget_set_include,$(1),\
1064 $(LIBLANGTAG_CFLAGS) \
1065 $$(INCLUDE) \
1067 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1068 $(call gb_LinkTarget_use_package,$(1),liblangtag)
1070 endef
1072 endif # MSC
1074 define gb_ExternalProject__use_liblangtag
1075 $(call gb_ExternalProject_use_external_project,$(1),liblangtag)
1077 endef
1079 endif # SYSTEM_LIBLANGTAG
1082 gb_ExternalProject__use_apr :=
1084 ifeq ($(WITH_WEBDAV),serf)
1086 define gb_LinkTarget__use_apr
1087 $(call gb_LinkTarget_set_include,$(1),\
1088 $$(INCLUDE) \
1089 $(APR_CFLAGS) \
1091 $(call gb_LinkTarget_add_libs,$(1),\
1092 $(APR_LIBS) \
1093 $(if $(filter $(OS),LINUX),-lpthread) \
1094 $(if $(filter $(OS),MACOSX),-liconv) \
1097 ifeq ($(SYSTEM_APR),)
1098 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
1099 mswsock \
1100 rpcrt4 \
1101 shell32 \
1103 $(call gb_LinkTarget_add_defs,$(1),\
1104 -DAPR_DECLARE_STATIC \
1105 -DAPU_DECLARE_STATIC \
1107 $(call gb_LinkTarget_use_external_project,$(1),apr_util,full)
1108 endif
1110 endef
1112 define gb_ExternalProject__use_apr
1113 ifeq ($(SYSTEM_APR),)
1114 $(call gb_ExternalProject_use_external_project,$(1),apr_util,full)
1115 endif
1117 endef
1119 ifneq ($(SYSTEM_SERF),)
1121 define gb_LinkTarget__use_serf
1122 $(call gb_LinkTarget_add_defs,$(1),\
1123 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(SERF_CFLAGS))) \
1126 $(call gb_LinkTarget_set_include,$(1),\
1127 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(SERF_CFLAGS)))) \
1128 $$(INCLUDE) \
1131 $(call gb_LinkTarget_add_libs,$(1),\
1132 $(SERF_LIBS) \
1135 endef
1137 else # !SYSTEM_SERF
1139 define gb_LinkTarget__use_serf
1140 $(call gb_LinkTarget_set_include,$(1),\
1141 -I$(call gb_UnpackedTarball_get_dir,serf) \
1142 $$(INCLUDE) \
1145 $(call gb_LinkTarget_use_static_libraries,$(1),\
1146 serf \
1149 endef
1151 endif # SYSTEM_SERF
1153 else ifeq ($(WITH_WEBDAV),neon)
1155 ifneq ($(SYSTEM_NEON),)
1157 define gb_LinkTarget__use_neon
1158 $(call gb_LinkTarget_add_defs,$(1),\
1159 -DNEON_VERSION=0x$(NEON_VERSION) \
1160 -DSYSTEM_NEON \
1162 $(call gb_LinkTarget_set_include,$(1),\
1163 $$(INCLUDE) \
1164 $(NEON_CFLAGS) \
1167 $(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
1169 endef
1171 else # !SYSTEM_NEON
1173 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1174 neon \
1177 define gb_LinkTarget__use_neon
1178 $(call gb_LinkTarget_use_unpacked,$(1),neon)
1179 $(call gb_LinkTarget_set_include,$(1),\
1180 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
1181 $$(INCLUDE) \
1183 $(call gb_LinkTarget_use_libraries,$(1),\
1184 neon \
1187 endef
1189 endif # SYSTEM_NEON
1191 endif # WITH_WEBDAV
1193 ifneq ($(SYSTEM_REDLAND),)
1195 define gb_LinkTarget__use_librdf
1196 $(call gb_LinkTarget_add_defs,$(1),\
1197 -DSYSTEM_REDLAND \
1199 $(call gb_LinkTarget_set_include,$(1),\
1200 $$(INCLUDE) \
1201 $(REDLAND_CFLAGS) \
1203 $(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
1205 endef
1207 gb_LinkTarget__use_redland_headers:=
1209 gb_LinkTarget__use_raptor_headers:=
1211 gb_LinkTarget__use_rasqal_headers:=
1213 else # !SYSTEM_REDLAND
1215 define gb_LinkTarget__use_redland_headers
1216 $(call gb_LinkTarget_set_include,$(1),\
1217 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
1218 $$(INCLUDE) \
1221 endef
1223 define gb_LinkTarget__use_raptor_headers
1224 $(call gb_LinkTarget_set_include,$(1),\
1225 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
1226 $$(INCLUDE) \
1229 endef
1231 define gb_LinkTarget__use_rasqal_headers
1232 $(call gb_LinkTarget_set_include,$(1),\
1233 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
1234 $$(INCLUDE) \
1237 endef
1239 ifneq ($(OS),ANDROID)
1241 ifeq ($(COM),MSC)
1242 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
1243 raptor2 \
1244 rasqal \
1245 rdf \
1247 else
1248 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1249 raptor \
1250 rasqal \
1251 redland \
1253 endif
1255 define gb_LinkTarget__use_librdf
1256 ifeq ($(COM),MSC)
1257 $(call gb_LinkTarget_use_libraries,$(1),\
1258 raptor2 \
1259 rdf \
1261 else
1262 $(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
1264 $(call gb_LinkTarget_add_libs,$(1),\
1265 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
1266 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1267 -L$(call gb_UnpackedTarball_get_dir,rasqal)/src/.libs -lrasqal \
1269 endif
1271 endef
1273 else # ANDROID
1275 define gb_LinkTarget__use_librdf
1276 $(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
1278 endef
1280 endif # ANDROID
1282 endif # SYSTEM_REDLAND
1284 ifneq ($(SYSTEM_CAIRO),)
1286 define gb_LinkTarget__use_cairo
1287 $(call gb_LinkTarget_set_include,$(1),\
1288 $$(INCLUDE) \
1289 $(CAIRO_CFLAGS) \
1291 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1292 $(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
1294 endef
1296 else # !SYSTEM_CAIRO
1298 ifneq ($(filter-out MACOSX WNT,$(OS)),)
1300 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
1301 cairo \
1302 pixman \
1305 define gb_LinkTarget__use_cairo
1306 $(call gb_LinkTarget_use_package,$(1),cairo)
1307 $(call gb_LinkTarget_use_package,$(1),pixman)
1308 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1309 $(call gb_LinkTarget_set_include,$(1),\
1310 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1311 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1312 -I$(call gb_UnpackedTarball_get_dir,pixman)/pixman \
1313 $$(INCLUDE) \
1315 $(call gb_LinkTarget_add_libs,$(1),\
1316 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1317 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
1320 endef
1322 endif # !MACOSX, !WNT
1324 endif # !SYSTEM_CAIRO
1326 ifneq ($(SYSTEM_FREETYPE),)
1328 define gb_LinkTarget__use_freetype_headers
1329 $(call gb_LinkTarget_set_include,$(1),\
1330 $$(INCLUDE) \
1331 $(FREETYPE_CFLAGS) \
1334 endef
1336 gb_ExternalProject__use_freetype :=
1338 else
1340 define gb_LinkTarget__use_freetype_headers
1341 $(call gb_LinkTarget_use_external_project,$(1),freetype)
1342 $(call gb_LinkTarget_set_include,$(1),\
1343 $(FREETYPE_CFLAGS) \
1344 $$(INCLUDE) \
1347 endef
1349 define gb_ExternalProject__use_freetype
1350 $(call gb_ExternalProject_use_external_project,$(1),freetype)
1352 endef
1354 endif # SYSTEM_FREETYPE
1356 define gb_LinkTarget__use_freetype
1357 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1358 $(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1360 endef
1362 ifneq ($(SYSTEM_FONTCONFIG),)
1364 define gb_LinkTarget__use_fontconfig
1365 $(call gb_LinkTarget_set_include,$(1),\
1366 $$(INCLUDE) \
1367 $(FONTCONFIG_CFLAGS) \
1370 $(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1372 endef
1374 gb_ExternalProject__use_fontconfig :=
1376 else
1378 define gb_LinkTarget__use_fontconfig
1379 $(call gb_LinkTarget_use_external_project,$(1),fontconfig)
1380 $(call gb_LinkTarget_set_include,$(1),\
1381 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1382 $$(INCLUDE) \
1385 $(call gb_LinkTarget_add_libs,$(1),\
1386 -L$(call gb_UnpackedTarball_get_dir,fontconfig)/src/.libs -lfontconfig \
1389 endef
1391 define gb_ExternalProject__use_fontconfig
1392 $(call gb_ExternalProject_use_external_project,$(1),fontconfig)
1394 endef
1396 endif # SYSTEM_FONTCONFIG
1398 ifneq ($(SYSTEM_GRAPHITE),)
1400 define gb_LinkTarget__use_graphite
1401 $(call gb_LinkTarget_set_include,$(1),\
1402 $$(INCLUDE) \
1403 $(GRAPHITE_CFLAGS) \
1405 $(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
1407 endef
1409 gb_ExternalProject__use_graphite:=
1411 else # !SYSTEM_GRAPHITE
1413 define gb_LinkTarget__use_graphite
1414 $(call gb_LinkTarget_use_unpacked,$(1),graphite)
1415 $(call gb_LinkTarget_set_include,$(1),\
1416 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
1417 $$(INCLUDE) \
1419 $(call gb_LinkTarget_use_static_libraries,$(1),\
1420 graphite \
1423 endef
1425 define gb_ExternalProject__use_graphite
1426 $(call gb_ExternalProject_use_static_libraries,$(1),\
1427 graphite \
1430 endef
1431 endif # SYSTEM_GRAPHITE
1433 ifneq ($(SYSTEM_ICU),)
1435 gb_LinkTarget__use_icu_headers:=
1436 gb_ExternalProject__use_icu:=
1438 define gb_LinkTarget__use_icudata
1439 $(call gb_LinkTarget_add_libs,$(1),-licudata)
1441 endef
1442 define gb_LinkTarget__use_icui18n
1443 $(call gb_LinkTarget_add_libs,$(1),-licui18n)
1445 endef
1446 define gb_LinkTarget__use_icuuc
1447 $(call gb_LinkTarget_add_libs,$(1),-licuuc)
1449 endef
1451 else # !SYSTEM_ICU
1453 $(eval $(call gb_Helper_register_packages_for_install,ure, \
1454 icu_ure \
1457 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1458 icu \
1461 ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
1462 gb_ICU_suffix:=lo
1463 else
1464 gb_ICU_suffix:=
1465 endif
1467 define gb_LinkTarget__use_icu_headers
1468 $(call gb_LinkTarget_use_unpacked,$(1),icu)
1469 $(call gb_LinkTarget_set_include,$(1),\
1470 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1471 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1472 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
1473 $$(INCLUDE) \
1476 endef
1478 define gb_ExternalProject__use_icu
1479 $(call gb_ExternalProject_use_package,$(1),icu)
1481 endef
1483 # icudata and icui18n is called icudt and icuin when built with MSVC :-/
1484 define gb_LinkTarget__use_icudata
1485 $(call gb_LinkTarget_use_package,$(1),icu_ure)
1487 ifeq ($(OS),WNT)
1488 $(call gb_LinkTarget_add_libs,$(1),\
1489 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1491 else
1492 $(call gb_LinkTarget_add_libs,$(1),\
1493 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licudata$(gb_ICU_suffix) \
1495 endif
1497 endef
1499 define gb_LinkTarget__use_icui18n
1500 $(call gb_LinkTarget_use_package,$(1),icu)
1502 ifeq ($(OS),WNT)
1503 $(call gb_LinkTarget_add_libs,$(1),\
1504 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1506 else
1507 $(call gb_LinkTarget_add_libs,$(1),\
1508 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licui18n$(gb_ICU_suffix) \
1510 endif
1512 endef
1514 define gb_LinkTarget__use_icuuc
1515 $(call gb_LinkTarget_use_package,$(1),icu_ure)
1517 ifeq ($(OS),WNT)
1518 $(call gb_LinkTarget_add_libs,$(1),\
1519 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1521 else
1522 $(call gb_LinkTarget_add_libs,$(1),\
1523 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licuuc$(gb_ICU_suffix) \
1525 endif
1527 endef
1529 endif # SYSTEM_ICU
1531 ifneq ($(SYSTEM_HARFBUZZ),)
1533 define gb_LinkTarget__use_harfbuzz
1534 $(call gb_LinkTarget_set_include,$(1),\
1535 $$(INCLUDE) \
1536 $(HARFBUZZ_CFLAGS) \
1538 $(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1540 endef
1542 gb_ExternalProject__use_harfbuzz :=
1544 else # SYSTEM_HARFBUZZ != TRUE
1546 define gb_LinkTarget__use_harfbuzz
1547 $(call gb_LinkTarget_set_include,$(1),\
1548 $(HARFBUZZ_CFLAGS) \
1549 $$(INCLUDE) \
1551 $(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1552 $(call gb_LinkTarget_use_external,$(1),icuuc)
1553 $(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
1555 endef
1557 define gb_ExternalProject__use_harfbuzz
1558 $(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1560 endef
1562 endif # SYSTEM_HARFBUZZ
1564 ifneq ($(ENABLE_OPENSSL),TRUE)
1566 gb_ExternalProject__use_openssl:=
1567 gb_LinkTarget__use_openssl_headers:=
1568 gb_LinkTarget__use_openssl:=
1570 else # ENABLE_OPENSSL
1572 ifneq ($(SYSTEM_OPENSSL),)
1574 gb_LinkTarget__use_openssl_headers:=
1575 gb_ExternalProject__use_openssl:=
1577 define gb_LinkTarget__use_openssl
1578 $(call gb_LinkTarget_set_include,$(1),\
1579 $$(INCLUDE) \
1580 $(OPENSSL_CFLAGS) \
1582 $(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
1584 endef
1586 else # !SYSTEM_OPENSSL
1588 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1589 openssl \
1592 define gb_ExternalProject__use_openssl
1593 $(call gb_ExternalProject_use_package,$(1),openssl)
1595 endef
1597 define gb_LinkTarget__use_openssl_headers
1598 $(call gb_LinkTarget_use_external_project,$(1),openssl,full)
1599 $(call gb_LinkTarget_set_include,$(1),\
1600 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
1601 $$(INCLUDE) \
1604 endef
1606 define gb_LinkTarget__use_openssl
1607 $(call gb_LinkTarget_use_package,$(1),openssl)
1608 ifeq ($(OS),WNT)
1609 $(call gb_LinkTarget_add_libs,$(1),\
1610 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.lib \
1611 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.lib \
1613 else
1614 $(call gb_LinkTarget_add_libs,$(1),\
1615 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1616 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
1617 $(if $(filter $(OS),LINUX),-pthread) \
1619 $(call gb_LinkTarget_use_external_project,$(1),openssl)
1620 ifeq ($(OS),SOLARIS)
1621 $(call gb_LinkTarget_add_libs,$(1),\
1622 -lnsl \
1623 -lsocket \
1625 endif
1626 endif
1628 endef
1630 endif # SYSTEM_OPENSSL
1631 endif # ENABLE_OPENSSL
1634 ifneq ($(ENABLE_OPENSSL),TRUE)
1636 define gb_LinkTarget__use_gnutls
1637 $(call gb_LinkTarget_set_include,$(1),\
1638 $$(INCLUDE) \
1639 $(GNUTLS_CFLAGS) \
1642 $(call gb_LinkTarget_add_defs,$(1),\
1643 -DDISABLE_OPENSSL \
1646 $(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1648 endef
1650 define gb_LinkTarget__use_libgcrypt
1651 $(call gb_LinkTarget_set_include,$(1),\
1652 $$(INCLUDE) \
1653 $(LIBGCRYPT_CFLAGS) \
1656 $(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1658 endef
1660 else # ENABLE_OPENSSL
1662 gb_LinkTarget__use_gnutls:=
1663 gb_LinkTarget__use_libgcrypt:=
1665 endif # ENABLE_OPENSSL
1668 ifneq ($(SYSTEM_CDR),)
1670 define gb_LinkTarget__use_cdr
1671 $(call gb_LinkTarget_set_include,$(1),\
1672 $$(INCLUDE) \
1673 $(CDR_CFLAGS) \
1675 $(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1677 endef
1679 else # !SYSTEM_CDR
1681 define gb_LinkTarget__use_cdr
1682 $(call gb_LinkTarget_set_include,$(1),\
1683 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1684 $$(INCLUDE) \
1686 $(call gb_LinkTarget_add_libs,$(1),\
1687 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
1689 $(call gb_LinkTarget_use_external_project,$(1),libcdr)
1690 endef
1692 endif # SYSTEM_CDR
1695 ifneq ($(SYSTEM_EBOOK),)
1697 define gb_LinkTarget__use_ebook
1698 $(call gb_LinkTarget_set_include,$(1),\
1699 $$(INCLUDE) \
1700 $(EBOOK_CFLAGS) \
1702 $(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1704 endef
1706 gb_ExternalProject__use_ebook :=
1708 else # !SYSTEM_EBOOK
1710 define gb_LinkTarget__use_ebook
1711 $(call gb_LinkTarget_set_include,$(1),\
1712 -I${WORKDIR}/UnpackedTarball/libebook/inc \
1713 $$(INCLUDE) \
1715 $(call gb_LinkTarget_add_libs,$(1),\
1716 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
1718 $(call gb_LinkTarget_use_external_project,$(1),libebook)
1720 endef
1722 define gb_ExternalProject__use_ebook
1723 $(call gb_ExternalProject_use_external_project,$(1),libebook)
1725 endef
1727 endif # SYSTEM_EBOOK
1730 ifneq ($(SYSTEM_ETONYEK),)
1732 define gb_LinkTarget__use_etonyek
1733 $(call gb_LinkTarget_set_include,$(1),\
1734 $$(INCLUDE) \
1735 $(ETONYEK_CFLAGS) \
1737 $(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1739 endef
1741 gb_ExternalProject__use_etonyek :=
1743 else # !SYSTEM_ETONYEK
1745 ifeq ($(COM),MSC)
1747 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1748 etonyek \
1751 define gb_LinkTarget__use_etonyek
1752 $(call gb_LinkTarget_set_include,$(1),\
1753 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1754 $$(INCLUDE) \
1756 $(call gb_LinkTarget_use_libraries,$(1),\
1757 etonyek \
1760 endef
1762 else # !MSC
1764 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1765 libetonyek \
1768 define gb_LinkTarget__use_etonyek
1769 $(call gb_LinkTarget_use_package,$(1),libetonyek)
1771 $(call gb_LinkTarget_set_include,$(1),\
1772 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
1773 -DLIBETONYEK_VISIBILITY \
1774 $$(INCLUDE) \
1776 $(call gb_LinkTarget_add_libs,$(1),\
1777 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
1779 $(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1781 endef
1783 define gb_ExternalProject__use_etonyek
1784 $(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1786 endef
1788 endif
1790 endif # SYSTEM_ETONYEK
1793 ifneq ($(SYSTEM_FREEHAND),)
1795 define gb_LinkTarget__use_freehand
1796 $(call gb_LinkTarget_set_include,$(1),\
1797 $$(INCLUDE) \
1798 $(FREEHAND_CFLAGS) \
1800 $(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1802 endef
1804 gb_ExternalProject__use_freehand :=
1806 else # !SYSTEM_FREEHAND
1808 define gb_LinkTarget__use_freehand
1809 $(call gb_LinkTarget_set_include,$(1),\
1810 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
1811 $$(INCLUDE) \
1813 $(call gb_LinkTarget_add_libs,$(1),\
1814 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
1816 $(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1818 endef
1820 define gb_ExternalProject__use_freehand
1821 $(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1823 endef
1825 endif # SYSTEM_FREEHAND
1828 ifneq ($(SYSTEM_ODFGEN),)
1830 define gb_LinkTarget__use_odfgen
1831 $(call gb_LinkTarget_set_include,$(1),\
1832 $$(INCLUDE) \
1833 $(ODFGEN_CFLAGS) \
1835 $(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1837 endef
1839 else # !SYSTEM_ODFGEN
1841 ifeq ($(COM),MSC)
1843 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1844 odfgen \
1847 define gb_LinkTarget__use_odfgen
1848 $(call gb_LinkTarget_set_include,$(1),\
1849 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1850 $$(INCLUDE) \
1852 $(call gb_LinkTarget_use_libraries,$(1),\
1853 odfgen \
1856 endef
1858 else # !MSC
1860 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1861 libodfgen \
1864 define gb_LinkTarget__use_odfgen
1865 $(call gb_LinkTarget_use_package,$(1),libodfgen)
1867 $(call gb_LinkTarget_set_include,$(1),\
1868 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1869 -DLIBODFGEN_VISIBILITY \
1870 $$(INCLUDE) \
1872 $(call gb_LinkTarget_add_libs,$(1),\
1873 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
1876 endef
1878 endif
1880 endif # SYSTEM_ODFGEN
1882 ifneq ($(SYSTEM_EPUBGEN),)
1884 define gb_LinkTarget__use_epubgen
1885 $(call gb_LinkTarget_set_include,$(1),\
1886 $$(INCLUDE) \
1887 $(EPUBGEN_CFLAGS) \
1889 $(call gb_LinkTarget_add_libs,$(1),$(EPUBGEN_LIBS))
1891 endef
1892 gb_ExternalProject__use_epubgen :=
1894 else # !SYSTEM_EPUBGEN
1896 define gb_LinkTarget__use_epubgen
1897 $(call gb_LinkTarget_set_include,$(1),\
1898 -I$(call gb_UnpackedTarball_get_dir,libepubgen)/inc \
1899 $$(INCLUDE) \
1901 $(call gb_LinkTarget_add_libs,$(1),\
1902 $(call gb_UnpackedTarball_get_dir,libepubgen)/src/lib/.libs/libepubgen-0.1$(gb_StaticLibrary_PLAINEXT) \
1904 $(call gb_LinkTarget_use_external_project,$(1),libepubgen)
1906 endef
1907 define gb_ExternalProject__use_epubgen
1908 $(call gb_ExternalProject_use_external_project,$(1),libepubgen)
1910 endef
1912 endif # SYSTEM_EPUBGEN
1914 ifneq ($(SYSTEM_REVENGE),)
1916 define gb_LinkTarget__use_revenge
1917 $(call gb_LinkTarget_set_include,$(1),\
1918 $$(INCLUDE) \
1919 $(REVENGE_CFLAGS) \
1921 $(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1923 endef
1925 gb_ExternalProject__use_revenge :=
1927 else # !SYSTEM_REVENGE
1929 ifeq ($(COM),MSC)
1931 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1932 revenge \
1935 define gb_LinkTarget__use_revenge
1936 $(call gb_LinkTarget_set_include,$(1),\
1937 $(REVENGE_CFLAGS) \
1938 $$(INCLUDE) \
1940 $(call gb_LinkTarget_use_libraries,$(1),\
1941 revenge \
1944 endef
1946 define gb_ExternalProject__use_revenge
1947 $(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1949 endef
1951 else # !MSC
1953 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1954 librevenge \
1957 define gb_LinkTarget__use_revenge
1958 $(call gb_LinkTarget_use_package,$(1),librevenge)
1960 $(call gb_LinkTarget_set_include,$(1),\
1961 $(REVENGE_CFLAGS) \
1962 -DLIBREVENGE_VISIBILITY \
1963 $$(INCLUDE) \
1965 $(call gb_LinkTarget_add_libs,$(1),\
1966 $(REVENGE_LIBS) \
1968 endef
1970 define gb_ExternalProject__use_revenge
1971 $(call gb_ExternalProject_use_package,$(1),librevenge)
1973 endef
1975 endif # MSC
1977 endif # SYSTEM_REVENGE
1980 ifneq ($(SYSTEM_ABW),)
1982 define gb_LinkTarget__use_abw
1983 $(call gb_LinkTarget_set_include,$(1),\
1984 $$(INCLUDE) \
1985 $(ABW_CFLAGS) \
1987 $(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1989 endef
1990 gb_ExternalProject__use_abw :=
1992 else # !SYSTEM_ABW
1994 define gb_LinkTarget__use_abw
1995 $(call gb_LinkTarget_set_include,$(1),\
1996 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1997 $$(INCLUDE) \
1999 $(call gb_LinkTarget_add_libs,$(1),\
2000 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
2002 $(call gb_LinkTarget_use_external_project,$(1),libabw)
2004 endef
2005 define gb_ExternalProject__use_abw
2006 $(call gb_ExternalProject_use_external_project,$(1),libabw)
2008 endef
2010 endif # SYSTEM_ABW
2013 ifneq ($(SYSTEM_MSPUB),)
2015 define gb_LinkTarget__use_mspub
2016 $(call gb_LinkTarget_set_include,$(1),\
2017 $$(INCLUDE) \
2018 $(MSPUB_CFLAGS) \
2020 $(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
2022 endef
2024 else # !SYSTEM_MSPUB
2026 define gb_LinkTarget__use_mspub
2027 $(call gb_LinkTarget_set_include,$(1),\
2028 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
2029 $$(INCLUDE) \
2031 $(call gb_LinkTarget_add_libs,$(1),\
2032 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
2034 $(call gb_LinkTarget_use_external_project,$(1),libmspub)
2036 endef
2038 endif # SYSTEM_MSPUB
2041 ifneq ($(SYSTEM_PAGEMAKER),)
2043 define gb_LinkTarget__use_pagemaker
2044 $(call gb_LinkTarget_set_include,$(1),\
2045 $$(INCLUDE) \
2046 $(PAGEMAKER_CFLAGS) \
2048 $(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
2050 endef
2051 gb_ExternalProject__use_pagemaker :=
2053 else # !SYSTEM_PAGEMAKER
2055 define gb_LinkTarget__use_pagemaker
2056 $(call gb_LinkTarget_set_include,$(1),\
2057 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
2058 $$(INCLUDE) \
2060 $(call gb_LinkTarget_add_libs,$(1),\
2061 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
2063 $(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
2065 endef
2066 define gb_ExternalProject__use_pagemaker
2067 $(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
2069 endef
2071 endif # SYSTEM_PAGEMAKER
2074 ifneq ($(SYSTEM_QXP),)
2076 define gb_LinkTarget__use_qxp
2077 $(call gb_LinkTarget_set_include,$(1),\
2078 $$(INCLUDE) \
2079 $(QXP_CFLAGS) \
2081 $(call gb_LinkTarget_add_libs,$(1),$(QXP_LIBS))
2083 endef
2084 gb_ExternalProject__use_qxp :=
2086 else # !SYSTEM_QXP
2088 define gb_LinkTarget__use_qxp
2089 $(call gb_LinkTarget_set_include,$(1),\
2090 -I$(call gb_UnpackedTarball_get_dir,libqxp)/inc \
2091 $$(INCLUDE) \
2093 $(call gb_LinkTarget_add_libs,$(1),\
2094 $(call gb_UnpackedTarball_get_dir,libqxp)/src/lib/.libs/libqxp-0.0$(gb_StaticLibrary_PLAINEXT) \
2096 $(call gb_LinkTarget_use_external_project,$(1),libqxp)
2098 endef
2099 define gb_ExternalProject__use_qxp
2100 $(call gb_ExternalProject_use_external_project,$(1),libqxp)
2102 endef
2104 endif # SYSTEM_QXP
2107 ifneq ($(SYSTEM_ZMF),)
2109 define gb_LinkTarget__use_zmf
2110 $(call gb_LinkTarget_set_include,$(1),\
2111 $$(INCLUDE) \
2112 $(ZMF_CFLAGS) \
2114 $(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
2116 endef
2117 gb_ExternalProject__use_zmf :=
2119 else # !SYSTEM_ZMF
2121 define gb_LinkTarget__use_zmf
2122 $(call gb_LinkTarget_set_include,$(1),\
2123 -I$(call gb_UnpackedTarball_get_dir,libzmf)/inc \
2124 $$(INCLUDE) \
2126 $(call gb_LinkTarget_add_libs,$(1),\
2127 $(call gb_UnpackedTarball_get_dir,libzmf)/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
2129 $(call gb_LinkTarget_use_external_project,$(1),libzmf)
2131 endef
2132 define gb_ExternalProject__use_zmf
2133 $(call gb_ExternalProject_use_external_project,$(1),libzmf)
2135 endef
2137 endif # SYSTEM_ZMF
2140 ifneq ($(SYSTEM_VISIO),)
2142 define gb_LinkTarget__use_visio
2143 $(call gb_LinkTarget_set_include,$(1),\
2144 $$(INCLUDE) \
2145 $(VISIO_CFLAGS) \
2147 $(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
2149 endef
2151 else # !SYSTEM_VISIO
2153 define gb_LinkTarget__use_visio
2154 $(call gb_LinkTarget_set_include,$(1),\
2155 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
2156 $$(INCLUDE) \
2158 $(call gb_LinkTarget_add_libs,$(1),\
2159 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
2161 $(call gb_LinkTarget_use_external_project,$(1),libvisio)
2163 endef
2165 endif # SYSTEM_VISIO
2168 ifneq ($(SYSTEM_WPD),)
2170 define gb_LinkTarget__use_wpd
2171 $(call gb_LinkTarget_set_include,$(1),\
2172 $$(INCLUDE) \
2173 $(WPD_CFLAGS) \
2175 $(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
2177 endef
2178 gb_ExternalProject__use_wpd :=
2180 else # !SYSTEM_WPD
2182 ifeq ($(COM),MSC)
2184 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2185 wpd \
2188 define gb_LinkTarget__use_wpd
2189 $(call gb_LinkTarget_set_include,$(1),\
2190 $(WPD_CFLAGS) \
2191 $$(INCLUDE) \
2193 $(call gb_LinkTarget_use_libraries,$(1),\
2194 wpd \
2197 endef
2199 define gb_ExternalProject__use_wpd
2200 $(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
2202 endef
2204 else # !MSC
2206 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2207 libwpd \
2210 define gb_LinkTarget__use_wpd
2211 $(call gb_LinkTarget_use_package,$(1),libwpd)
2213 $(call gb_LinkTarget_set_include,$(1),\
2214 $(WPD_CFLAGS) \
2215 $$(INCLUDE) \
2217 $(call gb_LinkTarget_add_libs,$(1),\
2218 $(WPD_LIBS) \
2221 endef
2223 define gb_ExternalProject__use_wpd
2224 $(call gb_ExternalProject_use_package,$(1),libwpd)
2226 endef
2228 endif # MSC
2230 endif # SYSTEM_WPD
2233 ifneq ($(SYSTEM_WPG),)
2235 define gb_LinkTarget__use_wpg
2236 $(call gb_LinkTarget_set_include,$(1),\
2237 $$(INCLUDE) \
2238 $(WPG_CFLAGS) \
2240 $(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
2242 endef
2243 gb_ExternalProject__use_wpg :=
2245 else # !SYSTEM_WPG
2247 ifeq ($(COM),MSC)
2249 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2250 wpg \
2253 define gb_LinkTarget__use_wpg
2254 $(call gb_LinkTarget_set_include,$(1),\
2255 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2256 $$(INCLUDE) \
2258 $(call gb_LinkTarget_use_libraries,$(1),\
2259 wpg \
2262 endef
2264 else # !MSC
2266 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2267 libwpg \
2270 define gb_LinkTarget__use_wpg
2271 $(call gb_LinkTarget_use_package,$(1),libwpg)
2273 $(call gb_LinkTarget_set_include,$(1),\
2274 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2275 $$(INCLUDE) \
2277 $(call gb_LinkTarget_add_libs,$(1),\
2278 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2281 endef
2283 endif # MSC
2285 endif # SYSTEM_WPG
2288 ifneq ($(SYSTEM_WPS),)
2290 define gb_LinkTarget__use_wps
2291 $(call gb_LinkTarget_set_include,$(1),\
2292 $$(INCLUDE) \
2293 $(WPS_CFLAGS) \
2295 $(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
2297 endef
2298 gb_ExternalProject__use_wps :=
2300 else # !SYSTEM_WPS
2302 ifeq ($(COM),MSC)
2304 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2305 wps \
2308 define gb_LinkTarget__use_wps
2309 $(call gb_LinkTarget_set_include,$(1),\
2310 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2311 $$(INCLUDE) \
2314 $(call gb_LinkTarget_use_libraries,$(1),\
2315 wps \
2318 endef
2320 else # !MSC
2322 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2323 libwps \
2326 define gb_LinkTarget__use_wps
2327 $(call gb_LinkTarget_use_package,$(1),libwps)
2329 $(call gb_LinkTarget_set_include,$(1),\
2330 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2331 $$(INCLUDE) \
2333 $(call gb_LinkTarget_add_libs,$(1),\
2334 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
2337 endef
2339 endif # MSC
2341 endif # SYSTEM_WPS
2344 ifneq ($(SYSTEM_MWAW),)
2346 define gb_LinkTarget__use_mwaw
2347 $(call gb_LinkTarget_set_include,$(1),\
2348 $$(INCLUDE) \
2349 $(MWAW_CFLAGS) \
2351 $(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2353 endef
2355 else # !SYSTEM_MWAW
2357 ifeq ($(COM),MSC)
2359 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2360 mwaw \
2363 define gb_LinkTarget__use_mwaw
2364 $(call gb_LinkTarget_set_include,$(1),\
2365 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2366 $$(INCLUDE) \
2369 $(call gb_LinkTarget_use_libraries,$(1),\
2370 mwaw \
2373 endef
2375 else # !MSC
2377 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2378 libmwaw \
2381 define gb_LinkTarget__use_mwaw
2382 $(call gb_LinkTarget_use_package,$(1),libmwaw)
2384 $(call gb_LinkTarget_set_include,$(1),\
2385 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2386 $$(INCLUDE) \
2388 $(call gb_LinkTarget_add_libs,$(1),\
2389 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2392 endef
2394 endif # MSC
2396 endif # SYSTEM_MWAW
2398 ifneq ($(SYSTEM_STAROFFICE),)
2400 define gb_LinkTarget__use_staroffice
2401 $(call gb_LinkTarget_set_include,$(1),\
2402 $$(INCLUDE) \
2403 $(STAROFFICE_CFLAGS) \
2405 $(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2407 endef
2409 else # !SYSTEM_STAROFFICE
2411 ifeq ($(COM),MSC)
2413 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2414 staroffice \
2417 define gb_LinkTarget__use_staroffice
2418 $(call gb_LinkTarget_set_include,$(1),\
2419 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2420 $$(INCLUDE) \
2423 $(call gb_LinkTarget_use_libraries,$(1),\
2424 staroffice \
2427 endef
2429 else # !MSC
2431 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2432 libstaroffice \
2435 define gb_LinkTarget__use_staroffice
2436 $(call gb_LinkTarget_use_package,$(1),libstaroffice)
2438 $(call gb_LinkTarget_set_include,$(1),\
2439 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2440 $$(INCLUDE) \
2442 $(call gb_LinkTarget_add_libs,$(1),\
2443 -L$(call gb_UnpackedTarball_get_dir,libstaroffice)/src/lib/.libs -lstaroffice-0.0 \
2446 endef
2448 endif # MSC
2450 endif # SYSTEM_STAROFFICE
2453 ifneq ($(SYSTEM_LCMS2),)
2455 define gb_LinkTarget__use_lcms2
2456 $(call gb_LinkTarget_set_include,$(1),\
2457 $$(INCLUDE) \
2458 $(LCMS2_CFLAGS) \
2460 $(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2462 endef
2464 gb_ExternalProject__use_lcms2 :=
2466 else # !SYSTEM_LCMS2
2468 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2469 lcms2 \
2472 define gb_ExternalProject__use_lcms2
2473 $(call gb_ExternalProject_use_package,$(1),lcms2)
2475 endef
2477 ifeq ($(OS),ANDROID)
2479 define gb_LinkTarget__use_lcms2
2480 $(call gb_LinkTarget_use_package,$(1),lcms2)
2481 $(call gb_LinkTarget_set_include,$(1),\
2482 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
2483 $$(INCLUDE) \
2486 endef
2488 else
2490 define gb_LinkTarget__use_lcms2
2491 $(call gb_LinkTarget_use_package,$(1),lcms2)
2492 $(call gb_LinkTarget_set_include,$(1),\
2493 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
2494 $$(INCLUDE) \
2496 $(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2498 endef
2500 endif # ANDROID
2501 endif # SYSTEM_LCMS2
2503 ifneq ($(ENABLE_LPSOLVE),)
2505 ifneq ($(SYSTEM_LPSOLVE),)
2507 define gb_LinkTarget__use_lpsolve
2508 $(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
2509 $(call gb_LinkTarget_add_defs,$(1),\
2510 -DSYSTEM_LPSOLVE \
2513 endef
2515 else # !SYSTEM_LPSOLVE
2517 define gb_LinkTarget__use_lpsolve
2518 $(call gb_LinkTarget_use_package,$(1),lpsolve)
2519 ifeq ($(COM),MSC)
2520 $(call gb_LinkTarget_add_libs,$(1),\
2521 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2523 else
2524 $(call gb_LinkTarget_add_libs,$(1),\
2525 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
2527 endif
2528 $(call gb_LinkTarget_set_include,$(1),\
2529 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
2530 $$(INCLUDE) \
2533 endef
2535 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2536 lpsolve \
2539 endif # SYSTEM_LPSOLVE
2541 else
2543 gb_LinkTarget__use_lpsolve :=
2545 endif # ENABLE_LPSOLVE
2547 ifneq ($(ENABLE_COINMP),)
2549 ifneq ($(SYSTEM_COINMP),TRUE)
2551 define gb_LinkTarget__use_coinmp
2552 $(call gb_LinkTarget_use_package,$(1),coinmp)
2553 ifeq ($(COM),MSC)
2554 $(call gb_LinkTarget_add_libs,$(1),\
2555 $(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/MSVisualStudio/v9/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)/CoinMP.lib \
2557 else
2558 $(call gb_LinkTarget_add_libs,$(1),\
2559 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2560 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2561 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2562 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2563 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2564 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2565 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2567 endif
2568 $(call gb_LinkTarget_set_include,$(1),\
2569 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
2570 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
2571 $$(INCLUDE) \
2574 endef
2576 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2577 coinmp \
2580 else # SYSTEM_COINMP
2582 define gb_LinkTarget__use_coinmp
2583 $(call gb_LinkTarget_set_include,$(1),\
2584 $$(INCLUDE) \
2585 $(COINMP_CFLAGS) \
2587 $(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2589 endef
2591 endif
2593 else
2595 gb_LinkTarget__use_coinmp :=
2597 endif # ENABLE_COINMP
2599 ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2601 define gb_LinkTarget__use_mDNSResponder
2602 $(call gb_LinkTarget_set_include,$(1),\
2603 -I$(call gb_UnpackedTarball_get_dir,mDNSResponder)/mDNSShared \
2604 $$(INCLUDE) \
2606 $(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2607 endef
2609 endif # MDNSRESPONDER
2611 ifeq ($(ENABLE_GIO),TRUE)
2613 define gb_LinkTarget__use_gio
2614 $(call gb_LinkTarget_set_include,$(1),\
2615 $$(INCLUDE) \
2616 $(GIO_CFLAGS) \
2619 $(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2621 endef
2623 else # ENABLE_GIO
2625 define gb_LinkTarget__use_gio
2627 endef
2629 endif # ENABLE_GIO
2631 ifeq ($(ENABLE_AVAHI),TRUE)
2633 define gb_LinkTarget__use_avahi
2634 $(call gb_LinkTarget_set_include,$(1),\
2635 $$(INCLUDE) \
2636 $(AVAHI_CFLAGS) \
2639 $(call gb_LinkTarget_add_defs,$(1),\
2640 -DENABLE_AVAHI \
2643 $(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2645 endef
2647 else # ENABLE_AVAHI
2649 gb_LinkTarget__use_avahi :=
2651 endif # ENABLE_AVAHI
2653 ifeq ($(ENABLE_CUPS),TRUE)
2655 define gb_LinkTarget__use_cups
2656 $(call gb_LinkTarget_add_defs,$(1),\
2657 -DENABLE_CUPS \
2660 $(call gb_LinkTarget_add_libs,$(1),\
2661 -lcups \
2664 endef
2666 else # ENABLE_CUPS
2668 define gb_LinkTarget__use_cups
2670 endef
2672 endif # ENABLE_CUPS
2674 ifeq ($(ENABLE_DBUS),TRUE)
2676 define gb_LinkTarget__use_dbus
2677 $(call gb_LinkTarget_set_include,$(1),\
2678 $$(INCLUDE) \
2679 $(DBUS_CFLAGS) \
2682 $(call gb_LinkTarget_add_libs,$(1),\
2683 $(DBUS_LIBS) \
2686 endef
2688 else # ENABLE_DBUS
2690 define gb_LinkTarget__use_dbus
2692 endef
2694 endif # ENABLE_DBUS
2697 ifneq ($(SYSTEM_LIBPNG),)
2699 define gb_LinkTarget__use_libpng
2700 $(call gb_LinkTarget_set_include,$(1),\
2701 $$(INCLUDE) \
2702 $(LIBPNG_CFLAGS) \
2705 $(call gb_LinkTarget_add_libs,$(1),\
2706 $(LIBPNG_LIBS) \
2709 endef
2711 gb_ExternalProject__use_libpng :=
2713 else # !SYSTEM_LIBPNG
2715 define gb_LinkTarget__use_libpng
2716 $(call gb_LinkTarget_set_include,$(1),\
2717 $(LIBPNG_CFLAGS) \
2718 $$(INCLUDE) \
2720 $(call gb_LinkTarget_use_static_libraries,$(1),\
2721 libpng \
2723 $(call gb_LinkTarget__use_zlib,$(1))
2725 endef
2727 define gb_ExternalProject__use_libpng
2728 $(call gb_ExternalProject_use_static_libraries,$(1),\
2729 libpng \
2732 endef
2734 endif # !SYSTEM_LIBPNG
2737 ifneq ($(SYSTEM_CURL),)
2739 define gb_LinkTarget__use_curl
2740 $(call gb_LinkTarget_add_defs,$(1),\
2741 -DSYSTEM_CURL \
2743 $(call gb_LinkTarget_set_include,$(1),\
2744 $$(INCLUDE) \
2745 $(CURL_CFLAGS) \
2747 $(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2749 endef
2751 else # !SYSTEM_CURL
2753 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2754 curl \
2757 define gb_LinkTarget__use_curl
2758 $(call gb_LinkTarget_use_package,$(1),curl)
2759 $(call gb_LinkTarget_set_include,$(1),\
2760 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
2761 $$(INCLUDE) \
2764 ifeq ($(COM),MSC)
2765 $(call gb_LinkTarget_add_libs,$(1),\
2766 $(call gb_UnpackedTarball_get_dir,curl)/builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-zlib-static-ipv6-sspi-schannel/lib/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).lib \
2768 else
2769 $(call gb_LinkTarget_add_libs,$(1),\
2770 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2772 endif
2774 endef
2776 endif # SYSTEM_CURL
2778 ifeq ($(ENABLE_VALGRIND),TRUE)
2780 define gb_LinkTarget__use_valgrind
2781 $(call gb_LinkTarget_add_defs,$(1),\
2782 -DHAVE_VALGRIND_HEADERS \
2785 $(call gb_LinkTarget_set_include,$(1),\
2786 $$(INCLUDE) \
2787 $(VALGRIND_CFLAGS) \
2790 endef
2792 else # !ENABLE_VALGRIND
2794 define gb_LinkTarget__use_valgrind
2796 endef
2798 endif # ENABLE_VALGRIND
2800 ifeq ($(ENABLE_POPPLER),TRUE)
2802 ifneq ($(SYSTEM_POPPLER),)
2804 define gb_LinkTarget__use_poppler
2805 $(call gb_LinkTarget_set_include,$(1),\
2806 $(POPPLER_CFLAGS) \
2807 $$(INCLUDE) \
2810 $(call gb_LinkTarget_add_libs,$(1),\
2811 $(POPPLER_LIBS) \
2814 endef
2816 else # !SYSTEM_POPPLER
2818 $(eval $(call gb_Helper_register_packages_for_install,pdfimport,\
2819 poppler_data \
2822 define gb_LinkTarget__use_poppler
2823 $(call gb_LinkTarget_use_external_project,$(1),poppler,full)
2824 $(call gb_LinkTarget_use_package,$(1),poppler_data)
2825 $(call gb_LinkTarget_set_include,$(1),\
2826 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2827 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2828 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
2829 $$(INCLUDE) \
2832 $(call gb_LinkTarget_use_static_libraries,$(1),poppler)
2833 $(call gb_LinkTarget_use_external,$(1),libjpeg)
2835 ifeq ($(OS),MACOSX)
2836 $(call gb_LinkTarget_add_libs,$(1),\
2837 -lobjc \
2839 else ifeq ($(OS),LINUX)
2840 $(call gb_LinkTarget_add_libs,$(1),\
2841 -pthread \
2843 else ifeq ($(OS),WNT)
2844 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
2845 advapi32 \
2846 gdi32 \
2848 endif
2850 endef
2852 endif # SYSTEM_POPPLER
2854 endif # ENABLE_POPPLER
2857 ifneq ($(SYSTEM_CLUCENE),)
2859 define gb_LinkTarget__use_clucene
2860 $(call gb_LinkTarget_add_defs,$(1),\
2861 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
2864 $(call gb_LinkTarget_set_include,$(1),\
2865 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
2866 $$(INCLUDE) \
2869 $(call gb_LinkTarget_add_libs,$(1),\
2870 $(CLUCENE_LIBS) \
2873 endef
2875 else # !SYSTEM_CLUCENE
2877 define gb_LinkTarget__use_clucene
2878 $(call gb_LinkTarget_set_include,$(1),\
2879 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2880 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2881 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2882 $$(INCLUDE) \
2885 $(call gb_LinkTarget_use_libraries,$(1),\
2886 clucene \
2889 endef
2891 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2892 clucene \
2895 endif # SYSTEM_CLUCENE
2897 define gb_LinkTarget__use_gobject
2898 $(call gb_LinkTarget_add_libs,$(1),\
2899 $(GOBJECT_LIBS) \
2902 $(call gb_LinkTarget_set_include,$(1),\
2903 $$(INCLUDE) \
2904 $(GOBJECT_CFLAGS) \
2906 endef
2908 ifneq ($(SYSTEM_HSQLDB),)
2910 define gb_LinkTarget__use_hsqldb
2912 $(call gb_LinkTarget_add_defs,$(1),\
2913 -DSYSTEM_HSQLDB \
2914 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2917 endef
2919 else # !SYSTEM_HSQLDB
2921 define gb_LinkTarget__use_hsqldb
2923 endef
2925 endif # SYSTEM_HSQLDB
2927 ifeq ($(ENABLE_LDAP),TRUE)
2928 ifneq ($(SYSTEM_OPENLDAP),)
2930 define gb_LinkTarget__use_openldap
2932 $(call gb_LinkTarget_add_libs,$(1),\
2933 -lldap \
2934 -llber \
2937 endef
2939 gb_ExternalProject__use_openldap :=
2941 else # !SYSTEM_OPENLDAP
2943 define gb_LinkTarget__use_openldap
2944 $(call gb_LinkTarget_use_unpacked,$(1),openldap)
2945 $(call gb_LinkTarget_set_include,$(1),\
2946 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
2947 $$(INCLUDE) \
2949 $(call gb_LinkTarget_use_external_project,$(1),openldap,full)
2950 $(call gb_LinkTarget_add_libs,$(1), \
2951 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2952 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
2955 endef
2956 endif
2958 define gb_ExternalProject__use_openldap
2959 $(call gb_ExternalProject_use_external_project,$(1),openldap)
2961 endef
2963 endif # SYSTEM_OPENLDAP
2965 ifneq ($(SYSTEM_LIBTOMMATH),)
2967 define gb_LinkTarget__use_libtommath
2968 $(call gb_LinkTarget_set_include,$(1),\
2969 $(LIBTOMMATH_CFLAGS) \
2970 $$(INCLUDE) \
2972 $(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
2974 endef
2976 else # !SYSTEM_LIBTOMMATH
2977 define gb_LinkTarget__use_libtommath
2978 $(call gb_LinkTarget_set_include,$(1),\
2979 -I${WORKDIR}/UnpackedTarball/libtommath \
2980 $$(INCLUDE) \
2982 $(call gb_LinkTarget_add_libs,$(1),\
2983 $(call gb_UnpackedTarball_get_dir,libtommath)/libtommath$(gb_StaticLibrary_PLAINEXT) \
2985 $(call gb_LinkTarget_use_external_project,$(1),libtommath)
2987 endef
2989 endif # SYSTEM_LIBTOMMATH
2991 define gb_ExternalProject__use_libtommath
2992 $(call gb_ExternalProject_use_external_project,$(1),libtommath)
2994 endef
2996 ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2998 ifneq ($(SYSTEM_FIREBIRD),)
3000 define gb_LinkTarget__use_libfbembed
3001 $(call gb_LinkTarget_set_include,$(1),\
3002 $(FIREBIRD_CFLAGS) \
3003 $$(INCLUDE) \
3005 $(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
3007 endef
3009 else # !SYSTEM_FIREBIRD
3011 $(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
3012 firebird \
3015 #$(call gb_LinkTarget__use_libatomic_ops,$(1))
3016 #$(call gb_LinkTarget__use_libtommath,$(1))
3018 define gb_LinkTarget__use_libfbembed
3019 $(call gb_LinkTarget_use_package,$(1),firebird)
3020 $(call gb_LinkTarget_set_include,$(1),\
3021 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
3022 $$(INCLUDE) \
3024 ifeq ($(COM),MSC)
3025 $(call gb_LinkTarget_add_libs,$(1),\
3026 $(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
3028 else
3029 $(call gb_LinkTarget_add_libs,$(1),\
3030 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
3032 endif
3034 endef
3037 # endef
3039 endif # SYSTEM_FIREBIRD
3041 else # !ENABLE_FIREBIRD_SDBC
3043 gb_LinkTarget__use_firebird :=
3044 # gb_LinkTarget__use_atomic_ops :=
3045 # gb_LinkTarget__use_libtommath :=
3047 endif # ENABLE_FIREBIRD_SDBC
3050 ifneq ($(SYSTEM_POSTGRESQL),)
3052 define gb_LinkTarget__use_postgresql
3054 $(call gb_LinkTarget_set_include,$(1),\
3055 $(POSTGRESQL_INC) \
3056 $$(INCLUDE) \
3059 $(call gb_LinkTarget_add_libs,$(1),\
3060 -lpq \
3063 $(call gb_LinkTarget_add_ldflags,$(1),\
3064 $(POSTGRESQL_LIB) \
3067 endef
3069 else # !SYSTEM_POSTGRESQL
3071 ifeq ($(OS),WNT)
3072 $(eval $(call gb_Helper_register_packages_for_install,postgresqlsdbc,\
3073 postgresql \
3075 endif # WNT
3077 define gb_LinkTarget__use_postgresql
3079 $(call gb_LinkTarget_use_external_project,$(1),postgresql,full)
3081 $(call gb_LinkTarget_set_include,$(1),\
3082 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
3083 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
3084 $$(INCLUDE) \
3087 ifeq ($(OS),WNT)
3089 $(call gb_LinkTarget_add_libs,$(1),\
3090 $(call gb_UnpackedTarball_get_dir,postgresql)/$(gb_MSBUILD_CONFIG)/libpq/libpq.lib \
3093 else # !WNT
3095 $(call gb_LinkTarget_add_libs,$(1),\
3096 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
3097 $(call gb_UnpackedTarball_get_dir,postgresql)/src/common/libpgcommon$(gb_StaticLibrary_PLAINEXT) \
3098 $(call gb_UnpackedTarball_get_dir,postgresql)/src/port/libpgport$(gb_StaticLibrary_PLAINEXT) \
3099 $(if $(WITH_GSSAPI),$(GSSAPI_LIBS)) \
3102 endif # !WNT
3104 endef # gb_LinkTarget__use_postgresql
3106 endif # !SYSTEM_POSTGRESQL
3108 ifneq (,$(filter TRUE,$(ENABLE_KF5) $(ENABLE_GTK3_KDE5)))
3110 define gb_LinkTarget__use_kf5
3111 $(call gb_LinkTarget_set_include,$(1),\
3112 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS)))) \
3113 $$(INCLUDE) \
3116 $(call gb_LinkTarget_add_cxxflags,$(1),\
3117 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS))) \
3120 $(call gb_LinkTarget_add_libs,$(1),\
3121 $(KF5_LIBS) \
3124 endef
3126 else # !ENABLE_KF5
3128 define gb_LinkTarget__use_kf5
3130 endef
3132 endif # ENABLE_KF5
3136 ifneq (,$(filter TRUE,$(ENABLE_QT5) $(ENABLE_GTK3_KDE5)))
3138 define gb_LinkTarget__use_qt5
3139 $(call gb_LinkTarget_set_include,$(1),\
3140 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS)))) \
3141 $$(INCLUDE) \
3144 $(call gb_LinkTarget_add_defs,$(1),\
3145 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS))) \
3148 $(call gb_LinkTarget_add_libs,$(1),\
3149 $(QT5_LIBS) \
3152 endef
3154 else # !ENABLE_QT5
3156 define gb_LinkTarget__use_qt5
3158 endef
3160 endif # ENABLE_QT5
3162 ifeq ($(ENABLE_QT6),TRUE)
3164 define gb_LinkTarget__use_qt6
3165 $(call gb_LinkTarget_set_include,$(1),\
3166 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(QT6_CFLAGS)))) \
3167 $$(INCLUDE) \
3170 $(call gb_LinkTarget_add_defs,$(1),\
3171 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(QT6_CFLAGS))) \
3174 $(call gb_LinkTarget_add_libs,$(1),\
3175 $(QT6_LIBS) \
3178 endef
3180 else # !ENABLE_QT6
3182 define gb_LinkTarget__use_qt6
3184 endef
3186 endif # ENABLE_QT6
3189 # PYTHON
3190 # extra python_headers external because pyuno wrapper must not link python
3191 ifneq ($(SYSTEM_PYTHON),)
3193 define gb_LinkTarget__use_python_headers
3194 $(call gb_LinkTarget_add_defs,$(1),\
3195 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
3198 $(call gb_LinkTarget_set_include,$(1),\
3199 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
3200 $$(INCLUDE) \
3203 endef
3205 define gb_LinkTarget__use_python
3206 $(call gb_LinkTarget__use_python_headers,$(1))
3208 $(call gb_LinkTarget_add_libs,$(1),\
3209 $(PYTHON_LIBS) \
3212 endef
3214 else # !SYSTEM_PYTHON
3216 $(eval $(call gb_Helper_register_packages_for_install,python,\
3217 python3 \
3218 $(if $(filter WNT,$(OS)),libffi) \
3221 define gb_LinkTarget__use_python_headers
3222 $(call gb_LinkTarget_use_external_project,$(1),python3,full)
3223 $(call gb_LinkTarget_set_include,$(1),\
3224 -I$(call gb_UnpackedTarball_get_dir,python3) \
3225 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3226 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
3227 $$(INCLUDE) \
3230 endef
3232 define gb_LinkTarget__use_python
3233 $(call gb_LinkTarget__use_python_headers,$(1))
3234 ifeq ($(OS),MACOSX)
3235 $(call gb_LinkTarget_use_generated_package,$(1),python3)
3236 else
3237 $(call gb_LinkTarget_use_package,$(1),python3)
3238 endif
3240 ifeq ($(OS),WNT)
3241 ifeq ($(CPUNAME),X86_64)
3242 python_arch_subdir=amd64
3243 else ifeq ($(CPUNAME),AARCH64)
3244 python_arch_subdir=arm64
3245 else
3246 python_arch_subdir=win32
3247 endif
3248 $(call gb_LinkTarget_add_libs,$(1),\
3249 $(call gb_UnpackedTarball_get_dir,python3)/PCbuild/$(python_arch_subdir)/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib \
3251 else ifeq ($(OS),MACOSX)
3252 $(call gb_LinkTarget_add_libs,$(1),\
3253 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
3255 else
3256 $(call gb_LinkTarget_add_libs,$(1),\
3257 -L$(call gb_UnpackedTarball_get_dir,python3) \
3258 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)$(if $(ENABLE_DBGUTIL),d) \
3260 endif
3262 endef
3264 # this is only used by python currently
3265 define gb_ExternalProject__use_libffi
3266 $(call gb_ExternalProject_use_external_project,$(1),libffi)
3268 endef
3270 endif # SYSTEM_PYTHON
3272 # ORCUS
3273 ifneq ($(SYSTEM_LIBORCUS),)
3275 define gb_LinkTarget__use_orcus
3276 $(call gb_LinkTarget_set_include,$(1),\
3277 $$(INCLUDE) \
3278 $(ORCUS_CFLAGS) \
3280 $(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
3281 endef
3283 define gb_LinkTarget__use_orcus-parser
3285 endef
3287 else # !SYSTEM_LIBORCUS
3289 ifeq ($(COM),MSC)
3291 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3292 orcus \
3293 orcus-parser \
3296 define gb_LinkTarget__use_orcus
3297 $(call gb_LinkTarget_set_include,$(1),\
3298 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3299 $$(INCLUDE) \
3302 $(call gb_LinkTarget_use_libraries,$(1),\
3303 orcus \
3306 endef
3308 define gb_LinkTarget__use_orcus-parser
3309 $(call gb_LinkTarget_set_include,$(1),\
3310 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3311 $$(INCLUDE) \
3314 $(call gb_LinkTarget_use_libraries,$(1),\
3315 orcus-parser \
3318 endef
3320 else # !MSC
3322 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3323 liborcus \
3326 define gb_LinkTarget__use_orcus
3327 $(call gb_LinkTarget_use_package,$(1),liborcus)
3329 $(call gb_LinkTarget_set_include,$(1),\
3330 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3331 $$(INCLUDE) \
3334 $(call gb_LinkTarget_add_libs,$(1),\
3335 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.17 \
3338 $(if $(SYSTEM_BOOST), \
3339 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3340 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3343 endef
3345 define gb_LinkTarget__use_orcus-parser
3346 $(call gb_LinkTarget_use_package,$(1),liborcus)
3348 $(call gb_LinkTarget_set_include,$(1),\
3349 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3350 $$(INCLUDE) \
3353 $(call gb_LinkTarget_add_libs,$(1),\
3354 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.17 \
3357 endef
3359 endif # MSC
3361 endif # SYSTEM_LIBORCUS
3363 ifeq ($(ENABLE_EOT),TRUE)
3365 ifneq ($(SYSTEM_LIBEOT),)
3367 define gb_LinkTarget__use_libeot
3368 $(call gb_LinkTarget_set_include,$(1),\
3369 $$(INCLUDE) \
3370 $(LIBEOT_CFLAGS) \
3372 $(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3374 endef
3376 gb_ExternalProject__use_libeot :=
3378 else # !SYSTEM_LIBEOT
3380 define gb_LinkTarget__use_libeot
3381 $(call gb_LinkTarget_set_include,$(1),\
3382 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3383 $$(INCLUDE) \
3385 $(call gb_LinkTarget_add_libs,$(1),\
3386 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3388 $(call gb_LinkTarget_use_external_project,$(1),libeot)
3390 endef
3392 define gb_ExternalProject__use_libeot
3393 $(call gb_ExternalProject_use_external_project,$(1),libeot)
3395 endef
3397 endif # SYSTEM_LIBEOT
3399 else # !ENABLE_EOT
3401 gb_LinkTarget__use_libeot :=
3402 gb_ExternalProject__use_libeot :=
3404 endif # ENABLE_EOT
3406 ### X11 stuff ###
3408 ifeq ($(USING_X11), TRUE)
3410 define gb_LinkTarget__use_Xrandr
3411 $(call gb_LinkTarget_set_include,$(1),\
3412 $$(INCLUDE) \
3413 $(XRANDR_CFLAGS) \
3416 $(call gb_LinkTarget_add_libs,$(1),\
3417 $(XRANDR_LIBS) \
3419 endef
3421 define gb_LinkTarget__use_Xrender
3422 $(call gb_LinkTarget_set_include,$(1),\
3423 $$(INCLUDE) \
3424 $(XRENDER_CFLAGS) \
3427 $(call gb_LinkTarget_add_libs,$(1),\
3428 $(XRENDER_LIBS) \
3430 endef
3432 endif # USING_X11
3435 gb_ExternalProject__use_nss3:=
3438 ifneq ($(SYSTEM_NSS),)
3440 define gb_LinkTarget__use_nss3
3441 $(call gb_LinkTarget_add_defs,$(1),\
3442 -DSYSTEM_NSS \
3445 $(call gb_LinkTarget_set_include,$(1),\
3446 $$(INCLUDE) \
3447 $(NSS_CFLAGS) \
3450 $(call gb_LinkTarget_add_libs,$(1),\
3451 $(NSS_LIBS) \
3454 endef
3456 define gb_LinkTarget__use_nssutil3
3457 $(call gb_LinkTarget__use_nss3,$(1))
3459 endef
3461 define gb_LinkTarget__use_plc4
3462 $(call gb_LinkTarget__use_nss3,$(1))
3464 endef
3466 define gb_LinkTarget__use_ssl3
3467 $(call gb_LinkTarget__use_nss3,$(1))
3469 endef
3471 else # !SYSTEM_NSS
3473 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
3474 nss \
3477 define gb_LinkTarget__use_nss3
3478 $(call gb_LinkTarget_use_package,$(1),nss)
3479 $(call gb_LinkTarget_set_include,$(1),\
3480 $$(INCLUDE) \
3481 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3482 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
3485 ifeq ($(COM),MSC)
3486 $(call gb_LinkTarget_add_libs,$(1),\
3487 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3488 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3489 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
3491 else
3492 $(call gb_LinkTarget_add_libs,$(1),\
3493 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
3494 -lnspr4 \
3495 -lnss3 \
3496 -lsmime3 \
3498 endif
3500 endef
3502 define gb_LinkTarget__use_plc4
3503 $(call gb_LinkTarget_use_package,$(1),nss)
3504 ifeq ($(COM),MSC)
3505 $(call gb_LinkTarget_add_libs,$(1),\
3506 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
3508 else
3509 $(call gb_LinkTarget_add_libs,$(1),\
3510 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
3512 endif
3514 endef
3516 define gb_LinkTarget__use_ssl3
3517 $(call gb_LinkTarget_use_package,$(1),nss)
3518 ifeq ($(COM),MSC)
3519 $(call gb_LinkTarget_add_libs,$(1),\
3520 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
3522 else
3523 $(call gb_LinkTarget_add_libs,$(1),\
3524 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
3526 endif
3528 endef
3530 define gb_LinkTarget__use_nssutil3
3531 $(call gb_LinkTarget_use_package,$(1),nss)
3532 $(call gb_LinkTarget_set_include,$(1),\
3533 $$(INCLUDE) \
3534 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3535 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
3538 ifeq ($(COM),MSC)
3539 $(call gb_LinkTarget_add_libs,$(1),\
3540 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nssutil3.lib \
3542 else
3543 $(call gb_LinkTarget_add_libs,$(1),\
3544 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
3545 -lnssutil3 \
3547 endif
3549 endef
3551 define gb_ExternalProject__use_nss3
3552 $(call gb_ExternalProject_use_package,$(1),nss)
3554 endef
3556 endif # SYSTEM_NSS
3558 ifeq ($(ENABLE_BREAKPAD),TRUE)
3560 define gb_LinkTarget__use_breakpad
3561 $(call gb_LinkTarget_set_include,$(1),\
3562 -I$(call gb_UnpackedTarball_get_dir,breakpad)/src \
3563 $$(INCLUDE) \
3566 ifeq ($(COM),MSC)
3567 $(call gb_LinkTarget_use_static_libraries,$(1),\
3568 breakpad \
3570 else
3571 $(call gb_LinkTarget_add_libs,$(1),\
3572 $(call gb_UnpackedTarball_get_dir,breakpad)/src/client/linux/libbreakpad_client.a \
3574 endif
3576 $(call gb_LinkTarget_use_external_project,$(1),breakpad)
3578 endef
3580 endif # ENABLE_BREAKPAD
3582 ifeq ($(ENABLE_GPGMEPP),TRUE)
3584 ifneq ($(SYSTEM_GPGMEPP),)
3586 gb_ExternalProject__use_gpgmepp:=
3587 gb_ExternalProject__use_libassuan:=
3588 gb_ExternalProject__use_libgpg-error:=
3590 define gb_LinkTarget__use_gpgmepp
3591 $(call gb_LinkTarget_set_include,$(1),\
3592 $$(INCLUDE) \
3593 $$(GPGMEPP_CFLAGS) \
3596 $(call gb_LinkTarget_add_libs,$(1),\
3597 $(GPGMEPP_LIBS) \
3600 endef
3602 else ifneq ($(filter GPGMEPP,$(BUILD_TYPE)),) # NON-SYSTEM_GPGME
3604 define gb_ExternalProject__use_gpgmepp
3605 $(call gb_ExternalProject_use_external_project,$(1),gpgmepp)
3607 endef
3608 define gb_ExternalProject__use_libassuan
3609 $(call gb_ExternalProject_use_external_project,$(1),libassuan)
3611 endef
3612 define gb_ExternalProject__use_libgpg-error
3613 $(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3615 endef
3617 ifneq ($(filter WNT,$(OS)),)
3619 define gb_LinkTarget__use_libgpg-error
3620 $(call gb_LinkTarget_use_package,$(1),libgpg-error)
3622 $(call gb_LinkTarget_set_include,$(1),\
3623 $(GPG_ERROR_CFLAGS) \
3624 $$(INCLUDE) \
3626 $(call gb_LinkTarget_add_libs,$(1),\
3627 -LIBPATH:$(call gb_UnpackedTarball_get_dir,libgpg-error)/src/.libs libgpg-error.lib \
3630 endef
3632 define gb_LinkTarget__use_libassuan
3633 $(call gb_LinkTarget_use_package,$(1),libassuan)
3635 $(call gb_LinkTarget_set_include,$(1),\
3636 $(LIBASSUAN_CFLAGS) \
3637 $$(INCLUDE) \
3639 $(call gb_LinkTarget_add_libs,$(1),\
3640 -LIBPATH:$(call gb_UnpackedTarball_get_dir,libassuan)/src/.libs libassuan.lib \
3643 endef
3645 define gb_LinkTarget__use_gpgmepp
3646 $(call gb_LinkTarget_set_include,$(1),\
3647 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src \
3648 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/src \
3649 $$(GPG_ERROR_CFLAGS) \
3650 $$(INCLUDE) \
3652 $(call gb_LinkTarget_use_libraries,$(1),\
3653 gpgmepp \
3656 endef
3658 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3659 gpgmepp \
3660 libassuan \
3661 libgpg-error \
3664 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3665 gpgmepp \
3668 endif
3670 ifneq ($(filter MACOSX LINUX,$(OS)),)
3672 define gb_LinkTarget__use_gpgmepp
3673 $(call gb_LinkTarget_use_package,$(1),gpgmepp)
3675 $(call gb_LinkTarget_set_include,$(1),\
3676 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src \
3677 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/src \
3678 $$(GPG_ERROR_CFLAGS) \
3679 $$(INCLUDE) \
3681 $(call gb_LinkTarget_add_libs,$(1),\
3682 -L$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src/.libs/ -lgpgmepp \
3683 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L$(call gb_UnpackedTarball_get_dir,gpgmepp)/src/.libs/ -lgpgme) \
3684 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(GPG_ERROR_LIBS)) \
3685 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(LIBASSUAN_LIBS)) \
3688 endef
3690 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3691 gpgmepp \
3692 libassuan \
3693 libgpg-error \
3696 endif
3698 endif
3700 else # !ENABLE_GPGMEPP
3702 gb_ExternalProject__use_gpgmepp :=
3703 gb_ExternalProject__use_libassuan :=
3704 gb_ExternalProject__use_libgpg-error :=
3706 gb_LinkTarget__use_gpgmepp :=
3707 gb_LinkTarget__use_libassuan :=
3708 gb_LinkTarget__use_libgpg-error :=
3710 endif # ENABLE_GPGMEPP
3712 define gb_LinkTarget__use_dconf
3713 $(call gb_LinkTarget_set_include,$(1),\
3714 $$(INCLUDE) \
3715 $(DCONF_CFLAGS) \
3718 $(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3719 endef
3721 ### Jars ############################################################
3723 ifneq ($(SYSTEM_HSQLDB),)
3725 define gb_Jar__use_hsqldb
3726 $(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3727 endef
3728 define gb_JunitTest__use_hsqldb
3729 $(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3730 endef
3732 else # !SYSTEM_HSQLDB
3734 ifeq ($(ENABLE_JAVA),TRUE)
3735 $(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
3736 hsqldb \
3738 endif
3740 define gb_Jar__use_hsqldb
3741 $(call gb_Jar_use_jar,$(1),hsqldb)
3742 endef
3743 define gb_JunitTest__use_hsqldb
3744 $(call gb_JunitTest_use_jar,$(1),hsqldb)
3745 endef
3747 endif # SYSTEM_HSQLDB
3750 ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3752 ifneq ($(SYSTEM_BSH),)
3754 define gb_Jar__use_bsh
3755 $(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
3756 endef
3758 else # !SYSTEM_BSH
3760 ifeq ($(ENABLE_JAVA),TRUE)
3761 $(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
3762 bsh \
3764 endif
3766 define gb_Jar__use_bsh
3767 $(call gb_Jar_use_jar,$(1),bsh)
3768 endef
3770 endif # SYSTEM_BSH
3772 endif
3774 ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
3776 ifneq ($(SYSTEM_RHINO),)
3778 define gb_Jar__use_rhino
3779 $(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
3780 endef
3782 else # !SYSTEM_RHINO
3784 ifeq ($(ENABLE_JAVA),TRUE)
3785 $(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
3786 js \
3788 endif
3790 define gb_Jar__use_rhino
3791 $(call gb_Jar_use_jar,$(1),js)
3792 endef
3794 endif # SYSTEM_RHINO
3796 endif
3798 ifneq ($(SYSTEM_JFREEREPORT),)
3800 define gb_Jar__use_flow-engine
3801 $(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
3802 endef
3804 define gb_Jar__use_flute
3805 $(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
3806 endef
3808 define gb_Jar__use_libbase
3809 $(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
3810 endef
3812 define gb_Jar__use_libfonts
3813 $(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
3814 endef
3816 define gb_Jar__use_libformula
3817 $(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
3818 endef
3820 define gb_Jar__use_liblayout
3821 $(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
3822 endef
3824 define gb_Jar__use_libloader
3825 $(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
3826 endef
3828 define gb_Jar__use_librepository
3829 $(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
3830 endef
3832 define gb_Jar__use_libserializer
3833 $(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
3834 endef
3836 define gb_Jar__use_libxml
3837 $(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
3838 endef
3840 define gb_Jar__use_sac
3841 $(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
3842 endef
3844 else # !SYSTEM_JFREEREPORT
3846 ifeq ($(ENABLE_JAVA),TRUE)
3847 $(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
3848 flow-engine \
3849 flute-1.1.6 \
3850 libbase-1.1.6 \
3851 libfonts-1.1.6 \
3852 libformula-1.1.7 \
3853 liblayout \
3854 libloader-1.1.6 \
3855 librepository-1.1.6 \
3856 libserializer-1.1.6 \
3857 libxml-1.1.7 \
3858 sac \
3860 endif
3862 define gb_Jar__use_flow-engine
3863 $(call gb_Jar_use_jar,$(1),flow-engine)
3864 endef
3866 define gb_Jar__use_flute
3867 $(call gb_Jar_use_jar,$(1),flute-1.1.6)
3868 endef
3870 define gb_Jar__use_libbase
3871 $(call gb_Jar_use_jar,$(1),libbase-1.1.6)
3872 endef
3874 define gb_Jar__use_libfonts
3875 $(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
3876 endef
3878 define gb_Jar__use_libformula
3879 $(call gb_Jar_use_jar,$(1),libformula-1.1.7)
3880 endef
3882 define gb_Jar__use_liblayout
3883 $(call gb_Jar_use_jar,$(1),liblayout)
3884 endef
3886 define gb_Jar__use_libloader
3887 $(call gb_Jar_use_jar,$(1),libloader-1.1.6)
3888 endef
3890 define gb_Jar__use_librepository
3891 $(call gb_Jar_use_jar,$(1),librepository-1.1.6)
3892 endef
3894 define gb_Jar__use_libserializer
3895 $(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
3896 endef
3898 define gb_Jar__use_libxml
3899 $(call gb_Jar_use_jar,$(1),libxml-1.1.7)
3900 endef
3902 define gb_Jar__use_sac
3903 $(call gb_Jar_use_jar,$(1),sac)
3904 endef
3906 endif # SYSTEM_JFREEREPORT
3909 # Executables
3911 define gb_Executable__register_bestreversemap
3912 $(call gb_Executable_add_runtime_dependencies,bestreversemap,\
3913 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target_for_build,sal_textenc))) \
3915 endef
3917 # TODO depending on the whole URE might be overkill, but I do not have a
3918 # Windows machine to debug it...
3919 define gb_Executable__register_climaker
3920 $(call gb_Executable_add_runtime_dependencies,climaker,\
3921 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3922 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3923 $(call gb_UnoApi_get_target_for_build,udkapi) \
3924 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
3926 endef
3928 define gb_Executable__register_cppumaker
3929 $(call gb_Executable_add_runtime_dependencies,cppumaker,\
3930 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
3932 endef
3934 # This is used to determine what we need for 'build' platform.
3935 define gb_Executable__register_gengal
3936 $(call gb_Executable_add_runtime_dependencies,gengal,\
3937 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3938 $(call gb_Library_get_target_for_build,localedata_en) \
3939 $(if $(filter MACOSX,$(OS_FOR_BUILD)),$(call gb_Library_get_target_for_build,vclplug_osx)) \
3940 $(if $(filter WNT,$(OS_FOR_BUILD)),$(call gb_Library_get_target_for_build,vclplug_win)) \
3941 $(if $(filter host,$(gb_Side)),$(call gb_Package_get_target,postprocess_images)) \
3942 $(call gb_Package_get_target_for_build,postprocess_registry) \
3943 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
3944 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
3945 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
3946 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3947 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
3948 $(call gb_UnoApi_get_target_for_build,offapi) \
3949 $(call gb_UnoApi_get_target_for_build,udkapi) \
3951 endef
3953 ifeq ($(SYSTEM_ICU),)
3955 define gb_Executable__register_gendict
3956 $(call gb_Executable_add_runtime_dependencies,gendict,\
3957 $(call gb_Package_get_target_for_build,icu) \
3958 $(call gb_Package_get_target_for_build,icu_ure) \
3960 endef
3962 endif
3964 define gb_Executable__register_idlc
3965 $(call gb_Executable_add_runtime_dependencies,idlc,\
3966 $(call gb_ExternalExecutable_get_dependencies,ucpp) \
3968 endef
3970 define gb_Executable__register_localize
3971 $(call gb_Executable_add_runtime_dependencies,localize,\
3972 $(foreach exec,cfgex helpex propex treex ulfex xrmex,\
3973 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3976 endef
3978 # FIXME ure/services.rdb needs cleanup
3979 # The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
3980 # due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3981 define gb_Executable__register_saxparser
3982 $(call gb_Executable_add_runtime_dependencies,saxparser,\
3983 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3984 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
3985 $(call gb_Rdb_get_target_for_build,saxparser) \
3986 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
3987 $(call gb_UnoApi_get_target_for_build,udkapi) \
3989 endef
3991 # NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
3992 # required due to the settings for URE_SERVICES and URE_TYPES in
3993 # cppuhelper/source/unorc
3994 define gb_Executable__register_uno
3995 $(call gb_Executable_add_runtime_dependencies,uno,\
3996 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3997 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3998 $(call gb_UnoApi_get_target_for_build,udkapi) \
4000 endef
4003 # External executables
4005 ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
4007 gb_ExternalExecutable__register_xmllint :=
4009 else # ! SYSTEM_LIBXML_FOR_BUILD
4011 define gb_ExternalExecutable__register_xmllint
4012 $(call gb_ExternalExecutable_set_internal,xmllint,$(WORKDIR_FOR_BUILD)/UnpackedTarball/libxml2/$(if $(filter MSC,$(COM)),win32/bin.msvc)/xmllint$(gb_Executable_EXT_for_build),libxml2)
4013 $(call gb_ExternalExecutable_add_dependencies,xmllint,\
4014 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
4015 $(call gb_Package_get_target,libxml2) \
4018 endef
4020 endif # SYSTEM_LIBXML_FOR_BUILD
4022 ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
4024 gb_ExternalExecutable__register_xsltproc :=
4026 else # ! SYSTEM_LIBXSLT_FOR_BUILD
4028 define gb_ExternalExecutable__register_xsltproc
4029 $(call gb_ExternalExecutable_set_internal,xsltproc,$(WORKDIR_FOR_BUILD)/UnpackedTarball/libxslt/$(if $(filter MSC,$(COM)),win32/bin.msvc,xsltproc)/xsltproc$(gb_Executable_EXT_for_build),libxslt)
4030 $(call gb_ExternalExecutable_add_dependencies,xsltproc,\
4031 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
4032 $(call gb_Package_get_target,libxml2) \
4033 $(call gb_Package_get_target,libxslt) \
4036 endef
4038 endif # SYSTEM_LIBXSLT_FOR_BUILD
4040 ifneq (,$(SYSTEM_UCPP))
4042 gb_ExternalExecutable__register_ucpp :=
4044 else # ! SYSTEM_UCPP
4046 define gb_ExternalExecutable__register_ucpp
4047 $(call gb_ExternalExecutable_set_internal,ucpp,$(INSTDIR_FOR_BUILD)/$(SDKDIRNAME)/bin/ucpp$(gb_Executable_EXT_for_build))
4049 endef
4051 endif # SYSTEM_UCPP
4053 ifeq (,$(PYTHON_FOR_BUILD))
4055 define gb_ExternalExecutable__register_python
4056 ifeq ($(OS),MACOSX)
4058 # use set_external, to avoid having the command added as prerequisite for the
4059 # targets that make use of it. (Otherwise make will choke as it doesn't have a
4060 # matching rule to build that specific file)
4061 $(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))
4062 # the Zip ensures that internal python has been built (cannot use the Package
4063 # target, as that is not used on Mac)
4064 $(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
4066 else
4068 $(call gb_ExternalExecutable_set_internal,python,$(INSTROOT_FOR_BUILD)/$(LIBO_BIN_FOLDER)/$(if $(filter WNT,$(OS)),python-core-$(PYTHON_VERSION)/bin/python.exe,python.bin))
4069 $(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
4070 $(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
4072 endif
4074 endef
4076 else
4078 define gb_ExternalExecutable__register_python
4079 $(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
4081 endef
4083 endif # PYTHON_FOR_BUILD
4085 ifneq ($(SYSTEM_GENBRK),)
4087 define gb_ExternalExecutable__register_genbrk
4088 $(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
4090 endef
4092 else # ! SYSTEM_GENBRK
4094 define gb_ExternalExecutable__register_genbrk
4095 $(call gb_ExternalExecutable_set_internal,genbrk,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genbrk$(gb_Executable_EXT_for_build),icu)
4096 $(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
4097 $(call gb_ExternalExecutable_add_dependencies,genbrk,\
4098 $(call gb_Package_get_target_for_build,icu) \
4099 $(call gb_Package_get_target_for_build,icu_ure) \
4102 endef
4104 endif
4106 ifneq ($(SYSTEM_GENCCODE),)
4108 define gb_ExternalExecutable__register_genccode
4109 $(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
4111 endef
4113 else # ! SYSTEM_GENCCODE
4115 define gb_ExternalExecutable__register_genccode
4116 $(call gb_ExternalExecutable_set_internal,genccode,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genccode$(gb_Executable_EXT_for_build),icu)
4117 $(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
4118 $(call gb_ExternalExecutable_add_dependencies,genccode,\
4119 $(call gb_Package_get_target_for_build,icu) \
4120 $(call gb_Package_get_target_for_build,icu_ure) \
4123 endef
4125 endif
4127 ifneq ($(SYSTEM_GENCMN),)
4129 define gb_ExternalExecutable__register_gencmn
4130 $(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
4132 endef
4134 else # ! SYSTEM_GENCMN
4136 define gb_ExternalExecutable__register_gencmn
4137 $(call gb_ExternalExecutable_set_internal,gencmn,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/gencmn$(gb_Executable_EXT_for_build),icu)
4138 $(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
4139 $(call gb_ExternalExecutable_add_dependencies,gencmn,\
4140 $(call gb_Package_get_target_for_build,icu) \
4141 $(call gb_Package_get_target_for_build,icu_ure) \
4144 endef
4146 endif
4148 ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4149 ifneq ($(SYSTEM_BZIP2),)
4151 define gb_LinkTarget__use_bzip2
4152 $(call gb_LinkTarget_set_include,$(1),\
4153 $(BZIP2_CFLAGS) \
4154 $$(INCLUDE) \
4156 $(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4158 endef
4160 gb_ExternalProject__use_bzip2 :=
4162 else # !SYSTEM_BZIP2
4164 define gb_LinkTarget__use_bzip2
4165 $(call gb_LinkTarget_set_include,$(1),\
4166 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4167 $$(INCLUDE) \
4170 ifeq ($(COM),MSC)
4171 $(call gb_LinkTarget_add_libs,$(1),\
4172 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4174 else
4175 $(call gb_LinkTarget_add_libs,$(1),\
4176 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4178 endif
4180 $(call gb_LinkTarget_use_external_project,$(1),bzip2)
4181 endef
4183 define gb_ExternalProject__use_bzip2
4184 $(call gb_ExternalProject_use_external_project,$(1),bzip2)
4185 endef
4187 endif
4188 endif
4190 define gb_LinkTarget__use_clew
4191 $(call gb_LinkTarget_set_include,$(1), \
4192 -I$(SRCDIR)/external/clew/source/include \
4193 $$(INCLUDE) \
4195 $(call gb_LinkTarget_use_libraries,$(1),clew)
4196 endef
4198 ifneq ($(ENABLE_PDFIUM),)
4199 define gb_LinkTarget__use_pdfium
4200 $(call gb_LinkTarget_set_include,$(1),\
4201 -I$(call gb_UnpackedTarball_get_dir,pdfium)/public \
4202 -DCOMPONENT_BUILD \
4203 $$(INCLUDE) \
4205 $(call gb_LinkTarget_use_libraries,$(1),pdfium)
4206 endef
4207 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4208 pdfium \
4210 endif
4212 define gb_LinkTarget__use_dtoa
4213 $(call gb_LinkTarget_use_unpacked,$(1),dtoa)
4214 $(call gb_LinkTarget_set_include,$(1),\
4215 -I$(call gb_UnpackedTarball_get_dir,dtoa/include/)\
4216 $$(INCLUDE) \
4218 $(call gb_LinkTarget_use_static_libraries,$(1),\
4219 dtoa \
4222 endef
4224 define gb_ExternalProject__use_dtoa
4225 $(call gb_ExternalProject_use_static_libraries,$(1),dtoa)
4227 endef
4229 $(eval $(call gb_Helper_register_packages_for_install,ucrt_binarytable,\
4230 $(if $(UCRT_REDISTDIR),ucrt) \
4233 ifneq ($(SYSTEM_BOX2D),)
4235 define gb_LinkTarget__use_box2d
4236 $(call gb_LinkTarget_set_include,$(1),\
4237 -DSYSTEM_BOX2D \
4238 $$(INCLUDE) \
4239 $(BOX2D_CFLAGS) \
4241 $(call gb_LinkTarget_add_libs,$(1),$(BOX2D_LIBS))
4243 endef
4245 gb_ExternalProject__use_box2d :=
4247 else # !SYSTEM_BOX2D
4249 define gb_LinkTarget__use_box2d
4250 $(call gb_LinkTarget_use_unpacked,$(1),box2d)
4251 $(call gb_LinkTarget_set_include,$(1),\
4252 -I$(call gb_UnpackedTarball_get_dir,box2d/Box2D/)\
4253 $$(INCLUDE) \
4255 $(call gb_LinkTarget_use_static_libraries,$(1),\
4256 box2d \
4259 endef
4261 define gb_ExternalProject__use_box2d
4262 $(call gb_ExternalProject_use_static_libraries,$(1),box2d)
4264 endef
4266 endif # SYSTEM_BOX2D
4268 ifneq ($(SYSTEM_ZXING),)
4270 define gb_LinkTarget__use_zxing
4271 $(call gb_LinkTarget_set_include,$(1),\
4272 -DSYSTEM_ZXING \
4273 $$(INCLUDE) \
4274 $(ZXING_CFLAGS) \
4276 $(call gb_LinkTarget_add_libs,$(1),$(ZXING_LIBS))
4278 endef
4280 gb_ExternalProject__use_zxing :=
4282 else # !SYSTEM_ZXING
4284 ifneq ($(ENABLE_ZXING),)
4286 define gb_LinkTarget__use_zxing
4287 $(call gb_LinkTarget_use_unpacked,$(1),zxing)
4288 $(call gb_LinkTarget_set_include,$(1),\
4289 -I$(call gb_UnpackedTarball_get_dir,zxing/core/src/)\
4290 $$(INCLUDE) \
4292 $(call gb_LinkTarget_use_static_libraries,$(1),\
4293 zxing \
4296 endef
4298 define gb_ExternalProject__use_zxing
4299 $(call gb_ExternalProject_use_static_libraries,$(1),zxing)
4301 endef
4303 else # !ENABLE_ZXING
4305 define gb_LinkTarget__use_zxing
4306 endef
4308 endif # ENABLE_ZXING
4310 endif # SYSTEM_ZXING
4312 # vim: set noet sw=4 ts=4: