tdf#108821 - fixed bad alloc on opening large file
[LibreOffice.git] / RepositoryExternal.mk
blob67c078345d4de2315984e56dc7cbfe0823b84179
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 gb_LinkTarget__use_glm_headers :=
94 gb_ExternalProject__use_glm_headers :=
96 else
98 define gb_LinkTarget__use_glm_headers
99 $(call gb_LinkTarget_use_unpacked,$(1),glm)
100 $(call gb_LinkTarget_set_include,$(1),\
101 $(GLM_CFLAGS) \
102 $$(INCLUDE) \
105 endef
107 define gb_ExternalProject__use_glm_headers
108 $(call gb_ExternalProject_use_unpacked,$(1),glm)
110 endef
112 endif
114 ifeq (SANE,$(filter SANE,$(BUILD_TYPE)))
116 define gb_LinkTarget__use_sane_headers
117 $(call gb_LinkTarget_set_include,$(1),\
118 -I$(SRCDIR)/external/$(if $(filter WNT,$(OS)),twain,sane)/inc \
119 $$(INCLUDE) \
122 endef
124 else
126 gb_LinkTarget__use_sane_headers :=
128 endif
130 ifneq ($(SYSTEM_BLUEZ),)
132 gb_LinkTarget__use_bluez_bluetooth_headers :=
134 else # !SYSTEM_BLUEZ
136 define gb_LinkTarget__use_bluez_bluetooth_headers
137 $(call gb_LinkTarget_set_include,$(1),\
138 -I$(SRCDIR)/external/bluez_bluetooth/inc \
139 $$(INCLUDE) \
142 endef
144 endif # SYSTEM_BLUEZ
146 # External libraries
148 ifneq ($(SYSTEM_CPPUNIT),)
150 define gb_LinkTarget__use_cppunit
151 $(call gb_LinkTarget_set_include,$(1),\
152 $$(INCLUDE) \
153 $(CPPUNIT_CFLAGS) \
156 $(call gb_LinkTarget_add_libs,$(1),\
157 $(CPPUNIT_LIBS) \
160 endef
162 else # !SYSTEM_CPPUNIT
164 define gb_LinkTarget__use_cppunit
165 $(call gb_LinkTarget_use_external_project,$(1),cppunit, full)
167 $(call gb_LinkTarget_set_include,$(1),\
168 -I$(call gb_UnpackedTarball_get_dir,cppunit/include)\
169 $$(INCLUDE) \
172 ifeq ($(COM),MSC)
173 $(call gb_LinkTarget_add_libs,$(1),\
174 $(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/$(if $(MSVC_USE_DEBUG_RUNTIME),DebugDll/cppunitd_dll.lib,ReleaseDll/cppunit_dll.lib) \
176 else
177 $(call gb_LinkTarget_add_libs,$(1),\
178 -L$(call gb_UnpackedTarball_get_dir,cppunit)/src/cppunit/.libs -lcppunit \
180 endif
182 endef
184 endif # SYSTEM_CPPUNIT
186 ifneq ($(SYSTEM_EPOXY),)
188 define gb_LinkTarget__use_epoxy
189 $(call gb_LinkTarget_set_include,$(1),\
190 $$(INCLUDE) \
191 $(EPOXY_CFLAGS) \
193 $(call gb_LinkTarget_add_libs,$(1),$(EPOXY_LIBS))
195 endef
197 gb_ExternalProject__use_epoxy :=
199 else # !SYSTEM_EPOXY
201 define gb_LinkTarget__use_epoxy
202 $(call gb_LinkTarget_set_include,$(1),\
203 -I$(call gb_UnpackedTarball_get_dir,epoxy/include) \
204 $$(INCLUDE) \
207 $(call gb_LinkTarget_use_libraries,$(1),\
208 epoxy \
211 endef
213 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
214 epoxy \
217 define gb_ExternalProject__use_epoxy
218 $(call gb_ExternalProject_use_external_project,$(1),epoxy)
220 endef
222 endif # SYSTEM_EPOXY
224 define gb_LinkTarget__use_iconv
225 $(call gb_LinkTarget_add_libs,$(1),-liconv)
227 endef
229 ifneq ($(SYSTEM_MARIADB),)
231 define gb_LinkTarget__use_mariadb
232 $(call gb_LinkTarget_set_include,$(1),\
233 $$(INCLUDE) \
234 $(MARIADB_CFLAGS) \
236 $(call gb_LinkTarget_add_libs,$(1),$(MARIADB_LIBS))
238 endef
239 gb_ExternalProject__use_mariadb :=
241 else # !SYSTEM_MARIADB
243 define gb_LinkTarget__use_mariadb
244 $(call gb_LinkTarget_set_include,$(1),\
245 $$(INCLUDE) \
246 $(MARIADB_CFLAGS) \
248 $(call gb_LinkTarget_use_static_libraries,$(1),\
249 mariadblib \
252 endef
253 define gb_ExternalProject__use_mariadb
254 $(call gb_ExternalProject_use_static_libraries,$(1),mariadblib)
256 endef
258 endif # SYSTEM_MARIADB
261 ifneq ($(SYSTEM_MARIADB),)
263 define gb_LinkTarget__use_mysql
265 $(call gb_LinkTarget_add_defs,$(1),\
266 -DSYSTEM_MARIADB \
269 $(call gb_LinkTarget_add_libs,$(1),\
270 $(MARIADB_LIBS) \
273 $(call gb_LinkTarget_set_include,$(1),\
274 $(MARIADB_CFLAGS) \
275 $$(INCLUDE) \
277 endef
279 else
281 define gb_LinkTarget__use_mysql
283 $(call gb_LinkTarget_set_include,$(1),\
284 $$(INCLUDE) \
287 endef
289 endif
291 ifneq ($(SYSTEM_MYSQL_CPPCONN),)
293 define gb_LinkTarget__use_mysqlcppconn
294 $(call gb_LinkTarget_add_libs,$(1),\
295 -lmysqlcppconn \
298 $(call gb_LinkTarget_add_defs,$(1),\
299 -DSYSTEM_MYSQL_CPPCONN \
301 endef
303 else
305 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OXT,\
306 mysqlcppconn \
309 # note: this does not link mysqlcppconn, it is loaded via osl_loadModuleRelative
310 define gb_LinkTarget__use_mysqlcppconn
312 $(call gb_LinkTarget_use_unpacked,$(1),mysqlcppconn)
314 $(call gb_LinkTarget_add_defs,$(1),\
315 -DCPPCONN_LIB_BUILD \
318 $(call gb_LinkTarget_set_include,$(1),\
319 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn) \
320 -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn)/cppconn \
321 $$(INCLUDE) \
324 endef
326 endif
328 ifneq ($(SYSTEM_ZLIB),)
330 define gb_LinkTarget__use_zlib
331 $(call gb_LinkTarget_add_defs,$(1),\
332 -DSYSTEM_ZLIB \
334 $(call gb_LinkTarget_add_libs,$(1),-lz)
336 endef
338 # nothing on system
339 define gb_LinkTarget__use_zlib_x64
341 endef
343 gb_ExternalProject__use_zlib :=
345 else # !SYSTEM_ZLIB
347 define gb_LinkTarget__use_zlib_multiarch
348 $(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
350 $(call gb_LinkTarget_set_include,$(1),\
351 $(ZLIB_CFLAGS) \
352 $$(INCLUDE) \
355 $(call gb_LinkTarget_use_static_libraries,$(1),\
356 $(2) \
359 endef
361 define gb_LinkTarget__use_zlib
362 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
364 endef
366 define gb_LinkTarget__use_zlib_x64
367 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
369 endef
371 define gb_ExternalProject__use_zlib
372 $(call gb_ExternalProject_use_static_libraries,$(1),zlib)
374 endef
376 endif # SYSTEM_ZLIB
379 ifneq ($(SYSTEM_JPEG),)
381 define gb_LinkTarget__use_jpeg
382 $(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
383 $(call gb_LinkTarget_set_ldflags,$(1),\
384 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
387 endef
389 gb_ExternalProject__use_jpeg :=
391 else
393 define gb_LinkTarget__use_jpeg
394 $(call gb_LinkTarget_set_include,$(1),\
395 $(LIBJPEG_CFLAGS) \
396 $$(INCLUDE) \
398 $(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
399 $(call gb_LinkTarget_use_external_project,$(1),jpeg-turbo,full)
401 endef
403 define gb_ExternalProject__use_jpeg
404 $(call gb_ExternalProject_use_external_project,$(1),jpeg-turbo)
406 endef
408 endif # SYSTEM_JPEG
410 ifneq ($(SYSTEM_MYTHES),)
412 define gb_LinkTarget__use_mythes
413 $(call gb_LinkTarget_set_include,$(1),\
414 $$(INCLUDE) \
415 $(MYTHES_CFLAGS) \
417 $(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
419 endef
421 else # !SYSTEM_MYTHES
423 define gb_LinkTarget__use_mythes
424 $(call gb_LinkTarget_set_include,$(1),\
425 -I$(call gb_UnpackedTarball_get_dir,mythes) \
426 $$(INCLUDE) \
429 ifeq ($(COM),MSC)
430 $(call gb_LinkTarget_use_static_libraries,$(1),\
431 mythes \
433 else
434 $(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
435 $(call gb_LinkTarget_use_external_project,$(1),mythes)
436 endif
438 endef
440 endif # SYSTEM_MYTHES
443 ifneq ($(SYSTEM_EXPAT),)
445 define gb_LinkTarget__use_expat_impl
446 $(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
448 $(call gb_LinkTarget_add_defs,$(1),\
449 -DSYSTEM_EXPAT \
452 $(call gb_LinkTarget_add_libs,$(1),-lexpat)
454 endef
456 gb_ExternalProject__use_expat :=
458 else # !SYSTEM_EXPAT
460 define gb_LinkTarget__use_expat_impl
461 $(if $(2),,$(error gb_LinkTarget__use_expat_impl needs additional parameter))
463 $(call gb_LinkTarget_set_include,$(1),\
464 -I$(call gb_UnpackedTarball_get_dir,expat)/lib \
465 $$(INCLUDE) \
468 $(call gb_LinkTarget_use_static_libraries,$(1),\
469 $(2) \
472 endef
474 define gb_ExternalProject__use_expat
475 $(call gb_ExternalProject_use_static_libraries,$(1),expat)
477 endef
479 endif # SYSTEM_EXPAT
481 define gb_LinkTarget__use_expat
482 $(call gb_LinkTarget__use_expat_impl,$(1),expat)
484 endef
486 define gb_LinkTarget__use_expat_x64
487 $(call gb_LinkTarget__use_expat_impl,$(1),expat_x64)
489 endef
491 ifneq ($(SYSTEM_HYPH),)
493 define gb_LinkTarget__use_hyphen
494 $(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
496 endef
498 else # !SYSTEM_HYPH
500 define gb_LinkTarget__use_hyphen
501 $(call gb_LinkTarget_use_unpacked,$(1),hyphen)
502 $(call gb_LinkTarget_set_include,$(1),\
503 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
504 $$(INCLUDE) \
507 ifeq ($(COM),MSC)
508 $(call gb_LinkTarget_use_static_libraries,$(1),\
509 hyphen \
511 else
512 $(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
513 $(call gb_LinkTarget_use_external_project,$(1),hyphen)
514 endif
516 endef
518 endif # SYSTEM_HYPH
520 ifneq ($(SYSTEM_HUNSPELL),)
522 define gb_LinkTarget__use_hunspell
523 $(call gb_LinkTarget_set_include,$(1),\
524 $$(INCLUDE) \
525 $(HUNSPELL_CFLAGS) \
527 $(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
529 endef
531 gb_ExternalProject__use_hunspell :=
533 else # !SYSTEM_HUNSPELL
535 define gb_LinkTarget__use_hunspell
536 $(call gb_LinkTarget_add_defs,$(1),\
537 -DHUNSPELL_STATIC \
539 $(call gb_LinkTarget_use_unpacked,$(1),hunspell)
540 $(call gb_LinkTarget_set_include,$(1),\
541 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
542 $$(INCLUDE) \
545 ifeq ($(COM),MSC)
546 $(call gb_LinkTarget_use_static_libraries,$(1),\
547 hunspell \
549 else
550 $(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
551 $(call gb_LinkTarget_use_external_project,$(1),hunspell)
552 endif
554 endef
556 define gb_ExternalProject__use_hunspell
557 $(call gb_ExternalProject_use_external_project,$(1),hunspell)
559 endef
561 endif # SYSTEM_HUNSPELL
564 ifneq ($(SYSTEM_BOOST),)
566 define gb_LinkTarget__use_boost_lib
567 $(call gb_LinkTarget_set_include,$(1),\
568 $$(INCLUDE) \
569 $(BOOST_CPPFLAGS) \
572 $(call gb_LinkTarget_add_ldflags,$(1),\
573 $(BOOST_LDFLAGS) \
576 $(call gb_LinkTarget_add_libs,$(1),$(2))
578 endef
580 define gb_LinkTarget__use_boost_locale
581 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_LOCALE_LIB))
583 endef
585 define gb_LinkTarget__use_boost_date_time
586 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_DATE_TIME_LIB))
588 endef
590 define gb_LinkTarget__use_boost_filesystem
591 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
593 endef
595 gb_ExternalProject__use_boost_filesystem :=
597 define gb_LinkTarget__use_boost_iostreams
598 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_IOSTREAMS_LIB))
600 endef
602 gb_ExternalProject__use_boost_iostreams :=
604 define gb_LinkTarget__use_boost_system
605 $(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_SYSTEM_LIB))
607 endef
609 gb_ExternalProject__use_boost_system :=
611 define gb_LinkTarget__use_boost_headers
612 $(call gb_LinkTarget_set_include,$(1),\
613 $$(INCLUDE) \
614 $(BOOST_CPPFLAGS) \
617 endef
619 gb_ExternalProject__use_boost_headers:=
621 else # !SYSTEM_BOOST
623 define gb_LinkTarget__use_boost_lib
624 $(call gb_LinkTarget_add_defs,$(1),\
625 -DBOOST_ALL_NO_LIB \
628 $(call gb_LinkTarget_use_static_libraries,$(1),$(2))
630 endef
632 define gb_LinkTarget__use_boost_locale
633 $(call gb_LinkTarget__use_boost_lib,$(1),boost_locale)
634 $(call gb_LinkTarget_add_libs,$(1),\
635 $(if $(filter $(OS),MACOSX),-liconv) \
638 endef
640 define gb_LinkTarget__use_boost_date_time
641 $(call gb_LinkTarget__use_boost_lib,$(1),boost_date_time)
643 endef
645 define gb_LinkTarget__use_boost_filesystem
646 $(call gb_LinkTarget__use_boost_lib,$(1),boost_filesystem)
648 endef
650 define gb_ExternalProject__use_boost_filesystem
651 $(call gb_ExternalProject_use_static_libraries,$(1),boost_filesystem)
652 endef
654 define gb_LinkTarget__use_boost_iostreams
655 $(call gb_LinkTarget__use_boost_lib,$(1),boost_iostreams)
657 endef
659 define gb_ExternalProject__use_boost_iostreams
660 $(call gb_ExternalProject_use_static_libraries,$(1),boost_iostreams)
661 endef
663 define gb_LinkTarget__use_boost_system
664 $(call gb_LinkTarget__use_boost_lib,$(1),boost_system)
666 endef
668 define gb_ExternalProject__use_boost_system
669 $(call gb_ExternalProject_use_static_libraries,$(1),boost_system)
670 endef
672 define gb_LinkTarget__use_boost_headers
673 $(call gb_LinkTarget_use_unpacked,$(1),boost)
674 $(call gb_LinkTarget_set_include,$(1),\
675 $(BOOST_CPPFLAGS) \
676 $$(INCLUDE) \
679 endef
681 define gb_ExternalProject__use_boost_headers
682 $(call gb_ExternalProject_use_unpacked,$(1),boost)
684 endef
686 endif # SYSTEM_BOOST
689 ifneq ($(SYSTEM_CMIS),)
691 define gb_LinkTarget__use_cmis
692 $(call gb_LinkTarget_set_include,$(1),\
693 $$(INCLUDE) \
694 $(CMIS_CFLAGS) \
696 $(call gb_LinkTarget_add_libs,$(1),$(CMIS_LIBS))
698 endef
700 else # !SYSTEM_CMIS
702 define gb_LinkTarget__use_cmis
703 $(call gb_LinkTarget_set_include,$(1),\
704 -I$(call gb_UnpackedTarball_get_dir,cmis)/src \
705 $$(INCLUDE) \
707 $(call gb_LinkTarget_use_static_libraries,$(1),\
708 cmislib \
711 endef
713 endif # SYSTEM_CMIS
715 ifeq ($(ENABLE_JAVA),TRUE)
717 define gb_LinkTarget__use_jawt
718 $(call gb_LinkTarget_add_libs,$(1),\
719 $(JAWTLIB) \
722 endef
724 else # !ENABLE_JAVA
726 gb_LinkTarget__use_jawt :=
728 endif # ENABLE_JAVA
730 ifneq ($(SYSTEM_LIBATOMIC_OPS),)
732 define gb_LinkTarget__use_libatomic_ops
733 $(call gb_LinkTarget_set_include,$(1),\
734 $$(INCLUDE) \
735 $(LIBATOMIC_OPS_CFLAGS) \
737 $(call gb_LinkTarget_add_libs,$(1), $(LIBATOMIC_OPS_LIBS))
739 endef
740 gb_ExternalProject__use_libatomic_ops :=
742 else # !SYSTEM_LIBATOMIC_OPS
744 define gb_LinkTarget__use_libatomic_ops
745 $(call gb_LinkTarget_set_include,$(1),\
746 $(LIBATOMIC_OPS_CFLAGS) \
747 $$(INCLUDE) \
748 $(LIBATOMIC_OPS_CFLAGS) \
750 $(call gb_LinkTarget_use_external_project,$(1),\
751 libatomic_ops \
754 $(call gb_LinkTarget_add_libs,$(1),\
755 -L$(call gb_UnpackedTarball_get_dir,libatomic_ops)/src/lib -latomic_ops \
758 endef
760 define gb_ExternalProject__use_libatomic_ops
761 $(call gb_ExternalProject_use_external_project,$(1),libatomic_ops)
763 endef
765 endif # SYSTEM_LIBATOMIC_OPS
768 ifneq ($(SYSTEM_LIBEXTTEXTCAT),)
770 define gb_LinkTarget__use_libexttextcat
771 $(call gb_LinkTarget_set_include,$(1),\
772 $$(INCLUDE) \
773 $(LIBEXTTEXTCAT_CFLAGS) \
775 $(call gb_LinkTarget_add_defs,$(1),\
776 -DSYSTEM_LIBEXTTEXTCAT \
778 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
780 endef
782 else # !SYSTEM_LIBEXTTEXTCAT
784 define gb_LinkTarget__use_libexttextcat
785 $(call gb_LinkTarget_set_include,$(1),\
786 -I$(call gb_UnpackedTarball_get_dir,exttextcat/src) \
787 $$(INCLUDE) \
790 ifeq ($(COM),MSC)
791 $(call gb_LinkTarget_use_static_libraries,$(1),\
792 exttextcat \
794 else
795 $(call gb_LinkTarget_add_libs,$(1),\
796 $(call gb_UnpackedTarball_get_dir,exttextcat)/src/.libs/libexttextcat-2.0.a\
798 $(call gb_LinkTarget_use_external_project,$(1),exttextcat)
799 endif
802 endef
804 endif # SYSTEM_LIBEXTTEXTCAT
807 ifneq ($(SYSTEM_LIBXML),)
809 define gb_LinkTarget__use_libxml2
810 $(call gb_LinkTarget_add_defs,$(1),\
811 -DSYSTEM_LIBXML \
813 $(call gb_LinkTarget_set_include,$(1),\
814 $$(INCLUDE) \
815 $(LIBXML_CFLAGS) \
817 $(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
819 endef
820 gb_ExternalProject__use_libxml2:=
822 else # !SYSTEM_LIBXML
824 $(eval $(call gb_Helper_register_packages_for_install,ure,\
825 xml2 \
828 define gb_LinkTarget__use_libxml2
829 $(call gb_LinkTarget_use_package,$(1),xml2)
830 $(call gb_LinkTarget_set_include,$(1),\
831 $$(INCLUDE) \
832 $(LIBXML_CFLAGS) \
835 $(call gb_LinkTarget_add_libs,$(1),\
836 $(LIBXML_LIBS) \
839 ifeq ($(COM),MSC)
840 $(call gb_LinkTarget_use_external,$(1),icu_headers)
841 endif
843 endef
844 define gb_ExternalProject__use_libxml2
845 $(call gb_ExternalProject_use_package,$(1),xml2)
847 ifeq ($(COM),MSC)
848 $(call gb_ExternalProject_use_external_project,$(1),icu)
849 endif
851 endef
853 endif # SYSTEM_LIBXML
856 ifneq ($(SYSTEM_LIBXSLT),)
858 define gb_LinkTarget__use_libxslt
859 $(call gb_LinkTarget_set_include,$(1),\
860 $$(INCLUDE) \
861 $(LIBXSLT_CFLAGS) \
863 $(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
865 endef
867 define gb_LinkTarget__use_libexslt
868 $(call gb_LinkTarget_set_include,$(1),\
869 $$(INCLUDE) \
870 $(LIBEXSLT_CFLAGS) \
873 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
875 endef
877 else # !SYSTEM_LIBXSLT
879 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
880 xslt \
883 define gb_LinkTarget__use_libxslt
884 $(call gb_LinkTarget_use_package,$(1),xslt)
885 $(call gb_LinkTarget_set_include,$(1),\
886 $$(INCLUDE) \
887 -I$(call gb_UnpackedTarball_get_dir,xslt) \
890 ifeq ($(COM),MSC)
891 $(call gb_LinkTarget_add_libs,$(1),\
892 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libxslt.lib \
894 else
895 $(call gb_LinkTarget_add_libs,$(1),\
896 -L$(call gb_UnpackedTarball_get_dir,xslt)/libxslt/.libs -lxslt \
898 endif
900 endef
902 define gb_LinkTarget__use_libexslt
903 $(call gb_LinkTarget_use_package,$(1),xslt)
904 $(call gb_LinkTarget_set_include,$(1),\
905 $$(INCLUDE) \
906 -I$(call gb_UnpackedTarball_get_dir,xslt) \
909 ifeq ($(COM),MSC)
910 $(call gb_LinkTarget_add_libs,$(1),\
911 $(call gb_UnpackedTarball_get_dir,xslt)/win32/bin.msvc/libexslt.lib \
913 else
914 $(call gb_LinkTarget_add_libs,$(1),\
915 -L$(call gb_UnpackedTarball_get_dir,xslt)/libexslt/.libs -lexslt \
917 endif
919 endef
921 endif # SYSTEM_LIBXSLT
924 ifneq ($(SYSTEM_XMLSEC),)
926 define gb_LinkTarget__use_xmlsec
927 $(call gb_LinkTarget_add_defs,$(1),\
928 -DSYSTEM_XMLSEC \
930 $(call gb_LinkTarget_set_include,$(1),\
931 $$(INCLUDE) \
932 $(XMLSEC_CFLAGS) \
934 $(call gb_LinkTarget_add_libs,$(1),$(XMLSEC_LIBS))
936 endef
938 gb_ExternalProject__use_xmlsec:=
940 else # !SYSTEM_XMLSEC
942 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
943 xmlsec \
946 define gb_LinkTarget__use_xmlsec
948 endef
950 endif # SYSTEM_XMLSEC
952 ifneq ($(SYSTEM_LIBLANGTAG),)
954 define gb_LinkTarget__use_liblangtag
955 $(call gb_LinkTarget_set_include,$(1),\
956 $$(INCLUDE) \
957 $(LIBLANGTAG_CFLAGS) \
960 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
962 endef
964 gb_ExternalProject__use_liblangtag :=
966 else # !SYSTEM_LIBLANGTAG
968 $(eval $(call gb_Helper_register_packages_for_install,ure,\
969 liblangtag_data \
972 ifeq ($(COM),MSC)
974 define gb_LinkTarget__use_liblangtag
975 $(call gb_LinkTarget_set_include,$(1),\
976 $(LIBLANGTAG_CFLAGS) \
977 $$(INCLUDE) \
979 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
980 $(call gb_LinkTarget_use_external_project,$(1),langtag)
982 endef
984 else
986 $(eval $(call gb_Helper_register_packages_for_install,ure,\
987 liblangtag \
990 define gb_LinkTarget__use_liblangtag
991 $(call gb_LinkTarget_set_include,$(1),\
992 $(LIBLANGTAG_CFLAGS) \
993 $$(INCLUDE) \
995 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
996 $(call gb_LinkTarget_use_package,$(1),liblangtag)
998 endef
1000 endif # MSC
1002 define gb_ExternalProject__use_liblangtag
1003 $(call gb_ExternalProject_use_external_project,$(1),langtag)
1005 endef
1007 endif # SYSTEM_LIBLANGTAG
1010 gb_ExternalProject__use_apr :=
1012 ifeq ($(WITH_WEBDAV),serf)
1014 define gb_LinkTarget__use_apr
1015 $(call gb_LinkTarget_set_include,$(1),\
1016 $$(INCLUDE) \
1017 $(APR_CFLAGS) \
1019 $(call gb_LinkTarget_add_libs,$(1),\
1020 $(APR_LIBS) \
1021 $(if $(filter $(OS),LINUX),-lpthread) \
1022 $(if $(filter $(OS),MACOSX),-liconv) \
1025 ifeq ($(SYSTEM_APR),)
1026 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
1027 mswsock \
1028 rpcrt4 \
1029 shell32 \
1031 $(call gb_LinkTarget_add_defs,$(1),\
1032 -DAPR_DECLARE_STATIC \
1033 -DAPU_DECLARE_STATIC \
1035 $(call gb_LinkTarget_use_external_project,$(1),apr_util)
1036 endif
1038 endef
1040 define gb_ExternalProject__use_apr
1041 ifeq ($(SYSTEM_APR),)
1042 $(call gb_ExternalProject_use_external_project,$(1),apr_util)
1043 endif
1045 endef
1047 define gb_LinkTarget__use_serf
1048 $(call gb_LinkTarget_set_include,$(1),\
1049 $(SERF_CFLAGS) \
1050 $$(INCLUDE) \
1052 $(call gb_LinkTarget_add_libs,$(1),\
1053 $(SERF_LIBS) \
1056 ifeq ($(SYSTEM_SERF),)
1057 $(call gb_LinkTarget_use_external_project,$(1),serf)
1058 endif
1060 endef
1062 else ifeq ($(WITH_WEBDAV),neon)
1064 ifneq ($(SYSTEM_NEON),)
1066 define gb_LinkTarget__use_neon
1067 $(call gb_LinkTarget_add_defs,$(1),\
1068 -DNEON_VERSION=0x$(NEON_VERSION) \
1069 -DSYSTEM_NEON \
1071 $(call gb_LinkTarget_set_include,$(1),\
1072 $$(INCLUDE) \
1073 $(NEON_CFLAGS) \
1076 $(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
1078 endef
1080 else # !SYSTEM_NEON
1082 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1083 neon \
1086 define gb_LinkTarget__use_neon
1087 $(call gb_LinkTarget_use_unpacked,$(1),neon)
1088 $(call gb_LinkTarget_set_include,$(1),\
1089 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
1090 $$(INCLUDE) \
1092 $(call gb_LinkTarget_use_libraries,$(1),\
1093 neon \
1096 endef
1098 endif # SYSTEM_NEON
1100 endif # WITH_WEBDAV
1102 ifneq ($(SYSTEM_REDLAND),)
1104 define gb_LinkTarget__use_librdf
1105 $(call gb_LinkTarget_add_defs,$(1),\
1106 -DSYSTEM_REDLAND \
1108 $(call gb_LinkTarget_set_include,$(1),\
1109 $$(INCLUDE) \
1110 $(REDLAND_CFLAGS) \
1112 $(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
1114 endef
1116 gb_LinkTarget__use_redland_headers:=
1118 gb_LinkTarget__use_raptor_headers:=
1120 gb_LinkTarget__use_rasqal_headers:=
1122 else # !SYSTEM_REDLAND
1124 define gb_LinkTarget__use_redland_headers
1125 $(call gb_LinkTarget_set_include,$(1),\
1126 -I$(call gb_UnpackedTarball_get_dir,redland)/src \
1127 $$(INCLUDE) \
1130 endef
1132 define gb_LinkTarget__use_raptor_headers
1133 $(call gb_LinkTarget_set_include,$(1),\
1134 -I$(call gb_UnpackedTarball_get_dir,raptor)/src \
1135 $$(INCLUDE) \
1138 endef
1140 define gb_LinkTarget__use_rasqal_headers
1141 $(call gb_LinkTarget_set_include,$(1),\
1142 -I$(call gb_UnpackedTarball_get_dir,rasqal)/src \
1143 $$(INCLUDE) \
1146 endef
1148 ifneq ($(OS),ANDROID)
1150 ifeq ($(COM),MSC)
1151 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
1152 raptor2 \
1153 rasqal \
1154 rdf \
1156 else
1157 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1158 raptor \
1159 rasqal \
1160 redland \
1162 endif
1164 define gb_LinkTarget__use_librdf
1165 ifeq ($(COM),MSC)
1166 $(call gb_LinkTarget_use_libraries,$(1),\
1167 raptor2 \
1168 rdf \
1170 else
1171 $(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
1173 $(call gb_LinkTarget_add_libs,$(1),\
1174 -L$(call gb_UnpackedTarball_get_dir,redland)/src/.libs -lrdf \
1175 -L$(call gb_UnpackedTarball_get_dir,raptor)/src/.libs -lraptor2 \
1176 -L$(call gb_UnpackedTarball_get_dir,rasqal)/src/.libs -lrasqal \
1178 endif
1180 endef
1182 else # ANDROID
1184 define gb_LinkTarget__use_librdf
1185 $(call gb_LinkTarget_use_packages,$(1),redland raptor rasqal)
1187 endef
1189 endif # ANDROID
1191 endif # SYSTEM_REDLAND
1194 ifneq ($(USING_X11)$(ENABLE_CAIRO_CANVAS)$(ENABLE_HEADLESS),) # or
1196 ifneq ($(SYSTEM_CAIRO),)
1198 define gb_LinkTarget__use_cairo
1199 $(call gb_LinkTarget_set_include,$(1),\
1200 $$(INCLUDE) \
1201 $(CAIRO_CFLAGS) \
1203 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1204 $(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
1206 endef
1208 else # !SYSTEM_CAIRO
1210 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
1211 cairo \
1212 $(if $(filter $(OS),WNT),,pixman) \
1215 define gb_LinkTarget__use_cairo
1216 $(call gb_LinkTarget_use_package,$(1),cairo)
1217 $(call gb_LinkTarget_use_package,$(1),pixman)
1218 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1219 $(call gb_LinkTarget_set_include,$(1),\
1220 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1221 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1222 $$(INCLUDE) \
1224 $(call gb_LinkTarget_add_libs,$(1),\
1225 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1226 $(if $(filter-out MACOSX WNT,$(OS)), \
1227 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
1231 endef
1233 endif # SYSTEM_CAIRO
1235 else ifeq ($(OS),ANDROID)
1237 define gb_LinkTarget__use_cairo
1238 $(call gb_LinkTarget_use_package,$(1),cairo)
1239 $(call gb_LinkTarget_use_package,$(1),pixman)
1240 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1241 $(call gb_LinkTarget_set_include,$(1),\
1242 -I$(call gb_UnpackedTarball_get_dir,cairo) \
1243 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
1244 $$(INCLUDE) \
1246 $(call gb_LinkTarget_add_libs,$(1),\
1247 -L$(call gb_UnpackedTarball_get_dir,cairo)/src/.libs -lcairo \
1248 -L$(call gb_UnpackedTarball_get_dir,pixman)/pixman/.libs -lpixman-1 \
1251 endef
1253 endif # CAIRO
1255 ifneq ($(SYSTEM_FREETYPE),)
1257 define gb_LinkTarget__use_freetype_headers
1258 $(call gb_LinkTarget_set_include,$(1),\
1259 $$(INCLUDE) \
1260 $(FREETYPE_CFLAGS) \
1263 endef
1265 gb_ExternalProject__use_freetype :=
1267 else
1269 define gb_LinkTarget__use_freetype_headers
1270 $(call gb_LinkTarget_use_external_project,$(1),freetype)
1271 $(call gb_LinkTarget_set_include,$(1),\
1272 $(FREETYPE_CFLAGS) \
1273 $$(INCLUDE) \
1276 endef
1278 define gb_ExternalProject__use_freetype
1279 $(call gb_ExternalProject_use_external_project,$(1),freetype)
1281 endef
1283 endif # SYSTEM_FREETYPE
1285 define gb_LinkTarget__use_freetype
1286 $(call gb_LinkTarget_use_external,$(1),freetype_headers)
1287 $(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
1289 endef
1291 ifneq ($(SYSTEM_FONTCONFIG),)
1293 define gb_LinkTarget__use_fontconfig
1294 $(call gb_LinkTarget_set_include,$(1),\
1295 $$(INCLUDE) \
1296 $(FONTCONFIG_CFLAGS) \
1299 $(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
1301 endef
1303 else
1305 define gb_LinkTarget__use_fontconfig
1306 $(call gb_LinkTarget_use_external_project,$(1),fontconfig)
1307 $(call gb_LinkTarget_set_include,$(1),\
1308 -I$(call gb_UnpackedTarball_get_dir,fontconfig) \
1309 $$(INCLUDE) \
1312 $(call gb_LinkTarget_add_libs,$(1),\
1313 -L$(call gb_UnpackedTarball_get_dir,fontconfig)/src/.libs -lfontconfig \
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_project,$(1),harfbuzz)
1476 endef
1478 define gb_ExternalProject__use_harfbuzz
1479 $(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
1481 endef
1483 endif # SYSTEM_HARFBUZZ
1485 ifeq ($(DISABLE_OPENSSL),TRUE)
1487 gb_ExternalProject__use_openssl:=
1488 gb_LinkTarget__use_openssl_headers:=
1489 gb_LinkTarget__use_openssl:=
1491 else # !DISABLE_OPENSSL
1493 ifneq ($(SYSTEM_OPENSSL),)
1495 gb_LinkTarget__use_openssl_headers:=
1496 gb_ExternalProject__use_openssl:=
1498 define gb_LinkTarget__use_openssl
1499 $(call gb_LinkTarget_set_include,$(1),\
1500 $$(INCLUDE) \
1501 $(OPENSSL_CFLAGS) \
1503 $(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
1505 endef
1507 else # !SYSTEM_OPENSSL
1509 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1510 openssl \
1513 define gb_ExternalProject__use_openssl
1514 $(call gb_ExternalProject_use_package,$(1),openssl)
1516 endef
1518 define gb_LinkTarget__use_openssl_headers
1519 $(call gb_LinkTarget_use_external_project,$(1),openssl)
1520 $(call gb_LinkTarget_set_include,$(1),\
1521 -I$(call gb_UnpackedTarball_get_dir,openssl)/include \
1522 $$(INCLUDE) \
1525 endef
1527 define gb_LinkTarget__use_openssl
1528 $(call gb_LinkTarget_use_package,$(1),openssl)
1529 ifeq ($(OS),WNT)
1530 $(call gb_LinkTarget_add_libs,$(1),\
1531 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/ssleay32.lib \
1532 $(call gb_UnpackedTarball_get_dir,openssl)/out32dll/libeay32.lib \
1534 else
1535 $(call gb_LinkTarget_add_libs,$(1),\
1536 $(call gb_UnpackedTarball_get_dir,openssl)/libssl.a \
1537 $(call gb_UnpackedTarball_get_dir,openssl)/libcrypto.a \
1539 $(call gb_LinkTarget_use_external_project,$(1),openssl)
1540 ifeq ($(OS),SOLARIS)
1541 $(call gb_LinkTarget_add_libs,$(1),\
1542 -lnsl \
1543 -lsocket \
1545 endif
1546 endif
1548 endef
1550 endif # SYSTEM_OPENSSL
1551 endif # DISABLE_OPENSSL
1554 ifeq ($(DISABLE_OPENSSL),TRUE)
1556 define gb_LinkTarget__use_gnutls
1557 $(call gb_LinkTarget_set_include,$(1),\
1558 $$(INCLUDE) \
1559 $(GNUTLS_CFLAGS) \
1562 $(call gb_LinkTarget_add_defs,$(1),\
1563 -DDISABLE_OPENSSL \
1566 $(call gb_LinkTarget_add_libs,$(1),$(GNUTLS_LIBS))
1568 endef
1570 define gb_LinkTarget__use_libgcrypt
1571 $(call gb_LinkTarget_set_include,$(1),\
1572 $$(INCLUDE) \
1573 $(LIBGCRYPT_CFLAGS) \
1576 $(call gb_LinkTarget_add_libs,$(1),$(LIBGCRYPT_LIBS))
1578 endef
1580 else # !DISABLE_OPENSSL
1582 gb_LinkTarget__use_gnutls:=
1583 gb_LinkTarget__use_libgcrypt:=
1585 endif # DISABLE_OPENSSL
1588 ifneq ($(SYSTEM_CDR),)
1590 define gb_LinkTarget__use_cdr
1591 $(call gb_LinkTarget_set_include,$(1),\
1592 $$(INCLUDE) \
1593 $(CDR_CFLAGS) \
1595 $(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
1597 endef
1599 else # !SYSTEM_CDR
1601 define gb_LinkTarget__use_cdr
1602 $(call gb_LinkTarget_set_include,$(1),\
1603 -I$(call gb_UnpackedTarball_get_dir,libcdr)/inc \
1604 $$(INCLUDE) \
1606 $(call gb_LinkTarget_add_libs,$(1),\
1607 $(call gb_UnpackedTarball_get_dir,libcdr)/src/lib/.libs/libcdr-0.1$(gb_StaticLibrary_PLAINEXT) \
1609 $(call gb_LinkTarget_use_external_project,$(1),libcdr)
1610 endef
1612 endif # SYSTEM_CDR
1615 ifneq ($(SYSTEM_EBOOK),)
1617 define gb_LinkTarget__use_ebook
1618 $(call gb_LinkTarget_set_include,$(1),\
1619 $$(INCLUDE) \
1620 $(EBOOK_CFLAGS) \
1622 $(call gb_LinkTarget_add_libs,$(1),$(EBOOK_LIBS))
1624 endef
1626 gb_ExternalProject__use_ebook :=
1628 else # !SYSTEM_EBOOK
1630 define gb_LinkTarget__use_ebook
1631 $(call gb_LinkTarget_set_include,$(1),\
1632 -I${WORKDIR}/UnpackedTarball/libebook/inc \
1633 $$(INCLUDE) \
1635 $(call gb_LinkTarget_add_libs,$(1),\
1636 $(call gb_UnpackedTarball_get_dir,libebook)/src/lib/.libs/libe-book-0.1$(gb_StaticLibrary_PLAINEXT) \
1638 $(call gb_LinkTarget_use_external_project,$(1),libebook)
1640 endef
1642 define gb_ExternalProject__use_ebook
1643 $(call gb_ExternalProject_use_external_project,$(1),libebook)
1645 endef
1647 endif # SYSTEM_EBOOK
1650 ifneq ($(SYSTEM_ETONYEK),)
1652 define gb_LinkTarget__use_etonyek
1653 $(call gb_LinkTarget_set_include,$(1),\
1654 $$(INCLUDE) \
1655 $(ETONYEK_CFLAGS) \
1657 $(call gb_LinkTarget_add_libs,$(1),$(ETONYEK_LIBS))
1659 endef
1661 gb_ExternalProject__use_etonyek :=
1663 else # !SYSTEM_ETONYEK
1665 ifeq ($(COM),MSC)
1667 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1668 etonyek \
1671 define gb_LinkTarget__use_etonyek
1672 $(call gb_LinkTarget_set_include,$(1),\
1673 -I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
1674 $$(INCLUDE) \
1676 $(call gb_LinkTarget_use_libraries,$(1),\
1677 etonyek \
1680 endef
1682 else # !MSC
1684 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1685 libetonyek \
1688 define gb_LinkTarget__use_etonyek
1689 $(call gb_LinkTarget_use_package,$(1),libetonyek)
1691 $(call gb_LinkTarget_set_include,$(1),\
1692 -I${WORKDIR}/UnpackedTarball/libetonyek/inc \
1693 -DLIBETONYEK_VISIBILITY \
1694 $$(INCLUDE) \
1696 $(call gb_LinkTarget_add_libs,$(1),\
1697 -L$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/.libs -letonyek-0.1 \
1699 $(call gb_LinkTarget_use_external_project,$(1),libetonyek)
1701 endef
1703 define gb_ExternalProject__use_etonyek
1704 $(call gb_ExternalProject_use_external_project,$(1),libetonyek)
1706 endef
1708 endif
1710 endif # SYSTEM_ETONYEK
1713 ifneq ($(SYSTEM_FREEHAND),)
1715 define gb_LinkTarget__use_freehand
1716 $(call gb_LinkTarget_set_include,$(1),\
1717 $$(INCLUDE) \
1718 $(FREEHAND_CFLAGS) \
1720 $(call gb_LinkTarget_add_libs,$(1),$(FREEHAND_LIBS))
1722 endef
1724 gb_ExternalProject__use_freehand :=
1726 else # !SYSTEM_FREEHAND
1728 define gb_LinkTarget__use_freehand
1729 $(call gb_LinkTarget_set_include,$(1),\
1730 -I${WORKDIR}/UnpackedTarball/libfreehand/inc \
1731 $$(INCLUDE) \
1733 $(call gb_LinkTarget_add_libs,$(1),\
1734 $(call gb_UnpackedTarball_get_dir,libfreehand)/src/lib/.libs/libfreehand-0.1$(gb_StaticLibrary_PLAINEXT) \
1736 $(call gb_LinkTarget_use_external_project,$(1),libfreehand)
1738 endef
1740 define gb_ExternalProject__use_freehand
1741 $(call gb_ExternalProject_use_external_project,$(1),libfreehand)
1743 endef
1745 endif # SYSTEM_FREEHAND
1748 ifneq ($(SYSTEM_ODFGEN),)
1750 define gb_LinkTarget__use_odfgen
1751 $(call gb_LinkTarget_set_include,$(1),\
1752 $$(INCLUDE) \
1753 $(ODFGEN_CFLAGS) \
1755 $(call gb_LinkTarget_add_libs,$(1),$(ODFGEN_LIBS))
1757 endef
1759 else # !SYSTEM_ODFGEN
1761 ifeq ($(COM),MSC)
1763 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1764 odfgen \
1767 define gb_LinkTarget__use_odfgen
1768 $(call gb_LinkTarget_set_include,$(1),\
1769 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1770 $$(INCLUDE) \
1772 $(call gb_LinkTarget_use_libraries,$(1),\
1773 odfgen \
1776 endef
1778 else # !MSC
1780 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1781 libodfgen \
1784 define gb_LinkTarget__use_odfgen
1785 $(call gb_LinkTarget_use_package,$(1),libodfgen)
1787 $(call gb_LinkTarget_set_include,$(1),\
1788 -I$(call gb_UnpackedTarball_get_dir,libodfgen)/inc \
1789 -DLIBODFGEN_VISIBILITY \
1790 $$(INCLUDE) \
1792 $(call gb_LinkTarget_add_libs,$(1),\
1793 -L$(call gb_UnpackedTarball_get_dir,libodfgen)/src/.libs -lodfgen-0.1 \
1796 endef
1798 endif
1800 endif # SYSTEM_ODFGEN
1803 ifneq ($(SYSTEM_REVENGE),)
1805 define gb_LinkTarget__use_revenge
1806 $(call gb_LinkTarget_set_include,$(1),\
1807 $$(INCLUDE) \
1808 $(REVENGE_CFLAGS) \
1810 $(call gb_LinkTarget_add_libs,$(1),$(REVENGE_LIBS))
1812 endef
1814 gb_ExternalProject__use_revenge :=
1816 else # !SYSTEM_REVENGE
1818 ifeq ($(COM),MSC)
1820 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
1821 revenge \
1824 define gb_LinkTarget__use_revenge
1825 $(call gb_LinkTarget_set_include,$(1),\
1826 $(REVENGE_CFLAGS) \
1827 $$(INCLUDE) \
1829 $(call gb_LinkTarget_use_libraries,$(1),\
1830 revenge \
1833 endef
1835 define gb_ExternalProject__use_revenge
1836 $(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,revenge)
1838 endef
1840 else # !MSC
1842 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
1843 librevenge \
1846 define gb_LinkTarget__use_revenge
1847 $(call gb_LinkTarget_use_package,$(1),librevenge)
1849 $(call gb_LinkTarget_set_include,$(1),\
1850 $(REVENGE_CFLAGS) \
1851 -DLIBREVENGE_VISIBILITY \
1852 $$(INCLUDE) \
1854 $(call gb_LinkTarget_add_libs,$(1),\
1855 $(REVENGE_LIBS) \
1857 endef
1859 define gb_ExternalProject__use_revenge
1860 $(call gb_ExternalProject_use_package,$(1),librevenge)
1862 endef
1864 endif # MSC
1866 endif # SYSTEM_REVENGE
1869 ifneq ($(SYSTEM_ABW),)
1871 define gb_LinkTarget__use_abw
1872 $(call gb_LinkTarget_set_include,$(1),\
1873 $$(INCLUDE) \
1874 $(ABW_CFLAGS) \
1876 $(call gb_LinkTarget_add_libs,$(1),$(ABW_LIBS))
1878 endef
1879 gb_ExternalProject__use_abw :=
1881 else # !SYSTEM_ABW
1883 define gb_LinkTarget__use_abw
1884 $(call gb_LinkTarget_set_include,$(1),\
1885 -I$(call gb_UnpackedTarball_get_dir,libabw)/inc \
1886 $$(INCLUDE) \
1888 $(call gb_LinkTarget_add_libs,$(1),\
1889 $(call gb_UnpackedTarball_get_dir,libabw)/src/lib/.libs/libabw-0.1$(gb_StaticLibrary_PLAINEXT) \
1891 $(call gb_LinkTarget_use_external_project,$(1),libabw)
1893 endef
1894 define gb_ExternalProject__use_abw
1895 $(call gb_ExternalProject_use_external_project,$(1),libabw)
1897 endef
1899 endif # SYSTEM_ABW
1902 ifneq ($(SYSTEM_MSPUB),)
1904 define gb_LinkTarget__use_mspub
1905 $(call gb_LinkTarget_set_include,$(1),\
1906 $$(INCLUDE) \
1907 $(MSPUB_CFLAGS) \
1909 $(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1911 endef
1913 else # !SYSTEM_MSPUB
1915 define gb_LinkTarget__use_mspub
1916 $(call gb_LinkTarget_set_include,$(1),\
1917 -I$(call gb_UnpackedTarball_get_dir,libmspub)/inc \
1918 $$(INCLUDE) \
1920 $(call gb_LinkTarget_add_libs,$(1),\
1921 $(call gb_UnpackedTarball_get_dir,libmspub)/src/lib/.libs/libmspub-0.1$(gb_StaticLibrary_PLAINEXT) \
1923 $(call gb_LinkTarget_use_external_project,$(1),libmspub)
1925 endef
1927 endif # SYSTEM_MSPUB
1930 ifneq ($(SYSTEM_PAGEMAKER),)
1932 define gb_LinkTarget__use_pagemaker
1933 $(call gb_LinkTarget_set_include,$(1),\
1934 $$(INCLUDE) \
1935 $(PAGEMAKER_CFLAGS) \
1937 $(call gb_LinkTarget_add_libs,$(1),$(PAGEMAKER_LIBS))
1939 endef
1940 gb_ExternalProject__use_pagemaker :=
1942 else # !SYSTEM_PAGEMAKER
1944 define gb_LinkTarget__use_pagemaker
1945 $(call gb_LinkTarget_set_include,$(1),\
1946 -I$(call gb_UnpackedTarball_get_dir,libpagemaker)/inc \
1947 $$(INCLUDE) \
1949 $(call gb_LinkTarget_add_libs,$(1),\
1950 $(call gb_UnpackedTarball_get_dir,libpagemaker)/src/lib/.libs/libpagemaker-0.0$(gb_StaticLibrary_PLAINEXT) \
1952 $(call gb_LinkTarget_use_external_project,$(1),libpagemaker)
1954 endef
1955 define gb_ExternalProject__use_pagemaker
1956 $(call gb_ExternalProject_use_external_project,$(1),libpagemaker)
1958 endef
1960 endif # SYSTEM_PAGEMAKER
1963 ifneq ($(SYSTEM_ZMF),)
1965 define gb_LinkTarget__use_zmf
1966 $(call gb_LinkTarget_set_include,$(1),\
1967 $$(INCLUDE) \
1968 $(ZMF_CFLAGS) \
1970 $(call gb_LinkTarget_add_libs,$(1),$(ZMF_LIBS))
1972 endef
1973 gb_ExternalProject__use_zmf :=
1975 else # !SYSTEM_ZMF
1977 define gb_LinkTarget__use_zmf
1978 $(call gb_LinkTarget_set_include,$(1),\
1979 -I$(call gb_UnpackedTarball_get_dir,libzmf)/inc \
1980 $$(INCLUDE) \
1982 $(call gb_LinkTarget_add_libs,$(1),\
1983 $(call gb_UnpackedTarball_get_dir,libzmf)/src/lib/.libs/libzmf-0.0$(gb_StaticLibrary_PLAINEXT) \
1985 $(call gb_LinkTarget_use_external_project,$(1),libzmf)
1987 endef
1988 define gb_ExternalProject__use_zmf
1989 $(call gb_ExternalProject_use_external_project,$(1),libzmf)
1991 endef
1993 endif # SYSTEM_ZMF
1996 ifneq ($(SYSTEM_VISIO),)
1998 define gb_LinkTarget__use_visio
1999 $(call gb_LinkTarget_set_include,$(1),\
2000 $$(INCLUDE) \
2001 $(VISIO_CFLAGS) \
2003 $(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
2005 endef
2007 else # !SYSTEM_VISIO
2009 define gb_LinkTarget__use_visio
2010 $(call gb_LinkTarget_set_include,$(1),\
2011 -I$(call gb_UnpackedTarball_get_dir,libvisio)/inc \
2012 $$(INCLUDE) \
2014 $(call gb_LinkTarget_add_libs,$(1),\
2015 $(call gb_UnpackedTarball_get_dir,libvisio)/src/lib/.libs/libvisio-0.1$(gb_StaticLibrary_PLAINEXT) \
2017 $(call gb_LinkTarget_use_external_project,$(1),libvisio)
2019 endef
2021 endif # SYSTEM_VISIO
2024 ifneq ($(SYSTEM_WPD),)
2026 define gb_LinkTarget__use_wpd
2027 $(call gb_LinkTarget_set_include,$(1),\
2028 $$(INCLUDE) \
2029 $(WPD_CFLAGS) \
2031 $(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
2033 endef
2034 gb_ExternalProject__use_wpd :=
2036 else # !SYSTEM_WPD
2038 ifeq ($(COM),MSC)
2040 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2041 wpd \
2044 define gb_LinkTarget__use_wpd
2045 $(call gb_LinkTarget_set_include,$(1),\
2046 $(WPD_CFLAGS) \
2047 $$(INCLUDE) \
2049 $(call gb_LinkTarget_use_libraries,$(1),\
2050 wpd \
2053 endef
2055 define gb_ExternalProject__use_wpd
2056 $(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Library_get_target,wpd)
2058 endef
2060 else # !MSC
2062 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2063 libwpd \
2066 define gb_LinkTarget__use_wpd
2067 $(call gb_LinkTarget_use_package,$(1),libwpd)
2069 $(call gb_LinkTarget_set_include,$(1),\
2070 $(WPD_CFLAGS) \
2071 $$(INCLUDE) \
2073 $(call gb_LinkTarget_add_libs,$(1),\
2074 $(WPD_LIBS) \
2077 endef
2079 define gb_ExternalProject__use_wpd
2080 $(call gb_ExternalProject_use_package,$(1),libwpd)
2082 endef
2084 endif # MSC
2086 endif # SYSTEM_WPD
2089 ifneq ($(SYSTEM_WPG),)
2091 define gb_LinkTarget__use_wpg
2092 $(call gb_LinkTarget_set_include,$(1),\
2093 $$(INCLUDE) \
2094 $(WPG_CFLAGS) \
2096 $(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
2098 endef
2099 gb_ExternalProject__use_wpg :=
2101 else # !SYSTEM_WPG
2103 ifeq ($(COM),MSC)
2105 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2106 wpg \
2109 define gb_LinkTarget__use_wpg
2110 $(call gb_LinkTarget_set_include,$(1),\
2111 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2112 $$(INCLUDE) \
2114 $(call gb_LinkTarget_use_libraries,$(1),\
2115 wpg \
2118 endef
2120 else # !MSC
2122 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2123 libwpg \
2126 define gb_LinkTarget__use_wpg
2127 $(call gb_LinkTarget_use_package,$(1),libwpg)
2129 $(call gb_LinkTarget_set_include,$(1),\
2130 -I$(call gb_UnpackedTarball_get_dir,libwpg)/inc \
2131 $$(INCLUDE) \
2133 $(call gb_LinkTarget_add_libs,$(1),\
2134 -L$(call gb_UnpackedTarball_get_dir,libwpg)/src/lib/.libs -lwpg-0.3 \
2137 endef
2139 endif # MSC
2141 endif # SYSTEM_WPG
2144 ifneq ($(SYSTEM_WPS),)
2146 define gb_LinkTarget__use_wps
2147 $(call gb_LinkTarget_set_include,$(1),\
2148 $$(INCLUDE) \
2149 $(WPS_CFLAGS) \
2151 $(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
2153 endef
2154 gb_ExternalProject__use_wps :=
2156 else # !SYSTEM_WPS
2158 ifeq ($(COM),MSC)
2160 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2161 wps \
2164 define gb_LinkTarget__use_wps
2165 $(call gb_LinkTarget_set_include,$(1),\
2166 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2167 $$(INCLUDE) \
2170 $(call gb_LinkTarget_use_libraries,$(1),\
2171 wps \
2174 endef
2176 else # !MSC
2178 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
2179 libwps \
2182 define gb_LinkTarget__use_wps
2183 $(call gb_LinkTarget_use_package,$(1),libwps)
2185 $(call gb_LinkTarget_set_include,$(1),\
2186 -I$(call gb_UnpackedTarball_get_dir,libwps)/inc \
2187 $$(INCLUDE) \
2189 $(call gb_LinkTarget_add_libs,$(1),\
2190 -L$(call gb_UnpackedTarball_get_dir,libwps)/src/lib/.libs -lwps-0.4 \
2193 endef
2195 endif # MSC
2197 endif # SYSTEM_WPS
2200 ifneq ($(SYSTEM_MWAW),)
2202 define gb_LinkTarget__use_mwaw
2203 $(call gb_LinkTarget_set_include,$(1),\
2204 $$(INCLUDE) \
2205 $(MWAW_CFLAGS) \
2207 $(call gb_LinkTarget_add_libs,$(1),$(MWAW_LIBS))
2209 endef
2211 else # !SYSTEM_MWAW
2213 ifeq ($(COM),MSC)
2215 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2216 mwaw \
2219 define gb_LinkTarget__use_mwaw
2220 $(call gb_LinkTarget_set_include,$(1),\
2221 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2222 $$(INCLUDE) \
2225 $(call gb_LinkTarget_use_libraries,$(1),\
2226 mwaw \
2229 endef
2231 else # !MSC
2233 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2234 libmwaw \
2237 define gb_LinkTarget__use_mwaw
2238 $(call gb_LinkTarget_use_package,$(1),libmwaw)
2240 $(call gb_LinkTarget_set_include,$(1),\
2241 -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
2242 $$(INCLUDE) \
2244 $(call gb_LinkTarget_add_libs,$(1),\
2245 -L$(call gb_UnpackedTarball_get_dir,libmwaw)/src/lib/.libs -lmwaw-0.3 \
2248 endef
2250 endif # MSC
2252 endif # SYSTEM_MWAW
2254 ifneq ($(SYSTEM_STAROFFICE),)
2256 define gb_LinkTarget__use_staroffice
2257 $(call gb_LinkTarget_set_include,$(1),\
2258 $$(INCLUDE) \
2259 $(STAROFFICE_CFLAGS) \
2261 $(call gb_LinkTarget_add_libs,$(1),$(STAROFFICE_LIBS))
2263 endef
2265 else # !SYSTEM_STAROFFICE
2267 ifeq ($(COM),MSC)
2269 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2270 staroffice \
2273 define gb_LinkTarget__use_staroffice
2274 $(call gb_LinkTarget_set_include,$(1),\
2275 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2276 $$(INCLUDE) \
2279 $(call gb_LinkTarget_use_libraries,$(1),\
2280 staroffice \
2283 endef
2285 else # !MSC
2287 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2288 libstaroffice \
2291 define gb_LinkTarget__use_staroffice
2292 $(call gb_LinkTarget_use_package,$(1),libstaroffice)
2294 $(call gb_LinkTarget_set_include,$(1),\
2295 -I$(call gb_UnpackedTarball_get_dir,libstaroffice)/inc \
2296 $$(INCLUDE) \
2298 $(call gb_LinkTarget_add_libs,$(1),\
2299 -L$(call gb_UnpackedTarball_get_dir,libstaroffice)/src/lib/.libs -lstaroffice-0.0 \
2302 endef
2304 endif # MSC
2306 endif # SYSTEM_STAROFFICE
2309 ifneq ($(SYSTEM_LCMS2),)
2311 define gb_LinkTarget__use_lcms2
2312 $(call gb_LinkTarget_set_include,$(1),\
2313 $$(INCLUDE) \
2314 $(LCMS2_CFLAGS) \
2316 $(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2318 endef
2320 gb_ExternalProject__use_lcms2 :=
2322 else # !SYSTEM_LCMS2
2324 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2325 lcms2 \
2328 define gb_ExternalProject__use_lcms2
2329 $(call gb_ExternalProject_use_package,$(1),lcms2)
2331 endef
2333 ifeq ($(OS),ANDROID)
2335 define gb_LinkTarget__use_lcms2
2336 $(call gb_LinkTarget_use_package,$(1),lcms2)
2337 $(call gb_LinkTarget_set_include,$(1),\
2338 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
2339 $$(INCLUDE) \
2342 endef
2344 else
2346 define gb_LinkTarget__use_lcms2
2347 $(call gb_LinkTarget_use_package,$(1),lcms2)
2348 $(call gb_LinkTarget_set_include,$(1),\
2349 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
2350 $$(INCLUDE) \
2352 $(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
2354 endef
2356 endif # ANDROID
2357 endif # SYSTEM_LCMS2
2359 ifneq ($(ENABLE_LPSOLVE),)
2361 ifneq ($(SYSTEM_LPSOLVE),)
2363 define gb_LinkTarget__use_lpsolve
2364 $(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
2365 $(call gb_LinkTarget_add_defs,$(1),\
2366 -DSYSTEM_LPSOLVE \
2369 endef
2371 else # !SYSTEM_LPSOLVE
2373 define gb_LinkTarget__use_lpsolve
2374 $(call gb_LinkTarget_use_external_project,$(1),lpsolve)
2375 ifeq ($(COM),MSC)
2376 $(call gb_LinkTarget_add_libs,$(1),\
2377 $(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55/lpsolve55.lib \
2379 else
2380 $(call gb_LinkTarget_add_libs,$(1),\
2381 -L$(call gb_UnpackedTarball_get_dir,lpsolve)/lpsolve55 -llpsolve55 \
2383 endif
2384 $(call gb_LinkTarget_set_include,$(1),\
2385 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
2386 $$(INCLUDE) \
2389 endef
2391 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2392 lpsolve \
2395 endif # SYSTEM_LPSOLVE
2397 else
2399 gb_LinkTarget__use_lpsolve :=
2401 endif # ENABLE_LPSOLVE
2403 ifneq ($(ENABLE_COINMP),)
2405 ifneq ($(SYSTEM_COINMP),TRUE)
2407 define gb_LinkTarget__use_coinmp
2408 $(call gb_LinkTarget_use_package,$(1),coinmp)
2409 ifeq ($(COM),MSC)
2410 $(call gb_LinkTarget_add_libs,$(1),\
2411 $(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/MSVisualStudio/v9/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)/CoinMP.lib \
2413 else
2414 $(call gb_LinkTarget_add_libs,$(1),\
2415 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cbc/src/.libs -lCbc -lCbcSolver \
2416 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Cgl/src/.libs -lCgl \
2417 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/.libs -lClp \
2418 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Clp/src/OsiClp/.libs -lOsiClp \
2419 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src/.libs -lCoinMP \
2420 -L$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src/.libs -lCoinUtils \
2421 -L$(call gb_UnpackedTarball_get_dir,coinmp)/Osi/src/Osi/.libs -lOsi \
2423 endif
2424 $(call gb_LinkTarget_set_include,$(1),\
2425 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinMP/src \
2426 -I$(call gb_UnpackedTarball_get_dir,coinmp)/CoinUtils/src \
2427 $$(INCLUDE) \
2430 endef
2432 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2433 coinmp \
2436 else # SYSTEM_COINMP
2438 define gb_LinkTarget__use_coinmp
2439 $(call gb_LinkTarget_set_include,$(1),\
2440 $$(INCLUDE) \
2441 $(COINMP_CFLAGS) \
2443 $(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
2445 endef
2447 endif
2449 else
2451 gb_LinkTarget__use_coinmp :=
2453 endif # ENABLE_COINMP
2455 ifneq (,$(filter MDNSRESPONDER,$(BUILD_TYPE)))
2457 define gb_LinkTarget__use_mDNSResponder
2458 $(call gb_LinkTarget_set_include,$(1),\
2459 -I$(call gb_UnpackedTarball_get_dir,mDNSResponder)/mDNSShared \
2460 $$(INCLUDE) \
2462 $(call gb_LinkTarget_use_static_libraries,$(1),mDNSResponder)
2463 endef
2465 endif # MDNSRESPONDER
2467 ifeq ($(ENABLE_GIO),TRUE)
2469 define gb_LinkTarget__use_gio
2470 $(call gb_LinkTarget_set_include,$(1),\
2471 $$(INCLUDE) \
2472 $(GIO_CFLAGS) \
2475 $(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
2477 endef
2479 else # ENABLE_GIO
2481 define gb_LinkTarget__use_gio
2483 endef
2485 endif # ENABLE_GIO
2487 ifeq ($(ENABLE_AVAHI),TRUE)
2489 define gb_LinkTarget__use_avahi
2490 $(call gb_LinkTarget_set_include,$(1),\
2491 $$(INCLUDE) \
2492 $(AVAHI_CFLAGS) \
2495 $(call gb_LinkTarget_add_defs,$(1),\
2496 -DENABLE_AVAHI \
2499 $(call gb_LinkTarget_add_libs,$(1),$(AVAHI_LIBS))
2501 endef
2503 else # ENABLE_AVAHI
2505 gb_LinkTarget__use_avahi :=
2507 endif # ENABLE_AVAHI
2510 define gb_LinkTarget__use_gtk
2511 $(call gb_LinkTarget_set_include,$(1),\
2512 $$(INCLUDE) \
2513 $(GTK_CFLAGS) \
2516 $(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
2518 ifeq ($(ENABLE_GTK_PRINT),TRUE)
2520 $(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
2522 $(call gb_LinkTarget_set_include,$(1),\
2523 $$(INCLUDE) \
2524 $(GTK_PRINT_CFLAGS) \
2527 $(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
2529 endif
2531 endef
2533 define gb_LinkTarget__use_gthread
2534 $(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
2535 endef
2537 ifeq ($(ENABLE_CUPS),TRUE)
2539 define gb_LinkTarget__use_cups
2540 $(call gb_LinkTarget_add_defs,$(1),\
2541 -DENABLE_CUPS \
2544 $(call gb_LinkTarget_add_libs,$(1),\
2545 -lcups \
2548 endef
2550 else # ENABLE_CUPS
2552 define gb_LinkTarget__use_cups
2554 endef
2556 endif # ENABLE_DBUS
2558 ifeq ($(ENABLE_DBUS),TRUE)
2560 define gb_LinkTarget__use_dbus
2561 $(call gb_LinkTarget_set_include,$(1),\
2562 $$(INCLUDE) \
2563 $(DBUS_CFLAGS) \
2566 $(call gb_LinkTarget_add_libs,$(1),\
2567 $(DBUS_LIBS) \
2570 endef
2572 else # ENABLE_DBUS
2574 define gb_LinkTarget__use_dbus
2576 endef
2578 endif # ENABLE_DBUS
2581 ifneq ($(SYSTEM_LIBPNG),)
2583 define gb_LinkTarget__use_png
2584 $(call gb_LinkTarget_set_include,$(1),\
2585 $$(INCLUDE) \
2586 $(LIBPNG_CFLAGS) \
2589 $(call gb_LinkTarget_add_libs,$(1),\
2590 $(LIBPNG_LIBS) \
2593 endef
2595 gb_ExternalProject__use_png :=
2597 else # !SYSTEM_LIBPNG
2599 define gb_LinkTarget__use_png
2600 $(call gb_LinkTarget_set_include,$(1),\
2601 $(LIBPNG_CFLAGS) \
2602 $$(INCLUDE) \
2604 $(call gb_LinkTarget_use_static_libraries,$(1),\
2605 png \
2607 $(call gb_LinkTarget__use_zlib,$(1))
2609 endef
2611 define gb_ExternalProject__use_png
2612 $(call gb_ExternalProject_use_static_libraries,$(1),\
2613 png \
2616 endef
2618 endif # !SYSTEM_LIBPNG
2621 ifneq ($(SYSTEM_CURL),)
2623 define gb_LinkTarget__use_curl
2624 $(call gb_LinkTarget_add_defs,$(1),\
2625 -DSYSTEM_CURL \
2627 $(call gb_LinkTarget_set_include,$(1),\
2628 $$(INCLUDE) \
2629 $(CURL_CFLAGS) \
2631 $(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
2633 endef
2635 else # !SYSTEM_CURL
2637 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
2638 curl \
2641 define gb_LinkTarget__use_curl
2642 $(call gb_LinkTarget_use_package,$(1),curl)
2643 $(call gb_LinkTarget_set_include,$(1),\
2644 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
2645 $$(INCLUDE) \
2648 ifeq ($(COM),MSC)
2649 $(call gb_LinkTarget_add_libs,$(1),\
2650 $(call gb_UnpackedTarball_get_dir,curl)/lib/$(if $(MSVC_USE_DEBUG_RUNTIME),debug-dll,release-dll)/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),d)_imp.lib \
2652 else
2653 $(call gb_LinkTarget_add_libs,$(1),\
2654 -L$(call gb_UnpackedTarball_get_dir,curl)/lib/.libs -lcurl \
2656 endif
2658 endef
2660 endif # SYSTEM_CURL
2662 ifeq ($(ENABLE_VALGRIND),TRUE)
2664 define gb_LinkTarget__use_valgrind
2665 $(call gb_LinkTarget_add_defs,$(1),\
2666 -DHAVE_VALGRIND_HEADERS \
2669 $(call gb_LinkTarget_set_include,$(1),\
2670 $$(INCLUDE) \
2671 $(VALGRIND_CFLAGS) \
2674 endef
2676 else # !ENABLE_VALGRIND
2678 define gb_LinkTarget__use_valgrind
2680 endef
2682 endif # ENABLE_VALGRIND
2684 ifneq ($(SYSTEM_POPPLER),)
2686 define gb_LinkTarget__use_poppler
2687 $(call gb_LinkTarget_set_include,$(1),\
2688 $(POPPLER_CFLAGS) \
2689 $$(INCLUDE) \
2692 $(call gb_LinkTarget_add_libs,$(1),\
2693 $(POPPLER_LIBS) \
2696 endef
2698 else # !SYSTEM_POPPLER
2700 define gb_LinkTarget__use_poppler
2701 $(call gb_LinkTarget_use_external_project,$(1),poppler,full)
2703 $(call gb_LinkTarget_set_include,$(1),\
2704 -I$(call gb_UnpackedTarball_get_dir,poppler) \
2705 -I$(call gb_UnpackedTarball_get_dir,poppler)/poppler \
2706 -I$(call gb_UnpackedTarball_get_dir,poppler)/goo \
2707 $$(INCLUDE) \
2710 $(call gb_LinkTarget_add_libs,$(1),\
2711 $(call gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT) \
2712 $(call gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT) \
2713 $(call gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT) \
2716 $(call gb_LinkTarget_use_external,$(1),jpeg)
2718 ifeq ($(OS),MACOSX)
2719 $(call gb_LinkTarget_add_libs,$(1),\
2720 -lobjc \
2722 else ifeq ($(OS),LINUX)
2723 $(call gb_LinkTarget_add_libs,$(1),\
2724 -pthread \
2726 else ifeq ($(OS),WNT)
2727 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
2728 advapi32 \
2729 gdi32 \
2731 endif
2733 endef
2735 endif # SYSTEM_POPPLER
2738 ifneq ($(SYSTEM_CLUCENE),)
2740 define gb_LinkTarget__use_clucene
2741 $(call gb_LinkTarget_add_defs,$(1),\
2742 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS))) \
2745 $(call gb_LinkTarget_set_include,$(1),\
2746 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(CLUCENE_CFLAGS)))) \
2747 $$(INCLUDE) \
2750 $(call gb_LinkTarget_add_libs,$(1),\
2751 $(CLUCENE_LIBS) \
2754 endef
2756 else # !SYSTEM_CLUCENE
2758 define gb_LinkTarget__use_clucene
2759 $(call gb_LinkTarget_set_include,$(1),\
2760 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/core \
2761 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/shared \
2762 -I$(call gb_UnpackedTarball_get_dir,clucene)/src/contribs-lib \
2763 $$(INCLUDE) \
2766 $(call gb_LinkTarget_use_libraries,$(1),\
2767 clucene \
2770 endef
2772 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
2773 clucene \
2776 endif # SYSTEM_CLUCENE
2778 define gb_LinkTarget__use_gobject
2779 $(call gb_LinkTarget_add_libs,$(1),\
2780 $(GOBJECT_LIBS) \
2783 $(call gb_LinkTarget_set_include,$(1),\
2784 $$(INCLUDE) \
2785 $(GOBJECT_CFLAGS) \
2787 endef
2789 ifneq ($(SYSTEM_HSQLDB),)
2791 define gb_LinkTarget__use_hsqldb
2793 $(call gb_LinkTarget_add_defs,$(1),\
2794 -DSYSTEM_HSQLDB \
2795 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
2798 endef
2800 else # !SYSTEM_HSQLDB
2802 define gb_LinkTarget__use_hsqldb
2804 endef
2806 endif # SYSTEM_HSQLDB
2809 ifneq ($(SYSTEM_OPENLDAP),)
2811 define gb_LinkTarget__use_openldap
2813 $(call gb_LinkTarget_add_libs,$(1),\
2814 -lldap \
2815 -llber \
2818 endef
2820 gb_ExternalProject__use_openldap :=
2822 else # !SYSTEM_OPENLDAP
2824 define gb_LinkTarget__use_openldap
2825 $(call gb_LinkTarget_use_unpacked,$(1),openldap)
2826 $(call gb_LinkTarget_set_include,$(1),\
2827 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
2828 $$(INCLUDE) \
2830 $(call gb_LinkTarget_use_external_project,$(1),openldap,full)
2831 $(call gb_LinkTarget_add_libs,$(1), \
2832 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/libldap/.libs/libldap.a \
2833 $(call gb_UnpackedTarball_get_dir,openldap)/libraries/liblber/.libs/liblber.a \
2836 endef
2838 define gb_ExternalProject__use_openldap
2839 $(call gb_ExternalProject_use_external_project,$(1),openldap)
2841 endef
2843 endif # SYSTEM_OPENLDAP
2845 ifneq ($(SYSTEM_LIBTOMMATH),)
2847 define gb_LinkTarget__use_libtommath
2848 $(call gb_LinkTarget_set_include,$(1),\
2849 $(LIBTOMMATH_CFLAGS) \
2850 $$(INCLUDE) \
2852 $(call gb_LinkTarget_add_libs,$(1),$(LIBTOMMATH_LIBS))
2854 endef
2856 else # !SYSTEM_LIBTOMMATH
2857 define gb_LinkTarget__use_libtommath
2858 $(call gb_LinkTarget_set_include,$(1),\
2859 -I${WORKDIR}/UnpackedTarball/libtommath \
2860 $$(INCLUDE) \
2862 $(call gb_LinkTarget_add_libs,$(1),\
2863 $(call gb_UnpackedTarball_get_dir,libtommath)/libtommath$(gb_StaticLibrary_PLAINEXT) \
2865 $(call gb_LinkTarget_use_external_project,$(1),libtommath)
2867 endef
2869 endif # SYSTEM_LIBTOMMATH
2871 define gb_ExternalProject__use_libtommath
2872 $(call gb_ExternalProject_use_external_project,$(1),libtommath)
2874 endef
2876 ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
2878 ifneq ($(SYSTEM_FIREBIRD),)
2880 define gb_LinkTarget__use_libfbembed
2881 $(call gb_LinkTarget_set_include,$(1),\
2882 $(FIREBIRD_CFLAGS) \
2883 $$(INCLUDE) \
2885 $(call gb_LinkTarget_add_libs,$(1),$(FIREBIRD_LIBS))
2887 endef
2889 else # !SYSTEM_FIREBIRD
2891 $(eval $(call gb_Helper_register_packages_for_install,firebirdsdbc,\
2892 firebird \
2895 #$(call gb_LinkTarget__use_libatomic_ops,$(1))
2896 #$(call gb_LinkTarget__use_libtommath,$(1))
2898 define gb_LinkTarget__use_libfbembed
2899 $(call gb_LinkTarget_use_package,$(1),firebird)
2900 $(call gb_LinkTarget_set_include,$(1),\
2901 -I$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/include \
2902 $$(INCLUDE) \
2904 ifeq ($(COM),MSC)
2905 $(call gb_LinkTarget_add_libs,$(1),\
2906 $(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.lib \
2908 else
2909 $(call gb_LinkTarget_add_libs,$(1),\
2910 -L$(call gb_UnpackedTarball_get_dir,firebird)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib -lfbclient \
2912 endif
2914 endef
2917 # endef
2919 endif # SYSTEM_FIREBIRD
2921 else # !ENABLE_FIREBIRD_SDBC
2923 gb_LinkTarget__use_firebird :=
2924 # gb_LinkTarget__use_atomic_ops :=
2925 # gb_LinkTarget__use_libtommath :=
2927 endif # ENABLE_FIREBIRD_SDBC
2930 ifneq ($(SYSTEM_POSTGRESQL),)
2932 define gb_LinkTarget__use_postgresql
2934 $(call gb_LinkTarget_set_include,$(1),\
2935 $(POSTGRESQL_INC) \
2936 $$(INCLUDE) \
2939 $(call gb_LinkTarget_add_libs,$(1),\
2940 -lpq \
2943 $(call gb_LinkTarget_add_ldflags,$(1),\
2944 $(POSTGRESQL_LIB) \
2947 endef
2949 else # !SYSTEM_POSTGRESQL
2951 define gb_LinkTarget__use_postgresql
2953 $(call gb_LinkTarget_use_external_project,$(1),postgresql)
2955 $(call gb_LinkTarget_set_include,$(1),\
2956 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/include \
2957 -I$(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq \
2958 $$(INCLUDE) \
2961 $(call gb_LinkTarget_add_libs,$(1),\
2962 $(call gb_UnpackedTarball_get_dir,postgresql)/src/interfaces/libpq/libpq$(gb_StaticLibrary_PLAINEXT) \
2965 ifeq ($(OS),WNT)
2966 $(call gb_LinkTarget_use_external,$(1),openssl)
2968 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
2969 secur32 \
2970 ws2_32 \
2973 endif
2975 endef
2977 endif # SYSTEM_POSTGRESQL
2979 ifeq ($(ENABLE_KDE4),TRUE)
2981 define gb_LinkTarget__use_kde4
2982 $(call gb_LinkTarget_set_include,$(1),\
2983 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS)))) \
2984 $$(INCLUDE) \
2987 $(call gb_LinkTarget_add_defs,$(1),\
2988 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KDE4_CFLAGS))) \
2991 $(call gb_LinkTarget_add_libs,$(1),\
2992 $(KDE4_LIBS) \
2995 endef
2997 else # !ENABLE_KDE4
2999 define gb_LinkTarget__use_kde4
3001 endef
3003 endif # ENABLE_KDE4
3006 # PYTHON
3007 # extra python_headers external because pyuno wrapper must not link python
3008 ifneq ($(SYSTEM_PYTHON),)
3010 define gb_LinkTarget__use_python_headers
3011 $(call gb_LinkTarget_add_defs,$(1),\
3012 $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(PYHTON_CFLAGS)))) \
3015 $(call gb_LinkTarget_set_include,$(1),\
3016 $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem /,-isystem/,$(PYTHON_CFLAGS)))) \
3017 $$(INCLUDE) \
3020 endef
3022 define gb_LinkTarget__use_python
3023 $(call gb_LinkTarget__use_python_headers,$(1))
3025 $(call gb_LinkTarget_add_libs,$(1),\
3026 $(PYTHON_LIBS) \
3029 endef
3031 else # !SYSTEM_PYTHON
3033 $(eval $(call gb_Helper_register_packages_for_install,python,\
3034 python3 \
3037 define gb_LinkTarget__use_python_headers
3038 $(call gb_LinkTarget_use_external_project,$(1),python3,full)
3039 $(call gb_LinkTarget_set_include,$(1),\
3040 -I$(call gb_UnpackedTarball_get_dir,python3) \
3041 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
3042 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
3043 $$(INCLUDE) \
3046 endef
3048 define gb_LinkTarget__use_python
3049 $(call gb_LinkTarget__use_python_headers,$(1))
3050 ifeq ($(OS),MACOSX)
3051 $(call gb_LinkTarget_use_generated_package,$(1),python3)
3052 else
3053 $(call gb_LinkTarget_use_package,$(1),python3)
3054 endif
3056 ifeq ($(OS),WNT)
3057 $(call gb_LinkTarget_add_libs,$(1),\
3058 $(call gb_UnpackedTarball_get_dir,python3)/PCbuild/$(if $(filter X86_64,$(CPUNAME)),amd64,win32)/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).lib \
3060 else ifeq ($(OS),MACOSX)
3061 $(call gb_LinkTarget_add_libs,$(1),\
3062 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
3064 else
3065 $(call gb_LinkTarget_add_libs,$(1),\
3066 -L$(call gb_UnpackedTarball_get_dir,python3) \
3067 -lpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
3069 endif
3071 endef
3073 endif # SYSTEM_PYTHON
3075 # ORCUS
3076 ifneq ($(SYSTEM_LIBORCUS),)
3078 define gb_LinkTarget__use_orcus
3079 $(call gb_LinkTarget_set_include,$(1),\
3080 $$(INCLUDE) \
3081 $(ORCUS_CFLAGS) \
3083 $(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
3084 endef
3086 define gb_LinkTarget__use_orcus-parser
3088 endef
3090 else # !SYSTEM_LIBORCUS
3092 ifeq ($(COM),MSC)
3094 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
3095 orcus \
3096 orcus-parser \
3099 define gb_LinkTarget__use_orcus
3100 $(call gb_LinkTarget_set_include,$(1),\
3101 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3102 $$(INCLUDE) \
3105 $(call gb_LinkTarget_use_libraries,$(1),\
3106 orcus \
3109 endef
3111 define gb_LinkTarget__use_orcus-parser
3112 $(call gb_LinkTarget_set_include,$(1),\
3113 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3114 $$(INCLUDE) \
3117 $(call gb_LinkTarget_use_libraries,$(1),\
3118 orcus-parser \
3121 endef
3123 else # !MSC
3125 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3126 liborcus \
3129 define gb_LinkTarget__use_orcus
3130 $(call gb_LinkTarget_use_package,$(1),liborcus)
3132 $(call gb_LinkTarget_set_include,$(1),\
3133 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3134 $$(INCLUDE) \
3137 $(call gb_LinkTarget_add_libs,$(1),\
3138 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.12 \
3141 $(if $(SYSTEM_BOOST), \
3142 $(call gb_LinkTarget_add_ldflags,$(1),$(BOOST_LDFLAGS)) \
3143 $(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)) \
3146 endef
3148 define gb_LinkTarget__use_orcus-parser
3149 $(call gb_LinkTarget_use_package,$(1),liborcus)
3151 $(call gb_LinkTarget_set_include,$(1),\
3152 -I$(call gb_UnpackedTarball_get_dir,liborcus/include) \
3153 $$(INCLUDE) \
3156 $(call gb_LinkTarget_add_libs,$(1),\
3157 -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.12 \
3160 endef
3162 endif # MSC
3164 endif # SYSTEM_LIBORCUS
3166 ifeq ($(ENABLE_EOT),TRUE)
3168 ifneq ($(SYSTEM_LIBEOT),)
3170 define gb_LinkTarget__use_libeot
3171 $(call gb_LinkTarget_set_include,$(1),\
3172 $$(INCLUDE) \
3173 $(LIBEOT_CFLAGS) \
3175 $(call gb_LinkTarget_add_libs,$(1),$(LIBEOT_LIBS))
3177 endef
3179 gb_ExternalProject__use_libeot :=
3181 else # !SYSTEM_LIBEOT
3183 define gb_LinkTarget__use_libeot
3184 $(call gb_LinkTarget_set_include,$(1),\
3185 -I$(call gb_UnpackedTarball_get_dir,libeot)/inc \
3186 $$(INCLUDE) \
3188 $(call gb_LinkTarget_add_libs,$(1),\
3189 $(call gb_UnpackedTarball_get_dir,libeot)/.libs/libeot$(gb_StaticLibrary_PLAINEXT) \
3191 $(call gb_LinkTarget_use_external_project,$(1),libeot)
3193 endef
3195 define gb_ExternalProject__use_libeot
3196 $(call gb_ExternalProject_use_external_project,$(1),libeot)
3198 endef
3200 endif # SYSTEM_LIBEOT
3202 else # !ENABLE_EOT
3204 gb_LinkTarget__use_libeot :=
3205 gb_ExternalProject__use_libeot :=
3207 endif # ENABLE_EOT
3209 ### X11 stuff ###
3211 ifeq ($(USING_X11), TRUE)
3213 define gb_LinkTarget__use_Xrandr
3214 $(call gb_LinkTarget_set_include,$(1),\
3215 $$(INCLUDE) \
3216 $(XRANDR_CFLAGS) \
3219 $(call gb_LinkTarget_add_libs,$(1),\
3220 $(XRANDR_LIBS) \
3222 endef
3224 define gb_LinkTarget__use_Xrender
3225 $(call gb_LinkTarget_set_include,$(1),\
3226 $$(INCLUDE) \
3227 $(XRENDER_CFLAGS) \
3230 $(call gb_LinkTarget_add_libs,$(1),\
3231 $(XRENDER_LIBS) \
3233 endef
3235 endif # USING_X11
3238 gb_ExternalProject__use_nss3:=
3240 ifeq ($(OS),ANDROID)
3242 gb_LinkTarget__use_nss3:=
3243 gb_LinkTarget__use_plc4:=
3245 else
3247 ifneq ($(SYSTEM_NSS),)
3249 define gb_LinkTarget__use_nss3
3250 $(call gb_LinkTarget_add_defs,$(1),\
3251 -DSYSTEM_NSS \
3254 $(call gb_LinkTarget_set_include,$(1),\
3255 $$(INCLUDE) \
3256 $(NSS_CFLAGS) \
3259 $(call gb_LinkTarget_add_libs,$(1),\
3260 $(NSS_LIBS) \
3263 endef
3265 define gb_LinkTarget__use_plc4
3266 $(call gb_LinkTarget__use_nss3,$(1))
3268 endef
3270 define gb_LinkTarget__use_ssl3
3271 $(call gb_LinkTarget__use_nss3,$(1))
3273 endef
3275 else # !SYSTEM_NSS
3277 $(eval $(call gb_Helper_register_packages_for_install,ooo, \
3278 nss \
3281 define gb_LinkTarget__use_nss3
3282 $(call gb_LinkTarget_use_package,$(1),nss)
3283 $(call gb_LinkTarget_set_include,$(1),\
3284 $$(INCLUDE) \
3285 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss \
3286 -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include \
3289 ifeq ($(COM),MSC)
3290 $(call gb_LinkTarget_add_libs,$(1),\
3291 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nspr4.lib \
3292 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/nss3.lib \
3293 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/smime3.lib \
3295 else
3296 $(call gb_LinkTarget_add_libs,$(1),\
3297 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
3298 -lnspr4 \
3299 -lnss3 \
3300 -lsmime3 \
3302 endif
3304 endef
3306 define gb_LinkTarget__use_plc4
3307 $(call gb_LinkTarget_use_package,$(1),nss)
3308 ifeq ($(COM),MSC)
3309 $(call gb_LinkTarget_add_libs,$(1),\
3310 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/plc4.lib \
3312 else
3313 $(call gb_LinkTarget_add_libs,$(1),\
3314 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lplc4 \
3316 endif
3318 endef
3320 define gb_LinkTarget__use_ssl3
3321 $(call gb_LinkTarget_use_package,$(1),nss)
3322 ifeq ($(COM),MSC)
3323 $(call gb_LinkTarget_add_libs,$(1),\
3324 $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/ssl3.lib \
3326 else
3327 $(call gb_LinkTarget_add_libs,$(1),\
3328 -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib -lssl3 \
3330 endif
3332 endef
3334 define gb_ExternalProject__use_nss3
3335 $(call gb_ExternalProject_use_package,$(1),nss)
3337 endef
3339 endif # SYSTEM_NSS
3341 endif # DESKTOP
3343 ifeq ($(ENABLE_BREAKPAD),TRUE)
3345 define gb_LinkTarget__use_breakpad
3346 $(call gb_LinkTarget_set_include,$(1),\
3347 -I$(call gb_UnpackedTarball_get_dir,breakpad)/src \
3348 $$(INCLUDE) \
3351 ifeq ($(COM),MSC)
3352 $(call gb_LinkTarget_use_static_libraries,$(1),\
3353 breakpad \
3355 else
3356 $(call gb_LinkTarget_add_libs,$(1),\
3357 $(call gb_UnpackedTarball_get_dir,breakpad)/src/client/linux/libbreakpad_client.a \
3359 endif
3361 $(call gb_LinkTarget_use_external_project,$(1),breakpad)
3363 endef
3365 endif # ENABLE_BREAKPAD
3367 ifneq ($(SYSTEM_GPGMEPP),)
3369 gb_ExternalProject__use_gpgmepp:=
3370 gb_ExternalProject__use_libassuan:=
3371 gb_ExternalProject__use_libgpg-error:=
3373 define gb_LinkTarget__use_gpgmepp
3374 $(call gb_LinkTarget_set_include,$(1),\
3375 $$(INCLUDE) \
3376 $$(GPGMEPP_CFLAGS) \
3379 $(call gb_LinkTarget_add_libs,$(1),\
3380 $(GPGMEPP_LIBS) \
3383 endef
3385 else # NON-SYSTEM_GPGME
3387 define gb_ExternalProject__use_gpgmepp
3388 $(call gb_ExternalProject_use_external_project,$(1),gpgme)
3390 endef
3391 define gb_ExternalProject__use_libassuan
3392 $(call gb_ExternalProject_use_external_project,$(1),libassuan)
3394 endef
3395 define gb_ExternalProject__use_libgpg-error
3396 $(call gb_ExternalProject_use_external_project,$(1),libgpg-error)
3398 endef
3400 define gb_LinkTarget__use_gpgmepp
3401 $(call gb_LinkTarget_set_include,$(1),\
3402 -I$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src \
3403 -I$(call gb_UnpackedTarball_get_dir,gpgme)/src \
3404 $$(GPG_ERROR_CFLAGS) \
3405 $$(INCLUDE) \
3407 $(call gb_LinkTarget_add_libs,$(1),\
3408 -L$(call gb_UnpackedTarball_get_dir,gpgme)/lang/cpp/src/.libs/ -lgpgmepp \
3410 $(call gb_LinkTarget_use_package,$(1),gpgme)
3412 endef
3414 ifeq ($(OS),LINUX)
3416 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
3417 gpgme \
3418 libassuan \
3419 libgpg-error \
3422 endif
3424 endif
3426 ifeq ($(ENABLE_GLTF),TRUE)
3428 ifneq ($(SYSTEM_LIBGLTF),TRUE)
3430 define gb_LinkTarget__use_libgltf
3431 $(call gb_LinkTarget_set_include,$(1),\
3432 -I$(call gb_UnpackedTarball_get_dir,libgltf)/inc \
3433 $$(INCLUDE) \
3436 ifeq ($(COM),MSC)
3437 $(call gb_LinkTarget_add_libs,$(1),\
3438 $(call gb_UnpackedTarball_get_dir,libgltf)/build/win32/$(wnt_arch_subdir_optional)$(if $(MSVC_USE_DEBUG_RUNTIME),Debug/libgltf.lib,Release/libgltf.lib) \
3440 else
3441 $(call gb_LinkTarget_add_libs,$(1),\
3442 $(call gb_UnpackedTarball_get_dir,libgltf)/src/.libs/libgltf-0.1$(gb_StaticLibrary_PLAINEXT) \
3444 endif
3446 $(call gb_LinkTarget_use_external_project,$(1),libgltf)
3448 endef
3450 else # SYSTEM_LIBGLTF
3452 define gb_LinkTarget__use_libgltf
3453 $(call gb_LinkTarget_set_include,$(1),\
3454 $$(INCLUDE) \
3455 $(LIBGLTF_CFLAGS) \
3457 $(call gb_LinkTarget_add_libs,$(1),$(LIBGLTF_LIBS))
3459 endef
3461 endif # SYSTEM_LIBGLTF
3463 ifeq ($(ENABLE_COLLADA),TRUE)
3465 ifeq ($(SYSTEM_OPENCOLLADA),TRUE)
3467 define gb_LinkTarget__use_opencollada_parser
3468 $(call gb_LinkTarget_set_include,$(1),\
3469 $$(INCLUDE) \
3470 $(OPENCOLLADA_CFLAGS) \
3473 $(call gb_LinkTarget_add_libs,$(1),$(OPENCOLLADA_LIBS))
3475 endef
3477 else # !SYSTEM_OPENCOLLADA
3479 define gb_LinkTarget__use_opencollada_parser
3480 $(call gb_LinkTarget_set_include,$(1),\
3481 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
3482 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADAFramework/include \
3483 -I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADASaxFrameworkLoader/include \
3484 -I$(call gb_UnpackedTarball_get_dir,opencollada)/GeneratedSaxParser/include \
3485 $$(INCLUDE) \
3488 $(call gb_LinkTarget_use_static_libraries,$(1),\
3489 opencollada_parser \
3491 endef
3493 endif # SYSTEM_OPENCOLLADA
3495 ifeq ($(SYSTEM_COLLADA2GLTF),TRUE)
3497 define gb_LinkTarget__use_collada2gltf
3498 $(call gb_LinkTarget_set_include,$(1),\
3499 $$(INCLUDE) \
3500 $(COLLADA2GLTF_CFLAGS) \
3503 $(call gb_LinkTarget_add_libs,$(1),$(COLLADA2GLTF_LIBS))
3505 endef
3507 else # !SYSTEM_COLLADA2GLTF
3509 define gb_LinkTarget__use_collada2gltf
3510 $(call gb_LinkTarget_set_include,$(1),\
3511 -I$(call gb_UnpackedTarball_get_dir,collada2gltf) \
3512 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/assetModifiers \
3513 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/GLTF \
3514 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/helpers \
3515 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/JSON \
3516 -I$(call gb_UnpackedTarball_get_dir,collada2gltf)/dependencies/json/include/rapidjson/ \
3517 $$(INCLUDE) \
3520 $(call gb_LinkTarget_use_static_libraries,$(1),\
3521 collada2gltf \
3523 endef
3525 endif # SYSTEM_COLLADA2GLTF
3527 endif # ENABLE_COLLADA
3529 endif # ENABLE_GLTF
3531 define gb_LinkTarget__use_dconf
3532 $(call gb_LinkTarget_add_defs,$(1),$(DCONF_CFLAGS))
3533 $(call gb_LinkTarget_add_libs,$(1),$(DCONF_LIBS))
3534 endef
3536 ### Jars ############################################################
3538 ifneq ($(SYSTEM_HSQLDB),)
3540 define gb_Jar__use_hsqldb
3541 $(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
3542 endef
3543 define gb_JunitTest__use_hsqldb
3544 $(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
3545 endef
3547 else # !SYSTEM_HSQLDB
3549 ifeq ($(ENABLE_JAVA),TRUE)
3550 $(eval $(call gb_Helper_register_jars_for_install,OOO,ooo, \
3551 hsqldb \
3553 endif
3555 define gb_Jar__use_hsqldb
3556 $(call gb_Jar_use_jar,$(1),hsqldb)
3557 endef
3558 define gb_JunitTest__use_hsqldb
3559 $(call gb_JunitTest_use_jar,$(1),hsqldb)
3560 endef
3562 endif # SYSTEM_HSQLDB
3565 ifeq ($(ENABLE_SCRIPTING_BEANSHELL),TRUE)
3567 ifneq ($(SYSTEM_BSH),)
3569 define gb_Jar__use_bsh
3570 $(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
3571 endef
3573 else # !SYSTEM_BSH
3575 ifeq ($(ENABLE_JAVA),TRUE)
3576 $(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_bsh, \
3577 bsh \
3579 endif
3581 define gb_Jar__use_bsh
3582 $(call gb_Jar_use_jar,$(1),bsh)
3583 endef
3585 endif # SYSTEM_BSH
3587 endif
3589 ifeq ($(ENABLE_SCRIPTING_JAVASCRIPT),TRUE)
3591 ifneq ($(SYSTEM_RHINO),)
3593 define gb_Jar__use_rhino
3594 $(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
3595 endef
3597 else # !SYSTEM_RHINO
3599 ifeq ($(ENABLE_JAVA),TRUE)
3600 $(eval $(call gb_Helper_register_jars_for_install,OOO,extensions_rhino, \
3601 js \
3603 endif
3605 define gb_Jar__use_rhino
3606 $(call gb_Jar_use_jar,$(1),js)
3607 endef
3609 endif # SYSTEM_RHINO
3611 endif
3613 ifneq ($(SYSTEM_APACHE_COMMONS),)
3615 define gb_Jar__use_commons-logging
3616 $(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
3617 endef
3618 gb_ExternalProject__use_commons-logging :=
3620 else # !SYSTEM_APACHE_COMMONS
3622 ifeq ($(ENABLE_JAVA),TRUE)
3623 $(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
3624 commons-logging-$(COMMONS_LOGGING_VERSION) \
3626 endif
3628 define gb_Jar__use_commons-logging
3629 $(call gb_Jar_use_external_project,$(1),apache_commons_logging)
3630 $(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION))
3631 endef
3632 define gb_ExternalProject__use_commons-logging
3633 $(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
3634 endef
3636 endif # SYSTEM_APACHE_COMMONS
3639 ifneq ($(SYSTEM_JFREEREPORT),)
3641 define gb_Jar__use_flow-engine
3642 $(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
3643 endef
3645 define gb_Jar__use_flute
3646 $(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
3647 endef
3649 define gb_Jar__use_libbase
3650 $(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
3651 endef
3653 define gb_Jar__use_libfonts
3654 $(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
3655 endef
3657 define gb_Jar__use_libformula
3658 $(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
3659 endef
3661 define gb_Jar__use_liblayout
3662 $(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
3663 endef
3665 define gb_Jar__use_libloader
3666 $(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
3667 endef
3669 define gb_Jar__use_librepository
3670 $(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
3671 endef
3673 define gb_Jar__use_libserializer
3674 $(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
3675 endef
3677 define gb_Jar__use_libxml
3678 $(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
3679 endef
3681 define gb_Jar__use_sac
3682 $(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
3683 endef
3685 else # !SYSTEM_JFREEREPORT
3687 ifeq ($(ENABLE_JAVA),TRUE)
3688 $(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
3689 flow-engine \
3690 flute-1.1.6 \
3691 libbase-1.1.6 \
3692 libfonts-1.1.6 \
3693 libformula-1.1.7 \
3694 liblayout \
3695 libloader-1.1.6 \
3696 librepository-1.1.6 \
3697 libserializer-1.1.6 \
3698 libxml-1.1.7 \
3699 sac \
3701 endif
3703 define gb_Jar__use_flow-engine
3704 $(call gb_Jar_use_jar,$(1),flow-engine)
3705 endef
3707 define gb_Jar__use_flute
3708 $(call gb_Jar_use_jar,$(1),flute-1.1.6)
3709 endef
3711 define gb_Jar__use_libbase
3712 $(call gb_Jar_use_jar,$(1),libbase-1.1.6)
3713 endef
3715 define gb_Jar__use_libfonts
3716 $(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
3717 endef
3719 define gb_Jar__use_libformula
3720 $(call gb_Jar_use_jar,$(1),libformula-1.1.7)
3721 endef
3723 define gb_Jar__use_liblayout
3724 $(call gb_Jar_use_jar,$(1),liblayout)
3725 endef
3727 define gb_Jar__use_libloader
3728 $(call gb_Jar_use_jar,$(1),libloader-1.1.6)
3729 endef
3731 define gb_Jar__use_librepository
3732 $(call gb_Jar_use_jar,$(1),librepository-1.1.6)
3733 endef
3735 define gb_Jar__use_libserializer
3736 $(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
3737 endef
3739 define gb_Jar__use_libxml
3740 $(call gb_Jar_use_jar,$(1),libxml-1.1.7)
3741 endef
3743 define gb_Jar__use_sac
3744 $(call gb_Jar_use_jar,$(1),sac)
3745 endef
3747 endif # SYSTEM_JFREEREPORT
3750 # Executables
3752 # FIXME: the library target should be for build too
3753 define gb_Executable__register_bestreversemap
3754 $(call gb_Executable_add_runtime_dependencies,bestreversemap,\
3755 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
3757 endef
3759 # TODO depending on the whole URE might be overkill, but I do not have a
3760 # Windows machine to debug it...
3761 # FIXME: the library target should be for build too
3762 define gb_Executable__register_climaker
3763 $(call gb_Executable_add_runtime_dependencies,climaker,\
3764 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
3765 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3766 $(call gb_UnoApi_get_target,udkapi) \
3767 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno)
3769 endef
3771 define gb_Executable__register_cppumaker
3772 $(call gb_Executable_add_runtime_dependencies,cppumaker,\
3773 $(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
3775 endef
3777 # This is used to determine what we need for 'build' platform.
3778 # FIXME: the library target should be for build too
3779 define gb_Executable__register_gengal
3780 $(call gb_Executable_add_runtime_dependencies,gengal,\
3781 $(call gb_AllLangResTarget_get_target,ofa) \
3782 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
3783 $(call gb_Package_get_target_for_build,postprocess_images) \
3784 $(call gb_Package_get_target_for_build,postprocess_registry) \
3785 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
3786 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,fundamental) \
3787 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno) \
3788 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3789 $(INSTROOT_FOR_BUILD)/$(LIBO_ETC_FOLDER)/services/services.rdb \
3790 $(call gb_UnoApi_get_target,offapi) \
3791 $(call gb_UnoApi_get_target,udkapi) \
3793 endef
3795 ifeq ($(SYSTEM_ICU),)
3797 define gb_Executable__register_gendict
3798 $(call gb_Executable_add_runtime_dependencies,gendict,\
3799 $(call gb_Package_get_target_for_build,icu) \
3800 $(call gb_Package_get_target_for_build,icu_ure) \
3802 endef
3804 endif
3806 define gb_Executable__register_idlc
3807 $(call gb_Executable_add_runtime_dependencies,idlc,\
3808 $(call gb_ExternalExecutable_get_dependencies,ucpp) \
3810 endef
3812 define gb_Executable__register_localize
3813 $(call gb_Executable_add_runtime_dependencies,localize,\
3814 $(foreach exec,cfgex helpex propex transex3 treex uiex ulfex xrmex,\
3815 $(call gb_Executable_get_runtime_dependencies,$(exec)) \
3818 endef
3820 # FIXME ure/services.rdb needs cleanup
3821 # The dependencies on ure/services.rdb and udkapi.rdb are implicitly required
3822 # due to the settings for URE_SERVICES and URE_TYPES in cppuhelper/source/unorc:
3823 # FIXME: the library target should be for build too
3824 define gb_Executable__register_saxparser
3825 $(call gb_Executable_add_runtime_dependencies,saxparser,\
3826 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
3827 $(call gb_Package_get_target_for_build,instsetoo_native_setup_ure) \
3828 $(call gb_Rdb_get_target_for_build,saxparser) \
3829 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER_FOR_BUILD)/services.rdb \
3830 $(call gb_UnoApi_get_target,udkapi) \
3832 endef
3834 # NOTE: the dependencies on ure/services.rdb and udkapi.rdb are implicitly
3835 # required due to the settings for URE_SERVICES and URE_TYPES in
3836 # cppuhelper/source/unorc
3837 # FIXME: the library target should be for build too
3838 define gb_Executable__register_uno
3839 $(call gb_Executable_add_runtime_dependencies,uno,\
3840 $(call gb_Library_get_target,$(gb_CPPU_ENV)_uno) \
3841 $(INSTROOT_FOR_BUILD)/$(LIBO_URE_MISC_FOLDER)/services.rdb \
3842 $(call gb_UnoApi_get_target,udkapi) \
3844 endef
3847 # External executables
3849 ifneq ($(SYSTEM_LIBXML_FOR_BUILD),)
3851 gb_ExternalExecutable__register_xmllint :=
3853 else # ! SYSTEM_LIBXML_FOR_BUILD
3855 define gb_ExternalExecutable__register_xmllint
3856 $(call gb_ExternalExecutable_set_internal,xmllint,$(WORKDIR_FOR_BUILD)/UnpackedTarball/xml2/$(if $(filter MSC,$(COM)),win32/bin.msvc)/xmllint$(gb_Executable_EXT_for_build),xml2)
3857 $(call gb_ExternalExecutable_add_dependencies,xmllint,\
3858 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
3859 $(call gb_Package_get_target,xml2) \
3862 endef
3864 endif # SYSTEM_LIBXML_FOR_BUILD
3866 ifneq ($(SYSTEM_LIBXSLT_FOR_BUILD),)
3868 gb_ExternalExecutable__register_xsltproc :=
3870 else # ! SYSTEM_LIBXSLT_FOR_BUILD
3872 define gb_ExternalExecutable__register_xsltproc
3873 $(call gb_ExternalExecutable_set_internal,xsltproc,$(WORKDIR_FOR_BUILD)/UnpackedTarball/xslt/$(if $(filter MSC,$(COM)),win32/bin.msvc,xsltproc)/xsltproc$(gb_Executable_EXT_for_build),xslt)
3874 $(call gb_ExternalExecutable_add_dependencies,xsltproc,\
3875 $(if $(filter WNT,$(OS)),$(call gb_Package_get_target,icu_ure)) \
3876 $(call gb_Package_get_target,xml2) \
3877 $(call gb_Package_get_target,xslt) \
3880 endef
3882 endif # SYSTEM_LIBXSLT_FOR_BUILD
3884 ifneq (,$(SYSTEM_UCPP))
3886 gb_ExternalExecutable__register_ucpp :=
3888 else # ! SYSTEM_UCPP
3890 define gb_ExternalExecutable__register_ucpp
3891 $(call gb_ExternalExecutable_set_internal,ucpp,$(INSTDIR_FOR_BUILD)/$(SDKDIRNAME)/bin/ucpp$(gb_Executable_EXT_for_build))
3893 endef
3895 endif # SYSTEM_UCPP
3897 ifeq (,$(PYTHON_FOR_BUILD))
3899 define gb_ExternalExecutable__register_python
3900 ifeq ($(OS),MACOSX)
3902 # use set_external, to avoid having the command added as prerequisite for the
3903 # targets that make use of it. (Otherwise make will choke as it doesn't have a
3904 # matching rule to build that specific file)
3905 $(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))
3906 # the Zip ensures that internal python has been built (cannot use the Package
3907 # target, as that is not used on Mac)
3908 $(call gb_ExternalExecutable_add_dependencies,python,$(call gb_GeneratedPackage_get_target_for_build,python3))
3910 else
3912 $(call gb_ExternalExecutable_set_internal,python,$(INSTROOT)/$(LIBO_BIN_FOLDER)/$(if $(filter WNT,$(OS)),python-core-$(PYTHON_VERSION)/bin/python.exe,python.bin))
3913 $(call gb_ExternalExecutable_set_precommand,python,$(subst $$,$$$$,$(gb_Python_PRECOMMAND)))
3914 $(call gb_ExternalExecutable_add_dependencies,python,$(call gb_Package_get_target_for_build,python3))
3916 endif
3918 endef
3920 else
3922 define gb_ExternalExecutable__register_python
3923 $(call gb_ExternalExecutable_set_external,python,$(PYTHON_FOR_BUILD))
3925 endef
3927 endif # PYTHON_FOR_BUILD
3929 ifneq ($(SYSTEM_GENBRK),)
3931 define gb_ExternalExecutable__register_genbrk
3932 $(call gb_ExternalExecutable_set_external,genbrk,$(SYSTEM_GENBRK))
3934 endef
3936 else # ! SYSTEM_GENBRK
3938 define gb_ExternalExecutable__register_genbrk
3939 $(call gb_ExternalExecutable_set_internal,genbrk,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genbrk$(gb_Executable_EXT_for_build),icu)
3940 $(call gb_ExternalExecutable_set_precommand,genbrk,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
3941 $(call gb_ExternalExecutable_add_dependencies,genbrk,\
3942 $(call gb_Package_get_target_for_build,icu) \
3943 $(call gb_Package_get_target_for_build,icu_ure) \
3946 endef
3948 endif
3950 ifneq ($(SYSTEM_GENCCODE),)
3952 define gb_ExternalExecutable__register_genccode
3953 $(call gb_ExternalExecutable_set_external,genccode,$(SYSTEM_GENCCODE))
3955 endef
3957 else # ! SYSTEM_GENCCODE
3959 define gb_ExternalExecutable__register_genccode
3960 $(call gb_ExternalExecutable_set_internal,genccode,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/genccode$(gb_Executable_EXT_for_build),icu)
3961 $(call gb_ExternalExecutable_set_precommand,genccode,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
3962 $(call gb_ExternalExecutable_add_dependencies,genccode,\
3963 $(call gb_Package_get_target_for_build,icu) \
3964 $(call gb_Package_get_target_for_build,icu_ure) \
3967 endef
3969 endif
3971 ifneq ($(SYSTEM_GENCMN),)
3973 define gb_ExternalExecutable__register_gencmn
3974 $(call gb_ExternalExecutable_set_external,gencmn,$(SYSTEM_GENCMN))
3976 endef
3978 else # ! SYSTEM_GENCMN
3980 define gb_ExternalExecutable__register_gencmn
3981 $(call gb_ExternalExecutable_set_internal,gencmn,$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source/bin/gencmn$(gb_Executable_EXT_for_build),icu)
3982 $(call gb_ExternalExecutable_set_precommand,gencmn,$(subst $$,$$$$,$(gb_ICU_PRECOMMAND)))
3983 $(call gb_ExternalExecutable_add_dependencies,gencmn,\
3984 $(call gb_Package_get_target_for_build,icu) \
3985 $(call gb_Package_get_target_for_build,icu_ure) \
3988 endef
3990 endif
3992 ifeq (OWNCLOUD_ANDROID_LIB,$(filter OWNCLOUD_ANDROID_LIB,$(BUILD_TYPE)))
3994 $(eval $(call gb_Helper_register_jars,OXT,\
3995 owncloud-android-library \
3998 define gb_Jar__use_owncloud_android_lib
3999 $(call gb_Jar_use_external_project,$(1),owncloud-android-lib)
4000 $(call gb_Jar_use_external_jar,$(1),$(call gb_UnpackedTarball_get_dir,owncloud-android-lib)/bin/owncloud-android-library.jar)
4001 endef
4002 define gb_ExternalProject__use_owncloud_android_lib
4003 $(call gb_ExternalProject_use_external_project,$(1),owncloud_android_lib)
4004 endef
4006 endif
4008 ifneq ($(ENABLE_ONLINE_UPDATE_MAR),)
4009 ifneq ($(SYSTEM_BZIP2),)
4011 define gb_LinkTarget__use_bzip2
4012 $(call gb_LinkTarget_set_include,$(1),\
4013 $(BZIP2_CFLAGS) \
4014 $$(INCLUDE) \
4016 $(call gb_LinkTarget_add_libs,$(1),$(BZIP2_LIBS))
4018 endef
4020 gb_ExternalProject__use_bzip2 :=
4022 else # !SYSTEM_BZIP2
4024 define gb_LinkTarget__use_bzip2
4025 $(call gb_LinkTarget_set_include,$(1),\
4026 -I$(call gb_UnpackedTarball_get_dir,bzip2) \
4027 $$(INCLUDE) \
4030 ifeq ($(COM),MSC)
4031 $(call gb_LinkTarget_add_libs,$(1),\
4032 $(call gb_UnpackedTarball_get_dir,bzip2)/libbz2.lib \
4034 else
4035 $(call gb_LinkTarget_add_libs,$(1),\
4036 -L$(call gb_UnpackedTarball_get_dir,bzip2) -lbz2 \
4038 endif
4040 $(call gb_LinkTarget_use_external_project,$(1),bzip2)
4041 endef
4043 define gb_ExternalProject__use_bzip2
4044 $(call gb_ExternalProject_use_external_project,$(1),bzip2)
4045 endef
4047 endif
4048 endif
4050 define gb_LinkTarget__use_clew
4051 $(call gb_LinkTarget_set_include,$(1), \
4052 -I$(SRCDIR)/external/clew/source/include \
4053 $$(INCLUDE) \
4055 $(call gb_LinkTarget_use_libraries,$(1),clew)
4056 endef
4058 ifneq ($(ENABLE_PDFIUM),)
4059 define gb_LinkTarget__use_pdfium
4060 $(call gb_LinkTarget_set_include,$(1),\
4061 -I$(call gb_UnpackedTarball_get_dir,pdfium)/public \
4062 $$(INCLUDE) \
4064 $(call gb_LinkTarget_use_libraries,$(1),pdfium)
4065 endef
4066 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo,\
4067 pdfium \
4069 endif
4071 # vim: set noet sw=4 ts=4: