summaryrefslogtreecommitdiff
path: root/RepositoryExternal.mk
diff options
context:
space:
mode:
authorMichael Stahl <mst@openoffice.org>2011-04-01 20:49:35 +0000
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-06-17 09:55:38 +0200
commitc74af0d73c175cdc9aab3740d32b541d0e907052 (patch)
tree3e2629938a3f60ee8663a563b9730191f6e2425b /RepositoryExternal.mk
parentfa0e0b9416c23ce14f222f443f7704077f20afc0 (diff)
gnumake4: #i117610#: add RepositoryExternal.mk, and use it. [hg:62e2f8dc95a7]
Diffstat (limited to 'RepositoryExternal.mk')
-rw-r--r--RepositoryExternal.mk281
1 files changed, 281 insertions, 0 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
new file mode 100644
index 000000000000..13985e8a5424
--- /dev/null
+++ b/RepositoryExternal.mk
@@ -0,0 +1,281 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2009 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+# this file describes all the external libraries
+# depending on the configure options these may be taken from the system,
+# or the internal/bundled copy may be built.
+
+# for every external, a function gb_LinkTarget_use__FOO is defined,
+# once for the system case, once for the internal case.
+
+# in the system case, no libraries should be registered, but the target-local
+# variable LIBS should be set to FOO_LIBS, and INCLUDES to FOO_CFLAGS.
+
+
+ifeq ($(SYSTEM_ZLIB),YES)
+
+define gb_LinkTarget__use_zlib
+$(call gb_LinkTarget_set_defs,$(1),\
+ $$(DEFS) \
+ -DSYSTEM_ZLIB \
+)
+$(call gb_LinkTarget_add_libs,$(1),-lz)
+endef
+
+else # !SYSTEM_ZLIB
+
+$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
+ zlib \
+))
+
+define gb_LinkTarget__use_zlib
+$(call gb_LinkTarget_add_linked_static_libs,$(1),\
+ zlib \
+)
+endef
+
+endif # SYSTEM_ZLIB
+
+
+ifeq ($(SYSTEM_JPEG),YES)
+
+define gb_LinkTarget__use_jpeg
+$(call gb_LinkTarget_add_libs,$(1),-ljpeg)
+$(call gb_LinkTarget_set_ldflags,$(1),\
+ $$(filter-out -L/usr/lib/jvm%,$$(LDFLAGS)) \
+)
+endef
+
+else # !SYSTEM_JPEG
+
+$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
+ jpeglib \
+))
+
+define gb_LinkTarget__use_jpeg
+$(call gb_LinkTarget_add_linked_static_libs,$(1),\
+ jpeglib \
+)
+endef
+
+endif # SYSTEM_JPEG
+
+
+ifeq ($(SYSTEM_EXPAT),YES)
+
+define gb_LinkTarget__use_expat
+$(if $(2),,$(error gb_LinkTarget__use_expat needs additional parameter))
+
+$(call gb_LinkTarget_set_defs,$(1),\
+ $$(DEFS) \
+ -DSYSTEM_EXPAT \
+)
+
+$(call gb_LinkTarget_add_libs,$(1),-lexpat)
+endef
+
+else # !SYSTEM_EXPAT
+
+$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
+ ascii_expat_xmlparse \
+ expat_xmlparse \
+ expat_xmltok \
+))
+
+define gb_LinkTarget__use_expat
+$(if $(2),,$(error gb_LinkTarget__use_expat needs additional parameter))
+
+$(if $(filter-out ascii_expat_xmlparse,$(2)),\
+ $(call gb_LinkTarget_set_defs,$(1),\
+ $$(DEFS) \
+ -DXML_UNICODE \
+))
+
+$(call gb_LinkTarget_add_linked_static_libs,$(1),\
+ $(2) \
+ expat_xmltok \
+)
+endef
+
+endif # SYSTEM_EXPAT
+
+# now define 2 wrappers that select which internal static library to use...
+define gb_LinkTarget__use_expat_utf8
+$(call gb_LinkTarget__use_expat,$(1),ascii_expat_xmlparse)
+endef
+
+define gb_LinkTarget__use_expat_utf16
+$(call gb_LinkTarget__use_expat,$(1),expat_xmlparse)
+endef
+
+
+ifeq ($(SYSTEM_LIBXML),YES)
+
+define gb_LinkTarget__use_libxml2
+$(call gb_LinkTarget_set_defs,$(1),\
+ $$(DEFS) \
+ -DSYSTEM_LIBXML \
+)
+$(call gb_LinkTarget_set_include,$(1),\
+ $$(INCLUDE) \
+ $(LIBXML_CFLAGS) \
+)
+$(call gb_LinkTarget_add_libs,$(1),$(LIBXML_LIBS))
+endef
+
+else # !SYSTEM_LIBXML
+
+$(eval $(call gb_Helper_register_libraries,PLAINLIBS_URE, \
+ xml2 \
+))
+
+define gb_LinkTarget__use_libxml2
+$(call gb_LinkTarget_add_linked_libs,$(1),\
+ xml2 \
+)
+endef
+
+endif # SYSTEM_LIBXML
+
+
+ifeq ($(SYSTEM_LIBXSLT),YES)
+
+define gb_LinkTarget__use_libxslt
+$(call gb_LinkTarget_set_include,$(1),\
+ $$(INCLUDE) \
+ $(LIBXSLT_CFLAGS) \
+)
+$(call gb_LinkTarget_add_libs,$(1),$(LIBXSLT_LIBS))
+endef
+
+else # !SYSTEM_LIBXSLT
+
+$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
+ xslt \
+))
+
+define gb_LinkTarget__use_libxslt
+$(call gb_LinkTarget_add_linked_libs,$(1),\
+ xslt \
+)
+endef
+
+endif # SYSTEM_LIBXSLT
+
+
+ifeq ($(SYSTEM_REDLAND),YES)
+
+define gb_LinkTarget__use_librdf
+$(call gb_LinkTarget_set_defs,$(1),\
+ $$(DEFS) \
+ -DSYSTEM_REDLAND \
+)
+$(call gb_LinkTarget_set_include,$(1),\
+ $$(INCLUDE) \
+ $(REDLAND_CFLAGS) \
+)
+$(call gb_LinkTarget_add_libs,$(1),$(REDLAND_LIBS))
+endef
+
+else # !SYSTEM_REDLAND
+
+$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
+ rdf \
+))
+
+define gb_LinkTarget__use_librdf
+$(call gb_LinkTarget_add_linked_libs,$(1),\
+ rdf \
+)
+endef
+
+endif # SYSTEM_REDLAND
+
+
+ifeq ($(SYSTEM_CAIRO),YES)
+
+# FREETYPE_CLAGS from environment if ENABLE_CAIRO is used
+define gb_LinkTarget__use_cairo
+$(call gb_LinkTarget_set_include,$(1),\
+ $$(INCLUDE) \
+ $(FREETYPE_CFLAGS) \
+ $(CAIRO_CFLAGS) \
+)
+$(call gb_LinkTarget_add_libs,$(1),$(CAIRO_LIBS))
+endef
+
+else # !SYSTEM_CAIRO
+
+$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
+ cairo \
+))
+ifneq ($(OS),WNT)
+$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
+ pixman-1 \
+))
+endif # WNT
+
+define gb_LinkTarget__use_cairo
+$(call gb_LinkTarget_set_include,$(1),\
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/cairo \
+ $(FREETYPE_CFLAGS) \
+)
+$(call gb_LinkTarget_add_linked_libs,$(1),\
+ cairo \
+)
+ifneq ($(OS),WNT)
+$(call gb_LinkTarget_add_linked_libs,$(1),\
+ pixman-1 \
+)
+endif
+endef
+
+endif # SYSTEM_CAIRO
+
+
+ifeq ($(SYSTEM_ICU),YES)
+
+define gb_LinkTarget__use_icuuc
+$(call gb_LinkTarget_add_libs,$(1),-licuuc)
+endef
+
+else # !SYSTEM_ICU
+
+$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
+ icuuc \
+))
+
+define gb_LinkTarget__use_icuuc
+$(call gb_LinkTarget_add_linked_libs,$(1),\
+ icuuc \
+)
+endef
+
+endif # SYSTEM_ICU
+
+# vim: set noet sw=4 ts=4: