migrate even more user setting (fdo#57061)
[LibreOffice.git] / RepositoryExternal.mk
blob97b661a564b3aa1b9c45e546abcd1b3540238614
1 # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
2 #*************************************************************************
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 # Copyright 2009 by Sun Microsystems, Inc.
8 # OpenOffice.org - a multi-platform office productivity suite
10 # This file is part of OpenOffice.org.
12 # OpenOffice.org is free software: you can redistribute it and/or modify
13 # it under the terms of the GNU Lesser General Public License version 3
14 # only, as published by the Free Software Foundation.
16 # OpenOffice.org is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 # GNU Lesser General Public License version 3 for more details
20 # (a copy is included in the LICENSE file that accompanied this code).
22 # You should have received a copy of the GNU Lesser General Public License
23 # version 3 along with OpenOffice.org. If not, see
24 # <http://www.openoffice.org/license.html>
25 # for a copy of the LGPLv3 License.
27 #*************************************************************************
29 # this file describes all the external libraries
30 # depending on the configure options these may be taken from the system,
31 # or the internal/bundled copy may be built.
33 # for every external, a function gb_LinkTarget_use__FOO is defined,
34 # once for the system case, once for the internal case.
36 # in the system case, no libraries should be registered, but the target-local
37 # variable LIBS should be set to FOO_LIBS, and INCLUDES to FOO_CFLAGS.
39 # External headers
41 ifeq ($(SYSTEM_MESA_HEADERS),YES)
43 gb_LinkTarget__use_mesa_headers :=
45 else
47 define gb_LinkTarget__use_mesa_headers
48 $(eval $(call gb_LinkTarget_use_package,$(1),Mesa_inc))
50 endef
52 endif
54 ifeq ($(SYSTEM_NPAPI_HEADERS),YES)
56 define gb_LinkTarget__use_npapi_headers
57 $(call gb_LinkTarget_set_include,$(1),\
58 $(NPAPI_HEADERS_CFLAGS) \
59 $$(INCLUDE) \
62 endef
64 else #!SYSTEM_NPAPI_HEADERS
66 define gb_LinkTarget__use_npapi_headers
67 $(call gb_LinkTarget_use_package,$(1),npapi)
68 $(call gb_LinkTarget_set_include,$(1),\
69 -I$(OUTDIR)/inc/external/npsdk \
70 $$(INCLUDE) \
73 endef
75 endif #SYSTEM_NPAPI_HEADERS
77 ifeq ($(SYSTEM_ODBC_HEADERS),YES)
79 define gb_LinkTarget__use_odbc_headers
80 $(call gb_LinkTarget_add_defs,$(1),\
81 -DSYSTEM_ODBC_HEADERS \
84 endef
86 else
88 define gb_LinkTarget__use_odbc_headers
89 $(call gb_LinkTarget_use_package,$(1),odbc_inc)
91 endef
93 endif
95 ifeq ($(SYSTEM_VIGRA),YES)
97 gb_LinkTarget__use_vigra_headers :=
99 else
101 define gb_LinkTarget__use_vigra_headers
102 $(call gb_LinkTarget_use_unpacked,$(1),vigra)
103 $(call gb_LinkTarget_set_include,$(1),\
104 -I$(call gb_UnpackedTarball_get_dir,vigra/include) \
105 $$(INCLUDE) \
108 endef
110 endif
112 ifeq ($(SYSTEM_MDDS),YES)
114 gb_LinkTarget__use_mdds_headers :=
116 else
118 define gb_LinkTarget__use_mdds_headers
119 $(call gb_LinkTarget_use_unpacked,$(1),mdds)
120 $(call gb_LinkTarget_set_include,$(1),\
121 -I$(call gb_UnpackedTarball_get_dir,mdds/include) \
122 $$(INCLUDE) \
125 endef
127 endif
129 # External libraries
131 ifeq ($(SYSTEM_CPPUNIT),YES)
133 define gb_LinkTarget__use_cppunit
134 $(call gb_LinkTarget_set_include,$(1),\
135 $$(INCLUDE) \
136 $(CPPUNIT_CFLAGS) \
139 $(call gb_LinkTarget_add_libs,$(1),\
140 $(CPPUNIT_LIBS) \
143 endef
145 else
147 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
148 cppunit \
151 define gb_LinkTarget__use_cppunit
152 $(call gb_LinkTarget_use_libraries,$(1),\
153 cppunit \
156 endef
158 endif
160 ifeq ($(SYSTEM_ZLIB),YES)
162 define gb_LinkTarget__use_zlib
163 $(call gb_LinkTarget_add_defs,$(1),\
164 -DSYSTEM_ZLIB \
166 $(call gb_LinkTarget_add_libs,$(1),-lz)
168 endef
170 # nothing on system
171 define gb_LinkTarget__use_zlib_x64
173 endef
175 else # !SYSTEM_ZLIB
177 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
178 zlib \
179 zlib_x64 \
182 define gb_LinkTarget__use_zlib_multiarch
183 $(if $(2),,$(call gb_Output_error,gb_LinkTarget__use_zlib_multiarch needs two arguments))
185 $(call gb_LinkTarget_use_packages,$(1),\
186 zlib_inc \
189 $(call gb_LinkTarget_set_include,$(1),\
190 -I$(OUTDIR)/inc/external/zlib \
191 $$(INCLUDE) \
194 $(call gb_LinkTarget_use_static_libraries,$(1),\
195 $(2) \
198 endef
200 define gb_LinkTarget__use_zlib
201 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib)
203 endef
205 define gb_LinkTarget__use_zlib_x64
206 $(call gb_LinkTarget__use_zlib_multiarch,$(1),zlib_x64)
208 endef
210 endif # SYSTEM_ZLIB
213 ifeq ($(SYSTEM_JPEG),YES)
215 define gb_LinkTarget__use_jpeg
216 $(call gb_LinkTarget_add_libs,$(1),-ljpeg)
217 $(call gb_LinkTarget_set_ldflags,$(1),\
218 $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
221 endef
223 else # !SYSTEM_JPEG
225 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
226 jpeg \
229 define gb_LinkTarget__use_jpeg
230 $(call gb_LinkTarget_set_include,$(1),\
231 $$(INCLUDE) \
232 -I$(OUTDIR)/inc/external/jpeg \
235 $(call gb_LinkTarget_use_static_libraries,$(1),\
236 jpeg \
239 endef
241 endif # SYSTEM_JPEG
243 ifeq ($(SYSTEM_MYTHES),YES)
245 define gb_LinkTarget__use_mythes
246 $(call gb_LinkTarget_set_include,$(1),\
247 $$(INCLUDE) \
248 $(MYTHES_CFLAGS) \
250 $(call gb_LinkTarget_add_libs,$(1),$(MYTHES_LIBS))
252 endef
254 else # !SYSTEM_MYTHES
256 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
257 mythes \
260 define gb_LinkTarget__use_mythes
261 $(call gb_LinkTarget_use_package,$(1),\
262 mythes \
264 $(call gb_LinkTarget_use_static_libraries,$(1),\
265 mythes \
268 endef
270 endif # SYSTEM_MYTHES
273 ifeq ($(SYSTEM_EXPAT),YES)
275 define gb_LinkTarget__use_expat
276 $(if $(2),,$(error gb_LinkTarget__use_expat needs additional parameter))
278 $(call gb_LinkTarget_add_defs,$(1),\
279 -DSYSTEM_EXPAT \
282 $(call gb_LinkTarget_add_libs,$(1),-lexpat)
284 endef
286 gb_ExternalProject__use_expat :=
288 else # !SYSTEM_EXPAT
290 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
291 expat \
292 expat_x64 \
295 define gb_LinkTarget__use_expat
296 $(if $(2),,$(error gb_LinkTarget__use_expat needs additional parameter))
298 $(call gb_LinkTarget_set_include,$(1),\
299 -I$(OUTDIR)/inc/external/expat \
300 $$(INCLUDE) \
303 $(call gb_LinkTarget_use_static_libraries,$(1),\
304 $(2) \
307 endef
309 define gb_ExternalProject__use_expat
310 $(call gb_ExternalProject_use_package,$(1),expat_inc)
311 $(call gb_ExternalProject_use_static_libraries,$(1),expat)
313 endef
315 endif # SYSTEM_EXPAT
317 define gb_LinkTarget__use_expat_utf8
318 $(call gb_LinkTarget__use_expat,$(1),expat)
320 endef
322 define gb_LinkTarget__use_expat_utf8_x64
323 $(call gb_LinkTarget__use_expat,$(1),expat_x64)
325 endef
327 ifeq ($(OS),ANDROID)
328 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
329 fontconfig \
330 freetype \
332 endif
334 ifeq ($(SYSTEM_HYPH),YES)
336 define gb_LinkTarget__use_hyphen
337 $(call gb_LinkTarget_add_libs,$(1),$(HYPHEN_LIB))
339 endef
341 else # !SYSTEM_HYPH
343 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
344 hyphen \
347 define gb_LinkTarget__use_hyphen
348 $(call gb_LinkTarget_use_unpacked,$(1),hyphen)
349 $(call gb_LinkTarget_set_include,$(1),\
350 -I$(call gb_UnpackedTarball_get_dir,hyphen)\
351 $$(INCLUDE) \
353 $(call gb_LinkTarget_use_static_libraries,$(1),\
354 hyphen \
357 endef
359 endif # SYSTEM_HYPH
361 ifeq ($(SYSTEM_HUNSPELL),YES)
363 define gb_LinkTarget__use_hunspell
364 $(call gb_LinkTarget_set_include,$(1),\
365 $$(INCLUDE) \
366 $(HUNSPELL_CFLAGS) \
368 $(call gb_LinkTarget_add_libs,$(1),$(HUNSPELL_LIBS))
370 endef
372 else # !SYSTEM_HUNSPELL
374 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
375 hunspell \
378 define gb_LinkTarget__use_hunspell
379 $(call gb_LinkTarget_add_defs,$(1),\
380 -DHUNSPELL_STATIC \
382 $(call gb_LinkTarget_use_unpacked,$(1),hunspell)
383 $(call gb_LinkTarget_set_include,$(1),\
384 -I$(call gb_UnpackedTarball_get_dir,hunspell/src/hunspell)\
385 $$(INCLUDE) \
387 $(call gb_LinkTarget_use_static_libraries,$(1),\
388 hunspell \
391 endef
393 endif # SYSTEM_HUNSPELL
396 ifeq ($(SYSTEM_BOOST),YES)
398 define gb_LinkTarget__use_boostdatetime
399 $(call gb_LinkTarget_set_include,$(1),\
400 $$(INCLUDE) \
401 $(BOOST_CPPFLAGS) \
404 $(call gb_LinkTarget_add_ldflags,$(1),\
405 $(BOOST_LDFLAGS) \
408 $(call gb_LinkTarget_add_libs,$(1),\
409 $(BOOST_DATE_TIME_LIB) \
412 endef
414 gb_LinkTarget__use_boost_headers:=
415 gb_ExternalProject__use_boost_headers:=
417 else # !SYSTEM_BOOST
419 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
420 boostdatetime \
423 ifeq ($(OS),WNT)
424 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
425 boostthread \
428 define gb_LinkTarget__use_boostthread
429 $(call gb_LinkTarget_add_defs,$(1),\
430 -DBOOST_ALL_NO_LIB \
433 $(call gb_LinkTarget_use_static_libraries,$(1),\
434 boostthread \
436 endef
438 endif # WNT
440 define gb_LinkTarget__use_boostdatetime
441 $(call gb_LinkTarget_add_defs,$(1),\
442 -DBOOST_ALL_NO_LIB \
445 $(call gb_LinkTarget_use_static_libraries,$(1),\
446 boostdatetime \
449 endef
451 define gb_LinkTarget__use_boost_headers
452 $(call gb_LinkTarget_use_unpacked,$(1),boost)
454 endef
456 define gb_ExternalProject__use_boost_headers
457 $(call gb_ExternalProject_get_preparation_target,$(1)) :| $(call gb_UnpackedTarball_get_final_target,boost)
459 endef
460 endif # SYSTEM_BOOST
463 ifeq ($(SYSTEM_LIBCMIS),YES)
465 define gb_LinkTarget__use_cmis
466 $(call gb_LinkTarget_set_include,$(1),\
467 $$(INCLUDE) \
468 $(CMIS_CFLAGS) \
470 $(call gb_LinkTarget_add_libs,$(1),$(CMIS_LIBS))
472 endef
474 else # !SYSTEM_LIBCMIS
476 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
477 cmislib \
480 define gb_LinkTarget__use_cmis
481 $(call gb_LinkTarget_use_static_libraries,$(1),\
482 cmislib \
485 endef
487 endif # SYSTEM_LIBCMIS
490 ifeq ($(SYSTEM_LIBEXTTEXTCAT),YES)
492 define gb_LinkTarget__use_libexttextcat
493 $(call gb_LinkTarget_set_include,$(1),\
494 $$(INCLUDE) \
495 $(LIBEXTTEXTCAT_CFLAGS) \
497 $(call gb_LinkTarget_add_defs,$(1),\
498 -DSYSTEM_LIBEXTTEXTCAT \
500 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXTTEXTCAT_LIBS))
502 endef
504 else # !SYSTEM_LIBEXTTEXTCAT
506 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
507 exttextcat \
510 define gb_LinkTarget__use_libexttextcat
511 $(call gb_LinkTarget_use_static_libraries,$(1),\
512 exttextcat \
515 $(call gb_LinkTarget_set_include,$(1),\
516 -I$(call gb_UnpackedTarball_get_dir,exttextcat/src) \
517 $$(INCLUDE) \
520 endef
522 endif # SYSTEM_LIBEXTTEXTCAT
525 ifeq ($(SYSTEM_LIBXML),YES)
527 define gb_LinkTarget__use_libxml2
528 $(call gb_LinkTarget_add_defs,$(1),\
529 -DSYSTEM_LIBXML \
531 $(call gb_LinkTarget_set_include,$(1),\
532 $$(INCLUDE) \
533 $(LIBXML_CFLAGS) \
535 $(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
537 endef
539 else # !SYSTEM_LIBXML
541 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_URE, \
542 xml2 \
545 define gb_LinkTarget__use_libxml2
546 $(call gb_LinkTarget_use_libraries,$(1),\
547 xml2 \
550 endef
552 endif # SYSTEM_LIBXML
555 ifeq ($(SYSTEM_LIBXSLT),YES)
557 define gb_LinkTarget__use_libxslt
558 $(call gb_LinkTarget_set_include,$(1),\
559 $$(INCLUDE) \
560 $(LIBXSLT_CFLAGS) \
562 $(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
564 endef
566 define gb_LinkTarget__use_libexslt
567 $(call gb_LinkTarget_set_include,$(1),\
568 $$(INCLUDE) \
569 $(LIBEXSLT_CFLAGS) \
572 $(call gb_LinkTarget_add_libs,$(1),$(LIBEXSLT_LIBS))
574 endef
576 else # !SYSTEM_LIBXSLT
578 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
579 exslt \
580 xslt \
583 define gb_LinkTarget__use_libxslt
584 $(call gb_LinkTarget_use_libraries,$(1),\
585 xslt \
588 endef
590 define gb_LinkTarget__use_libexslt
591 $(call gb_LinkTarget_use_libraries,$(1),\
592 exslt \
595 endef
597 endif # SYSTEM_LIBXSLT
599 define gb_LinkTarget__use_glib
600 $(error gb_LinkTarget__use_glib should not be called any more)
601 endef
603 ifeq ($(ENABLE_LIBLANGTAG),YES)
605 ifeq ($(SYSTEM_LIBLANGTAG),YES)
607 define gb_LinkTarget__use_liblangtag
608 $(call gb_LinkTarget_set_include,$(1),\
609 $$(INCLUDE) \
610 $(LIBLANGTAG_CFLAGS) \
613 $(call gb_LinkTarget_add_libs,$(1),$(LIBLANGTAG_LIBS))
615 endef
617 else # !SYSTEM_LIBLANGTAG
619 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
620 langtag \
623 define gb_LinkTarget__use_liblangtag
624 $(call gb_LinkTarget_use_unpacked,$(1),langtag)
625 $(call gb_LinkTarget_set_include,$(1),\
626 -I$(call gb_UnpackedTarball_get_dir,langtag) \
627 $$(INCLUDE) \
629 $(call gb_LinkTarget_use_static_libraries,$(1),\
630 langtag \
633 endef
635 endif # SYSTEM_LIBLANGTAG
637 endif # ENABLE_LIBLANGTAG
640 ifeq ($(SYSTEM_NEON),YES)
642 define gb_LinkTarget__use_neon
643 $(call gb_LinkTarget_add_defs,$(1),\
644 -DNEON_VERSION=0x$(NEON_VERSION) \
646 $(call gb_LinkTarget_set_include,$(1),\
647 $$(INCLUDE) \
648 $(NEON_CFLAGS) \
651 $(call gb_LinkTarget_add_libs,$(1),$(NEON_LIBS))
653 endef
655 else # !SYSTEM_NEON
657 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
658 neon \
661 define gb_LinkTarget__use_neon
662 $(call gb_LinkTarget_use_unpacked,$(1),neon)
663 $(call gb_LinkTarget_set_include,$(1),\
664 -I$(call gb_UnpackedTarball_get_dir,neon/src) \
665 $$(INCLUDE) \
667 $(call gb_LinkTarget_use_libraries,$(1),\
668 neon \
671 endef
673 endif # SYSTEM_NEON
676 ifeq ($(SYSTEM_REDLAND),YES)
678 define gb_LinkTarget__use_librdf
679 $(call gb_LinkTarget_add_defs,$(1),\
680 -DSYSTEM_REDLAND \
682 $(call gb_LinkTarget_set_include,$(1),\
683 $$(INCLUDE) \
684 $(REDLAND_CFLAGS) \
686 $(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
688 endef
690 else # !SYSTEM_REDLAND
692 ifneq ($(OS),ANDROID)
694 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
695 rdf \
698 define gb_LinkTarget__use_librdf
699 $(call gb_LinkTarget_use_libraries,$(1),\
700 rdf \
703 ifeq ($(OS),MACOSX)
705 $(call gb_LinkTarget_add_libs,$(1),$(foreach replaceme,librasqal-lo.1 libraptor-lo.1,-dylib_file @loader_path/$(replaceme).dylib:$(gb_Library_OUTDIRLOCATION)/$(replaceme).dylib))
707 endif
709 endef
711 else # ANDROID
713 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
714 rdf \
715 rasqal \
716 raptor \
719 define gb_LinkTarget__use_librdf
720 $(call gb_LinkTarget_use_static_libraries,$(1),\
721 rdf \
722 rasqal \
723 raptor \
724 crypto \
727 endef
729 endif # ANDROID
731 endif # SYSTEM_REDLAND
734 ifeq ($(SYSTEM_CAIRO),YES)
736 # FREETYPE_CLAGS from environment if ENABLE_CAIRO is used
737 define gb_LinkTarget__use_cairo
738 $(call gb_LinkTarget_set_include,$(1),\
739 $$(INCLUDE) \
740 $(FREETYPE_CFLAGS) \
741 $(CAIRO_CFLAGS) \
743 $(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
745 endef
747 else ifeq ($(SYSTEM_CAIRO),NO)
749 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
750 cairo \
751 $(if $(filter-out MACOSX WNT,$(OS)), \
752 pixman-1 \
756 define gb_LinkTarget__use_cairo
757 $(call gb_LinkTarget_use_package,$(1),cairo)
758 $(call gb_LinkTarget_use_package,$(1),pixman)
759 $(call gb_LinkTarget_set_include,$(1),\
760 -I$(call gb_UnpackedTarball_get_dir,cairo) \
761 -I$(call gb_UnpackedTarball_get_dir,cairo)/src \
762 $(FREETYPE_CFLAGS) \
763 $$(INCLUDE) \
765 $(call gb_LinkTarget_use_libraries,$(1),\
766 cairo \
767 $(if $(filter-out MACOSX WNT,$(OS)), \
768 pixman-1 \
772 endef
774 endif # SYSTEM_CAIRO
776 define gb_LinkTarget__use_freetype
777 $(call gb_LinkTarget_set_include,$(1),\
778 $$(INCLUDE) \
779 $(FREETYPE_CFLAGS) \
782 ifneq ($(OS),ANDROID)
783 $(call gb_LinkTarget_add_libs,$(1),$(FREETYPE_LIBS))
784 else
785 $(call gb_LinkTarget_use_static_libraries,$(1),freetype)
786 endif
788 endef
790 define gb_LinkTarget__use_fontconfig
791 $(call gb_LinkTarget_set_include,$(1),\
792 $$(INCLUDE) \
793 $(FONTCONFIG_CFLAGS) \
796 ifneq ($(OS),ANDROID)
797 $(call gb_LinkTarget_add_libs,$(1),$(FONTCONFIG_LIBS))
798 else
799 $(call gb_LinkTarget_use_static_libraries,$(1),fontconfig)
800 endif
802 endef
804 ifeq ($(SYSTEM_GRAPHITE),YES)
806 define gb_LinkTarget__use_graphite
807 $(call gb_LinkTarget_set_include,$(1),\
808 $$(INCLUDE) \
809 $(GRAPHITE_CFLAGS) \
811 $(call gb_LinkTarget_add_libs,$(1),$(GRAPHITE_LIBS))
813 endef
815 else ifeq ($(SYSTEM_GRAPHITE),NO)
817 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
818 graphite \
820 define gb_LinkTarget__use_graphite
821 $(call gb_LinkTarget_use_unpacked,$(1),graphite)
822 $(call gb_LinkTarget_set_include,$(1),\
823 -I$(call gb_UnpackedTarball_get_dir,graphite/include) \
824 $$(INCLUDE) \
826 $(call gb_LinkTarget_use_static_libraries,$(1),\
827 graphite \
830 endef
832 else # DISABLED GRAPHITE
834 gb_LinkTarget__use_graphite :=
836 endif # SYSTEM_GRAPHITE
838 ifeq ($(SYSTEM_ICU),YES)
840 define gb_LinkTarget__use_icudata
841 $(call gb_LinkTarget_add_libs,$(1),-licudata)
843 endef
844 define gb_LinkTarget__use_icui18n
845 $(call gb_LinkTarget_add_libs,$(1),-licui18n)
847 endef
848 define gb_LinkTarget__use_icule
849 $(call gb_LinkTarget_add_libs,$(1),-licule)
851 endef
852 define gb_LinkTarget__use_icutu
853 $(call gb_LinkTarget_add_libs,$(1),-licutu)
855 endef
856 define gb_LinkTarget__use_icuuc
857 $(call gb_LinkTarget_add_libs,$(1),-licuuc)
859 endef
861 else # !SYSTEM_ICU
863 ifeq ($(OS)$(DISABLE_DYNLOADING),ANDROID)
864 gb_ICU_suffix:=lo
865 else
866 gb_ICU_suffix:=
867 endif
869 # icudata and icui18n is called icudt and icuin when built with MSVC :-/
870 ifeq ($(OS)$(COM),WNTMSC)
871 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
872 icudt \
873 icuin \
876 define gb_LinkTarget__use_icudata
877 $(call gb_LinkTarget_use_libraries,$(1),\
878 icudt \
881 endef
882 define gb_LinkTarget__use_icui18n
883 $(call gb_LinkTarget_use_libraries,$(1),\
884 icuin \
887 endef
888 else
889 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
890 icudata$(gb_ICU_suffix) \
891 icui18n$(gb_ICU_suffix) \
894 define gb_LinkTarget__use_icudata
895 $(call gb_LinkTarget_use_libraries,$(1),\
896 icudata$(gb_ICU_suffix) \
899 endef
900 define gb_LinkTarget__use_icui18n
901 $(call gb_LinkTarget_use_libraries,$(1),\
902 icui18n$(gb_ICU_suffix) \
905 endef
906 endif
908 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
909 icule$(gb_ICU_suffix) \
910 icutu$(gb_ICU_suffix) \
911 icuuc$(gb_ICU_suffix) \
914 define gb_LinkTarget__use_icule
915 $(call gb_LinkTarget_use_libraries,$(1),\
916 icule$(gb_ICU_suffix) \
919 endef
920 define gb_LinkTarget__use_icutu
921 $(call gb_LinkTarget_use_libraries,$(1),\
922 icutu$(gb_ICU_suffix) \
925 endef
926 define gb_LinkTarget__use_icuuc
927 $(call gb_LinkTarget_use_libraries,$(1),\
928 icuuc$(gb_ICU_suffix) \
931 endef
933 endif # SYSTEM_ICU
936 ifeq ($(SYSTEM_OPENSSL),YES)
938 define gb_LinkTarget__use_openssl
939 $(call gb_LinkTarget_set_include,$(1),\
940 $$(INCLUDE) \
941 $(OPENSSL_CFLAGS) \
943 $(call gb_LinkTarget_add_libs,$(1),$(OPENSSL_LIBS))
945 endef
947 else # !SYSTEM_OPENSSL
949 ifeq ($(OS),WNT)
950 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
951 crypto \
952 ssl \
954 else
955 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
956 crypto \
957 ssl \
959 endif
961 define gb_LinkTarget__use_openssl
962 ifeq ($(OS),WNT)
963 $(call gb_LinkTarget_use_libraries,$(1),\
964 crypto \
965 ssl \
967 else
968 $(call gb_LinkTarget_use_static_libraries,$(1),\
969 crypto \
970 ssl \
972 ifeq ($(OS),SOLARIS)
973 $(call gb_LinkTarget_add_libs,$(1),\
974 -lnsl \
975 -lsocket \
977 endif
978 endif
980 endef
982 endif # SYSTEM_OPENSSL
985 ifeq ($(SYSTEM_LIBCDR),YES)
987 define gb_LinkTarget__use_cdr
988 $(call gb_LinkTarget_set_include,$(1),\
989 $$(INCLUDE) \
990 $(CDR_CFLAGS) \
992 $(call gb_LinkTarget_add_libs,$(1),$(CDR_LIBS))
994 endef
996 else # !SYSTEM_LIBCDR
998 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
999 cdr-0.0 \
1002 define gb_LinkTarget__use_cdr
1003 $(call gb_LinkTarget_use_package,$(1),\
1004 libcdr \
1006 $(call gb_LinkTarget_use_static_libraries,$(1),\
1007 cdr-0.0 \
1010 endef
1012 endif # SYSTEM_LIBCDR
1015 ifeq ($(SYSTEM_LIBMSPUB),YES)
1017 define gb_LinkTarget__use_mspub
1018 $(call gb_LinkTarget_set_include,$(1),\
1019 $$(INCLUDE) \
1020 $(MSPUB_CFLAGS) \
1022 $(call gb_LinkTarget_add_libs,$(1),$(MSPUB_LIBS))
1024 endef
1026 else # !SYSTEM_LIBMSPUB
1028 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
1029 mspublib \
1032 define gb_LinkTarget__use_mspub
1033 $(call gb_LinkTarget_use_static_libraries,$(1),\
1034 mspublib \
1037 endef
1039 endif # SYSTEM_LIBMSPUB
1042 ifeq ($(SYSTEM_LIBVISIO),YES)
1044 define gb_LinkTarget__use_visio
1045 $(call gb_LinkTarget_set_include,$(1),\
1046 $$(INCLUDE) \
1047 $(VISIO_CFLAGS) \
1049 $(call gb_LinkTarget_add_libs,$(1),$(VISIO_LIBS))
1051 endef
1053 else # !SYSTEM_LIBVISIO
1055 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
1056 visio-0.0 \
1059 define gb_LinkTarget__use_visio
1060 $(call gb_LinkTarget_use_package,$(1),\
1061 libvisio \
1063 $(call gb_LinkTarget_use_static_libraries,$(1),\
1064 visio-0.0 \
1067 endef
1069 endif # SYSTEM_LIBVISIO
1072 ifeq ($(SYSTEM_LIBWPD),YES)
1074 define gb_LinkTarget__use_wpd
1075 $(call gb_LinkTarget_set_include,$(1),\
1076 $$(INCLUDE) \
1077 $(WPD_CFLAGS) \
1079 $(call gb_LinkTarget_add_libs,$(1),$(WPD_LIBS))
1081 endef
1082 gb_ExternalProject__use_wpd :=
1084 else # !SYSTEM_LIBWPD
1086 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
1087 wpd-0.9 \
1090 define gb_LinkTarget__use_wpd
1091 $(call gb_LinkTarget_use_package,$(1),\
1092 libwpd \
1094 $(call gb_LinkTarget_use_static_libraries,$(1),\
1095 wpd-0.9 \
1098 endef
1099 define gb_ExternalProject__use_wpd
1100 $(call gb_ExternalProject_use_package,$(1),libwpd)
1102 endef
1104 endif # SYSTEM_LIBWPD
1107 ifeq ($(SYSTEM_LIBWPG),YES)
1109 define gb_LinkTarget__use_wpg
1110 $(call gb_LinkTarget_set_include,$(1),\
1111 $$(INCLUDE) \
1112 $(WPG_CFLAGS) \
1114 $(call gb_LinkTarget_add_libs,$(1),$(WPG_LIBS))
1116 endef
1117 gb_ExternalProject__use_wpg :=
1119 else # !SYSTEM_LIBWPG
1121 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
1122 wpglib \
1125 define gb_LinkTarget__use_wpg
1126 $(call gb_LinkTarget_use_package,$(1),\
1127 libwpg_inc \
1129 $(call gb_LinkTarget_use_static_libraries,$(1),\
1130 wpglib \
1133 endef
1134 define gb_ExternalProject__use_wpg
1135 $(call gb_ExternalProject_use_package,$(1),libwpg_inc)
1136 $(call gb_ExternalProject_use_static_libraries,$(1),wpglib)
1138 endef
1140 endif # SYSTEM_LIBWPG
1143 ifeq ($(SYSTEM_LIBWPS),YES)
1145 define gb_LinkTarget__use_wps
1146 $(call gb_LinkTarget_set_include,$(1),\
1147 $$(INCLUDE) \
1148 $(WPS_CFLAGS) \
1150 $(call gb_LinkTarget_add_libs,$(1),$(WPS_LIBS))
1152 endef
1153 gb_ExternalProject__use_wps :=
1155 else # !SYSTEM_LIBWPS
1157 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
1158 wpslib \
1161 define gb_LinkTarget__use_wps
1162 $(call gb_LinkTarget_use_static_libraries,$(1),\
1163 wpslib \
1166 endef
1167 define gb_ExternalProject__use_wps
1168 $(call gb_ExternalProject_use_package,$(1),libwps_inc)
1169 $(call gb_ExternalProject_use_static_libraries,$(1),wpslib)
1171 endef
1173 endif # SYSTEM_LIBWPS
1176 ifeq ($(SYSTEM_LCMS2),YES)
1178 define gb_LinkTarget__use_lcms2
1179 $(call gb_LinkTarget_set_include,$(1),\
1180 $$(INCLUDE) \
1181 $(LCMS2_CFLAGS) \
1183 $(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
1185 endef
1187 gb_ExternalProject__use_lcms2 :=
1189 else # !SYSTEM_LCMS2
1191 define gb_ExternalProject__use_lcms2
1192 $(call gb_ExternalProject_use_package,$(1),lcms2)
1194 endef
1196 ifeq ($(OS),ANDROID)
1198 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
1199 lcms2 \
1202 define gb_LinkTarget__use_lcms2
1203 $(call gb_LinkTarget_use_package,$(1),lcms2)
1204 $(call gb_LinkTarget_set_include,$(1),\
1205 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
1206 $$(INCLUDE) \
1208 $(call gb_LinkTarget_use_static_libraries,$(1),\
1209 lcms2 \
1212 endef
1214 else
1216 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1217 lcms2 \
1220 define gb_LinkTarget__use_lcms2
1221 $(call gb_LinkTarget_use_package,$(1),lcms2)
1222 $(call gb_LinkTarget_set_include,$(1),\
1223 -I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
1224 $$(INCLUDE) \
1226 $(call gb_LinkTarget_use_libraries,$(1),\
1227 lcms2 \
1230 endef
1232 endif # ANDROID
1233 endif # SYSTEM_LCMS2
1236 ifeq ($(SYSTEM_LPSOLVE),YES)
1238 define gb_LinkTarget__use_lpsolve
1239 $(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
1240 $(call gb_LinkTarget_add_defs,$(1),\
1241 -DSYSTEM_LPSOLVE \
1244 endef
1246 else # !SYSTEM_LPSOLVE
1248 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1249 lpsolve55 \
1252 define gb_LinkTarget__use_lpsolve
1253 $(call gb_LinkTarget_use_unpacked,$(1),lpsolve)
1254 $(call gb_LinkTarget_use_libraries,$(1),\
1255 lpsolve55 \
1257 $(call gb_LinkTarget_set_include,$(1),\
1258 -I$(call gb_UnpackedTarball_get_dir,lpsolve) \
1259 $$(INCLUDE) \
1262 endef
1264 endif # SYSTEM_LPSOLVE
1266 ifeq ($(ENABLE_GIO),TRUE)
1268 define gb_LinkTarget__use_gio
1269 $(call gb_LinkTarget_set_include,$(1),\
1270 $$(INCLUDE) \
1271 $(GIO_CFLAGS) \
1274 $(call gb_LinkTarget_add_defs,$(1),\
1275 -DENABLE_GIO \
1278 $(call gb_LinkTarget_add_libs,$(1),$(GIO_LIBS))
1280 endef
1282 else # ENABLE_GIO
1284 define gb_LinkTarget__use_gio
1286 endef
1288 endif # ENABLE_GIO
1290 define gb_LinkTarget__use_gtk
1291 $(call gb_LinkTarget_set_include,$(1),\
1292 $$(INCLUDE) \
1293 $(GTK_CFLAGS) \
1296 $(call gb_LinkTarget_add_libs,$(1),$(GTK_LIBS))
1298 ifeq ($(ENABLE_GTK_PRINT),TRUE)
1300 $(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK_PRINT)
1302 $(call gb_LinkTarget_set_include,$(1),\
1303 $$(INCLUDE) \
1304 $(GTK_PRINT_CFLAGS) \
1307 $(call gb_LinkTarget_add_libs,$(1),$(GTK_PRINT_LIBS))
1309 endif
1311 endef
1313 define gb_LinkTarget__use_gthread
1314 $(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
1315 endef
1317 ifeq ($(ENABLE_CUPS),TRUE)
1319 define gb_LinkTarget__use_cups
1320 $(call gb_LinkTarget_add_defs,$(1),\
1321 -DENABLE_CUPS \
1324 $(call gb_LinkTarget_add_libs,$(1),\
1325 -lcups \
1328 endef
1330 else # ENABLE_CUPS
1332 define gb_LinkTarget__use_cups
1334 endef
1336 endif # ENABLE_DBUS
1338 ifeq ($(ENABLE_DBUS),TRUE)
1340 define gb_LinkTarget__use_dbus
1341 $(call gb_LinkTarget_set_include,$(1),\
1342 $$(INCLUDE) \
1343 $(DBUS_CFLAGS) \
1346 $(call gb_LinkTarget_add_defs,$(1),\
1347 -DENABLE_DBUS \
1350 ifeq ($(ENABLE_PACKAGEKIT),YES)
1351 $(call gb_LinkTarget_add_defs,$(1),\
1352 -DENABLE_PACKAGEKIT \
1354 endif # ENABLE_PACKAGEKIT
1356 $(call gb_LinkTarget_add_libs,$(1),\
1357 $(DBUS_LIBS) \
1360 endef
1362 else # ENABLE_DBUS
1364 define gb_LinkTarget__use_dbus
1366 endef
1368 endif # ENABLE_DBUS
1371 define gb_LinkTarget__use_dbusmenugtk
1372 $(call gb_LinkTarget_set_include,$(1),\
1373 $$(INCLUDE) \
1374 $(DBUSMENUGTK_CFLAGS) \
1377 $(call gb_LinkTarget_add_libs,$(1),$(DBUSMENUGTK_LIBS))
1379 endef
1382 ifeq ($(ENABLE_TELEPATHY),TRUE)
1384 define gb_LinkTarget__use_telepathy
1385 $(call gb_LinkTarget_set_include,$(1),\
1386 $$(INCLUDE) \
1387 $(TELEPATHY_CFLAGS) \
1390 $(call gb_LinkTarget_add_libs,$(1),\
1391 $(TELEPATHY_LIBS) \
1394 endef
1396 else # !ENABLE_TELEPATHY
1398 gb_LinkTarget__use_telepathy :=
1400 endif # ENABLE_TELEPATHY
1402 define gb_LinkTarget__use_croco
1403 $(error gb_LinkTarget__use_croco should not be used any more)
1404 endef
1406 define gb_LinkTarget__use_pango
1407 $(error gb_LinkTarget__use_pango should not be used any more)
1408 endef
1410 define gb_LinkTarget__use_gsf
1411 $(error gb_LinkTarget__use_gsf should not be used any more)
1412 endef
1414 define gb_LinkTarget__use_pixbuf
1415 $(error gb_LinkTarget__use_pixbuf should not be used any more)
1416 endef
1418 ifeq ($(SYSTEM_LIBPNG),YES)
1420 define gb_LinkTarget__use_png
1421 $(call gb_LinkTarget_set_include,$(1),\
1422 $$(INCLUDE) \
1423 $(LIBPNG_CFLAGS) \
1426 $(call gb_LinkTarget_add_libs,$(1),\
1427 $(LIBPNG_LIBS) \
1430 endef
1432 else # !SYSTEM_LIBPNG
1434 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
1435 png \
1438 define gb_LinkTarget__use_png
1439 $(call gb_LinkTarget_use_static_libraries,$(1),\
1440 png \
1442 $(call gb_LinkTarget__use_zlib,$(1))
1444 endef
1446 endif # !SYSTEM_LIBPNG
1449 ifeq ($(SYSTEM_CURL),YES)
1451 define gb_LinkTarget__use_curl
1452 $(call gb_LinkTarget_set_include,$(1),\
1453 $$(INCLUDE) \
1454 $(CURL_CFLAGS) \
1456 $(call gb_LinkTarget_add_libs,$(1),$(CURL_LIBS))
1458 endef
1460 else # !SYSTEM_CURL
1462 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
1463 curl \
1466 define gb_LinkTarget__use_curl
1467 $(call gb_LinkTarget_use_package,$(1),curl)
1468 $(call gb_LinkTarget_set_include,$(1),\
1469 -I$(call gb_UnpackedTarball_get_dir,curl/include) \
1470 $$(INCLUDE) \
1472 $(call gb_LinkTarget_use_libraries,$(1),\
1473 curl \
1476 endef
1478 endif # SYSTEM_CURL
1480 ifeq ($(ENABLE_VALGRIND),TRUE)
1482 define gb_LinkTarget__use_valgrind
1483 $(call gb_LinkTarget_add_defs,$(1),\
1484 -DHAVE_VALGRIND_HEADERS \
1487 $(call gb_LinkTarget_set_include,$(1),\
1488 $$(INCLUDE) \
1489 $(VALGRIND_CFLAGS) \
1492 endef
1494 else # !ENABLE_VALGRIND
1496 define gb_LinkTarget__use_valgrind
1498 endef
1500 endif # ENABLE_VALGRIND
1502 ifeq ($(SYSTEM_POPPLER),YES)
1504 define gb_LinkTarget__use_poppler
1505 $(call gb_LinkTarget_add_defs,$(1),\
1506 -DSYSTEM_POPPLER \
1509 $(call gb_LinkTarget_set_include,$(1),\
1510 $(POPPLER_CFLAGS) \
1511 $$(INCLUDE) \
1514 $(call gb_LinkTarget_add_libs,$(1),\
1515 $(POPPLER_LIBS) \
1518 endef
1520 else # !SYSTEM_POPPLER
1522 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
1523 fofi \
1524 Goo \
1525 xpdf \
1528 define gb_LinkTarget__use_poppler
1529 $(call gb_LinkTarget_set_include,$(1),\
1530 -I$(OUTDIR)/inc/xpdf \
1531 $$(INCLUDE) \
1534 $(call gb_LinkTarget_use_static_libraries,$(1),\
1535 fofi \
1536 Goo \
1537 xpdf \
1540 ifeq ($(OS),MACOSX)
1541 $(call gb_LinkTarget_add_libs,$(1),\
1542 -lobjc \
1544 else ifeq ($(OS),WNT)
1545 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
1546 advapi32 \
1547 gdi32 \
1549 endif
1551 endef
1553 endif # SYSTEM_POPPLER
1556 ifeq ($(SYSTEM_CLUCENE),YES)
1558 define gb_LinkTarget__use_clucene
1559 $(call gb_LinkTarget_add_defs,$(1),\
1560 $(filter-out -I%,$(CLUCENE_CFLAGS)) \
1563 $(call gb_LinkTarget_set_include,$(1),\
1564 $(filter -I%,$(CLUCENE_CFLAGS)) \
1565 $$(INCLUDE) \
1568 $(call gb_LinkTarget_add_libs,$(1),\
1569 $(CLUCENE_LIBS) \
1572 endef
1574 else # !SYSTEM_CLUCENE
1576 define gb_LinkTarget__use_clucene
1577 $(call gb_LinkTarget_use_libraries,$(1),\
1578 clucene \
1581 endef
1583 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
1584 clucene \
1587 endif # SYSTEM_CLUCENE
1589 define gb_LinkTarget__use_gobject
1590 $(call gb_LinkTarget_add_libs,$(1),\
1591 $(GOBJECT_LIBS) \
1594 $(call gb_LinkTarget_set_include,$(1),\
1595 $$(INCLUDE) \
1596 $(GOBJECT_CFLAGS) \
1598 endef
1600 ifeq ($(SYSTEM_HSQLDB),YES)
1602 define gb_LinkTarget__use_hsqldb
1604 $(call gb_LinkTarget_add_defs,$(1),\
1605 -DSYSTEM_HSQLDB \
1606 -DHSQLDB_JAR=\""file://$(HSQLDB_JAR)"\" \
1609 endef
1611 else # !SYSTEM_HSQLDB
1613 define gb_LinkTarget__use_hsqldb
1615 endef
1617 endif # SYSTEM_HSQLDB
1620 ifeq ($(SYSTEM_OPENLDAP),YES)
1622 define gb_LinkTarget__use_openldap
1624 $(call gb_LinkTarget_add_libs,$(1),\
1625 -lldap \
1626 -llber \
1629 endef
1631 else # !SYSTEM_OPENLDAP
1633 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
1634 ldap \
1635 lber \
1638 define gb_LinkTarget__use_openldap
1639 $(call gb_LinkTarget_use_unpacked,$(1),openldap)
1640 $(call gb_LinkTarget_set_include,$(1),\
1641 -I$(call gb_UnpackedTarball_get_dir,openldap/include) \
1642 $$(INCLUDE) \
1644 $(call gb_LinkTarget_use_package,$(1),openldap)
1645 $(call gb_LinkTarget_use_static_libraries,$(1),\
1646 ldap \
1647 lber \
1650 endef
1652 endif # SYSTEM_OPENLDAP
1655 ifeq ($(SYSTEM_POSTGRESQL),YES)
1657 define gb_LinkTarget__use_postgresql
1659 $(call gb_LinkTarget_set_include,$(1),\
1660 $(POSTGRESQL_INC) \
1661 $$(INCLUDE) \
1664 $(call gb_LinkTarget_add_libs,$(1),\
1665 -lpq \
1668 $(call gb_LinkTarget_add_ldflags,$(1),\
1669 $(POSTGRESQL_LIB) \
1672 endef
1674 else # !SYSTEM_POSTGRESQL
1676 define gb_LinkTarget__use_postgresql
1678 $(call gb_LinkTarget_use_packages,$(1),\
1679 postgresql \
1682 $(call gb_LinkTarget_set_include,$(1),\
1683 -I$(OUTDIR)/inc/postgresql \
1684 $$(INCLUDE) \
1687 $(call gb_LinkTarget_use_static_libraries,$(1),\
1688 $(if $(filter MSC,$(COM)),lib)pq \
1691 ifeq ($(GUI)$(COM),WNTMSC)
1692 $(call gb_LinkTarget_use_external,$(1),openssl)
1694 $(call gb_LinkTarget_use_system_win32_libs,$(1),\
1695 secur32 \
1696 ws2_32 \
1699 endif
1701 endef
1703 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
1704 $(if $(filter MSC,$(COM)),lib)pq \
1707 endif # SYSTEM_POSTGRESQL
1709 ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
1710 ifeq ($(SYSTEM_MOZILLA),YES)
1712 # Nothing needed here ATM
1713 define gb_LinkTarget__use_mozilla
1715 endef
1717 else # !SYSTEM_MOZILLA
1719 define gb_LinkTarget__use_mozilla
1721 $(call gb_LinkTarget_add_defs,$(1),\
1722 -DMOZILLA_INTERNAL_API \
1725 $(call gb_LinkTarget_set_include,$(1),\
1726 $$(INCLUDE) \
1727 -I$(OUTDIR)/inc/mozilla/moz \
1728 -I$(OUTDIR)/inc/mozilla/nspr \
1731 $(call gb_LinkTarget_use_libraries,$(1),\
1732 nspr4 \
1733 xpcom \
1734 xpcom_core \
1737 $(call gb_LinkTarget_use_static_libraries,$(1),\
1738 embed_base_s \
1739 mozreg_s \
1742 ifeq ($(GUI),WNT)
1744 $(call gb_LinkTarget_add_defs,$(1),\
1745 -DMOZILLA_CLIENT \
1746 -DMOZ_REFLOW_PERF \
1747 -DMOZ_REFLOW_PERF_DSP \
1748 -DMOZ_XUL \
1749 -DOJI \
1750 -DWIN32 \
1751 -DXP_PC \
1752 -DXP_WIN \
1753 -DXP_WIN32 \
1754 -D_WINDOWS \
1757 ifeq ($(COM),GCC)
1759 $(call gb_LinkTarget_add_cxxflags,$(1),\
1760 -Wall \
1761 -Wcast-align \
1762 -Wconversion \
1763 -Wno-long-long \
1764 -Woverloaded-virtual \
1765 -Wpointer-arith \
1766 -Wsynth \
1767 -fno-rtti \
1770 else
1772 ifneq ($(DBG_LEVEL),0)
1773 $(call gb_LinkTarget_add_defs,$(1),\
1774 -D_STL_NOFORCE_MANIFEST \
1776 endif
1778 $(call gb_LinkTarget_add_libs,$(1),\
1779 $(OUTDIR)/lib/embed_base_s.lib \
1780 $(OUTDIR)/lib/mozreg_s.lib \
1783 endif # !GCC
1785 else ifeq ($(GUI),UNX)
1787 $(call gb_LinkTarget_add_defs,$(1),\
1788 -DMOZILLA_CLIENT \
1789 -DXP_UNIX \
1790 $(if $(filter LINUX,$(OS)),-DOJI) \
1791 $(if $(filter LINUX MACOSX NETBSD,$(OS)),-DTRACING) \
1794 $(call gb_LinkTarget_add_cflags,$(1),\
1795 $(if $(filter LINUX,$(OS)),-g) \
1796 $(if $(filter LINUX MACOSX NETBSD,$(OS)),-fPIC) \
1799 $(call gb_LinkTarget_add_cxxflags,$(1),\
1800 -Wcast-align \
1801 -Wconversion \
1802 -Wno-long-long \
1803 -Woverloaded-virtual \
1804 -Wpointer-arith \
1805 -Wsynth \
1806 $(if $(filter LINUX,$(OS)),-pthread) \
1807 $(if $(filter MACOSX NETBSD,$(OS)),-Wno-deprecated) \
1810 endif # UNX
1812 endef
1814 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_NONE,\
1815 xpcom \
1816 xpcom_core \
1819 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
1820 embed_base_s \
1821 mozreg_s \
1824 endif # SYSTEM_MOZILLA
1825 endif # DESKTOP
1827 ifeq ($(ENABLE_KDE),TRUE)
1829 define gb_LinkTarget__use_kde
1830 $(call gb_LinkTarget_set_include,$(1),\
1831 $(filter -I%,$(KDE_CFLAGS)) \
1832 $$(INCLUDE) \
1835 $(call gb_LinkTarget_add_defs,$(1),\
1836 $(filter-out -I%,$(KDE_CFLAGS)) \
1839 $(call gb_LinkTarget_add_libs,$(1),\
1840 $(KDE_LIBS) \
1843 ifeq ($(COM),GCC)
1844 $(call gb_LinkTarget_add_cxxflags,$(1),\
1845 -Wno-shadow \
1847 endif
1849 endef
1851 else # !ENABLE_KDE
1853 define gb_LinkTarget__use_kde
1855 endef
1857 endif # ENABLE_KDE
1860 ifeq ($(ENABLE_KDE4),TRUE)
1862 define gb_LinkTarget__use_kde4
1863 $(call gb_LinkTarget_set_include,$(1),\
1864 $(filter -I%,$(KDE4_CFLAGS)) \
1865 $$(INCLUDE) \
1868 $(call gb_LinkTarget_add_defs,$(1),\
1869 $(filter-out -I%,$(KDE4_CFLAGS)) \
1872 $(call gb_LinkTarget_add_libs,$(1),\
1873 $(KDE4_LIBS) \
1876 ifeq ($(COM),GCC)
1877 $(call gb_LinkTarget_add_cxxflags,$(1),\
1878 -Wno-shadow \
1880 endif
1882 endef
1884 else # !ENABLE_KDE4
1886 define gb_LinkTarget__use_kde4
1888 endef
1890 endif # ENABLE_KDE4
1893 ifeq ($(ENABLE_TDE),TRUE)
1895 define gb_LinkTarget__use_tde
1896 $(call gb_LinkTarget_add_libs,$(1),\
1897 $(TDE_LIBS) \
1900 $(call gb_LinkTarget_set_include,$(1),\
1901 $$(INCLUDE) \
1902 $(TDE_CFLAGS) \
1904 endef
1906 else # ! ENABLE_TDE
1908 define gb_LinkTarget__use_tde
1910 endef
1912 endif # ENABLE_TDE
1915 ifeq ($(ENABLE_GCONF),TRUE)
1917 define gb_LinkTarget__use_gconf
1918 $(call gb_LinkTarget_set_include,$(1),\
1919 $(filter -I%,$(GCONF_CFLAGS)) \
1920 $$(INCLUDE) \
1923 $(call gb_LinkTarget_add_defs,$(1),\
1924 $(filter-out -I%,$(GCONF_CFLAGS)) \
1927 $(call gb_LinkTarget_add_libs,$(1),\
1928 $(GCONF_LIBS) \
1931 endef
1933 else # !ENABLE_GCONF
1935 define gb_LinkTarget__use_gconf
1937 endef
1939 endif # ENABLE_GCONF
1942 # PYTHON
1943 # extra python_headers external because pyuno wrapper must not link python
1944 ifeq ($(SYSTEM_PYTHON),YES)
1946 define gb_LinkTarget__use_python_headers
1947 $(call gb_LinkTarget_add_defs,$(1),\
1948 $(filter-out -I%,$(PYTHON_CFLAGS)) \
1951 $(call gb_LinkTarget_set_include,$(1),\
1952 $(filter -I%,$(PYTHON_CFLAGS)) \
1953 $$(INCLUDE) \
1956 endef
1958 define gb_LinkTarget__use_python
1959 $(call gb_LinkTarget__use_python_headers,$(1))
1961 $(call gb_LinkTarget_add_libs,$(1),\
1962 $(PYTHON_LIBS) \
1965 endef
1967 else # !SYSTEM_PYTHON
1969 # depend on external project because on MACOSX the Package is disabled...
1970 define gb_LinkTarget__use_python_headers
1971 $(call gb_LinkTarget_use_package,$(1),python3)
1972 $(call gb_LinkTarget_use_external_project,$(1),python3)
1973 $(call gb_LinkTarget_set_include,$(1),\
1974 -I$(call gb_UnpackedTarball_get_dir,python3) \
1975 -I$(call gb_UnpackedTarball_get_dir,python3)/PC \
1976 -I$(call gb_UnpackedTarball_get_dir,python3)/Include \
1977 $$(INCLUDE) \
1980 endef
1982 define gb_LinkTarget__use_python
1983 $(call gb_LinkTarget__use_python_headers,$(1))
1985 ifeq ($(OS),WNT)
1986 $(call gb_LinkTarget_add_libs,$(1),\
1987 python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR).lib \
1989 else ifeq ($(OS),MACOSX)
1990 $(call gb_LinkTarget_add_libs,$(1),\
1991 -dylib_file @loader_path/LibreOfficePython.framework/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython:$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO/LibreOfficePython.framework/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/LibreOfficePython \
1992 -F$(call gb_UnpackedTarball_get_dir,python3)/python-inst/@__________________________________________________OOO -framework LibreOfficePython \
1994 else
1995 $(call gb_LinkTarget_use_libraries,$(1),\
1996 python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
1998 endif
2000 endef
2002 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
2003 python$(PYTHON_VERSION_MAJOR) \
2004 python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m \
2007 endif # SYSTEM_PYTHON
2009 # ORCUS
2010 ifeq ($(SYSTEM_LIBORCUS),YES)
2012 define gb_LinkTarget__use_orcus
2013 $(call gb_LinkTarget_set_include,$(1),\
2014 $$(INCLUDE) \
2015 $(ORCUS_CFLAGS) \
2017 $(call gb_LinkTarget_add_libs,$(1),$(ORCUS_LIBS))
2019 endef
2021 else # !SYSTEM_LIBORCUS
2023 $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS,\
2024 orcus \
2027 define gb_LinkTarget__use_orcus
2028 $(call gb_LinkTarget_use_unpacked,$(1),orcus)
2029 $(call gb_LinkTarget_set_include,$(1),\
2030 -I$(call gb_UnpackedTarball_get_dir,orcus/include) \
2031 $$(INCLUDE) \
2033 $(call gb_LinkTarget_use_static_libraries,$(1),orcus)
2035 $(if $(filter YES,$(SYSTEM_BOOST)),$(call gb_LinkTarget_add_libs,$(1),$(BOOST_SYSTEM_LIB)))
2037 endef
2039 endif # SYSTEM_LIBORCUS
2042 ### X11 stuff ###
2044 ifeq ($(GUIBASE),unx)
2046 # TODO: do we really need these X11 headers in the repo?
2047 ifneq ($(filter X11_EXTENSIONS,$(BUILD_TYPE)),)
2049 define gb_LinkTarget__use_x11extensions
2050 $(call gb_LinkTarget_use_packages,$(1),\
2051 x11_extensions_inc \
2053 endef
2055 else # !X11_EXTENSIONS
2057 gb_LinkTarget__use_x11extensions :=
2059 endif # X11_EXTENSIONS
2061 ifeq ($(XRANDR_DLOPEN),FALSE)
2063 define gb_LinkTarget__use_Xrandr
2064 $(call gb_LinkTarget__use_x11extensions,$(1))
2066 $(call gb_LinkTarget_set_include,$(1),\
2067 $$(INCLUDE) \
2068 $(XRANDR_CFLAGS) \
2071 $(call gb_LinkTarget_add_libs,$(1),\
2072 $(XRANDR_LIBS) \
2074 endef
2076 else # XRANDR_DLOPEN
2078 define gb_LinkTarget__use_Xrandr
2079 $(call gb_LinkTarget__use_x11extensions,$(1))
2081 $(call gb_LinkTarget_add_defs,$(1),\
2082 -DXRANDR_DLOPEN \
2084 endef
2086 endif # XRANDR_DLOPEN
2088 define gb_LinkTarget__use_Xrender
2089 $(call gb_LinkTarget__use_x11extensions,$(1))
2091 $(call gb_LinkTarget_set_include,$(1),\
2092 $$(INCLUDE) \
2093 $(XRENDER_CFLAGS) \
2096 $(call gb_LinkTarget_add_libs,$(1),\
2097 $(XRENDER_LIBS) \
2099 endef
2101 endif # GUIBASE=unx
2104 ifeq (,$(filter DESKTOP,$(BUILD_TYPE)))
2106 define gb_LinkTarget__use_nss3
2108 endef
2110 else
2112 ifeq ($(SYSTEM_NSS),YES)
2114 define gb_LinkTarget__use_nss3
2115 $(call gb_LinkTarget_add_defs,$(1),\
2116 -DSYSTEM_NSS \
2119 $(call gb_LinkTarget_set_include,$(1),\
2120 $$(INCLUDE) \
2121 $(NSS_CFLAGS) \
2124 $(call gb_LinkTarget_add_libs,$(1),\
2125 $(NSS_LIBS) \
2128 endef
2130 define gb_LinkTarget__use_plc4
2131 $(call gb_LinkTarget__use_nss3,$(1))
2133 endef
2135 else
2137 $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO,\
2138 nspr4 \
2139 nss3 \
2140 plc4 \
2141 smime3 \
2144 define gb_LinkTarget__use_nss3
2145 $(call gb_LinkTarget_set_include,$(1),\
2146 $$(INCLUDE) \
2147 -I$(OUTDIR)/inc/mozilla/nspr \
2148 -I$(OUTDIR)/inc/mozilla/nss \
2151 $(call gb_LinkTarget_use_libraries,$(1),\
2152 nspr4 \
2153 nss3 \
2154 smime3 \
2157 endef
2159 define gb_LinkTarget__use_plc4
2160 $(call gb_LinkTarget_use_libraries,$(1),\
2161 plc4 \
2164 endef
2166 endif
2167 endif # DESKTOP
2169 ### Jars ############################################################
2171 ifeq ($(SYSTEM_HSQLDB),YES)
2173 define gb_Jar__use_hsqldb
2174 $(call gb_Jar_use_system_jar,$(1),$(HSQLDB_JAR))
2175 endef
2176 define gb_JunitTest__use_hsqldb
2177 $(call gb_JunitTest_use_system_jar,$(1),$(HSQLDB_JAR))
2178 endef
2180 else # !SYSTEM_HSQLDB
2182 $(eval $(call gb_Helper_register_jars,OOO,\
2183 hsqldb \
2186 define gb_Jar__use_hsqldb
2187 $(call gb_Jar_use_jar,$(1),hsqldb)
2188 endef
2189 define gb_JunitTest__use_hsqldb
2190 $(call gb_JunitTest_use_jar,$(1),hsqldb)
2191 endef
2193 endif # SYSTEM_HSQLDB
2196 ifeq ($(SYSTEM_BSH),YES)
2198 define gb_Jar__use_bsh
2199 $(call gb_Jar_use_system_jar,$(1),$(BSH_JAR))
2200 endef
2202 else # !SYSTEM_BSH
2204 $(eval $(call gb_Helper_register_jars,OOO,\
2205 bsh \
2208 define gb_Jar__use_bsh
2209 $(call gb_Jar_use_jar,$(1),bsh)
2210 endef
2212 endif # SYSTEM_BSH
2215 ifeq ($(SYSTEM_RHINO),YES)
2217 define gb_Jar__use_rhino
2218 $(call gb_Jar_use_system_jar,$(1),$(RHINO_JAR))
2219 endef
2221 else # !SYSTEM_RHINO
2223 $(eval $(call gb_Helper_register_jars,OOO,\
2224 js \
2227 define gb_Jar__use_rhino
2228 $(call gb_Jar_use_jar,$(1),js)
2229 endef
2231 endif # SYSTEM_RHINO
2233 ifeq ($(SYSTEM_APACHE_COMMONS),YES)
2235 define gb_Jar__use_commons-codec
2236 $(call gb_Jar_use_system_jar,$(1),$(COMMONS_CODEC_JAR))
2237 endef
2238 gb_ExternalProject__use_commons-codec :=
2240 define gb_Jar__use_commons-httpclient
2241 $(call gb_Jar_use_system_jar,$(1),$(COMMONS_HTTPCLIENT_JAR))
2242 endef
2243 gb_ExternalProject__use_commons-httpclient :=
2245 define gb_Jar__use_commons-lang
2246 $(call gb_Jar_usadd_linked_libse_system_jar,$(1),$(COMMONS_LANG_JAR))
2247 endef
2248 gb_ExternalProject__use_commons-lang :=
2250 define gb_Jar__use_commons-logging
2251 $(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
2252 endef
2253 gb_ExternalProject__use_commons-logging :=
2255 else # !SYSTEM_APACHE_COMMONS
2257 $(eval $(call gb_Helper_register_jars,OXT,\
2258 commons-codec-1.3 \
2259 commons-httpclient-3.1 \
2260 commons-lang-2.3 \
2261 commons-logging-1.1.1 \
2264 define gb_Jar__use_commons-codec
2265 $(call gb_Jar_use_jar,$(1),commons-codec-1.3)
2266 endef
2267 define gb_ExternalProject__use_commons-codec
2268 $(call gb_ExternalProject_use_external_project,$(1),apache_commons_codec)
2269 endef
2271 define gb_Jar__use_commons-httpclient
2272 $(call gb_Jar_use_jar,$(1),commons-httpclient-3.1)
2273 endef
2274 define gb_ExternalProject__use_commons-httpclient
2275 $(call gb_ExternalProject_use_external_project,$(1),apache_commons_httpclient)
2276 endef
2278 define gb_Jar__use_commons-lang
2279 $(call gb_Jar_use_jar,$(1),commons-lang-2.3)
2280 endef
2281 define gb_ExternalProject__use_commons-lang
2282 $(call gb_ExternalProject_use_external_project,$(1),apache_commons_lang)
2283 endef
2285 define gb_Jar__use_commons-logging
2286 $(call gb_Jar_use_jar,$(1),commons-logging-1.1.1)
2287 endef
2288 define gb_ExternalProject__use_commons-logging
2289 $(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
2290 endef
2292 endif # SYSTEM_APACHE_COMMONS
2295 ifeq ($(SYSTEM_JFREEREPORT),YES)
2297 define gb_Jar__use_flow-engine
2298 $(call gb_Jar_use_system_jar,$(1),$(JFREEREPORT_JAR))
2299 endef
2301 define gb_Jar__use_flute
2302 $(call gb_Jar_use_system_jar,$(1),$(FLUTE_JAR))
2303 endef
2305 define gb_Jar__use_libbase
2306 $(call gb_Jar_use_system_jar,$(1),$(LIBBASE_JAR))
2307 endef
2309 define gb_Jar__use_libfonts
2310 $(call gb_Jar_use_system_jar,$(1),$(LIBFONTS_JAR))
2311 endef
2313 define gb_Jar__use_libformula
2314 $(call gb_Jar_use_system_jar,$(1),$(LIBFORMULA_JAR))
2315 endef
2317 define gb_Jar__use_liblayout
2318 $(call gb_Jar_use_system_jar,$(1),$(LIBLAYOUT_JAR))
2319 endef
2321 define gb_Jar__use_libloader
2322 $(call gb_Jar_use_system_jar,$(1),$(LIBLOADER_JAR))
2323 endef
2325 define gb_Jar__use_librepository
2326 $(call gb_Jar_use_system_jar,$(1),$(LIBREPOSITORY_JAR))
2327 endef
2329 define gb_Jar__use_libserializer
2330 $(call gb_Jar_use_system_jar,$(1),$(LIBSERIALIZER_JAR))
2331 endef
2333 define gb_Jar__use_libxml
2334 $(call gb_Jar_use_system_jar,$(1),$(LIBXML_JAR))
2335 endef
2337 define gb_Jar__use_sac
2338 $(call gb_Jar_use_system_jar,$(1),$(SAC_JAR))
2339 endef
2341 else # !SYSTEM_JFREEREPORT
2343 $(eval $(call gb_Helper_register_jars,OXT,\
2344 flow-engine-0.9.4 \
2345 flute-1.1.6 \
2346 libbase-1.1.6 \
2347 libfonts-1.1.6 \
2348 libformula-1.1.7 \
2349 liblayout-0.2.10 \
2350 libloader-1.1.6 \
2351 librepository-1.1.6 \
2352 libserializer-1.1.6 \
2353 libxml-1.1.7 \
2354 sac \
2357 define gb_Jar__use_flow-engine
2358 $(call gb_Jar_use_jar,$(1),flow-engine-0.9.4)
2359 endef
2361 define gb_Jar__use_flute
2362 $(call gb_Jar_use_jar,$(1),flute-1.1.6)
2363 endef
2365 define gb_Jar__use_libbase
2366 $(call gb_Jar_use_jar,$(1),libbase-1.1.6)
2367 endef
2369 define gb_Jar__use_libfonts
2370 $(call gb_Jar_use_jar,$(1),libfonts-1.1.6)
2371 endef
2373 define gb_Jar__use_libformula
2374 $(call gb_Jar_use_jar,$(1),libformula-1.1.7)
2375 endef
2377 define gb_Jar__use_liblayout
2378 $(call gb_Jar_use_jar,$(1),liblayout-0.2.10)
2379 endef
2381 define gb_Jar__use_libloader
2382 $(call gb_Jar_use_jar,$(1),libloader-1.1.6)
2383 endef
2385 define gb_Jar__use_librepository
2386 $(call gb_Jar_use_jar,$(1),librepository-1.1.6)
2387 endef
2389 define gb_Jar__use_libserializer
2390 $(call gb_Jar_use_jar,$(1),libserializer-1.1.6)
2391 endef
2393 define gb_Jar__use_libxml
2394 $(call gb_Jar_use_jar,$(1),libxml-1.1.7)
2395 endef
2397 define gb_Jar__use_sac
2398 $(call gb_Jar_use_jar,$(1),sac)
2399 endef
2401 endif # SYSTEM_JFREEREPORT
2404 # Executables
2406 ifneq ($(SYSTEM_LIBXML_FOR_BUILD),YES)
2408 gb_ExternalExecutable__register_xmllint :=
2410 else # ! SYSTEM_LIBXML_FOR_BUILD
2412 define gb_ExternalExecutable__register_xmllint
2413 $(call gb_ExternalExecutable_set_internal,xmllint)
2415 endef
2417 endif # SYSTEM_LIBXML_FOR_BUILD
2419 ifeq ($(SYSTEM_LIBXSLT_FOR_BUILD),YES)
2421 gb_ExternalExecutable__register_xsltproc :=
2423 else # ! SYSTEM_LIBXSLT_FOR_BUILD
2425 define gb_ExternalExecutable__register_xsltproc
2426 $(call gb_ExternalExecutable_set_internal,xsltproc)
2428 endef
2430 endif # SYSTEM_LIBXSLT_FOR_BUILD
2432 ifneq (,$(SYSTEM_UCPP))
2434 gb_ExternalExecutable__register_ucpp :=
2436 else # ! SYSTEM_UCPP
2438 define gb_ExternalExecutable__register_ucpp
2439 $(call gb_ExternalExecutable_set_internal,ucpp)
2441 endef
2443 endif # SYSTEM_UCPP
2445 # TODO what do do with gb_PYTHON_PRECOMMAND? Move here?
2446 ifeq ($(SYSTEM_PYTHON),YES)
2448 define gb_ExternalExecutable__register_python
2449 $(call gb_ExternalExecutable_set_external,python,$(PYTHON))
2451 endef
2453 else ifeq ($(OS),MACOSX)
2455 #fixme: remove this MACOSX ifeq branch by filling in gb_PYTHON_PRECOMMAND in
2456 #gbuild/platform/macosx.mk correctly for mac, e.g. PYTHONPATH and PYTHONHOME
2457 #dirs for in-tree internal python
2458 define gb_ExternalExecutable__register_python
2459 $(call gb_ExternalExecutable_set_external,python,$(PYTHON))
2461 endef
2463 else ifeq ($(DISABLE_PYTHON),TRUE)
2465 # Build-time python
2466 gb_ExternalExecutable__register_python :=
2468 else # ! SYSTEM_PYTHON
2470 # internal python
2471 define gb_ExternalExecutable__register_python
2472 $(call gb_ExternalExecutable_set_internal,python)
2473 $(call gb_ExternalExecutable_set_precommand,python,$(gb_PYTHON_PRECOMMAND))
2474 $(call gb_ExternalExecutable_add_dependencies,python,\
2475 $(call gb_Package_get_target,python3) \
2478 endef
2480 endif # SYSTEM_PYTHON
2482 # vim: set noet sw=4 ts=4: