Version 7.6.3.2-android, tag libreoffice-7.6.3.2-android
[LibreOffice.git] / RepositoryExternal.mk
blobd93fa9a7c89168ac381ee68f68ac52381021deb7
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/private \
132 -I$(call gb_UnpackedTarball_get_dir,skia)/include/third_party/vulkan \
133 -I$(call gb_UnpackedTarball_get_dir,skia)/tools/gpu \
134 -I$(call gb_UnpackedTarball_get_dir,skia) \
135 -I$(SRCDIR)/external/skia/inc/ \
136 $$(INCLUDE) \
138 $(call gb_LinkTarget_use_libraries,$(1),skia)
139 $(call gb_LinkTarget_add_defs,$(1),\
140 -DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \
141 -DSKIA_DLL \
143 endef
144 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
145 skia \
147 endif
149 ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
151 define gb_LinkTarget__use_sane_headers
152 $(call gb_LinkTarget_set_include,$(1),\
153 $(if $(filter WNT,$(OS)), \
154 -I$(call gb_UnpackedTarball_get_dir,twain_dsm/pub/include), \
155 -I$(SRCDIR)/external/sane/inc) \
156 $$(INCLUDE) \
159 ifeq ($(OS),WNT)
160 $(call gb_LinkTarget_use_unpacked,$(1),twain_dsm)
161 endif
163 endef
165 else
167 gb_LinkTarget__use_sane_headers :=
169 endif
171 ifneq ($(SYSTEM_BLUEZ),)
173 gb_LinkTarget__use_bluez_bluetooth_headers :=
175 else # !SYSTEM_BLUEZ
177 define gb_LinkTarget__use_bluez_bluetooth_headers
178 $(call gb_LinkTarget_set_include,$(1),\
179 -I$(SRCDIR)/external/bluez_bluetooth/inc \
180 $$(INCLUDE) \
183 endef
185 endif # SYSTEM_BLUEZ
187 # External libraries
189 ifneq ($(SYSTEM_CPPUNIT),)
191 define gb_LinkTarget__use_cppunit
192 $(call gb_LinkTarget_set_include,$(1),\
193 $$(INCLUDE) \
194 $(CPPUNIT_CFLAGS) \
197 $(call gb_LinkTarget_add_libs,$(1),\
198 $(CPPUNIT_LIBS) \
201 endef
203 else # !SYSTEM_CPPUNIT
205 define gb_LinkTarget__use_cppunit
206 $(call gb_LinkTarget_use_external_project,$(1),cppunit, full)
208 $(call gb_LinkTarget_set_include,$(1),\
209 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
210 $$(INCLUDE) \
213 ifeq ($(COM),MSC)
214 $(call gb_LinkTarget_add_libs,$(1),\
215 $(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
217 else
218 $(call gb_LinkTarget_add_libs,$(1),\
219 -L$(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/.libs -lcppunit \
221 endif
223 endef
225 endif # SYSTEM_CPPUNIT
228 ifeq ($(ENABLE_EPOXY),TRUE)
229 ifeq ($(SYSTEM_EPOXY),TRUE)
231 define gb_LinkTarget__use_epoxy
232 $(call gb_LinkTarget_set_include,$(1),\
233 $$(INCLUDE) \
234 $(EPOXY_CFLAGS) \
236 $(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS))
238 endef
240 gb_ExternalProject__use_epoxy :=
242 else # !SYSTEM_EPOXY
244 define gb_LinkTarget__use_epoxy
245 $(call gb_LinkTarget_set_include,$(1),\
246 -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \
247 $$(INCLUDE) \
250 $(call gb_LinkTarget_use_libraries,$(1),\
251 epoxy \
254 endef
256 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
257 epoxy \
260 define gb_ExternalProject__use_epoxy
261 $(call gb_ExternalProject_use_external_project,$(1),epoxy)
263 endef
265 endif # !SYSTEM_EPOXY
266 else # !ENABLE_EPOXY
268 gb_LinkTarget__use_epoxy :=
269 gb_ExternalProject__use_epoxy :=
271 endif # !ENABLE_EPOXY
274 define gb_LinkTarget__use_iconv
275 ifeq ($(COM),MSC)
276 $(call gb_LinkTarget_add_libs,$(1),libiconv.lib)
277 else
278 $(call gb_LinkTarget_add_libs,$(1),-liconv)
279 endif
280 endef
282 ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
284 define gb_LinkTarget__use_mariadb-connector-c
285 $(call gb_LinkTarget_set_include,$(1),\
286 $$(INCLUDE) \
287 $(MARIADB_CFLAGS) \
289 $(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
291 endef
292 gb_ExternalProject__use_mariadb-connector-c :=
294 else # !SYSTEM_MARIADB_CONNECTOR_C
296 define gb_LinkTarget__use_mariadb-connector-c
297 $(call gb_LinkTarget_set_include,$(1),\
298 $$(INCLUDE) \
299 $(MARIADB_CFLAGS) \
301 $(call gb_LinkTarget_use_static_libraries,$(1),\
302 mariadb-connector-c \
304 ifeq ($(OS),MACOSX)
305 $(call gb_LinkTarget_add_libs,$(1),\
306 -liconv \
308 endif
309 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
310 ws2_32 \
311 advapi32 \
312 kernel32 \
313 shlwapi \
314 crypt32 \
315 bcrypt \
318 endef
319 define gb_ExternalProject__use_mariadb-connector-c
320 $(call gb_ExternalProject_use_static_libraries,$(1),mariadb-connector-c)
322 endef
324 endif # SYSTEM_MARIADB_CONNECTOR_C
327 ifneq ($(SYSTEM_MARIADB_CONNECTOR_C),)
329 define gb_LinkTarget__use_mysql
331 $(call gb_LinkTarget_add_defs,$(1),\
332 -DSYSTEM_MARIADB \
335 $(call gb_LinkTarget_add_libs,$(1),\
336 $(MARIADB_LIBS) \
339 $(call gb_LinkTarget_set_include,$(1),\
340 $(MARIADB_CFLAGS) \
341 $$(INCLUDE) \
343 endef
345 else
347 define gb_LinkTarget__use_mysql
349 $(call gb_LinkTarget_set_include,$(1),\
350 $$(INCLUDE) \
353 endef
355 endif
357 ifneq ($(SYSTEM_ZLIB),)
359 define gb_LinkTarget__use_zlib
360 $(call gb_LinkTarget_add_defs,$(1),\
361 -DSYSTEM_ZLIB \
362 -DZLIB_CONST \
364 $(call gb_LinkTarget_add_libs,$(1),-lz)
366 endef
368 # nothing on system
369 define gb_LinkTarget__use_zlib_x64
371 endef
373 gb_ExternalProject__use_zlib :=
375 else # !SYSTEM_ZLIB
377 define gb_LinkTarget__use_zlib_multiarch
378 $(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
380 $(call gb_LinkTarget_add_defs,$(1), \
381 -DZLIB_CONST \
384 $(call gb_LinkTarget_set_include,$(1),\
385 $(ZLIB_CFLAGS) \
386 $$(INCLUDE) \
389 $(call gb_LinkTarget_use_static_libraries,$(1),\
390 $(2) \
393 endef
395 define gb_LinkTarget__use_zlib
396 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
398 endef
400 define gb_LinkTarget__use_zlib_x64
401 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
403 endef
405 define gb_ExternalProject__use_zlib
406 $(call gb_ExternalProject_use_static_libraries,$(1),zlib)
408 endef
410 endif # SYSTEM_ZLIB
413 ifneq ($(SYSTEM_LIBJPEG),)
415 define gb_LinkTarget__use_libjpeg
416 $(call gb_LinkTarget_set_include,$(1),\
417 $$(INCLUDE) \
418 $(LIBJPEG_CFLAGS) \
420 $(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
421 $(call gb_LinkTarget_set_ldflags,$(1),\
422 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
425 endef
427 gb_ExternalProject__use_libjpeg :=
429 else
431 define gb_LinkTarget__use_libjpeg
432 $(call gb_LinkTarget_set_include,$(1),\
433 -I$(call gb_UnpackedTarball_get_dir,libjpeg-turbo) \
434 $$(INCLUDE) \
436 $(call gb_LinkTarget_use_static_libraries,$(1),libjpeg-turbo)
438 endef
440 define gb_ExternalProject__use_libjpeg
441 $(call gb_ExternalProject_use_static_libraries,$(1),libjpeg-turbo)
443 endef
445 endif # SYSTEM_LIBJPEG
447 ifneq ($(SYSTEM_MYTHES),)
449 define gb_LinkTarget__use_mythes
450 $(call gb_LinkTarget_set_include,$(1),\
451 $$(INCLUDE) \
452 $(MYTHES_CFLAGS) \
454 $(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
456 endef
458 else # !SYSTEM_MYTHES
460 define gb_LinkTarget__use_mythes
461 $(call gb_LinkTarget_set_include,$(1),\
462 -I$(call gb_UnpackedTarball_get_dir,mythes) \
463 $$(INCLUDE) \
466 ifeq ($(COM),MSC)
467 $(call gb_LinkTarget_use_static_libraries,$(1),\
468 mythes \
470 else
471 $(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
472 $(call gb_LinkTarget_use_external_project,$(1),mythes)
473 endif
475 endef
477 endif # SYSTEM_MYTHES
480 ifneq ($(SYSTEM_EXPAT),)
482 define gb_LinkTarget__use_expat_impl
483 $(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
485 $(call gb_LinkTarget_add_defs,$(1),\
486 -DSYSTEM_EXPAT \
489 $(call gb_LinkTarget_add_libs,$(1),-lexpat)
491 endef
493 gb_ExternalProject__use_expat :=
495 else # !SYSTEM_EXPAT
497 define gb_LinkTarget__use_expat_impl
498 $(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
500 $(call gb_LinkTarget_set_include,$(1),\
501 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
502 $$(INCLUDE) \
505 $(call gb_LinkTarget_use_static_libraries,$(1),\
506 $(2) \
509 endef
511 define gb_ExternalProject__use_expat
512 $(call gb_ExternalProject_use_static_libraries,$(1),expat)
514 endef
516 endif # SYSTEM_EXPAT
518 define gb_LinkTarget__use_expat
519 $(call gb_LinkTarget__use_expat_impl,$(1),expat)
521 endef
523 define gb_LinkTarget__use_expat_x64
524 $(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
526 endef
528 ifneq ($(SYSTEM_HYPH),)
530 define gb_LinkTarget__use_hyphen
531 $(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
533 endef
535 else # !SYSTEM_HYPH
537 define gb_LinkTarget__use_hyphen
538 $(call gb_LinkTarget_use_unpacked,$(1),hyphen)
539 $(call gb_LinkTarget_set_include,$(1),\
540 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
541 $$(INCLUDE) \
544 ifeq ($(COM),MSC)
545 $(call gb_LinkTarget_use_static_libraries,$(1),\
546 hyphen \
548 else
549 $(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
550 $(call gb_LinkTarget_use_external_project,$(1),hyphen)
551 endif
553 endef
555 endif # SYSTEM_HYPH
557 ifneq ($(SYSTEM_HUNSPELL),)
559 define gb_LinkTarget__use_hunspell
560 $(call gb_LinkTarget_set_include,$(1),\
561 $$(INCLUDE) \
562 $(HUNSPELL_CFLAGS) \
564 $(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
566 endef
568 gb_ExternalProject__use_hunspell :=
570 else # !SYSTEM_HUNSPELL
571 ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
573 define gb_LinkTarget__use_hunspell
574 $(call gb_LinkTarget_add_defs,$(1),\
575 -DHUNSPELL_STATIC \
577 $(call gb_LinkTarget_use_unpacked,$(1),hunspell)
578 $(call gb_LinkTarget_set_include,$(1),\
579 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
580 $$(INCLUDE) \
583 ifeq ($(COM),MSC)
584 $(call gb_LinkTarget_use_static_libraries,$(1),\
585 hunspell \
587 else
588 $(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
589 $(call gb_LinkTarget_use_external_project,$(1),hunspell)
590 endif
592 endef
594 define gb_ExternalProject__use_hunspell
595 $(call gb_ExternalProject_use_external_project,$(1),hunspell)
597 endef
599 endif # ENABLE_WASM_STRIP_HUNSPELL
600 endif # SYSTEM_HUNSPELL
603 ifneq ($(SYSTEM_BOOST),)
605 define gb_LinkTarget__use_boost_lib
606 $(call gb_LinkTarget_set_include,$(1),\
607 $$(INCLUDE) \
608 $(BOOST_CPPFLAGS) \
611 $(call gb_LinkTarget_add_ldflags,$(1),\
612 $(BOOST_LDFLAGS) \
615 $(call gb_LinkTarget_add_libs,$(1),$(2))
617 endef
619 define gb_LinkTarget__use_boost_locale
620 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_LOCALE_LIB))
622 endef
624 define gb_LinkTarget__use_boost_date_time
625 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_DATE_TIME_LIB))
627 endef
629 define gb_LinkTarget__use_boost_filesystem
630 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
632 endef
634 gb_ExternalProject__use_boost_filesystem :=
636 define gb_LinkTarget__use_boost_iostreams
637 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_IOSTREAMS_LIB))
639 endef
641 gb_ExternalProject__use_boost_iostreams :=
643 define gb_LinkTarget__use_boost_system
644 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_SYSTEM_LIB))
646 endef
648 gb_ExternalProject__use_boost_system :=
650 define gb_LinkTarget__use_boost_headers
651 $(call gb_LinkTarget_set_include,$(1),\
652 $$(INCLUDE) \
653 $(BOOST_CPPFLAGS) \
656 endef
658 gb_ExternalProject__use_boost_headers:=
660 else # !SYSTEM_BOOST
662 define gb_LinkTarget__use_boost_lib
663 $(call gb_LinkTarget_add_defs,$(1),\
664 -DBOOST_ALL_NO_LIB \
667 $(call gb_LinkTarget_use_static_libraries,$(1),$(2))
669 endef
671 define gb_LinkTarget__use_boost_locale
672 $(call gb_LinkTarget__use_boost_lib,$(1),boost_locale)
673 $(call gb_LinkTarget_add_libs,$(1),\
674 $(if $(filter $(OS),MACOSX),-liconv) \
677 endef
679 define gb_LinkTarget__use_boost_date_time
680 $(call gb_LinkTarget__use_boost_lib,$(1),boost_date_time)
682 endef
684 define gb_LinkTarget__use_boost_filesystem
685 $(call gb_LinkTarget__use_boost_lib,$(1),boost_filesystem)
687 endef
689 define gb_ExternalProject__use_boost_filesystem
690 $(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
691 endef
693 define gb_LinkTarget__use_boost_iostreams
694 $(call gb_LinkTarget__use_boost_lib,$(1),boost_iostreams)
696 endef
698 define gb_ExternalProject__use_boost_iostreams
699 $(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
700 endef
702 define gb_LinkTarget__use_boost_system
703 $(call gb_LinkTarget__use_boost_lib,$(1),boost_system)
705 endef
707 define gb_ExternalProject__use_boost_system
708 $(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
709 endef
711 define gb_LinkTarget__use_boost_headers
712 $(call gb_LinkTarget_use_unpacked,$(1),boost)
713 $(call gb_LinkTarget_set_include,$(1),\
714 $(BOOST_CPPFLAGS) \
715 $$(INCLUDE) \
718 endef
720 define gb_ExternalProject__use_boost_headers
721 $(call gb_ExternalProject_use_unpacked,$(1),boost)
723 endef
725 endif # SYSTEM_BOOST
728 ifneq ($(SYSTEM_LIBCMIS),)
730 define gb_LinkTarget__use_libcmis
731 $(call gb_LinkTarget_set_include,$(1),\
732 $$(INCLUDE) \
733 $(LIBCMIS_CFLAGS) \
735 $(call gb_LinkTarget_add_libs,$(1),$(LIBCMIS_LIBS))
737 endef
739 else # !SYSTEM_LIBCMIS
741 define gb_LinkTarget__use_libcmis
742 $(call gb_LinkTarget_set_include,$(1),\
743 -I$(call gb_UnpackedTarball_get_dir,libcmis)/inc \
744 $$(INCLUDE) \
746 $(call gb_LinkTarget_use_static_libraries,$(1),\
747 libcmis \
750 endef
752 endif # SYSTEM_LIBCMIS
754 ifeq ($(ENABLE_JAVA),TRUE)
756 define gb_LinkTarget__use_jawt
757 $(call gb_LinkTarget_add_libs,$(1),\
758 $(JAWTLIB) \
761 endef
763 else # !ENABLE_JAVA
765 gb_LinkTarget__use_jawt :=
767 endif # ENABLE_JAVA
769 ifneq ($(SYSTEM_LIBATOMIC_OPS),)
771 define gb_LinkTarget__use_libatomic_ops
772 $(call gb_LinkTarget_set_include,$(1),\
773 $$(INCLUDE) \
774 $(LIBATOMIC_OPS_CFLAGS) \
776 $(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
778 endef
779 gb_ExternalProject__use_libatomic_ops :=
781 else # !SYSTEM_LIBATOMIC_OPS
783 define gb_LinkTarget__use_libatomic_ops
784 $(call gb_LinkTarget_set_include,$(1),\
785 $(LIBATOMIC_OPS_CFLAGS) \
786 $$(INCLUDE) \
787 $(LIBATOMIC_OPS_CFLAGS) \
789 $(call gb_LinkTarget_use_external_project,$(1),\
790 libatomic_ops \
793 $(call gb_LinkTarget_add_libs,$(1),\
794 -L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src/lib -latomic_ops \
797 endef
799 define gb_ExternalProject__use_libatomic_ops
800 $(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
802 endef
804 endif # SYSTEM_LIBATOMIC_OPS
807 ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
809 define gb_LinkTarget__use_libexttextcat
810 $(call gb_LinkTarget_set_include,$(1),\
811 $$(INCLUDE) \
812 $(LIBEXTTEXTCAT_CFLAGS) \
814 $(call gb_LinkTarget_add_defs,$(1),\
815 -DSYSTEM_LIBEXTTEXTCAT \
817 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
819 endef
821 else # !SYSTEM_LIBEXTTEXTCAT
823 define gb_LinkTarget__use_libexttextcat
824 $(call gb_LinkTarget_set_include,$(1),\
825 -I$(call gb_UnpackedTarball_get_dir,libexttextcat/src) \
826 $$(INCLUDE) \
829 ifeq ($(COM),MSC)
830 $(call gb_LinkTarget_use_static_libraries,$(1),\
831 libexttextcat \
833 else
834 $(call gb_LinkTarget_add_libs,$(1),\
835 $(call gb_UnpackedTarball_get_dir,libexttextcat)/src/.libs/libexttextcat-2.0.a\
837 $(call gb_LinkTarget_use_external_project,$(1),libexttextcat)
838 endif
841 endef
843 endif # SYSTEM_LIBEXTTEXTCAT
846 ifneq ($(SYSTEM_LIBNUMBERTEXT),)
848 define gb_LinkTarget__use_libnumbertext
849 $(call gb_LinkTarget_set_include,$(1),\
850 $$(INCLUDE) \
851 $(LIBNUMBERTEXT_CFLAGS) \
853 $(call gb_LinkTarget_add_defs,$(1),\
854 -DSYSTEM_LIBNUMBERTEXT \
856 $(call gb_LinkTarget_add_libs,$(1),$(LIBNUMBERTEXT_LIBS))
858 endef
860 else # !SYSTEM_LIBNUMBERTEXT
862 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
863 libnumbertext_numbertext \
866 define gb_LinkTarget__use_libnumbertext
867 $(call gb_LinkTarget_use_package,$(1),libnumbertext_numbertext)
868 $(call gb_LinkTarget_set_include,$(1),\
869 -I$(call gb_UnpackedTarball_get_dir,libnumbertext/src) \
870 $$(INCLUDE) \
873 ifeq ($(COM),MSC)
874 $(call gb_LinkTarget_use_static_libraries,$(1),\
875 libnumbertext \
877 else
879 $(call gb_LinkTarget_add_libs,$(1),\
880 $(call gb_UnpackedTarball_get_dir,libnumbertext)/src/.libs/libnumbertext-1.0.a\
882 $(call gb_LinkTarget_use_external_project,$(1),libnumbertext,full)
884 endif
886 endef
888 endif # SYSTEM_LIBNUMBERTEXT
891 ifneq ($(SYSTEM_LIBXML),)
893 define gb_LinkTarget__use_libxml2
894 $(call gb_LinkTarget_add_defs,$(1),\
895 -DSYSTEM_LIBXML \
897 $(call gb_LinkTarget_set_include,$(1),\
898 $$(INCLUDE) \
899 $(LIBXML_CFLAGS) \
901 $(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
903 endef
904 gb_ExternalProject__use_libxml2:=
906 else # !SYSTEM_LIBXML
908 $(eval $(call gb_Helper_register_packages_for_install,ure,\
909 libxml2 \
912 define gb_LinkTarget__use_libxml2
913 $(call gb_LinkTarget_use_package,$(1),libxml2)
914 $(call gb_LinkTarget_set_include,$(1),\
915 $$(INCLUDE) \
916 $(LIBXML_CFLAGS) \
919 $(call gb_LinkTarget_add_libs,$(1),\
920 $(LIBXML_LIBS) \
923 ifeq ($(COM),MSC)
924 $(call gb_LinkTarget_use_external,$(1),icu_headers)
925 endif
927 endef
928 define gb_ExternalProject__use_libxml2
929 $(call gb_ExternalProject_use_package,$(1),libxml2)
931 ifeq ($(COM),MSC)
932 $(call gb_ExternalProject_use_packages,$(1),icu icu_ure)
933 endif
935 endef
937 endif # SYSTEM_LIBXML
940 ifneq ($(SYSTEM_LIBXSLT),)
942 define gb_LinkTarget__use_libxslt
943 $(call gb_LinkTarget_set_include,$(1),\
944 $$(INCLUDE) \
945 $(LIBXSLT_CFLAGS) \
947 $(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
949 endef
951 define gb_LinkTarget__use_libexslt
952 $(call gb_LinkTarget_set_include,$(1),\
953 $$(INCLUDE) \
954 $(LIBEXSLT_CFLAGS) \
957 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
959 endef
961 else # !SYSTEM_LIBXSLT
963 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
964 libxslt \
967 define gb_LinkTarget__use_libxslt
968 $(call gb_LinkTarget_use_package,$(1),libxslt)
969 $(call gb_LinkTarget_set_include,$(1),\
970 $$(INCLUDE) \
971 -I$(call gb_UnpackedTarball_get_dir,libxslt) \
974 ifeq ($(COM),MSC)
975 $(call gb_LinkTarget_add_libs,$(1),\
976 $(call gb_UnpackedTarball_get_dir,libxslt)/win32/bin.msvc/libxslt.lib \
978 else
979 $(call gb_LinkTarget_add_libs,$(1),\
980 -L$(call gb_UnpackedTarball_get_dir,libxslt)/libxslt/.libs -lxslt \
982 endif
984 endef
986 define gb_LinkTarget__use_libexslt
987 $(call gb_LinkTarget_use_package,$(1),libxslt)
988 $(call gb_LinkTarget_set_include,$(1),\
989 $$(INCLUDE) \
990 -I$(call gb_UnpackedTarball_get_dir,libxslt) \
993 ifeq ($(COM),MSC)
994 $(call gb_LinkTarget_add_libs,$(1),\
995 $(call gb_UnpackedTarball_get_dir,libxslt)/win32/bin.msvc/libexslt.lib \
997 else
998 $(call gb_LinkTarget_add_libs,$(1),\
999 -L$(call gb_UnpackedTarball_get_dir,libxslt)/libexslt/.libs -lexslt \
1001 endif
1003 endef
1005 endif # SYSTEM_LIBXSLT
1008 ifneq ($(SYSTEM_XMLSEC),)
1010 define gb_LinkTarget__use_xmlsec
1011 $(call gb_LinkTarget_add_defs,$(1),\
1012 -DSYSTEM_XMLSEC \
1014 $(call gb_LinkTarget_set_include,$(1),\
1015 $$(INCLUDE) \
1016 $(XMLSEC_CFLAGS) \
1018 $(call gb_LinkTarget_add_libs,$(1),$(XMLSEC_LIBS))
1020 endef
1022 gb_ExternalProject__use_xmlsec:=
1024 else # !SYSTEM_XMLSEC
1026 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
1027 xmlsec \
1030 define gb_LinkTarget__use_xmlsec
1032 endef
1034 endif # SYSTEM_XMLSEC
1036 ifneq ($(SYSTEM_LIBLANGTAG),)
1038 define gb_LinkTarget__use_liblangtag
1039 $(call gb_LinkTarget_set_include,$(1),\
1040 $$(INCLUDE) \
1041 $(LIBLANGTAG_CFLAGS) \
1044 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1046 endef
1048 gb_ExternalProject__use_liblangtag :=
1050 else # !SYSTEM_LIBLANGTAG
1052 $(eval $(call gb_Helper_register_packages_for_install,ure,\
1053 liblangtag_data \
1056 ifeq ($(COM),MSC)
1058 define gb_LinkTarget__use_liblangtag
1059 $(call gb_LinkTarget_set_include,$(1),\
1060 $(LIBLANGTAG_CFLAGS) \
1061 $$(INCLUDE) \
1063 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1064 $(call gb_LinkTarget_use_external_project,$(1),liblangtag)
1066 endef
1068 else
1070 $(eval $(call gb_Helper_register_packages_for_install,ure,\
1071 liblangtag \
1074 define gb_LinkTarget__use_liblangtag
1075 $(call gb_LinkTarget_set_include,$(1),\
1076 $(LIBLANGTAG_CFLAGS) \
1077 $$(INCLUDE) \
1079 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
1080 $(call gb_LinkTarget_use_package,$(1),liblangtag)
1082 endef
1084 endif # MSC
1086 define gb_ExternalProject__use_liblangtag
1087 $(call gb_ExternalProject_use_external_project,$(1),liblangtag)
1089 endef
1091 endif # SYSTEM_LIBLANGTAG
1094 ifneq ($(SYSTEM_REDLAND),)
1096 define gb_LinkTarget__use_librdf
1097 $(call gb_LinkTarget_add_defs,$(1),\
1098 -DSYSTEM_REDLAND \
1100 $(call gb_LinkTarget_set_include,$(1),\
1101 $$(INCLUDE) \
1102 $(REDLAND_CFLAGS) \
1104 $(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
1106 endef
1108 gb_LinkTarget__use_redland_headers:=
1110 gb_LinkTarget__use_raptor_headers:=
1112 gb_LinkTarget__use_rasqal_headers:=
1114 else # !SYSTEM_REDLAND
1116 define gb_LinkTarget__use_redland_headers
1117 $(call gb_LinkTarget_set_include,$(1),\
1118 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
1119 $$(INCLUDE) \
1122 endef
1124 define gb_LinkTarget__use_raptor_headers
1125 $(call gb_LinkTarget_set_include,$(1),\
1126 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
1127 $$(INCLUDE) \
1130 endef
1132 define gb_LinkTarget__use_rasqal_headers
1133 $(call gb_LinkTarget_set_include,$(1),\
1134 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
1135 $$(INCLUDE) \
1138 endef
1140 ifneq ($(OS),ANDROID)
1142 ifeq ($(COM),MSC)
1143 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
1144 raptor2 \
1145 rasqal \
1146 rdf \
1148 else
1149 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1150 raptor \
1151 rasqal \
1152 redland \
1154 endif
1156 define gb_LinkTarget__use_librdf
1157 ifeq ($(COM),MSC)
1158 $(call gb_LinkTarget_use_libraries,$(1),\
1159 raptor2 \
1160 rdf \
1162 else
1163 $(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
1165 $(call gb_LinkTarget_add_libs,$(1),\
1166 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
1167 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1168 -L$(call gb_UnpackedTarball_get_dir,rasqal)/src/.libs -lrasqal \
1170 endif
1172 endef
1174 else # ANDROID
1176 define gb_LinkTarget__use_librdf
1177 $(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
1179 endef
1181 endif # ANDROID
1183 endif # SYSTEM_REDLAND
1185 ifneq ($(SYSTEM_CAIRO),)
1187 define gb_LinkTarget__use_cairo
1188 $(call gb_LinkTarget_set_include,$(1),\
1189 $$(INCLUDE) \
1190 $(CAIRO_CFLAGS) \
1192 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1193 $(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
1195 endef
1197 else # !SYSTEM_CAIRO
1199 ifneq ($(filter-out MACOSX WNT,$(OS)),)
1201 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
1202 cairo \
1203 pixman \
1206 define gb_LinkTarget__use_cairo
1207 $(call gb_LinkTarget_use_package,$(1),cairo)
1208 $(call gb_LinkTarget_use_package,$(1),pixman)
1209 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1210 $(call gb_LinkTarget_set_include,$(1),\
1211 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1212 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1213 -I$(call gb_UnpackedTarball_get_dir,pixman)/pixman \
1214 $$(INCLUDE) \
1216 $(call gb_LinkTarget_add_libs,$(1),\
1217 $(if $(filter EMSCRIPTEN,$(OS)), \
1218 $(call gb_UnpackedTarball_get_dir,cairo)/src/.libs/libcairo.a \
1219 $(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs/libpixman-1.a, \
1220 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1221 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1) \
1224 endef
1226 endif # !MACOSX, !WNT
1228 endif # !SYSTEM_CAIRO
1230 ifneq ($(SYSTEM_FREETYPE),)
1232 define gb_LinkTarget__use_freetype_headers
1233 $(call gb_LinkTarget_set_include,$(1),\
1234 $$(INCLUDE) \
1235 $(FREETYPE_CFLAGS) \
1238 endef
1240 gb_ExternalProject__use_freetype :=
1242 else
1244 define gb_LinkTarget__use_freetype_headers
1245 $(call gb_LinkTarget_use_external_project,$(1),freetype)
1246 $(call gb_LinkTarget_set_include,$(1),\
1247 $(FREETYPE_CFLAGS) \
1248 $$(INCLUDE) \
1251 endef
1253 define gb_ExternalProject__use_freetype
1254 $(call gb_ExternalProject_use_external_project,$(1),freetype)
1256 endef
1258 endif # SYSTEM_FREETYPE
1260 define gb_LinkTarget__use_freetype
1261 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1262 $(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1264 endef
1266 ifneq ($(SYSTEM_FONTCONFIG),)
1268 define gb_LinkTarget__use_fontconfig
1269 $(call gb_LinkTarget_set_include,$(1),\
1270 $$(INCLUDE) \
1271 $(FONTCONFIG_CFLAGS) \
1274 $(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1276 endef
1278 ifeq ($(OS),EMSCRIPTEN)
1279 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
1280 libfontconfig_data \
1282 endif
1284 gb_ExternalProject__use_fontconfig :=
1286 else # SYSTEM_FONTCONFIG
1288 ifneq ($(filter-out MACOSX WNT,$(OS)),)
1290 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
1291 fontconfig \
1294 endif
1296 define gb_LinkTarget__use_fontconfig
1297 ifeq ($(OS),LINUX)
1298 $(call gb_LinkTarget_use_package,$(1),fontconfig)
1299 else
1300 $(call gb_LinkTarget_use_external_project,$(1),fontconfig)
1301 endif
1302 $(call gb_LinkTarget_set_include,$(1),\
1303 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1304 $$(INCLUDE) \
1307 $(call gb_LinkTarget_add_libs,$(1),\
1308 -L$(call gb_UnpackedTarball_get_dir,fontconfig)/src/.libs -lfontconfig \
1311 endef
1313 define gb_ExternalProject__use_fontconfig
1314 $(call gb_ExternalProject_use_external_project,$(1),fontconfig)
1316 endef
1318 endif # SYSTEM_FONTCONFIG
1320 ifneq ($(SYSTEM_GRAPHITE),)
1322 define gb_LinkTarget__use_graphite
1323 $(call gb_LinkTarget_set_include,$(1),\
1324 $$(INCLUDE) \
1325 $(GRAPHITE_CFLAGS) \
1327 $(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
1329 endef
1331 gb_ExternalProject__use_graphite:=
1333 else # !SYSTEM_GRAPHITE
1335 define gb_LinkTarget__use_graphite
1336 $(call gb_LinkTarget_use_unpacked,$(1),graphite)
1337 $(call gb_LinkTarget_set_include,$(1),\
1338 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
1339 $$(INCLUDE) \
1341 $(call gb_LinkTarget_use_static_libraries,$(1),\
1342 graphite \
1345 endef
1347 define gb_ExternalProject__use_graphite
1348 $(call gb_ExternalProject_use_static_libraries,$(1),\
1349 graphite \
1352 endef
1353 endif # SYSTEM_GRAPHITE
1355 ifneq ($(SYSTEM_ICU),)
1357 gb_LinkTarget__use_icu_headers:=
1358 gb_ExternalProject__use_icu:=
1360 define gb_LinkTarget__use_icudata
1361 $(call gb_LinkTarget_add_libs,$(1),-licudata)
1363 endef
1364 define gb_LinkTarget__use_icui18n
1365 $(call gb_LinkTarget_add_libs,$(1),-licui18n)
1367 endef
1368 define gb_LinkTarget__use_icuuc
1369 $(call gb_LinkTarget_add_libs,$(1),-licuuc)
1371 endef
1373 else # !SYSTEM_ICU
1375 $(eval $(call gb_Helper_register_packages_for_install,ure, \
1376 icu_ure \
1379 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1380 icu \
1383 ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
1384 gb_ICU_suffix:=lo
1385 else
1386 gb_ICU_suffix:=
1387 endif
1389 define gb_LinkTarget__use_icu_headers
1390 $(call gb_LinkTarget_use_unpacked,$(1),icu)
1391 $(call gb_LinkTarget_set_include,$(1),\
1392 -I$(call gb_UnpackedTarball_get_dir,icu)/source \
1393 -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
1394 -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
1395 $$(INCLUDE) \
1398 endef
1400 define gb_ExternalProject__use_icu
1401 $(call gb_ExternalProject_use_package,$(1),icu)
1403 endef
1405 # icudata and icui18n is called icudt and icuin when built with MSVC :-/
1406 define gb_LinkTarget__use_icudata
1407 $(call gb_LinkTarget_use_package,$(1),icu_ure)
1409 ifeq ($(OS),WNT)
1410 $(call gb_LinkTarget_add_libs,$(1),\
1411 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1413 else
1414 $(call gb_LinkTarget_add_libs,$(1),\
1415 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licudata$(gb_ICU_suffix) \
1417 endif
1419 endef
1421 define gb_LinkTarget__use_icui18n
1422 $(call gb_LinkTarget_use_package,$(1),icu)
1424 ifeq ($(OS),WNT)
1425 $(call gb_LinkTarget_add_libs,$(1),\
1426 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1428 else
1429 $(call gb_LinkTarget_add_libs,$(1),\
1430 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licui18n$(gb_ICU_suffix) \
1432 endif
1434 endef
1436 define gb_LinkTarget__use_icuuc
1437 $(call gb_LinkTarget_use_package,$(1),icu_ure)
1439 ifeq ($(OS),WNT)
1440 $(call gb_LinkTarget_add_libs,$(1),\
1441 $(call gb_UnpackedTarball_get_dir,icu)/source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d).lib \
1443 else
1444 $(call gb_LinkTarget_add_libs,$(1),\
1445 -L$(call gb_UnpackedTarball_get_dir,icu)/source/lib -licuuc$(gb_ICU_suffix) \
1447 endif
1449 endef
1451 endif # SYSTEM_ICU
1453 ifneq ($(SYSTEM_HARFBUZZ),)
1455 define gb_LinkTarget__use_harfbuzz
1456 $(call gb_LinkTarget_set_include,$(1),\
1457 $$(INCLUDE) \
1458 $(HARFBUZZ_CFLAGS) \
1460 $(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1462 endef
1464 gb_ExternalProject__use_harfbuzz :=
1466 else # SYSTEM_HARFBUZZ != TRUE
1468 define gb_LinkTarget__use_harfbuzz
1469 $(call gb_LinkTarget_set_include,$(1),\
1470 $(HARFBUZZ_CFLAGS) \
1471 $$(INCLUDE) \
1473 $(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
1474 $(call gb_LinkTarget_use_external,$(1),icuuc)
1475 $(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
1477 endef
1479 define gb_ExternalProject__use_harfbuzz
1480 $(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1482 endef
1484 endif # SYSTEM_HARFBUZZ
1486 ifneq ($(ENABLE_OPENSSL),TRUE)
1488 gb_ExternalProject__use_openssl:=
1489 gb_LinkTarget__use_openssl_headers:=
1490 gb_LinkTarget__use_openssl:=
1492 else # ENABLE_OPENSSL
1494 ifneq ($(SYSTEM_OPENSSL),)
1496 gb_LinkTarget__use_openssl_headers:=
1497 gb_ExternalProject__use_openssl:=
1499 define gb_LinkTarget__use_openssl
1500 $(call gb_LinkTarget_set_include,$(1),\
1501 $$(INCLUDE) \
1502 $(OPENSSL_CFLAGS) \
1504 $(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
1506 endef
1508 else # !SYSTEM_OPENSSL
1510 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1511 openssl \
1514 define gb_ExternalProject__use_openssl
1515 $(call gb_ExternalProject_use_package,$(1),openssl)
1517 endef
1519 define gb_LinkTarget__use_openssl_headers
1520 $(call gb_LinkTarget_use_external_project,$(1),openssl,full)
1521 $(call gb_LinkTarget_set_include,$(1),\
1522 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
1523 $$(INCLUDE) \
1526 endef
1528 define gb_LinkTarget__use_openssl
1529 $(call gb_LinkTarget_use_package,$(1),openssl)
1530 ifeq ($(OS),WNT)
1531 $(call gb_LinkTarget_add_libs,$(1),\
1532 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.lib \
1533 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.lib \
1535 else
1536 $(call gb_LinkTarget_add_libs,$(1),\
1537 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1538 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
1539 $(if $(filter $(OS),LINUX),-pthread) \
1541 $(call gb_LinkTarget_use_external_project,$(1),openssl)
1542 ifeq ($(OS),SOLARIS)
1543 $(call gb_LinkTarget_add_libs,$(1),\
1544 -lnsl \
1545 -lsocket \
1547 endif
1548 endif
1550 endef
1552 endif # SYSTEM_OPENSSL
1553 endif # ENABLE_OPENSSL
1556 ifneq ($(SYSTEM_CDR),)
1558 define gb_LinkTarget__use_cdr
1559 $(call gb_LinkTarget_set_include,$(1),\
1560 $$(INCLUDE) \
1561 $(CDR_CFLAGS) \
1563 $(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1565 endef
1567 else # !SYSTEM_CDR
1569 define gb_LinkTarget__use_cdr
1570 $(call gb_LinkTarget_set_include,$(1),\
1571 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1572 $$(INCLUDE) \
1574 $(call gb_LinkTarget_add_libs,$(1),\
1575 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
1577 $(call gb_LinkTarget_use_external_project,$(1),libcdr)
1578 endef
1580 endif # SYSTEM_CDR
1583 ifneq ($(SYSTEM_EBOOK),)
1585 define gb_LinkTarget__use_ebook
1586 $(call gb_LinkTarget_set_include,$(1),\
1587 $$(INCLUDE) \
1588 $(EBOOK_CFLAGS) \
1590 $(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1592 endef
1594 gb_ExternalProject__use_ebook :=
1596 else # !SYSTEM_EBOOK
1598 define gb_LinkTarget__use_ebook
1599 $(call gb_LinkTarget_set_include,$(1),\
1600 -I${WORKDIR}/UnpackedTarball/libebook/inc \
1601 $$(INCLUDE) \
1603 $(call gb_LinkTarget_add_libs,$(1),\
1604 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
1606 $(call gb_LinkTarget_use_external_project,$(1),libebook)
1608 endef
1610 define gb_ExternalProject__use_ebook
1611 $(call gb_ExternalProject_use_external_project,$(1),libebook)
1613 endef
1615 endif # SYSTEM_EBOOK
1618 ifneq ($(SYSTEM_ETONYEK),)
1620 define gb_LinkTarget__use_etonyek
1621 $(call gb_LinkTarget_set_include,$(1),\
1622 $$(INCLUDE) \
1623 $(ETONYEK_CFLAGS) \
1625 $(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1627 endef
1629 gb_ExternalProject__use_etonyek :=
1631 else # !SYSTEM_ETONYEK
1633 ifeq ($(COM),MSC)
1635 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1636 etonyek \
1639 define gb_LinkTarget__use_etonyek
1640 $(call gb_LinkTarget_set_include,$(1),\
1641 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1642 $$(INCLUDE) \
1644 $(call gb_LinkTarget_use_libraries,$(1),\
1645 etonyek \
1648 endef
1650 else # !MSC
1652 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1653 libetonyek \
1656 define gb_LinkTarget__use_etonyek
1657 $(call gb_LinkTarget_use_package,$(1),libetonyek)
1659 $(call gb_LinkTarget_set_include,$(1),\
1660 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
1661 -DLIBETONYEK_VISIBILITY \
1662 $$(INCLUDE) \
1664 $(call gb_LinkTarget_add_libs,$(1),\
1665 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
1667 $(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1669 endef
1671 define gb_ExternalProject__use_etonyek
1672 $(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1674 endef
1676 endif
1678 endif # SYSTEM_ETONYEK
1681 ifneq ($(SYSTEM_FREEHAND),)
1683 define gb_LinkTarget__use_freehand
1684 $(call gb_LinkTarget_set_include,$(1),\
1685 $$(INCLUDE) \
1686 $(FREEHAND_CFLAGS) \
1688 $(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1690 endef
1692 gb_ExternalProject__use_freehand :=
1694 else # !SYSTEM_FREEHAND
1696 define gb_LinkTarget__use_freehand
1697 $(call gb_LinkTarget_set_include,$(1),\
1698 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
1699 $$(INCLUDE) \
1701 $(call gb_LinkTarget_add_libs,$(1),\
1702 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
1704 $(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1706 endef
1708 define gb_ExternalProject__use_freehand
1709 $(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1711 endef
1713 endif # SYSTEM_FREEHAND
1716 ifneq ($(SYSTEM_ODFGEN),)
1718 define gb_LinkTarget__use_odfgen
1719 $(call gb_LinkTarget_set_include,$(1),\
1720 $$(INCLUDE) \
1721 $(ODFGEN_CFLAGS) \
1723 $(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1725 endef
1727 else # !SYSTEM_ODFGEN
1729 ifeq ($(COM),MSC)
1731 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1732 odfgen \
1735 define gb_LinkTarget__use_odfgen
1736 $(call gb_LinkTarget_set_include,$(1),\
1737 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1738 $$(INCLUDE) \
1740 $(call gb_LinkTarget_use_libraries,$(1),\
1741 odfgen \
1744 endef
1746 else # !MSC
1748 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1749 libodfgen \
1752 define gb_LinkTarget__use_odfgen
1753 $(call gb_LinkTarget_use_package,$(1),libodfgen)
1755 $(call gb_LinkTarget_set_include,$(1),\
1756 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1757 -DLIBODFGEN_VISIBILITY \
1758 $$(INCLUDE) \
1760 $(call gb_LinkTarget_add_libs,$(1),\
1761 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
1764 endef
1766 endif
1768 endif # SYSTEM_ODFGEN
1770 ifneq ($(SYSTEM_EPUBGEN),)
1772 define gb_LinkTarget__use_epubgen
1773 $(call gb_LinkTarget_set_include,$(1),\
1774 $$(INCLUDE) \
1775 $(EPUBGEN_CFLAGS) \
1777 $(call gb_LinkTarget_add_libs,$(1),$(EPUBGEN_LIBS))
1779 endef
1780 gb_ExternalProject__use_epubgen :=
1782 else # !SYSTEM_EPUBGEN
1783 ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
1785 define gb_LinkTarget__use_epubgen
1786 $(call gb_LinkTarget_set_include,$(1),\
1787 -I$(call gb_UnpackedTarball_get_dir,libepubgen)/inc \
1788 $$(INCLUDE) \
1790 $(call gb_LinkTarget_add_libs,$(1),\
1791 $(call gb_UnpackedTarball_get_dir,libepubgen)/src/lib/.libs/libepubgen-0.1$(gb_StaticLibrary_PLAINEXT) \
1793 $(call gb_LinkTarget_use_external_project,$(1),libepubgen)
1795 endef
1796 define gb_ExternalProject__use_epubgen
1797 $(call gb_ExternalProject_use_external_project,$(1),libepubgen)
1799 endef
1801 endif # ENABLE_WASM_STRIP_EPUB
1802 endif # SYSTEM_EPUBGEN
1804 ifneq ($(SYSTEM_REVENGE),)
1806 define gb_LinkTarget__use_revenge
1807 $(call gb_LinkTarget_set_include,$(1),\
1808 $$(INCLUDE) \
1809 $(REVENGE_CFLAGS) \
1811 $(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1813 endef
1815 gb_ExternalProject__use_revenge :=
1817 else # !SYSTEM_REVENGE
1819 ifeq ($(COM),MSC)
1821 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1822 revenge \
1825 define gb_LinkTarget__use_revenge
1826 $(call gb_LinkTarget_set_include,$(1),\
1827 $(REVENGE_CFLAGS) \
1828 $$(INCLUDE) \
1830 $(call gb_LinkTarget_use_libraries,$(1),\
1831 revenge \
1834 endef
1836 define gb_ExternalProject__use_revenge
1837 $(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1839 endef
1841 else # !MSC
1843 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1844 librevenge \
1847 define gb_LinkTarget__use_revenge
1848 $(call gb_LinkTarget_use_package,$(1),librevenge)
1850 $(call gb_LinkTarget_set_include,$(1),\
1851 $(REVENGE_CFLAGS) \
1852 -DLIBREVENGE_VISIBILITY \
1853 $$(INCLUDE) \
1855 $(call gb_LinkTarget_add_libs,$(1),\
1856 $(REVENGE_LIBS) \
1858 endef
1860 define gb_ExternalProject__use_revenge
1861 $(call gb_ExternalProject_use_package,$(1),librevenge)
1863 endef
1865 endif # MSC
1867 endif # SYSTEM_REVENGE
1870 ifneq ($(SYSTEM_ABW),)
1872 define gb_LinkTarget__use_abw
1873 $(call gb_LinkTarget_set_include,$(1),\
1874 $$(INCLUDE) \
1875 $(ABW_CFLAGS) \
1877 $(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1879 endef
1880 gb_ExternalProject__use_abw :=
1882 else # !SYSTEM_ABW
1884 define gb_LinkTarget__use_abw
1885 $(call gb_LinkTarget_set_include,$(1),\
1886 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1887 $$(INCLUDE) \
1889 $(call gb_LinkTarget_add_libs,$(1),\
1890 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
1892 $(call gb_LinkTarget_use_external_project,$(1),libabw)
1894 endef
1895 define gb_ExternalProject__use_abw
1896 $(call gb_ExternalProject_use_external_project,$(1),libabw)
1898 endef
1900 endif # SYSTEM_ABW
1903 ifneq ($(SYSTEM_MSPUB),)
1905 define gb_LinkTarget__use_mspub
1906 $(call gb_LinkTarget_set_include,$(1),\
1907 $$(INCLUDE) \
1908 $(MSPUB_CFLAGS) \
1910 $(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1912 endef
1914 else # !SYSTEM_MSPUB
1916 define gb_LinkTarget__use_mspub
1917 $(call gb_LinkTarget_set_include,$(1),\
1918 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
1919 $$(INCLUDE) \
1921 $(call gb_LinkTarget_add_libs,$(1),\
1922 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
1924 $(call gb_LinkTarget_use_external_project,$(1),libmspub)
1926 endef
1928 endif # SYSTEM_MSPUB
1931 ifneq ($(SYSTEM_PAGEMAKER),)
1933 define gb_LinkTarget__use_pagemaker
1934 $(call gb_LinkTarget_set_include,$(1),\
1935 $$(INCLUDE) \
1936 $(PAGEMAKER_CFLAGS) \
1938 $(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
1940 endef
1941 gb_ExternalProject__use_pagemaker :=
1943 else # !SYSTEM_PAGEMAKER
1945 define gb_LinkTarget__use_pagemaker
1946 $(call gb_LinkTarget_set_include,$(1),\
1947 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
1948 $$(INCLUDE) \
1950 $(call gb_LinkTarget_add_libs,$(1),\
1951 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
1953 $(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
1955 endef
1956 define gb_ExternalProject__use_pagemaker
1957 $(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
1959 endef
1961 endif # SYSTEM_PAGEMAKER
1964 ifneq ($(SYSTEM_QXP),)
1966 define gb_LinkTarget__use_qxp
1967 $(call gb_LinkTarget_set_include,$(1),\
1968 $$(INCLUDE) \
1969 $(QXP_CFLAGS) \
1971 $(call gb_LinkTarget_add_libs,$(1),$(QXP_LIBS))
1973 endef
1974 gb_ExternalProject__use_qxp :=
1976 else # !SYSTEM_QXP
1978 define gb_LinkTarget__use_qxp
1979 $(call gb_LinkTarget_set_include,$(1),\
1980 -I$(call gb_UnpackedTarball_get_dir,libqxp)/inc \
1981 $$(INCLUDE) \
1983 $(call gb_LinkTarget_add_libs,$(1),\
1984 $(call gb_UnpackedTarball_get_dir,libqxp)/src/lib/.libs/libqxp-0.0$(gb_StaticLibrary_PLAINEXT) \
1986 $(call gb_LinkTarget_use_external_project,$(1),libqxp)
1988 endef
1989 define gb_ExternalProject__use_qxp
1990 $(call gb_ExternalProject_use_external_project,$(1),libqxp)
1992 endef
1994 endif # SYSTEM_QXP
1997 ifneq ($(SYSTEM_ZMF),)
1999 define gb_LinkTarget__use_zmf
2000 $(call gb_LinkTarget_set_include,$(1),\
2001 $$(INCLUDE) \
2002 $(ZMF_CFLAGS) \
2004 $(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
2006 endef
2007 gb_ExternalProject__use_zmf :=
2009 else # !SYSTEM_ZMF
2011 define gb_LinkTarget__use_zmf
2012 $(call gb_LinkTarget_set_include,$(1),\
2013 -I$(call gb_UnpackedTarball_get_dir,libzmf)/inc \
2014 $$(INCLUDE) \
2016 $(call gb_LinkTarget_add_libs,$(1),\
2017 $(call gb_UnpackedTarball_get_dir,libzmf)/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
2019 $(call gb_LinkTarget_use_external_project,$(1),libzmf)
2021 endef
2022 define gb_ExternalProject__use_zmf
2023 $(call gb_ExternalProject_use_external_project,$(1),libzmf)
2025 endef
2027 endif # SYSTEM_ZMF
2030 ifneq ($(SYSTEM_VISIO),)
2032 define gb_LinkTarget__use_visio
2033 $(call gb_LinkTarget_set_include,$(1),\
2034 $$(INCLUDE) \
2035 $(VISIO_CFLAGS) \
2037 $(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
2039 endef
2041 else # !SYSTEM_VISIO
2043 define gb_LinkTarget__use_visio
2044 $(call gb_LinkTarget_set_include,$(1),\
2045 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
2046 $$(INCLUDE) \
2048 $(call gb_LinkTarget_add_libs,$(1),\
2049 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
2051 $(call gb_LinkTarget_use_external_project,$(1),libvisio)
2053 endef
2055 endif # SYSTEM_VISIO
2058 ifneq ($(SYSTEM_WPD),)
2060 define gb_LinkTarget__use_wpd
2061 $(call gb_LinkTarget_set_include,$(1),\
2062 $$(INCLUDE) \
2063 $(WPD_CFLAGS) \
2065 $(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
2067 endef
2068 gb_ExternalProject__use_wpd :=
2070 else # !SYSTEM_WPD
2072 ifeq ($(COM),MSC)
2074 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2075 wpd \
2078 define gb_LinkTarget__use_wpd
2079 $(call gb_LinkTarget_set_include,$(1),\
2080 $(WPD_CFLAGS) \
2081 $$(INCLUDE) \
2083 $(call gb_LinkTarget_use_libraries,$(1),\
2084 wpd \
2087 endef
2089 define gb_ExternalProject__use_wpd
2090 $(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
2092 endef
2094 else # !MSC
2096 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2097 libwpd \
2100 define gb_LinkTarget__use_wpd
2101 $(call gb_LinkTarget_use_package,$(1),libwpd)
2103 $(call gb_LinkTarget_set_include,$(1),\
2104 $(WPD_CFLAGS) \
2105 $$(INCLUDE) \
2107 $(call gb_LinkTarget_add_libs,$(1),\
2108 $(WPD_LIBS) \
2111 endef
2113 define gb_ExternalProject__use_wpd
2114 $(call gb_ExternalProject_use_package,$(1),libwpd)
2116 endef
2118 endif # MSC
2120 endif # SYSTEM_WPD
2123 ifneq ($(SYSTEM_WPG),)
2125 define gb_LinkTarget__use_wpg
2126 $(call gb_LinkTarget_set_include,$(1),\
2127 $$(INCLUDE) \
2128 $(WPG_CFLAGS) \
2130 $(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
2132 endef
2133 gb_ExternalProject__use_wpg :=
2135 else # !SYSTEM_WPG
2137 ifeq ($(COM),MSC)
2139 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2140 wpg \
2143 define gb_LinkTarget__use_wpg
2144 $(call gb_LinkTarget_set_include,$(1),\
2145 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2146 $$(INCLUDE) \
2148 $(call gb_LinkTarget_use_libraries,$(1),\
2149 wpg \
2152 endef
2154 else # !MSC
2156 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2157 libwpg \
2160 define gb_LinkTarget__use_wpg
2161 $(call gb_LinkTarget_use_package,$(1),libwpg)
2163 $(call gb_LinkTarget_set_include,$(1),\
2164 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2165 $$(INCLUDE) \
2167 $(call gb_LinkTarget_add_libs,$(1),\
2168 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2171 endef
2173 endif # MSC
2175 endif # SYSTEM_WPG
2178 ifneq ($(SYSTEM_WPS),)
2180 define gb_LinkTarget__use_wps
2181 $(call gb_LinkTarget_set_include,$(1),\
2182 $$(INCLUDE) \
2183 $(WPS_CFLAGS) \
2185 $(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
2187 endef
2188 gb_ExternalProject__use_wps :=
2190 else # !SYSTEM_WPS
2192 ifeq ($(COM),MSC)
2194 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2195 wps \
2198 define gb_LinkTarget__use_wps
2199 $(call gb_LinkTarget_set_include,$(1),\
2200 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2201 $$(INCLUDE) \
2204 $(call gb_LinkTarget_use_libraries,$(1),\
2205 wps \
2208 endef
2210 else # !MSC
2212 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2213 libwps \
2216 define gb_LinkTarget__use_wps
2217 $(call gb_LinkTarget_use_package,$(1),libwps)
2219 $(call gb_LinkTarget_set_include,$(1),\
2220 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2221 $$(INCLUDE) \
2223 $(call gb_LinkTarget_add_libs,$(1),\
2224 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
2227 endef
2229 endif # MSC
2231 endif # SYSTEM_WPS
2234 ifneq ($(SYSTEM_MWAW),)
2236 define gb_LinkTarget__use_mwaw
2237 $(call gb_LinkTarget_set_include,$(1),\
2238 $$(INCLUDE) \
2239 $(MWAW_CFLAGS) \
2241 $(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2243 endef
2245 else # !SYSTEM_MWAW
2247 ifeq ($(COM),MSC)
2249 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2250 mwaw \
2253 define gb_LinkTarget__use_mwaw
2254 $(call gb_LinkTarget_set_include,$(1),\
2255 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2256 $$(INCLUDE) \
2259 $(call gb_LinkTarget_use_libraries,$(1),\
2260 mwaw \
2263 endef
2265 else # !MSC
2267 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2268 libmwaw \
2271 define gb_LinkTarget__use_mwaw
2272 $(call gb_LinkTarget_use_package,$(1),libmwaw)
2274 $(call gb_LinkTarget_set_include,$(1),\
2275 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2276 $$(INCLUDE) \
2278 $(call gb_LinkTarget_add_libs,$(1),\
2279 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2282 endef
2284 endif # MSC
2286 endif # SYSTEM_MWAW
2288 ifneq ($(SYSTEM_STAROFFICE),)
2290 define gb_LinkTarget__use_staroffice
2291 $(call gb_LinkTarget_set_include,$(1),\
2292 $$(INCLUDE) \
2293 $(STAROFFICE_CFLAGS) \
2295 $(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2297 endef
2299 else # !SYSTEM_STAROFFICE
2301 ifeq ($(COM),MSC)
2303 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2304 staroffice \
2307 define gb_LinkTarget__use_staroffice
2308 $(call gb_LinkTarget_set_include,$(1),\
2309 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2310 $$(INCLUDE) \
2313 $(call gb_LinkTarget_use_libraries,$(1),\
2314 staroffice \
2317 endef
2319 else # !MSC
2321 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2322 libstaroffice \
2325 define gb_LinkTarget__use_staroffice
2326 $(call gb_LinkTarget_use_package,$(1),libstaroffice)
2328 $(call gb_LinkTarget_set_include,$(1),\
2329 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2330 $$(INCLUDE) \
2332 $(call gb_LinkTarget_add_libs,$(1),\
2333 -L$(call gb_UnpackedTarball_get_dir,libstaroffice)/src/lib/.libs -lstaroffice-0.0 \
2336 endef
2338 endif # MSC
2340 endif # SYSTEM_STAROFFICE
2343 ifneq ($(SYSTEM_LCMS2),)
2345 define gb_LinkTarget__use_lcms2
2346 $(call gb_LinkTarget_set_include,$(1),\
2347 $$(INCLUDE) \
2348 $(LCMS2_CFLAGS) \
2350 $(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2352 endef
2354 gb_ExternalProject__use_lcms2 :=
2356 else # !SYSTEM_LCMS2
2358 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2359 lcms2 \
2362 define gb_ExternalProject__use_lcms2
2363 $(call gb_ExternalProject_use_package,$(1),lcms2)
2365 endef
2367 ifeq ($(OS),ANDROID)
2369 define gb_LinkTarget__use_lcms2
2370 $(call gb_LinkTarget_use_package,$(1),lcms2)
2371 $(call gb_LinkTarget_set_include,$(1),\
2372 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
2373 $$(INCLUDE) \
2376 endef
2378 else
2380 define gb_LinkTarget__use_lcms2
2381 $(call gb_LinkTarget_use_package,$(1),lcms2)
2382 $(call gb_LinkTarget_set_include,$(1),\
2383 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
2384 $$(INCLUDE) \
2386 $(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2388 endef
2390 endif # ANDROID
2391 endif # SYSTEM_LCMS2
2393 ifneq ($(ENABLE_LPSOLVE),)
2395 ifneq ($(SYSTEM_LPSOLVE),)
2397 define gb_LinkTarget__use_lpsolve
2398 $(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
2399 $(call gb_LinkTarget_add_defs,$(1),\
2400 -DSYSTEM_LPSOLVE \
2403 endef
2405 else # !SYSTEM_LPSOLVE
2407 define gb_LinkTarget__use_lpsolve
2408 $(call gb_LinkTarget_use_package,$(1),lpsolve)
2409 ifeq ($(COM),MSC)
2410 $(call gb_LinkTarget_add_libs,$(1),\
2411 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2413 else
2414 $(call gb_LinkTarget_add_libs,$(1),\
2415 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
2417 endif
2418 $(call gb_LinkTarget_set_include,$(1),\
2419 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
2420 $$(INCLUDE) \
2423 endef
2425 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2426 lpsolve \
2429 endif # SYSTEM_LPSOLVE
2431 else
2433 gb_LinkTarget__use_lpsolve :=
2435 endif # ENABLE_LPSOLVE
2437 ifneq ($(ENABLE_COINMP),)
2439 ifneq ($(SYSTEM_COINMP),TRUE)
2441 define gb_LinkTarget__use_coinmp
2442 $(call gb_LinkTarget_use_package,$(1),coinmp)
2443 ifeq ($(COM),MSC)
2444 $(call gb_LinkTarget_add_libs,$(1),\
2445 $(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/MSVisualStudio/v9/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)/CoinMP.lib \
2447 else
2448 $(call gb_LinkTarget_add_libs,$(1),\
2449 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2450 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2451 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2452 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2453 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2454 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2455 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2457 endif
2458 $(call gb_LinkTarget_set_include,$(1),\
2459 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
2460 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
2461 $$(INCLUDE) \
2464 endef
2466 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2467 coinmp \
2470 else # SYSTEM_COINMP
2472 define gb_LinkTarget__use_coinmp
2473 $(call gb_LinkTarget_set_include,$(1),\
2474 $$(INCLUDE) \
2475 $(COINMP_CFLAGS) \
2477 $(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2479 endef
2481 endif
2483 else
2485 gb_LinkTarget__use_coinmp :=
2487 endif # ENABLE_COINMP
2489 ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2491 define gb_LinkTarget__use_mDNSResponder
2492 $(call gb_LinkTarget_set_include,$(1),\
2493 -I$(call gb_UnpackedTarball_get_dir,mDNSResponder)/mDNSShared \
2494 $$(INCLUDE) \
2496 $(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2497 endef
2499 endif # MDNSRESPONDER
2501 ifeq ($(ENABLE_GIO),TRUE)
2503 define gb_LinkTarget__use_gio
2504 $(call gb_LinkTarget_set_include,$(1),\
2505 $$(INCLUDE) \
2506 $(GIO_CFLAGS) \
2509 $(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2511 endef
2513 else # ENABLE_GIO
2515 define gb_LinkTarget__use_gio
2517 endef
2519 endif # ENABLE_GIO
2521 ifeq ($(ENABLE_AVAHI),TRUE)
2523 define gb_LinkTarget__use_avahi
2524 $(call gb_LinkTarget_set_include,$(1),\
2525 $$(INCLUDE) \
2526 $(AVAHI_CFLAGS) \
2529 $(call gb_LinkTarget_add_defs,$(1),\
2530 -DENABLE_AVAHI \
2533 $(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2535 endef
2537 else # ENABLE_AVAHI
2539 gb_LinkTarget__use_avahi :=
2541 endif # ENABLE_AVAHI
2543 ifeq ($(ENABLE_CUPS),TRUE)
2545 define gb_LinkTarget__use_cups
2546 $(call gb_LinkTarget_add_defs,$(1),\
2547 -DENABLE_CUPS \
2550 $(call gb_LinkTarget_add_libs,$(1),\
2551 -lcups \
2554 endef
2556 else # ENABLE_CUPS
2558 define gb_LinkTarget__use_cups
2560 endef
2562 endif # ENABLE_CUPS
2564 ifeq ($(ENABLE_DBUS),TRUE)
2566 define gb_LinkTarget__use_dbus
2567 $(call gb_LinkTarget_set_include,$(1),\
2568 $$(INCLUDE) \
2569 $(DBUS_CFLAGS) \
2572 $(call gb_LinkTarget_add_libs,$(1),\
2573 $(DBUS_LIBS) \
2576 endef
2578 else # ENABLE_DBUS
2580 define gb_LinkTarget__use_dbus
2582 endef
2584 endif # ENABLE_DBUS
2587 ifneq ($(SYSTEM_LIBPNG),)
2589 define gb_LinkTarget__use_libpng
2590 $(call gb_LinkTarget_set_include,$(1),\
2591 $$(INCLUDE) \
2592 $(LIBPNG_CFLAGS) \
2595 $(call gb_LinkTarget_add_libs,$(1),\
2596 $(LIBPNG_LIBS) \
2599 endef
2601 gb_ExternalProject__use_libpng :=
2603 else # !SYSTEM_LIBPNG
2605 define gb_LinkTarget__use_libpng
2606 $(call gb_LinkTarget_set_include,$(1),\
2607 $(LIBPNG_CFLAGS) \
2608 $$(INCLUDE) \
2610 $(call gb_LinkTarget_use_static_libraries,$(1),\
2611 libpng \
2613 $(call gb_LinkTarget__use_zlib,$(1))
2615 endef
2617 define gb_ExternalProject__use_libpng
2618 $(call gb_ExternalProject_use_static_libraries,$(1),\
2619 libpng \
2622 endef
2624 endif # !SYSTEM_LIBPNG
2626 ifneq ($(SYSTEM_LIBTIFF),)
2628 define gb_LinkTarget__use_libtiff
2629 $(call gb_LinkTarget_set_include,$(1),\
2630 $$(INCLUDE) \
2631 $(LIBTIFF_CFLAGS) \
2634 $(call gb_LinkTarget_add_libs,$(1),\
2635 $(LIBTIFF_LIBS) \
2638 endef
2640 gb_ExternalProject__use_libtiff :=
2642 else # !SYSTEM_LIBTIFF
2644 define gb_LinkTarget__use_libtiff
2645 $(call gb_LinkTarget_set_include,$(1),\
2646 $(LIBTIFF_CFLAGS) \
2647 $$(INCLUDE) \
2650 $(call gb_LinkTarget_set_include,$(1),\
2651 -I$(call gb_UnpackedTarball_get_dir,libtiff)/libtiff \
2652 $$(INCLUDE) \
2654 ifeq ($(OS),WNT)
2655 $(call gb_LinkTarget_add_libs,$(1),\
2656 $(call gb_UnpackedTarball_get_dir,libtiff)/libtiff/.libs/libtiff$(gb_StaticLibrary_PLAINEXT) \
2658 else
2659 $(call gb_LinkTarget_add_libs,$(1),\
2660 -L$(call gb_UnpackedTarball_get_dir,libtiff)/libtiff/.libs -ltiff \
2662 endif
2663 $(call gb_LinkTarget_use_external_project,$(1),libtiff,full)
2665 endef
2667 define gb_ExternalProject__use_libtiff
2668 $(call gb_ExternalProject_use_external_project,$(1),libtiff)
2670 endef
2672 endif # !SYSTEM_LIBTIFF
2674 ifneq ($(SYSTEM_LIBWEBP),)
2676 define gb_LinkTarget__use_libwebp
2677 $(call gb_LinkTarget_set_include,$(1),\
2678 $$(INCLUDE) \
2679 $(LIBWEBP_CFLAGS) \
2682 $(call gb_LinkTarget_add_libs,$(1),\
2683 $(LIBWEBP_LIBS) \
2686 endef
2688 gb_ExternalProject__use_libwebp :=
2690 else # !SYSTEM_LIBWEBP
2692 define gb_LinkTarget__use_libwebp
2693 $(call gb_LinkTarget_set_include,$(1),\
2694 $(LIBWEBP_CFLAGS) \
2695 $$(INCLUDE) \
2698 $(call gb_LinkTarget_set_include,$(1),\
2699 -I$(call gb_UnpackedTarball_get_dir,libwebp)/src \
2700 $$(INCLUDE) \
2702 ifeq ($(OS),WNT)
2703 $(call gb_LinkTarget_add_libs,$(1),\
2704 $(call gb_UnpackedTarball_get_dir,libwebp)/output/lib/libwebp$(if $(MSVC_USE_DEBUG_RUNTIME),_debug)$(gb_StaticLibrary_PLAINEXT) \
2706 else
2707 $(call gb_LinkTarget_add_libs,$(1),\
2708 -L$(call gb_UnpackedTarball_get_dir,libwebp)/src/.libs -lwebp \
2709 -L$(call gb_UnpackedTarball_get_dir,libwebp)/sharpyuv/.libs -lsharpyuv \
2711 endif
2712 $(call gb_LinkTarget_use_external_project,$(1),libwebp)
2714 endef
2716 define gb_ExternalProject__use_libwebp
2717 $(call gb_ExternalProject_use_external_project,$(1),libwebp)
2719 endef
2721 endif # !SYSTEM_LIBWEBP
2724 ifneq ($(SYSTEM_CURL),)
2726 define gb_LinkTarget__use_curl
2727 $(call gb_LinkTarget_add_defs,$(1),\
2728 -DSYSTEM_CURL \
2730 $(call gb_LinkTarget_set_include,$(1),\
2731 $$(INCLUDE) \
2732 $(CURL_CFLAGS) \
2734 $(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2736 endef
2738 else # !SYSTEM_CURL
2740 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2741 curl \
2744 define gb_LinkTarget__use_curl
2745 $(call gb_LinkTarget_use_package,$(1),curl)
2746 $(call gb_LinkTarget_set_include,$(1),\
2747 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
2748 $$(INCLUDE) \
2751 ifeq ($(COM),MSC)
2752 $(call gb_LinkTarget_add_libs,$(1),\
2753 $(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 \
2755 else
2756 $(call gb_LinkTarget_add_libs,$(1),\
2757 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2759 endif
2761 endef
2763 endif # SYSTEM_CURL
2765 ifeq ($(ENABLE_VALGRIND),TRUE)
2767 define gb_LinkTarget__use_valgrind
2768 $(call gb_LinkTarget_add_defs,$(1),\
2769 -DHAVE_VALGRIND_HEADERS \
2772 $(call gb_LinkTarget_set_include,$(1),\
2773 $$(INCLUDE) \
2774 $(VALGRIND_CFLAGS) \
2777 endef
2779 else # !ENABLE_VALGRIND
2781 define gb_LinkTarget__use_valgrind
2783 endef
2785 endif # ENABLE_VALGRIND
2787 ifeq ($(ENABLE_POPPLER),TRUE)
2789 ifneq ($(SYSTEM_POPPLER),)
2791 define gb_LinkTarget__use_poppler
2792 $(call gb_LinkTarget_set_include,$(1),\
2793 $(POPPLER_CFLAGS) \
2794 $$(INCLUDE) \
2797 $(call gb_LinkTarget_add_libs,$(1),\
2798 $(POPPLER_LIBS) \
2801 endef
2803 else # !SYSTEM_POPPLER
2805 $(eval $(call gb_Helper_register_packages_for_install,pdfimport,\
2806 poppler_data \
2809 define gb_LinkTarget__use_poppler
2810 $(call gb_LinkTarget_use_external_project,$(1),poppler,full)
2811 $(call gb_LinkTarget_use_package,$(1),poppler_data)
2812 $(call gb_LinkTarget_set_include,$(1),\
2813 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2814 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2815 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
2816 $$(INCLUDE) \
2819 $(call gb_LinkTarget_use_static_libraries,$(1),poppler)
2820 $(call gb_LinkTarget_use_external,$(1),libjpeg)
2822 ifeq ($(OS),MACOSX)
2823 $(call gb_LinkTarget_add_libs,$(1),\
2824 -lobjc \
2826 else ifeq ($(OS),LINUX)
2827 $(call gb_LinkTarget_add_libs,$(1),\
2828 -pthread \
2830 else ifeq ($(OS),WNT)
2831 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
2832 advapi32 \
2833 gdi32 \
2835 endif
2837 endef
2839 endif # SYSTEM_POPPLER
2841 endif # ENABLE_POPPLER
2844 ifneq ($(SYSTEM_CLUCENE),)
2846 define gb_LinkTarget__use_clucene
2847 $(call gb_LinkTarget_add_defs,$(1),\
2848 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
2851 $(call gb_LinkTarget_set_include,$(1),\
2852 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
2853 $$(INCLUDE) \
2856 $(call gb_LinkTarget_add_libs,$(1),\
2857 $(CLUCENE_LIBS) \
2860 endef
2862 else # !SYSTEM_CLUCENE
2864 define gb_LinkTarget__use_clucene
2865 $(call gb_LinkTarget_set_include,$(1),\
2866 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2867 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2868 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2869 $$(INCLUDE) \
2872 $(call gb_LinkTarget_use_libraries,$(1),\
2873 clucene \
2876 endef
2878 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2879 $(call gb_Helper_optionals_or,HELPTOOLS XMLHELP,clucene) \
2882 endif # SYSTEM_CLUCENE
2884 define gb_LinkTarget__use_gobject
2885 $(call gb_LinkTarget_add_libs,$(1),\
2886 $(GOBJECT_LIBS) \
2889 $(call gb_LinkTarget_set_include,$(1),\
2890 $$(INCLUDE) \
2891 $(GOBJECT_CFLAGS) \
2893 endef
2895 ifneq ($(SYSTEM_HSQLDB),)
2897 define gb_LinkTarget__use_hsqldb
2899 $(call gb_LinkTarget_add_defs,$(1),\
2900 -DSYSTEM_HSQLDB \
2901 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2904 endef
2906 else # !SYSTEM_HSQLDB
2908 define gb_LinkTarget__use_hsqldb
2910 endef
2912 endif # SYSTEM_HSQLDB
2914 ifeq ($(ENABLE_LDAP),TRUE)
2915 ifneq ($(SYSTEM_OPENLDAP),)
2917 define gb_LinkTarget__use_openldap
2919 $(call gb_LinkTarget_add_libs,$(1),\
2920 -lldap \
2921 -llber \
2924 endef
2926 gb_ExternalProject__use_openldap :=
2928 else # !SYSTEM_OPENLDAP
2930 define gb_LinkTarget__use_openldap
2931 $(call gb_LinkTarget_use_unpacked,$(1),openldap)
2932 $(call gb_LinkTarget_set_include,$(1),\
2933 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
2934 $$(INCLUDE) \
2936 $(call gb_LinkTarget_use_external_project,$(1),openldap,full)
2937 $(call gb_LinkTarget_add_libs,$(1), \
2938 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2939 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
2942 endef
2943 endif
2945 define gb_ExternalProject__use_openldap
2946 $(call gb_ExternalProject_use_external_project,$(1),openldap)
2948 endef
2950 endif # SYSTEM_OPENLDAP
2952 ifneq ($(SYSTEM_LIBTOMMATH),)
2954 define gb_LinkTarget__use_libtommath
2955 $(call gb_LinkTarget_set_include,$(1),\
2956 $(LIBTOMMATH_CFLAGS) \
2957 $$(INCLUDE) \
2959 $(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
2961 endef
2963 else # !SYSTEM_LIBTOMMATH
2964 define gb_LinkTarget__use_libtommath
2965 $(call gb_LinkTarget_set_include,$(1),\
2966 -I${WORKDIR}/UnpackedTarball/libtommath \
2967 $$(INCLUDE) \
2969 $(call gb_LinkTarget_add_libs,$(1),\
2970 $(call gb_UnpackedTarball_get_dir,libtommath)/libtommath$(gb_StaticLibrary_PLAINEXT) \
2972 $(call gb_LinkTarget_use_external_project,$(1),libtommath)
2974 endef
2976 endif # SYSTEM_LIBTOMMATH
2978 define gb_ExternalProject__use_libtommath
2979 $(call gb_ExternalProject_use_external_project,$(1),libtommath)
2981 endef
2983 ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2985 ifneq ($(SYSTEM_FIREBIRD),)
2987 define gb_LinkTarget__use_libfbembed
2988 $(call gb_LinkTarget_set_include,$(1),\
2989 $(FIREBIRD_CFLAGS) \
2990 $$(INCLUDE) \
2992 $(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2994 endef
2996 else # !SYSTEM_FIREBIRD
2998 $(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
2999 firebird \
3002 #$(call gb_LinkTarget__use_libatomic_ops,$(1))
3003 #$(call gb_LinkTarget__use_libtommath,$(1))
3005 define gb_LinkTarget__use_libfbembed
3006 $(call gb_LinkTarget_use_package,$(1),firebird)
3007 $(call gb_LinkTarget_set_include,$(1),\
3008 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
3009 $$(INCLUDE) \
3011 ifeq ($(COM),MSC)
3012 $(call gb_LinkTarget_add_libs,$(1),\
3013 $(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
3015 else
3016 $(call gb_LinkTarget_add_libs,$(1),\
3017 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
3019 endif
3021 endef
3024 # endef
3026 endif # SYSTEM_FIREBIRD
3028 else # !ENABLE_FIREBIRD_SDBC
3030 gb_LinkTarget__use_firebird :=
3031 # gb_LinkTarget__use_atomic_ops :=
3032 # gb_LinkTarget__use_libtommath :=
3034 endif # ENABLE_FIREBIRD_SDBC
3037 ifneq ($(SYSTEM_POSTGRESQL),)
3039 define gb_LinkTarget__use_postgresql
3041 $(call gb_LinkTarget_set_include,$(1),\
3042 $(POSTGRESQL_INC) \
3043 $$(INCLUDE) \
3046 $(call gb_LinkTarget_add_libs,$(1),\
3047 -lpq \
3050 $(call gb_LinkTarget_add_ldflags,$(1),\
3051 $(POSTGRESQL_LIB) \
3054 endef
3056 else # !SYSTEM_POSTGRESQL
3058 ifeq ($(OS),WNT)
3059 $(eval $(call gb_Helper_register_packages_for_install,postgresqlsdbc,\
3060 postgresql \
3062 endif # WNT
3064 define gb_LinkTarget__use_postgresql
3066 $(call gb_LinkTarget_use_external_project,$(1),postgresql,full)
3068 $(call gb_LinkTarget_set_include,$(1),\
3069 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
3070 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
3071 $$(INCLUDE) \
3074 ifeq ($(OS),WNT)
3076 $(call gb_LinkTarget_add_libs,$(1),\
3077 $(call gb_UnpackedTarball_get_dir,postgresql)/$(gb_MSBUILD_CONFIG)/libpq/libpq.lib \
3080 else # !WNT
3082 $(call gb_LinkTarget_add_libs,$(1),\
3083 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
3084 $(call gb_UnpackedTarball_get_dir,postgresql)/src/common/libpgcommon$(gb_StaticLibrary_PLAINEXT) \
3085 $(call gb_UnpackedTarball_get_dir,postgresql)/src/port/libpgport$(gb_StaticLibrary_PLAINEXT) \
3086 $(if $(WITH_GSSAPI),$(GSSAPI_LIBS)) \
3089 endif # !WNT
3091 endef # gb_LinkTarget__use_postgresql
3093 endif # !SYSTEM_POSTGRESQL
3095 ifneq (,$(filter TRUE,$(ENABLE_KF5) $(ENABLE_GTK3_KDE5)))
3097 define gb_LinkTarget__use_kf5
3098 $(call gb_LinkTarget_set_include,$(1),\
3099 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS)))) \
3100 $$(INCLUDE) \
3103 $(call gb_LinkTarget_add_cxxflags,$(1),\
3104 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS))) \
3107 $(call gb_LinkTarget_add_libs,$(1),\
3108 $(KF5_LIBS) \
3111 endef
3113 else # !ENABLE_KF5
3115 define gb_LinkTarget__use_kf5
3117 endef
3119 endif # ENABLE_KF5
3123 ifneq (,$(filter TRUE,$(ENABLE_QT5) $(ENABLE_GTK3_KDE5)))
3125 define gb_LinkTarget__use_qt5
3126 $(call gb_LinkTarget_set_include,$(1),\
3127 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS)))) \
3128 $$(INCLUDE) \
3131 $(call gb_LinkTarget_add_defs,$(1),\
3132 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(QT5_CFLAGS))) \
3135 $(call gb_LinkTarget_add_libs,$(1),\
3136 $(QT5_LIBS) \
3139 endef
3141 else # !ENABLE_QT5
3143 define gb_LinkTarget__use_qt5
3145 endef
3147 endif # ENABLE_QT5
3149 ifeq ($(ENABLE_QT6),TRUE)
3151 define gb_LinkTarget__use_qt6
3152 $(call gb_LinkTarget_set_include,$(1),\
3153 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(QT6_CFLAGS)))) \
3154 $$(INCLUDE) \
3157 $(call gb_LinkTarget_add_defs,$(1),\
3158 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(QT6_CFLAGS))) \
3161 $(call gb_LinkTarget_add_libs,$(1),\
3162 $(QT6_LIBS) \
3165 endef
3167 else # !ENABLE_QT6
3169 define gb_LinkTarget__use_qt6
3171 endef
3173 endif # ENABLE_QT6
3176 # PYTHON
3177 # extra python_headers external because pyuno wrapper must not link python
3178 ifneq ($(SYSTEM_PYTHON),)
3180 define gb_LinkTarget__use_python_headers
3181 $(call gb_LinkTarget_add_defs,$(1),\
3182 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
3185 $(call gb_LinkTarget_set_include,$(1),\
3186 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
3187 $$(INCLUDE) \
3190 endef
3192 define gb_LinkTarget__use_python
3193 $(call gb_LinkTarget__use_python_headers,$(1))
3195 $(call gb_LinkTarget_add_libs,$(1),\
3196 $(PYTHON_LIBS) \
3199 endef
3201 else # !SYSTEM_PYTHON
3203 $(eval $(call gb_Helper_register_packages_for_install,python,\
3204 python3 \
3205 $(if $(filter WNT,$(OS)),libffi) \
3208 define gb_LinkTarget__use_python_headers
3209 $(call gb_LinkTarget_use_external_project,$(1),python3,full)
3210 $(call gb_LinkTarget_set_include,$(1),\
3211 -I$(call gb_UnpackedTarball_get_dir,python3) \
3212 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3213 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
3214 $$(INCLUDE) \
3217 endef
3219 define gb_LinkTarget__use_python
3220 $(call gb_LinkTarget__use_python_headers,$(1))
3221 ifeq ($(OS),MACOSX)
3222 $(call gb_LinkTarget_use_generated_package,$(1),python3)
3223 else
3224 $(call gb_LinkTarget_use_package,$(1),python3)
3225 endif
3227 ifeq ($(OS),WNT)
3228 ifeq ($(CPUNAME),X86_64)
3229 python_arch_subdir=amd64/
3230 else ifeq ($(CPUNAME),AARCH64)
3231 python_arch_subdir=arm64/
3232 else
3233 python_arch_subdir=win32/
3234 endif
3235 $(call gb_LinkTarget_add_libs,$(1),\
3236 $(call gb_UnpackedTarball_get_dir,python3)/PCbuild/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib \
3238 else ifeq ($(OS),MACOSX)
3239 $(call gb_LinkTarget_add_libs,$(1),\
3240 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
3242 else
3243 $(call gb_LinkTarget_add_libs,$(1),\
3244 -L$(call gb_UnpackedTarball_get_dir,python3) \
3245 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)$(if $(ENABLE_DBGUTIL),d) \
3247 endif
3249 endef
3251 # this is only used by python currently
3252 define gb_ExternalProject__use_libffi
3253 $(call gb_ExternalProject_use_external_project,$(1),libffi)
3255 endef
3257 endif # SYSTEM_PYTHON
3259 # ORCUS
3260 ifneq ($(SYSTEM_LIBORCUS),)
3262 define gb_LinkTarget__use_orcus
3263 $(call gb_LinkTarget_set_include,$(1),\
3264 $$(INCLUDE) \
3265 $(ORCUS_CFLAGS) \
3267 $(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
3268 endef
3270 define gb_LinkTarget__use_orcus-parser
3272 endef
3274 else # !SYSTEM_LIBORCUS
3276 ifeq ($(COM),MSC)
3278 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3279 orcus \
3280 orcus-parser \
3283 define gb_LinkTarget__use_orcus
3284 $(call gb_LinkTarget_set_include,$(1),\
3285 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3286 $$(INCLUDE) \
3289 $(call gb_LinkTarget_use_libraries,$(1),\
3290 orcus \
3293 endef
3295 define gb_LinkTarget__use_orcus-parser
3296 $(call gb_LinkTarget_set_include,$(1),\
3297 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3298 $$(INCLUDE) \
3301 $(call gb_LinkTarget_use_libraries,$(1),\
3302 orcus-parser \
3305 endef
3307 else # !MSC
3309 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3310 liborcus \
3313 define gb_LinkTarget__use_orcus
3314 $(call gb_LinkTarget_use_package,$(1),liborcus)
3316 $(call gb_LinkTarget_set_include,$(1),\
3317 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3318 $$(INCLUDE) \
3321 $(call gb_LinkTarget_add_libs,$(1),\
3322 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.18 \
3325 $(if $(SYSTEM_BOOST), \
3326 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3327 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3330 endef
3332 define gb_LinkTarget__use_orcus-parser
3333 $(call gb_LinkTarget_use_package,$(1),liborcus)
3335 $(call gb_LinkTarget_set_include,$(1),\
3336 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3337 $$(INCLUDE) \
3340 $(call gb_LinkTarget_add_libs,$(1),\
3341 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.18 \
3344 endef
3346 endif # MSC
3348 endif # SYSTEM_LIBORCUS
3350 ifeq ($(ENABLE_EOT),TRUE)
3352 ifneq ($(SYSTEM_LIBEOT),)
3354 define gb_LinkTarget__use_libeot
3355 $(call gb_LinkTarget_set_include,$(1),\
3356 $$(INCLUDE) \
3357 $(LIBEOT_CFLAGS) \
3359 $(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3361 endef
3363 gb_ExternalProject__use_libeot :=
3365 else # !SYSTEM_LIBEOT
3367 define gb_LinkTarget__use_libeot
3368 $(call gb_LinkTarget_set_include,$(1),\
3369 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3370 $$(INCLUDE) \
3372 $(call gb_LinkTarget_add_libs,$(1),\
3373 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3375 $(call gb_LinkTarget_use_external_project,$(1),libeot)
3377 endef
3379 define gb_ExternalProject__use_libeot
3380 $(call gb_ExternalProject_use_external_project,$(1),libeot)
3382 endef
3384 endif # SYSTEM_LIBEOT
3386 else # !ENABLE_EOT
3388 gb_LinkTarget__use_libeot :=
3389 gb_ExternalProject__use_libeot :=
3391 endif # ENABLE_EOT
3393 ### X11 stuff ###
3395 ifeq ($(USING_X11), TRUE)
3397 define gb_LinkTarget__use_Xrandr
3398 $(call gb_LinkTarget_set_include,$(1),\
3399 $$(INCLUDE) \
3400 $(XRANDR_CFLAGS) \
3403 $(call gb_LinkTarget_add_libs,$(1),\
3404 $(XRANDR_LIBS) \
3406 endef
3408 define gb_LinkTarget__use_Xrender
3409 $(call gb_LinkTarget_set_include,$(1),\
3410 $$(INCLUDE) \
3411 $(XRENDER_CFLAGS) \
3414 $(call gb_LinkTarget_add_libs,$(1),\
3415 $(XRENDER_LIBS) \
3417 endef
3419 endif # USING_X11
3422 gb_ExternalProject__use_nss3:=
3425 ifneq ($(SYSTEM_NSS),)
3427 define gb_LinkTarget__use_nss3
3428 $(call gb_LinkTarget_add_defs,$(1),\
3429 -DSYSTEM_NSS \
3432 $(call gb_LinkTarget_set_include,$(1),\
3433 $$(INCLUDE) \
3434 $(NSS_CFLAGS) \
3437 $(call gb_LinkTarget_add_libs,$(1),\
3438 $(NSS_LIBS) \
3441 endef
3443 define gb_LinkTarget__use_nssutil3
3444 $(call gb_LinkTarget__use_nss3,$(1))
3446 endef
3448 define gb_LinkTarget__use_plc4
3449 $(call gb_LinkTarget__use_nss3,$(1))
3451 endef
3453 define gb_LinkTarget__use_ssl3
3454 $(call gb_LinkTarget__use_nss3,$(1))
3456 endef
3458 else # !SYSTEM_NSS
3460 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
3461 nss \
3464 define gb_LinkTarget__use_nss3
3465 $(call gb_LinkTarget_use_package,$(1),nss)
3466 $(call gb_LinkTarget_set_include,$(1),\
3467 $$(INCLUDE) \
3468 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3469 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
3472 ifeq ($(COM),MSC)
3473 $(call gb_LinkTarget_add_libs,$(1),\
3474 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3475 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3476 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
3478 else
3479 $(call gb_LinkTarget_add_libs,$(1),\
3480 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
3481 -lnspr4 \
3482 -lnss3 \
3483 -lsmime3 \
3485 endif
3487 endef
3489 define gb_LinkTarget__use_plc4
3490 $(call gb_LinkTarget_use_package,$(1),nss)
3491 ifeq ($(COM),MSC)
3492 $(call gb_LinkTarget_add_libs,$(1),\
3493 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
3495 else
3496 $(call gb_LinkTarget_add_libs,$(1),\
3497 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
3499 endif
3501 endef
3503 define gb_LinkTarget__use_ssl3
3504 $(call gb_LinkTarget_use_package,$(1),nss)
3505 ifeq ($(COM),MSC)
3506 $(call gb_LinkTarget_add_libs,$(1),\
3507 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
3509 else
3510 $(call gb_LinkTarget_add_libs,$(1),\
3511 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
3513 endif
3515 endef
3517 define gb_LinkTarget__use_nssutil3
3518 $(call gb_LinkTarget_use_package,$(1),nss)
3519 $(call gb_LinkTarget_set_include,$(1),\
3520 $$(INCLUDE) \
3521 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3522 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
3525 ifeq ($(COM),MSC)
3526 $(call gb_LinkTarget_add_libs,$(1),\
3527 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nssutil3.lib \
3529 else
3530 $(call gb_LinkTarget_add_libs,$(1),\
3531 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
3532 -lnssutil3 \
3534 endif
3536 endef
3538 define gb_ExternalProject__use_nss3
3539 $(call gb_ExternalProject_use_package,$(1),nss)
3541 endef
3543 endif # SYSTEM_NSS
3545 ifeq ($(ENABLE_BREAKPAD),TRUE)
3547 define gb_LinkTarget__use_breakpad
3548 $(call gb_LinkTarget_set_include,$(1),\
3549 -I$(call gb_UnpackedTarball_get_dir,breakpad)/src \
3550 $$(INCLUDE) \
3553 ifeq ($(COM),MSC)
3554 $(call gb_LinkTarget_use_static_libraries,$(1),\
3555 breakpad \
3557 else
3558 $(call gb_LinkTarget_add_libs,$(1),\
3559 $(call gb_UnpackedTarball_get_dir,breakpad)/src/client/linux/libbreakpad_client.a \
3561 endif
3563 $(call gb_LinkTarget_use_external_project,$(1),breakpad)
3565 endef
3567 endif # ENABLE_BREAKPAD
3569 ifeq ($(ENABLE_GPGMEPP),TRUE)
3571 ifneq ($(SYSTEM_GPGMEPP),)
3573 gb_ExternalProject__use_gpgmepp:=
3574 gb_ExternalProject__use_libassuan:=
3575 gb_ExternalProject__use_libgpg-error:=
3577 define gb_LinkTarget__use_gpgmepp
3578 $(call gb_LinkTarget_set_include,$(1),\
3579 $$(INCLUDE) \
3580 $$(GPGMEPP_CFLAGS) \
3583 $(call gb_LinkTarget_add_libs,$(1),\
3584 $(GPGMEPP_LIBS) \
3587 endef
3589 else ifneq ($(filter GPGMEPP,$(BUILD_TYPE)),) # NON-SYSTEM_GPGME
3591 define gb_ExternalProject__use_gpgmepp
3592 $(call gb_ExternalProject_use_external_project,$(1),gpgmepp)
3594 endef
3595 define gb_ExternalProject__use_libassuan
3596 $(call gb_ExternalProject_use_external_project,$(1),libassuan)
3598 endef
3599 define gb_ExternalProject__use_libgpg-error
3600 $(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3602 endef
3604 ifneq ($(filter WNT,$(OS)),)
3606 define gb_LinkTarget__use_libgpg-error
3607 $(call gb_LinkTarget_use_package,$(1),libgpg-error)
3609 $(call gb_LinkTarget_set_include,$(1),\
3610 $(GPG_ERROR_CFLAGS) \
3611 $$(INCLUDE) \
3613 $(call gb_LinkTarget_add_libs,$(1),\
3614 -LIBPATH:$(call gb_UnpackedTarball_get_dir,libgpg-error)/src/.libs libgpg-error.lib \
3617 endef
3619 define gb_LinkTarget__use_libassuan
3620 $(call gb_LinkTarget_use_package,$(1),libassuan)
3622 $(call gb_LinkTarget_set_include,$(1),\
3623 $(LIBASSUAN_CFLAGS) \
3624 $$(INCLUDE) \
3626 $(call gb_LinkTarget_add_libs,$(1),\
3627 -LIBPATH:$(call gb_UnpackedTarball_get_dir,libassuan)/src/.libs libassuan.lib \
3630 endef
3632 define gb_LinkTarget__use_gpgmepp
3633 $(call gb_LinkTarget_set_include,$(1),\
3634 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src \
3635 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/src \
3636 $$(GPG_ERROR_CFLAGS) \
3637 $$(INCLUDE) \
3639 $(call gb_LinkTarget_use_libraries,$(1),\
3640 gpgmepp \
3643 endef
3645 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3646 gpgmepp \
3647 libassuan \
3648 libgpg-error \
3651 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3652 gpgmepp \
3655 endif
3657 ifneq ($(filter MACOSX LINUX,$(OS)),)
3659 define gb_LinkTarget__use_gpgmepp
3660 $(call gb_LinkTarget_use_package,$(1),gpgmepp)
3662 $(call gb_LinkTarget_set_include,$(1),\
3663 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src \
3664 -I$(call gb_UnpackedTarball_get_dir,gpgmepp)/src \
3665 $$(GPG_ERROR_CFLAGS) \
3666 $$(INCLUDE) \
3668 $(call gb_LinkTarget_add_libs,$(1),\
3669 -L$(call gb_UnpackedTarball_get_dir,gpgmepp)/lang/cpp/src/.libs/ -lgpgmepp \
3670 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),-L$(call gb_UnpackedTarball_get_dir,gpgmepp)/src/.libs/ -lgpgme) \
3671 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(GPG_ERROR_LIBS)) \
3672 $(if $(filter TRUE,$(DISABLE_DYNLOADING)),$$(LIBASSUAN_LIBS)) \
3675 endef
3677 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3678 gpgmepp \
3679 libassuan \
3680 libgpg-error \
3683 endif
3685 endif
3687 else # !ENABLE_GPGMEPP
3689 gb_ExternalProject__use_gpgmepp :=
3690 gb_ExternalProject__use_libassuan :=
3691 gb_ExternalProject__use_libgpg-error :=
3693 gb_LinkTarget__use_gpgmepp :=
3694 gb_LinkTarget__use_libassuan :=
3695 gb_LinkTarget__use_libgpg-error :=
3697 endif # ENABLE_GPGMEPP
3699 define gb_LinkTarget__use_dconf
3700 $(call gb_LinkTarget_set_include,$(1),\
3701 $$(INCLUDE) \
3702 $(DCONF_CFLAGS) \
3705 $(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3706 endef
3708 ### Jars ############################################################
3710 ifneq ($(SYSTEM_HSQLDB),)
3712 define gb_Jar__use_hsqldb
3713 $(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3714 endef
3715 define gb_JunitTest__use_hsqldb
3716 $(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3717 endef
3719 else # !SYSTEM_HSQLDB
3721 ifeq ($(ENABLE_JAVA),TRUE)
3722 $(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
3723 hsqldb \
3725 endif
3727 define gb_Jar__use_hsqldb
3728 $(call gb_Jar_use_jar,$(1),hsqldb)
3729 endef
3730 define gb_JunitTest__use_hsqldb
3731 $(call gb_JunitTest_use_jar,$(1),hsqldb)
3732 endef
3734 endif # SYSTEM_HSQLDB
3737 ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3739 ifneq ($(SYSTEM_BSH),)
3741 define gb_Jar__use_bsh
3742 $(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
3743 endef
3745 else # !SYSTEM_BSH
3747 ifeq ($(ENABLE_JAVA),TRUE)
3748 $(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
3749 bsh \
3751 endif
3753 define gb_Jar__use_bsh
3754 $(call gb_Jar_use_jar,$(1),bsh)
3755 endef
3757 endif # SYSTEM_BSH
3759 endif
3761 ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
3763 ifneq ($(SYSTEM_RHINO),)
3765 define gb_Jar__use_rhino
3766 $(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
3767 endef
3769 else # !SYSTEM_RHINO
3771 ifeq ($(ENABLE_JAVA),TRUE)
3772 $(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
3773 js \
3775 endif
3777 define gb_Jar__use_rhino
3778 $(call gb_Jar_use_jar,$(1),js)
3779 endef
3781 endif # SYSTEM_RHINO
3783 endif
3785 ifneq ($(SYSTEM_JFREEREPORT),)
3787 define gb_Jar__use_flow-engine
3788 $(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
3789 endef
3791 define gb_Jar__use_flute
3792 $(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
3793 endef
3795 define gb_Jar__use_libbase
3796 $(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
3797 endef
3799 define gb_Jar__use_libfonts
3800 $(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
3801 endef
3803 define gb_Jar__use_libformula
3804 $(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
3805 endef
3807 define gb_Jar__use_liblayout
3808 $(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
3809 endef
3811 define gb_Jar__use_libloader
3812 $(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
3813 endef
3815 define gb_Jar__use_librepository
3816 $(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
3817 endef
3819 define gb_Jar__use_libserializer
3820 $(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
3821 endef
3823 define gb_Jar__use_libxml
3824 $(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
3825 endef
3827 define gb_Jar__use_sac
3828 $(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
3829 endef
3831 else # !SYSTEM_JFREEREPORT
3833 ifeq ($(ENABLE_JAVA),TRUE)
3834 $(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
3835 flow-engine \
3836 flute-1.1.6 \
3837 libbase-1.1.6 \
3838 libfonts-1.1.6 \
3839 libformula-1.1.7 \
3840 liblayout \
3841 libloader-1.1.6 \
3842 librepository-1.1.6 \
3843 libserializer-1.1.6 \
3844 libxml-1.1.7 \
3845 sac \
3847 endif
3849 define gb_Jar__use_flow-engine
3850 $(call gb_Jar_use_jar,$(1),flow-engine)
3851 endef
3853 define gb_Jar__use_flute
3854 $(call gb_Jar_use_jar,$(1),flute-1.1.6)
3855 endef
3857 define gb_Jar__use_libbase
3858 $(call gb_Jar_use_jar,$(1),libbase-1.1.6)
3859 endef
3861 define gb_Jar__use_libfonts
3862 $(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
3863 endef
3865 define gb_Jar__use_libformula
3866 $(call gb_Jar_use_jar,$(1),libformula-1.1.7)
3867 endef
3869 define gb_Jar__use_liblayout
3870 $(call gb_Jar_use_jar,$(1),liblayout)
3871 endef
3873 define gb_Jar__use_libloader
3874 $(call gb_Jar_use_jar,$(1),libloader-1.1.6)
3875 endef
3877 define gb_Jar__use_librepository
3878 $(call gb_Jar_use_jar,$(1),librepository-1.1.6)
3879 endef
3881 define gb_Jar__use_libserializer
3882 $(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
3883 endef
3885 define gb_Jar__use_libxml
3886 $(call gb_Jar_use_jar,$(1),libxml-1.1.7)
3887 endef
3889 define gb_Jar__use_sac
3890 $(call gb_Jar_use_jar,$(1),sac)
3891 endef
3893 endif # SYSTEM_JFREEREPORT
3896 # Executables
3898 define gb_Executable__register_bestreversemap
3899 $(call gb_Executable_add_runtime_dependencies,bestreversemap,\
3900 $(call gb_CondLibSalTextenc,$(call gb_Library_get_target_for_build,sal_textenc)) \
3902 endef
3904 # TODO depending on the whole URE might be overkill, but I do not have a
3905 # Windows machine to debug it...
3906 define gb_Executable__register_climaker
3907 $(call gb_Executable_add_runtime_dependencies,climaker,\
3908 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3909 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3910 $(call gb_UnoApi_get_target_for_build,udkapi) \
3911 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
3913 endef
3915 define gb_Executable__register_cppumaker
3916 $(call gb_Executable_add_runtime_dependencies,cppumaker,\
3917 $(call gb_CondLibSalTextenc,$(call gb_Library_get_target,sal_textenc)) \
3919 endef
3921 # This is used to determine what we need for 'build' platform.
3922 define gb_Executable__register_gengal
3923 $(call gb_Executable_add_runtime_dependencies,gengal,\
3924 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3925 $(call gb_Library_get_target_for_build,localedata_en) \
3926 $(if $(filter MACOSX,$(OS_FOR_BUILD)),$(call gb_Library_get_target_for_build,vclplug_osx)) \
3927 $(if $(filter WNT,$(OS_FOR_BUILD)),$(call gb_Library_get_target_for_build,vclplug_win)) \
3928 $(if $(filter host,$(gb_Side)),$(call gb_Package_get_target,postprocess_images)) \
3929 $(call gb_Package_get_target_for_build,postprocess_registry) \
3930 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
3931 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
3932 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
3933 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3934 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
3935 $(call gb_UnoApi_get_target_for_build,offapi) \
3936 $(call gb_UnoApi_get_target_for_build,udkapi) \
3938 endef
3940 ifeq ($(SYSTEM_ICU),)
3942 define gb_Executable__register_gendict
3943 $(call gb_Executable_add_runtime_dependencies,gendict,\
3944 $(call gb_Package_get_target_for_build,icu) \
3945 $(call gb_Package_get_target_for_build,icu_ure) \
3947 endef
3949 endif
3951 define gb_Executable__register_localize
3952 $(call gb_Executable_add_runtime_dependencies,localize,\
3953 $(foreach exec,cfgex helpex propex treex ulfex xrmex,\
3954 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3957 endef
3959 # FIXME ure/services.rdb needs cleanup
3960 # The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
3961 # due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3962 define gb_Executable__register_saxparser
3963 $(call gb_Executable_add_runtime_dependencies,saxparser,\
3964 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3965 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
3966 $(call gb_Rdb_get_target_for_build,saxparser) \
3967 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
3968 $(call gb_UnoApi_get_target_for_build,udkapi) \
3970 endef
3972 # NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
3973 # required due to the settings for URE_SERVICES and URE_TYPES in
3974 # cppuhelper/source/unorc
3975 define gb_Executable__register_uno
3976 $(call gb_Executable_add_runtime_dependencies,uno,\
3977 $(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
3978 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3979 $(call gb_UnoApi_get_target_for_build,udkapi) \
3981 endef
3984 # External executables
3986 ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
3988 gb_ExternalExecutable__register_xmllint :=
3990 else # ! SYSTEM_LIBXML_FOR_BUILD
3992 define gb_ExternalExecutable__register_xmllint
3993 $(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)
3994 $(call gb_ExternalExecutable_add_dependencies,xmllint,\
3995 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
3996 $(call gb_Package_get_target,libxml2) \
3999 endef
4001 endif # SYSTEM_LIBXML_FOR_BUILD
4003 ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
4005 gb_ExternalExecutable__register_xsltproc :=
4007 else # ! SYSTEM_LIBXSLT_FOR_BUILD
4009 define gb_ExternalExecutable__register_xsltproc
4010 $(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)
4011 $(call gb_ExternalExecutable_add_dependencies,xsltproc,\
4012 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
4013 $(call gb_Package_get_target,libxml2) \
4014 $(call gb_Package_get_target,libxslt) \
4017 endef
4019 endif # SYSTEM_LIBXSLT_FOR_BUILD
4021 ifeq (,$(PYTHON_FOR_BUILD))
4023 define gb_ExternalExecutable__register_python
4024 ifeq ($(OS),MACOSX)
4026 # use set_external, to avoid having the command added as prerequisite for the
4027 # targets that make use of it. (Otherwise make will choke as it doesn't have a
4028 # matching rule to build that specific file)
4029 $(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))
4030 # the Zip ensures that internal python has been built (cannot use the Package
4031 # target, as that is not used on Mac)
4032 $(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
4034 else
4036 $(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))
4037 $(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
4038 $(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
4040 endif
4042 endef
4044 else
4046 define gb_ExternalExecutable__register_python
4047 $(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
4049 endef
4051 endif # PYTHON_FOR_BUILD
4053 ifneq ($(SYSTEM_GENBRK),)
4055 define gb_ExternalExecutable__register_genbrk
4056 $(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
4058 endef
4060 else # ! SYSTEM_GENBRK
4062 define gb_ExternalExecutable__register_genbrk
4063 $(call gb_ExternalExecutable_set_internal,genbrk,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genbrk$(gb_Executable_EXT_for_build),icu)
4064 $(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
4065 $(call gb_ExternalExecutable_add_dependencies,genbrk,\
4066 $(call gb_Package_get_target_for_build,icu) \
4067 $(call gb_Package_get_target_for_build,icu_ure) \
4070 endef
4072 endif
4074 ifneq ($(SYSTEM_GENCCODE),)
4076 define gb_ExternalExecutable__register_genccode
4077 $(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
4079 endef
4081 else # ! SYSTEM_GENCCODE
4083 define gb_ExternalExecutable__register_genccode
4084 $(call gb_ExternalExecutable_set_internal,genccode,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genccode$(gb_Executable_EXT_for_build),icu)
4085 $(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
4086 $(call gb_ExternalExecutable_add_dependencies,genccode,\
4087 $(call gb_Package_get_target_for_build,icu) \
4088 $(call gb_Package_get_target_for_build,icu_ure) \
4091 endef
4093 endif
4095 ifneq ($(SYSTEM_GENCMN),)
4097 define gb_ExternalExecutable__register_gencmn
4098 $(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
4100 endef
4102 else # ! SYSTEM_GENCMN
4104 define gb_ExternalExecutable__register_gencmn
4105 $(call gb_ExternalExecutable_set_internal,gencmn,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/gencmn$(gb_Executable_EXT_for_build),icu)
4106 $(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
4107 $(call gb_ExternalExecutable_add_dependencies,gencmn,\
4108 $(call gb_Package_get_target_for_build,icu) \
4109 $(call gb_Package_get_target_for_build,icu_ure) \
4112 endef
4114 endif
4116 ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4117 ifneq ($(SYSTEM_BZIP2),)
4119 define gb_LinkTarget__use_bzip2
4120 $(call gb_LinkTarget_set_include,$(1),\
4121 $(BZIP2_CFLAGS) \
4122 $$(INCLUDE) \
4124 $(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4126 endef
4128 gb_ExternalProject__use_bzip2 :=
4130 else # !SYSTEM_BZIP2
4132 define gb_LinkTarget__use_bzip2
4133 $(call gb_LinkTarget_set_include,$(1),\
4134 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4135 $$(INCLUDE) \
4138 ifeq ($(COM),MSC)
4139 $(call gb_LinkTarget_add_libs,$(1),\
4140 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4142 else
4143 $(call gb_LinkTarget_add_libs,$(1),\
4144 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4146 endif
4148 $(call gb_LinkTarget_use_external_project,$(1),bzip2)
4149 endef
4151 define gb_ExternalProject__use_bzip2
4152 $(call gb_ExternalProject_use_external_project,$(1),bzip2)
4153 endef
4155 endif
4156 endif
4158 define gb_LinkTarget__use_clew
4159 $(call gb_LinkTarget_set_include,$(1), \
4160 -I$(SRCDIR)/external/clew/source/include \
4161 $$(INCLUDE) \
4163 $(call gb_LinkTarget_use_libraries,$(1),clew)
4164 endef
4166 ifneq ($(ENABLE_PDFIUM),)
4167 define gb_LinkTarget__use_pdfium
4168 $(call gb_LinkTarget_set_include,$(1),\
4169 -I$(call gb_UnpackedTarball_get_dir,pdfium)/public \
4170 -DCOMPONENT_BUILD \
4171 $$(INCLUDE) \
4173 $(call gb_LinkTarget_use_libraries,$(1),pdfium)
4174 endef
4175 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4176 pdfium \
4178 endif
4180 ifneq ($(SYSTEM_DRAGONBOX),)
4182 define gb_LinkTarget__use_dragonbox
4183 $(call gb_LinkTarget_set_include,$(1),\
4184 $$(INCLUDE) \
4185 $$(DRAGONBOX_CFLAGS) \
4187 endef
4189 else
4191 define gb_LinkTarget__use_dragonbox
4192 $(call gb_LinkTarget_use_unpacked,$(1),dragonbox)
4193 $(call gb_LinkTarget_set_include,$(1),\
4194 -I$(call gb_UnpackedTarball_get_dir,dragonbox/include/)\
4195 $$(INCLUDE) \
4197 endef
4199 endif
4201 define gb_LinkTarget__use_dtoa
4202 $(call gb_LinkTarget_use_unpacked,$(1),dtoa)
4203 $(call gb_LinkTarget_set_include,$(1),\
4204 -I$(call gb_UnpackedTarball_get_dir,dtoa/include/)\
4205 $$(INCLUDE) \
4207 $(call gb_LinkTarget_use_static_libraries,$(1),\
4208 dtoa \
4211 endef
4213 define gb_ExternalProject__use_dtoa
4214 $(call gb_ExternalProject_use_static_libraries,$(1),dtoa)
4216 endef
4218 $(eval $(call gb_Helper_register_packages_for_install,ucrt_binarytable,\
4219 $(if $(UCRT_REDISTDIR),ucrt) \
4222 ifneq ($(SYSTEM_BOX2D),)
4224 define gb_LinkTarget__use_box2d
4225 $(call gb_LinkTarget_set_include,$(1),\
4226 -DSYSTEM_BOX2D \
4227 $$(INCLUDE) \
4228 $(BOX2D_CFLAGS) \
4230 $(call gb_LinkTarget_add_libs,$(1),$(BOX2D_LIBS))
4232 endef
4234 gb_ExternalProject__use_box2d :=
4236 else # !SYSTEM_BOX2D
4238 define gb_LinkTarget__use_box2d
4239 $(call gb_LinkTarget_use_unpacked,$(1),box2d)
4240 $(call gb_LinkTarget_set_include,$(1),\
4241 -I$(call gb_UnpackedTarball_get_dir,box2d/include/)\
4242 $$(INCLUDE) \
4244 $(call gb_LinkTarget_use_static_libraries,$(1),\
4245 box2d \
4248 endef
4250 define gb_ExternalProject__use_box2d
4251 $(call gb_ExternalProject_use_static_libraries,$(1),box2d)
4253 endef
4255 endif # SYSTEM_BOX2D
4257 ifneq ($(SYSTEM_ZXING),)
4259 define gb_LinkTarget__use_zxing
4260 $(call gb_LinkTarget_set_include,$(1),\
4261 -DSYSTEM_ZXING \
4262 $$(INCLUDE) \
4263 $(ZXING_CFLAGS) \
4265 $(call gb_LinkTarget_add_libs,$(1),$(ZXING_LIBS))
4267 endef
4269 gb_ExternalProject__use_zxing :=
4271 else # !SYSTEM_ZXING
4273 ifneq ($(ENABLE_ZXING),)
4275 define gb_LinkTarget__use_zxing
4276 $(call gb_LinkTarget_use_unpacked,$(1),zxing)
4277 $(call gb_LinkTarget_set_include,$(1),\
4278 -I$(call gb_UnpackedTarball_get_dir,zxing/core/src/)\
4279 $$(INCLUDE) \
4281 $(call gb_LinkTarget_use_static_libraries,$(1),\
4282 zxing \
4285 endef
4287 define gb_ExternalProject__use_zxing
4288 $(call gb_ExternalProject_use_static_libraries,$(1),zxing)
4290 endef
4292 else # !ENABLE_ZXING
4294 define gb_LinkTarget__use_zxing
4295 endef
4297 endif # ENABLE_ZXING
4299 endif # SYSTEM_ZXING
4302 ifneq ($(SYSTEM_FROZEN),)
4303 define gb_LinkTarget__use_frozen
4304 $(call gb_LinkTarget_set_include,$(1),\
4305 $$(INCLUDE) \
4306 $(FROZEN_CFLAGS)
4308 endef
4309 else
4310 define gb_LinkTarget__use_frozen
4311 $(call gb_LinkTarget_use_unpacked,$(1),frozen)
4312 $(call gb_LinkTarget_set_include,$(1),\
4313 -I$(call gb_UnpackedTarball_get_dir,frozen/include/)\
4314 $$(INCLUDE) \
4316 endef
4317 endif
4319 # vim: set noet sw=4 ts=4: